From owner-svn-src-all@freebsd.org Sun Mar 6 00:31:12 2016 Return-Path: Delivered-To: svn-src-all@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 B12E6A13A95; Sun, 6 Mar 2016 00:31:12 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 73361E86; Sun, 6 Mar 2016 00:31:12 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u260VBZw027533; Sun, 6 Mar 2016 00:31:11 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u260VBSb027532; Sun, 6 Mar 2016 00:31:11 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603060031.u260VBSb027532@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 6 Mar 2016 00:31:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296419 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 00:31:12 -0000 Author: kib Date: Sun Mar 6 00:31:11 2016 New Revision: 296419 URL: https://svnweb.freebsd.org/changeset/base/296419 Log: In the link_elf_obj.c, handle sections of type SHT_AMD64_UNWIND same as SHT_PROGBITS. This is needed after the clang 3.8 import, which generates that type for .eh_frame section, which had SHT_PROGBITS type before. Reported by: Nikolai Lifanov PR: 207729 Tested by: dim (previous version) Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/sys/kern/link_elf_obj.c Modified: head/sys/kern/link_elf_obj.c ============================================================================== --- head/sys/kern/link_elf_obj.c Sat Mar 5 21:10:34 2016 (r296418) +++ head/sys/kern/link_elf_obj.c Sun Mar 6 00:31:11 2016 (r296419) @@ -257,6 +257,9 @@ link_elf_link_preload(linker_class_t cls switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif ef->nprogtab++; break; case SHT_SYMTAB: @@ -327,9 +330,16 @@ link_elf_link_preload(linker_class_t cls switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif ef->progtab[pb].addr = (void *)shdr[i].sh_addr; if (shdr[i].sh_type == SHT_PROGBITS) ef->progtab[pb].name = "<>"; +#ifdef __amd64__ + else if (shdr[i].sh_type == SHT_AMD64_UNWIND) + ef->progtab[pb].name = "<>"; +#endif else ef->progtab[pb].name = "<>"; ef->progtab[pb].size = shdr[i].sh_size; @@ -575,6 +585,9 @@ link_elf_load_file(linker_class_t cls, c switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif ef->nprogtab++; break; case SHT_SYMTAB: @@ -681,6 +694,9 @@ link_elf_load_file(linker_class_t cls, c switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif alignmask = shdr[i].sh_addralign - 1; mapsize += alignmask; mapsize &= ~alignmask; @@ -748,6 +764,9 @@ link_elf_load_file(linker_class_t cls, c switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif alignmask = shdr[i].sh_addralign - 1; mapbase += alignmask; mapbase &= ~alignmask; @@ -760,6 +779,10 @@ link_elf_load_file(linker_class_t cls, c } } else if (shdr[i].sh_type == SHT_PROGBITS) ef->progtab[pb].name = "<>"; +#ifdef __amd64__ + else if (shdr[i].sh_type == SHT_AMD64_UNWIND) + ef->progtab[pb].name = "<>"; +#endif else ef->progtab[pb].name = "<>"; if (ef->progtab[pb].name != NULL && @@ -781,7 +804,11 @@ link_elf_load_file(linker_class_t cls, c } ef->progtab[pb].size = shdr[i].sh_size; ef->progtab[pb].sec = i; - if (shdr[i].sh_type == SHT_PROGBITS) { + if (shdr[i].sh_type == SHT_PROGBITS +#ifdef __amd64__ + || shdr[i].sh_type == SHT_AMD64_UNWIND +#endif + ) { error = vn_rdwr(UIO_READ, nd.ni_vp, ef->progtab[pb].addr, shdr[i].sh_size, shdr[i].sh_offset, From owner-svn-src-all@freebsd.org Sun Mar 6 01:21:58 2016 Return-Path: Delivered-To: svn-src-all@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 1BA9B9DBCEC; Sun, 6 Mar 2016 01:21:58 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 E14A5C82; Sun, 6 Mar 2016 01:21:57 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u261Lu3I045564; Sun, 6 Mar 2016 01:21:56 GMT (envelope-from marius@FreeBSD.org) Received: (from marius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u261Lui5045563; Sun, 6 Mar 2016 01:21:56 GMT (envelope-from marius@FreeBSD.org) Message-Id: <201603060121.u261Lui5045563@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: marius set sender to marius@FreeBSD.org using -f From: Marius Strobl Date: Sun, 6 Mar 2016 01:21:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org Subject: svn commit: r296420 - svnadmin/conf X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 01:21:58 -0000 Author: marius Date: Sun Mar 6 01:21:56 2016 New Revision: 296420 URL: https://svnweb.freebsd.org/changeset/base/296420 Log: Change the stable/10 branch no longer require explicit re@ approval for commits. Committers are asked to please exercise caution when merging changes to stable/10 for the duration of the 10.3-RELEASE cycle. Approved by: re (implicit) Modified: svnadmin/conf/approvers Modified: svnadmin/conf/approvers ============================================================================== --- svnadmin/conf/approvers Sun Mar 6 00:31:11 2016 (r296419) +++ svnadmin/conf/approvers Sun Mar 6 01:21:56 2016 (r296420) @@ -17,7 +17,7 @@ # $FreeBSD$ # #^head/ re -^stable/10/ re +#^stable/10/ re ^releng/10.3/ re ^releng/10.[0-2]/ (security-officer|so) ^releng/9.[0-3]/ (security-officer|so) From owner-svn-src-all@freebsd.org Sun Mar 6 02:33:04 2016 Return-Path: Delivered-To: svn-src-all@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 0E754A92338; Sun, 6 Mar 2016 02:33:04 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C0EC8AED; Sun, 6 Mar 2016 02:33:03 +0000 (UTC) (envelope-from rpokala@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u262X2De066639; Sun, 6 Mar 2016 02:33:02 GMT (envelope-from rpokala@FreeBSD.org) Received: (from rpokala@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u262X2Ju066636; Sun, 6 Mar 2016 02:33:02 GMT (envelope-from rpokala@FreeBSD.org) Message-Id: <201603060233.u262X2Ju066636@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rpokala set sender to rpokala@FreeBSD.org using -f From: Ravi Pokala Date: Sun, 6 Mar 2016 02:33:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296421 - in stable/10/sys: cam/ata dev/ata sys X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 02:33:04 -0000 Author: rpokala Date: Sun Mar 6 02:33:02 2016 New Revision: 296421 URL: https://svnweb.freebsd.org/changeset/base/296421 Log: MFC r295276: Add defines for WRITE_UNCORRECTABLE ATA command, and improve command logging Add #defines for ATA_WRITE_UNCORRECTABLE48 and its features. Update the decoding in ATACAM to recognize the new values. Also improve command decoding for a few other commands (SMART, NOP, SET_FEATURES). Bring the decoding in ata(4) up to parity with ATACAM. Sponsored by: Panasas, Inc. Modified: stable/10/sys/cam/ata/ata_all.c stable/10/sys/dev/ata/ata-all.c stable/10/sys/sys/ata.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cam/ata/ata_all.c ============================================================================== --- stable/10/sys/cam/ata/ata_all.c Sun Mar 6 01:21:56 2016 (r296420) +++ stable/10/sys/cam/ata/ata_all.c Sun Mar 6 02:33:02 2016 (r296421) @@ -75,13 +75,18 @@ ata_op_string(struct ata_cmd *cmd) if (cmd->control & 0x04) return ("SOFT_RESET"); switch (cmd->command) { - case 0x00: return ("NOP"); + case 0x00: + switch (cmd->features) { + case 0x00: return ("NOP FLUSHQUEUE"); + case 0x01: return ("NOP AUTOPOLL"); + } + return ("NOP"); case 0x03: return ("CFA_REQUEST_EXTENDED_ERROR"); case 0x06: switch (cmd->features) { - case 0x01: return ("DSM TRIM"); - } - return "DSM"; + case 0x01: return ("DSM TRIM"); + } + return "DSM"; case 0x08: return ("DEVICE_RESET"); case 0x20: return ("READ"); case 0x24: return ("READ48"); @@ -105,6 +110,12 @@ ata_op_string(struct ata_cmd *cmd) case 0x3f: return ("WRITE_LOG_EXT"); case 0x40: return ("READ_VERIFY"); case 0x42: return ("READ_VERIFY48"); + case 0x45: + switch (cmd->features) { + case 0x55: return ("WRITE_UNCORRECTABLE48 PSEUDO"); + case 0xaa: return ("WRITE_UNCORRECTABLE48 FLAGGED"); + } + return "WRITE_UNCORRECTABLE48"; case 0x51: return ("CONFIGURE_STREAM"); case 0x60: return ("READ_FPDMA_QUEUED"); case 0x61: return ("WRITE_FPDMA_QUEUED"); @@ -128,7 +139,18 @@ ata_op_string(struct ata_cmd *cmd) case 0xa0: return ("PACKET"); case 0xa1: return ("ATAPI_IDENTIFY"); case 0xa2: return ("SERVICE"); - case 0xb0: return ("SMART"); + case 0xb0: + switch(cmd->features) { + case 0xd0: return ("SMART READ ATTR VALUES"); + case 0xd1: return ("SMART READ ATTR THRESHOLDS"); + case 0xd3: return ("SMART SAVE ATTR VALUES"); + case 0xd4: return ("SMART EXECUTE OFFLINE IMMEDIATE"); + case 0xd5: return ("SMART READ LOG DATA"); + case 0xd8: return ("SMART ENABLE OPERATION"); + case 0xd9: return ("SMART DISABLE OPERATION"); + case 0xda: return ("SMART RETURN STATUS"); + } + return ("SMART"); case 0xb1: return ("DEVICE CONFIGURATION"); case 0xc0: return ("CFA_ERASE"); case 0xc4: return ("READ_MUL"); @@ -158,18 +180,22 @@ ata_op_string(struct ata_cmd *cmd) case 0xed: return ("MEDIA_EJECT"); case 0xef: switch (cmd->features) { - case 0x03: return ("SETFEATURES SET TRANSFER MODE"); - case 0x02: return ("SETFEATURES ENABLE WCACHE"); - case 0x82: return ("SETFEATURES DISABLE WCACHE"); - case 0x06: return ("SETFEATURES ENABLE PUIS"); - case 0x86: return ("SETFEATURES DISABLE PUIS"); - case 0x07: return ("SETFEATURES SPIN-UP"); - case 0x10: return ("SETFEATURES ENABLE SATA FEATURE"); - case 0x90: return ("SETFEATURES DISABLE SATA FEATURE"); - case 0xaa: return ("SETFEATURES ENABLE RCACHE"); - case 0x55: return ("SETFEATURES DISABLE RCACHE"); - } - return "SETFEATURES"; + case 0x03: return ("SETFEATURES SET TRANSFER MODE"); + case 0x02: return ("SETFEATURES ENABLE WCACHE"); + case 0x82: return ("SETFEATURES DISABLE WCACHE"); + case 0x06: return ("SETFEATURES ENABLE PUIS"); + case 0x86: return ("SETFEATURES DISABLE PUIS"); + case 0x07: return ("SETFEATURES SPIN-UP"); + case 0x10: return ("SETFEATURES ENABLE SATA FEATURE"); + case 0x90: return ("SETFEATURES DISABLE SATA FEATURE"); + case 0xaa: return ("SETFEATURES ENABLE RCACHE"); + case 0x55: return ("SETFEATURES DISABLE RCACHE"); + case 0x5d: return ("SETFEATURES ENABLE RELIRQ"); + case 0xdd: return ("SETFEATURES DISABLE RELIRQ"); + case 0x5e: return ("SETFEATURES ENABLE SRVIRQ"); + case 0xde: return ("SETFEATURES DISABLE SRVIRQ"); + } + return "SETFEATURES"; case 0xf1: return ("SECURITY_SET_PASSWORD"); case 0xf2: return ("SECURITY_UNLOCK"); case 0xf3: return ("SECURITY_ERASE_PREPARE"); Modified: stable/10/sys/dev/ata/ata-all.c ============================================================================== --- stable/10/sys/dev/ata/ata-all.c Sun Mar 6 01:21:56 2016 (r296420) +++ stable/10/sys/dev/ata/ata-all.c Sun Mar 6 02:33:02 2016 (r296421) @@ -497,7 +497,18 @@ ata_cmd2str(struct ata_request *request) } } else { switch (request->u.ata.command) { - case 0x00: return ("NOP"); + case 0x00: + switch (request->u.ata.feature) { + case 0x00: return ("NOP FLUSHQUEUE"); + case 0x01: return ("NOP AUTOPOLL"); + } + return ("NOP"); + case 0x03: return ("CFA_REQUEST_EXTENDED_ERROR"); + case 0x06: + switch (request->u.ata.feature) { + case 0x01: return ("DSM TRIM"); + } + return "DSM"; case 0x08: return ("DEVICE_RESET"); case 0x20: return ("READ"); case 0x24: return ("READ48"); @@ -505,18 +516,65 @@ ata_cmd2str(struct ata_request *request) case 0x26: return ("READ_DMA_QUEUED48"); case 0x27: return ("READ_NATIVE_MAX_ADDRESS48"); case 0x29: return ("READ_MUL48"); + case 0x2a: return ("READ_STREAM_DMA48"); + case 0x2b: return ("READ_STREAM48"); + case 0x2f: return ("READ_LOG_EXT"); case 0x30: return ("WRITE"); case 0x34: return ("WRITE48"); case 0x35: return ("WRITE_DMA48"); case 0x36: return ("WRITE_DMA_QUEUED48"); case 0x37: return ("SET_MAX_ADDRESS48"); case 0x39: return ("WRITE_MUL48"); + case 0x3a: return ("WRITE_STREAM_DMA48"); + case 0x3b: return ("WRITE_STREAM48"); + case 0x3d: return ("WRITE_DMA_FUA48"); + case 0x3e: return ("WRITE_DMA_QUEUED_FUA48"); + case 0x3f: return ("WRITE_LOG_EXT"); + case 0x40: return ("READ_VERIFY"); + case 0x42: return ("READ_VERIFY48"); + case 0x45: + switch (request->u.ata.feature) { + case 0x55: return ("WRITE_UNCORRECTABLE48 PSEUDO"); + case 0xaa: return ("WRITE_UNCORRECTABLE48 FLAGGED"); + } + return "WRITE_UNCORRECTABLE48"; + case 0x51: return ("CONFIGURE_STREAM"); + case 0x60: return ("READ_FPDMA_QUEUED"); + case 0x61: return ("WRITE_FPDMA_QUEUED"); + case 0x63: return ("NCQ_NON_DATA"); + case 0x64: return ("SEND_FPDMA_QUEUED"); + case 0x65: return ("RECEIVE_FPDMA_QUEUED"); + case 0x67: + if (request->u.ata.feature == 0xec) + return ("SEP_ATTN IDENTIFY"); + switch (request->u.ata.lba) { + case 0x00: return ("SEP_ATTN READ BUFFER"); + case 0x02: return ("SEP_ATTN RECEIVE DIAGNOSTIC RESULTS"); + case 0x80: return ("SEP_ATTN WRITE BUFFER"); + case 0x82: return ("SEP_ATTN SEND DIAGNOSTIC"); + } + return ("SEP_ATTN"); case 0x70: return ("SEEK"); - case 0xa0: return ("PACKET_CMD"); + case 0x87: return ("CFA_TRANSLATE_SECTOR"); + case 0x90: return ("EXECUTE_DEVICE_DIAGNOSTIC"); + case 0x92: return ("DOWNLOAD_MICROCODE"); + case 0xa0: return ("PACKET"); case 0xa1: return ("ATAPI_IDENTIFY"); case 0xa2: return ("SERVICE"); - case 0xb0: return ("SMART"); - case 0xc0: return ("CFA ERASE"); + case 0xb0: + switch(request->u.ata.feature) { + case 0xd0: return ("SMART READ ATTR VALUES"); + case 0xd1: return ("SMART READ ATTR THRESHOLDS"); + case 0xd3: return ("SMART SAVE ATTR VALUES"); + case 0xd4: return ("SMART EXECUTE OFFLINE IMMEDIATE"); + case 0xd5: return ("SMART READ LOG DATA"); + case 0xd8: return ("SMART ENABLE OPERATION"); + case 0xd9: return ("SMART DISABLE OPERATION"); + case 0xda: return ("SMART RETURN STATUS"); + } + return ("SMART"); + case 0xb1: return ("DEVICE CONFIGURATION"); + case 0xc0: return ("CFA_ERASE"); case 0xc4: return ("READ_MUL"); case 0xc5: return ("WRITE_MUL"); case 0xc6: return ("SET_MULTI"); @@ -524,22 +582,48 @@ ata_cmd2str(struct ata_request *request) case 0xc8: return ("READ_DMA"); case 0xca: return ("WRITE_DMA"); case 0xcc: return ("WRITE_DMA_QUEUED"); + case 0xcd: return ("CFA_WRITE_MULTIPLE_WITHOUT_ERASE"); + case 0xce: return ("WRITE_MUL_FUA48"); + case 0xd1: return ("CHECK_MEDIA_CARD_TYPE"); + case 0xda: return ("GET_MEDIA_STATUS"); + case 0xde: return ("MEDIA_LOCK"); + case 0xdf: return ("MEDIA_UNLOCK"); + case 0xe0: return ("STANDBY_IMMEDIATE"); + case 0xe1: return ("IDLE_IMMEDIATE"); + case 0xe2: return ("STANDBY"); + case 0xe3: return ("IDLE"); + case 0xe4: return ("READ_BUFFER/PM"); + case 0xe5: return ("CHECK_POWER_MODE"); case 0xe6: return ("SLEEP"); case 0xe7: return ("FLUSHCACHE"); + case 0xe8: return ("WRITE_PM"); case 0xea: return ("FLUSHCACHE48"); case 0xec: return ("ATA_IDENTIFY"); + case 0xed: return ("MEDIA_EJECT"); case 0xef: switch (request->u.ata.feature) { case 0x03: return ("SETFEATURES SET TRANSFER MODE"); case 0x02: return ("SETFEATURES ENABLE WCACHE"); case 0x82: return ("SETFEATURES DISABLE WCACHE"); + case 0x06: return ("SETFEATURES ENABLE PUIS"); + case 0x86: return ("SETFEATURES DISABLE PUIS"); + case 0x07: return ("SETFEATURES SPIN-UP"); + case 0x10: return ("SETFEATURES ENABLE SATA FEATURE"); + case 0x90: return ("SETFEATURES DISABLE SATA FEATURE"); case 0xaa: return ("SETFEATURES ENABLE RCACHE"); case 0x55: return ("SETFEATURES DISABLE RCACHE"); + case 0x5d: return ("SETFEATURES ENABLE RELIRQ"); + case 0xdd: return ("SETFEATURES DISABLE RELIRQ"); + case 0x5e: return ("SETFEATURES ENABLE SRVIRQ"); + case 0xde: return ("SETFEATURES DISABLE SRVIRQ"); } - sprintf(buffer, "SETFEATURES 0x%02x", - request->u.ata.feature); - return (buffer); - case 0xf5: return ("SECURITY_FREE_LOCK"); + return "SETFEATURES"; + case 0xf1: return ("SECURITY_SET_PASSWORD"); + case 0xf2: return ("SECURITY_UNLOCK"); + case 0xf3: return ("SECURITY_ERASE_PREPARE"); + case 0xf4: return ("SECURITY_ERASE_UNIT"); + case 0xf5: return ("SECURITY_FREEZE_LOCK"); + case 0xf6: return ("SECURITY_DISABLE_PASSWORD"); case 0xf8: return ("READ_NATIVE_MAX_ADDRESS"); case 0xf9: return ("SET_MAX_ADDRESS"); } Modified: stable/10/sys/sys/ata.h ============================================================================== --- stable/10/sys/sys/ata.h Sun Mar 6 01:21:56 2016 (r296420) +++ stable/10/sys/sys/ata.h Sun Mar 6 02:33:02 2016 (r296421) @@ -368,6 +368,9 @@ struct ata_params { #define ATA_WRITE_LOG_EXT 0x3f #define ATA_READ_VERIFY 0x40 #define ATA_READ_VERIFY48 0x42 +#define ATA_WRITE_UNCORRECTABLE48 0x45 /* write uncorrectable 48bit LBA */ +#define ATA_WU_PSEUDO 0x55 /* pseudo-uncorrectable error */ +#define ATA_WU_FLAGGED 0xaa /* flagged-uncorrectable error */ #define ATA_READ_LOG_DMA_EXT 0x47 /* read log DMA ext - PIO Data-In */ #define ATA_READ_FPDMA_QUEUED 0x60 /* read DMA NCQ */ #define ATA_WRITE_FPDMA_QUEUED 0x61 /* write DMA NCQ */ From owner-svn-src-all@freebsd.org Sun Mar 6 04:38:09 2016 Return-Path: Delivered-To: svn-src-all@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 6E8DDA93E5C; Sun, 6 Mar 2016 04:38:09 +0000 (UTC) (envelope-from lidl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 3C36D26C; Sun, 6 Mar 2016 04:38:09 +0000 (UTC) (envelope-from lidl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u264c8PL003682; Sun, 6 Mar 2016 04:38:08 GMT (envelope-from lidl@FreeBSD.org) Received: (from lidl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u264c8J6003681; Sun, 6 Mar 2016 04:38:08 GMT (envelope-from lidl@FreeBSD.org) Message-Id: <201603060438.u264c8J6003681@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: lidl set sender to lidl@FreeBSD.org using -f From: Kurt Lidl Date: Sun, 6 Mar 2016 04:38:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296423 - head/lib/libc/db/db X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 04:38:09 -0000 Author: lidl Date: Sun Mar 6 04:38:08 2016 New Revision: 296423 URL: https://svnweb.freebsd.org/changeset/base/296423 Log: Allow O_CLOEXEC to be used in dbopen() flags There is also a small portability crutch, also present in NetBSD, to allow compiling on a system that doesn't define O_CLOEXEC. Approved by: rpaulo (mentor) Obtained from: NetBSD (r1.17, r1.18) Differential Revision: https://reviews.freebsd.org/D5549 Modified: head/lib/libc/db/db/db.c Modified: head/lib/libc/db/db/db.c ============================================================================== --- head/lib/libc/db/db/db.c Sun Mar 6 04:13:17 2016 (r296422) +++ head/lib/libc/db/db/db.c Sun Mar 6 04:38:08 2016 (r296423) @@ -44,6 +44,10 @@ __FBSDID("$FreeBSD$"); static int __dberr(void); +#ifndef O_CLOEXEC +#define O_CLOEXEC 0 +#endif + DB * dbopen(const char *fname, int flags, int mode, DBTYPE type, const void *openinfo) { @@ -51,7 +55,7 @@ dbopen(const char *fname, int flags, int #define DB_FLAGS (DB_LOCK | DB_SHMEM | DB_TXN) #define USE_OPEN_FLAGS \ (O_CREAT | O_EXCL | O_EXLOCK | O_NOFOLLOW | O_NONBLOCK | \ - O_RDONLY | O_RDWR | O_SHLOCK | O_SYNC | O_TRUNC) + O_RDONLY | O_RDWR | O_SHLOCK | O_SYNC | O_TRUNC | O_CLOEXEC) if ((flags & ~(USE_OPEN_FLAGS | DB_FLAGS)) == 0) switch (type) { From owner-svn-src-all@freebsd.org Sun Mar 6 08:40:23 2016 Return-Path: Delivered-To: svn-src-all@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 7C10B9DAAAA; Sun, 6 Mar 2016 08:40:23 +0000 (UTC) (envelope-from dwmalone@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 57C61AEE; Sun, 6 Mar 2016 08:40:23 +0000 (UTC) (envelope-from dwmalone@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u268eM5M000720; Sun, 6 Mar 2016 08:40:22 GMT (envelope-from dwmalone@FreeBSD.org) Received: (from dwmalone@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u268eMW9000716; Sun, 6 Mar 2016 08:40:22 GMT (envelope-from dwmalone@FreeBSD.org) Message-Id: <201603060840.u268eMW9000716@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dwmalone set sender to dwmalone@FreeBSD.org using -f From: David Malone Date: Sun, 6 Mar 2016 08:40:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296424 - in stable/10: lib/libc/db/hash usr.bin/cap_mkdb usr.sbin/pwd_mkdb usr.sbin/services_mkdb X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 08:40:23 -0000 Author: dwmalone Date: Sun Mar 6 08:40:21 2016 New Revision: 296424 URL: https://svnweb.freebsd.org/changeset/base/296424 Log: MFC: r295924: Make sure that hash-based db files fsync befor closing/syncing. r295925: We no longer need O_SYNC pwd_mkd r295465: We no longer need O_SYNC on services_mkdb r295800: We no longer need O_SYNC on cap_mkdb This should improve the performance of building db files. Modified: stable/10/lib/libc/db/hash/hash.c stable/10/usr.bin/cap_mkdb/cap_mkdb.c stable/10/usr.sbin/pwd_mkdb/pwd_mkdb.c stable/10/usr.sbin/services_mkdb/services_mkdb.c Directory Properties: stable/10/ (props changed) Modified: stable/10/lib/libc/db/hash/hash.c ============================================================================== --- stable/10/lib/libc/db/hash/hash.c Sun Mar 6 04:38:08 2016 (r296423) +++ stable/10/lib/libc/db/hash/hash.c Sun Mar 6 08:40:21 2016 (r296424) @@ -422,8 +422,10 @@ hdestroy(HTAB *hashp) if (hashp->tmp_buf) free(hashp->tmp_buf); - if (hashp->fp != -1) + if (hashp->fp != -1) { + (void)_fsync(hashp->fp); (void)_close(hashp->fp); + } free(hashp); @@ -458,6 +460,8 @@ hash_sync(const DB *dbp, u_int32_t flags return (0); if (__buf_free(hashp, 0, 1) || flush_meta(hashp)) return (ERROR); + if (hashp->fp != -1 && _fsync(hashp->fp) != 0) + return (ERROR); hashp->new_file = 0; return (0); } Modified: stable/10/usr.bin/cap_mkdb/cap_mkdb.c ============================================================================== --- stable/10/usr.bin/cap_mkdb/cap_mkdb.c Sun Mar 6 04:38:08 2016 (r296423) +++ stable/10/usr.bin/cap_mkdb/cap_mkdb.c Sun Mar 6 08:40:21 2016 (r296424) @@ -119,7 +119,7 @@ main(int argc, char *argv[]) (void)snprintf(buf, sizeof(buf), "%s.db", capname ? capname : *argv); if ((capname = strdup(buf)) == NULL) errx(1, "strdup failed"); - if ((capdbp = dbopen(capname, O_CREAT | O_TRUNC | O_RDWR | O_SYNC, + if ((capdbp = dbopen(capname, O_CREAT | O_TRUNC | O_RDWR, DEFFILEMODE, DB_HASH, &openinfo)) == NULL) err(1, "%s", buf); Modified: stable/10/usr.sbin/pwd_mkdb/pwd_mkdb.c ============================================================================== --- stable/10/usr.sbin/pwd_mkdb/pwd_mkdb.c Sun Mar 6 04:38:08 2016 (r296423) +++ stable/10/usr.sbin/pwd_mkdb/pwd_mkdb.c Sun Mar 6 08:40:21 2016 (r296424) @@ -225,14 +225,14 @@ main(int argc, char *argv[]) clean = FILE_INSECURE; cp(buf2, buf, PERM_INSECURE); dp = dbopen(buf, - O_RDWR|O_EXCL|O_SYNC, PERM_INSECURE, DB_HASH, &openinfo); + O_RDWR|O_EXCL, PERM_INSECURE, DB_HASH, &openinfo); if (dp == NULL) error(buf); clean = FILE_SECURE; cp(sbuf2, sbuf, PERM_SECURE); sdp = dbopen(sbuf, - O_RDWR|O_EXCL|O_SYNC, PERM_SECURE, DB_HASH, &openinfo); + O_RDWR|O_EXCL, PERM_SECURE, DB_HASH, &openinfo); if (sdp == NULL) error(sbuf); @@ -289,13 +289,13 @@ main(int argc, char *argv[]) method = 0; } else { dp = dbopen(buf, - O_RDWR|O_CREAT|O_EXCL|O_SYNC, PERM_INSECURE, DB_HASH, &openinfo); + O_RDWR|O_CREAT|O_EXCL, PERM_INSECURE, DB_HASH, &openinfo); if (dp == NULL) error(buf); clean = FILE_INSECURE; sdp = dbopen(sbuf, - O_RDWR|O_CREAT|O_EXCL|O_SYNC, PERM_SECURE, DB_HASH, &openinfo); + O_RDWR|O_CREAT|O_EXCL, PERM_SECURE, DB_HASH, &openinfo); if (sdp == NULL) error(sbuf); clean = FILE_SECURE; Modified: stable/10/usr.sbin/services_mkdb/services_mkdb.c ============================================================================== --- stable/10/usr.sbin/services_mkdb/services_mkdb.c Sun Mar 6 04:38:08 2016 (r296423) +++ stable/10/usr.sbin/services_mkdb/services_mkdb.c Sun Mar 6 08:40:21 2016 (r296424) @@ -141,7 +141,7 @@ main(int argc, char *argv[]) err(1, "Cannot install exit handler"); (void)snprintf(tname, sizeof(tname), "%s.tmp", dbname); - db = dbopen(tname, O_RDWR | O_CREAT | O_EXCL | O_SYNC, + db = dbopen(tname, O_RDWR | O_CREAT | O_EXCL, (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH), DB_HASH, &hinfo); if (!db) err(1, "Error opening temporary database `%s'", tname); From owner-svn-src-all@freebsd.org Sun Mar 6 08:52:05 2016 Return-Path: Delivered-To: svn-src-all@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 2420F9DAF47; Sun, 6 Mar 2016 08:52:05 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F40B9174; Sun, 6 Mar 2016 08:52:04 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u268q4Be004419; Sun, 6 Mar 2016 08:52:04 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u268q3ws004416; Sun, 6 Mar 2016 08:52:03 GMT (envelope-from kp@FreeBSD.org) Message-Id: <201603060852.u268q3ws004416@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Sun, 6 Mar 2016 08:52:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296425 - stable/10/sbin/ifconfig X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 08:52:05 -0000 Author: kp Date: Sun Mar 6 08:52:03 2016 New Revision: 296425 URL: https://svnweb.freebsd.org/changeset/base/296425 Log: MFC r295836: ifconfig(8): can't use 'name' or 'description' when creating interface with auto numbering If one does 'ifconfig tap create name blah', it will return error because the 'name' command doesn't properly populate the request sent to ioctl(...). The 'description' command has the same bug, and is also fixed with this patch. If one does 'ifconfig tap create mtu 9000 name blah', it DOES work, but 'tap0' (or other sequence number) is echoed, instead of the expected 'blah'. (assuming the name change actually succeeded) PR: 206876 Submitted by: Marie Helene Kvello-Aune Differential Revision: https://reviews.freebsd.org/D5341 Modified: stable/10/sbin/ifconfig/ifclone.c stable/10/sbin/ifconfig/ifconfig.c stable/10/sbin/ifconfig/ifconfig.h Modified: stable/10/sbin/ifconfig/ifclone.c ============================================================================== --- stable/10/sbin/ifconfig/ifclone.c Sun Mar 6 08:40:21 2016 (r296424) +++ stable/10/sbin/ifconfig/ifclone.c Sun Mar 6 08:52:03 2016 (r296425) @@ -144,11 +144,12 @@ ifclonecreate(int s, void *arg) } /* - * If we get a different name back than we put in, print it. + * If we get a different name back than we put in, update record and + * indicate it should be printed later. */ if (strncmp(name, ifr.ifr_name, sizeof(name)) != 0) { strlcpy(name, ifr.ifr_name, sizeof(name)); - printf("%s\n", name); + printifname = 1; } } Modified: stable/10/sbin/ifconfig/ifconfig.c ============================================================================== --- stable/10/sbin/ifconfig/ifconfig.c Sun Mar 6 08:40:21 2016 (r296424) +++ stable/10/sbin/ifconfig/ifconfig.c Sun Mar 6 08:52:03 2016 (r296425) @@ -93,6 +93,7 @@ int clearaddr; int newaddr = 1; int verbose; int noload; +int printifname = 0; int supmedia = 0; int printkeys = 0; /* Print keying material for interfaces. */ @@ -108,6 +109,8 @@ static struct afswtch *af_getbyname(cons static struct afswtch *af_getbyfamily(int af); static void af_other_status(int); +void printifnamemaybe(void); + static struct option *opts = NULL; void @@ -141,6 +144,12 @@ usage(void) exit(1); } +void printifnamemaybe() +{ + if (printifname) + printf("%s\n", name); +} + int main(int argc, char *argv[]) { @@ -156,6 +165,12 @@ main(int argc, char *argv[]) size_t iflen; all = downonly = uponly = namesonly = noload = verbose = 0; + + /* + * Ensure we print interface name when expected to, + * even if we terminate early due to error. + */ + atexit(printifnamemaybe); /* Parse leading line options */ strlcpy(options, "adklmnuv", sizeof(options)); @@ -856,6 +871,8 @@ setifname(const char *val, int dummy __u const struct afswtch *afp) { char *newname; + + strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name)); newname = strdup(val); if (newname == NULL) @@ -865,6 +882,7 @@ setifname(const char *val, int dummy __u free(newname); err(1, "ioctl SIOCSIFNAME (set name)"); } + printifname = 1; strlcpy(name, newname, sizeof(name)); free(newname); } @@ -876,6 +894,8 @@ setifdescr(const char *val, int dummy __ { char *newdescr; + strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name)); + ifr.ifr_buffer.length = strlen(val) + 1; if (ifr.ifr_buffer.length == 1) { ifr.ifr_buffer.buffer = newdescr = NULL; Modified: stable/10/sbin/ifconfig/ifconfig.h ============================================================================== --- stable/10/sbin/ifconfig/ifconfig.h Sun Mar 6 08:40:21 2016 (r296424) +++ stable/10/sbin/ifconfig/ifconfig.h Sun Mar 6 08:52:03 2016 (r296425) @@ -133,6 +133,7 @@ extern int supmedia; extern int printkeys; extern int newaddr; extern int verbose; +extern int printifname; void setifcap(const char *, int value, int s, const struct afswtch *); From owner-svn-src-all@freebsd.org Sun Mar 6 11:41:10 2016 Return-Path: Delivered-To: svn-src-all@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 1142DA95F7E; Sun, 6 Mar 2016 11:41:10 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E0F1BF9; Sun, 6 Mar 2016 11:41:09 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u26Bf8P3055835; Sun, 6 Mar 2016 11:41:08 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u26Bf8EW055830; Sun, 6 Mar 2016 11:41:08 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201603061141.u26Bf8EW055830@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Sun, 6 Mar 2016 11:41:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296426 - in head/sys/arm: allwinner allwinner/a20 conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 11:41:10 -0000 Author: andrew Date: Sun Mar 6 11:41:08 2016 New Revision: 296426 URL: https://svnweb.freebsd.org/changeset/base/296426 Log: Add SMP support for the Allwinner A31 and A31s. This updated the existing code for the A20 to use the new PLATFORM_SMP interface, and extends it to add support for the new SoCs allowing for both to coexist within the same kernel. Submitted by: Emmanuel Vadot Reviewed by: jmcneill Differential Revision: https://reviews.freebsd.org/D5342 Added: head/sys/arm/allwinner/aw_mp.c - copied, changed from r296425, head/sys/arm/allwinner/a20/a20_mp.c head/sys/arm/allwinner/aw_mp.h (contents, props changed) Deleted: head/sys/arm/allwinner/a20/a20_mp.c Modified: head/sys/arm/allwinner/a20/files.a20 head/sys/arm/allwinner/allwinner_machdep.c head/sys/arm/conf/A20 Modified: head/sys/arm/allwinner/a20/files.a20 ============================================================================== --- head/sys/arm/allwinner/a20/files.a20 Sun Mar 6 08:52:03 2016 (r296425) +++ head/sys/arm/allwinner/a20/files.a20 Sun Mar 6 11:41:08 2016 (r296426) @@ -1,5 +1,5 @@ # $FreeBSD$ arm/allwinner/a20/a20_padconf.c standard -arm/allwinner/a20/a20_mp.c optional smp +arm/allwinner/aw_mp.c optional smp arm/allwinner/a20/a20_if_dwc.c optional dwc Modified: head/sys/arm/allwinner/allwinner_machdep.c ============================================================================== --- head/sys/arm/allwinner/allwinner_machdep.c Sun Mar 6 08:52:03 2016 (r296425) +++ head/sys/arm/allwinner/allwinner_machdep.c Sun Mar 6 11:41:08 2016 (r296426) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include @@ -152,6 +153,10 @@ static platform_method_t a20_methods[] = PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr), PLATFORMMETHOD(platform_devmap_init, allwinner_devmap_init), +#ifdef SMP + PLATFORMMETHOD(platform_mp_start_ap, a20_mp_start_ap), + PLATFORMMETHOD(platform_mp_setmaxid, aw_mp_setmaxid), +#endif PLATFORMMETHOD_END, }; @@ -160,6 +165,10 @@ static platform_method_t a31_methods[] = PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr), PLATFORMMETHOD(platform_devmap_init, allwinner_devmap_init), +#ifdef SMP + PLATFORMMETHOD(platform_mp_start_ap, a31_mp_start_ap), + PLATFORMMETHOD(platform_mp_setmaxid, aw_mp_setmaxid), +#endif PLATFORMMETHOD_END, }; @@ -168,6 +177,10 @@ static platform_method_t a31s_methods[] PLATFORMMETHOD(platform_lastaddr, allwinner_lastaddr), PLATFORMMETHOD(platform_devmap_init, allwinner_devmap_init), +#ifdef SMP + PLATFORMMETHOD(platform_mp_start_ap, a31_mp_start_ap), + PLATFORMMETHOD(platform_mp_setmaxid, aw_mp_setmaxid), +#endif PLATFORMMETHOD_END, }; Copied and modified: head/sys/arm/allwinner/aw_mp.c (from r296425, head/sys/arm/allwinner/a20/a20_mp.c) ============================================================================== --- head/sys/arm/allwinner/a20/a20_mp.c Sun Mar 6 08:52:03 2016 (r296425, copy source) +++ head/sys/arm/allwinner/aw_mp.c Sun Mar 6 11:41:08 2016 (r296426) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2014 Ganbold Tsagaankhuu + * Copyright (c) 2016 Emmanuel Vadot * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -38,53 +39,69 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include +#include -#define CPUCFG_BASE 0x01c25c00 +#include +#include + +/* Register for all dual-core SoC */ +#define A20_CPUCFG_BASE 0x01c25c00 +/* Register for all quad-core SoC */ +#define CPUCFG_BASE 0x01f01c00 #define CPUCFG_SIZE 0x400 +#define PRCM_BASE 0x01f01400 +#define PRCM_SIZE 0x800 + +#define CPU_OFFSET 0x40 +#define CPU_OFFSET_CTL 0x04 +#define CPU_OFFSET_STATUS 0x08 +#define CPU_RST_CTL(cpuid) ((cpuid + 1) * CPU_OFFSET) +#define CPU_CTL(cpuid) (((cpuid + 1) * CPU_OFFSET) + CPU_OFFSET_CTL) +#define CPU_STATUS(cpuid) (((cpuid + 1) * CPU_OFFSET) + CPU_OFFSET_STATUS) + +#define CPU_RESET (1 << 0) +#define CPU_CORE_RESET (1 << 1) -#define CPU0_RST_CTL 0x40 -#define CPU0_CTL 0x44 -#define CPU0_STATUS 0x48 -#define CPU1_RST_CTL 0x80 -#define CPU1_CTL 0x84 -#define CPU1_STATUS 0x88 #define CPUCFG_GENCTL 0x184 #define CPUCFG_P_REG0 0x1a4 -#define CPU1_PWR_CLAMP 0x1b0 -#define CPU1_PWROFF_REG 0x1b4 + +#define A20_CPU1_PWR_CLAMP 0x1b0 +#define CPU_PWR_CLAMP_REG 0x140 +#define CPU_PWR_CLAMP(cpu) ((cpu * 4) + CPU_PWR_CLAMP_REG) +#define CPU_PWR_CLAMP_STEPS 8 + +#define A20_CPU1_PWROFF_REG 0x1b4 +#define CPU_PWROFF 0x100 + #define CPUCFG_DBGCTL0 0x1e0 #define CPUCFG_DBGCTL1 0x1e4 void -platform_mp_setmaxid(void) +aw_mp_setmaxid(platform_t plat) { int ncpu; + uint32_t reg; if (mp_ncpus != 0) return; - /* Read the number of cores from the CP15 L2 Control Register. */ - __asm __volatile("mrc p15, 1, %0, c9, c0, 2" : "=r" (ncpu)); - ncpu = ((ncpu >> 24) & 0x3) + 1; + reg = cp15_l2ctlr_get(); + ncpu = CPUV7_L2CTLR_NPROC(reg); mp_ncpus = ncpu; mp_maxid = ncpu - 1; } -void -platform_mp_start_ap(void) +static void +aw_common_mp_start_ap(bus_space_handle_t cpucfg, bus_space_handle_t prcm) { - bus_space_handle_t cpucfg; - + int i, j; uint32_t val; - if (bus_space_map(fdtbus_bs_tag, CPUCFG_BASE, CPUCFG_SIZE, 0, - &cpucfg) != 0) - panic("Couldn't map the CPUCFG\n"); - dcache_wbinv_poc_all(); bus_space_write_4(fdtbus_bs_tag, cpucfg, CPUCFG_P_REG0, @@ -95,44 +112,93 @@ platform_mp_start_ap(void) * Ensure DBGPWRDUP is set to LOW to prevent any external * debug access to the processor. */ - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_RST_CTL, 0); + for (i = 1; i < mp_ncpus; i++) + bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU_RST_CTL(i), 0); /* Set L1RSTDISABLE low */ val = bus_space_read_4(fdtbus_bs_tag, cpucfg, CPUCFG_GENCTL); - val &= ~(1 << 1); + for (i = 1; i < mp_ncpus; i++) + val &= ~(1 << i); bus_space_write_4(fdtbus_bs_tag, cpucfg, CPUCFG_GENCTL, val); /* Set DBGPWRDUP low */ val = bus_space_read_4(fdtbus_bs_tag, cpucfg, CPUCFG_DBGCTL1); - val &= ~(1 << 1); + for (i = 1; i < mp_ncpus; i++) + val &= ~(1 << i); bus_space_write_4(fdtbus_bs_tag, cpucfg, CPUCFG_DBGCTL1, val); /* Release power clamp */ - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0xff); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x7f); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x3f); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x1f); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x0f); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x07); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x03); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x01); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWR_CLAMP, 0x00); + for (i = 1; i < mp_ncpus; i++) + for (j = 0; j <= CPU_PWR_CLAMP_STEPS; j++) { + if (prcm) { + bus_space_write_4(fdtbus_bs_tag, prcm, + CPU_PWR_CLAMP(i), 0xff >> j); + } else { + bus_space_write_4(fdtbus_bs_tag, + cpucfg, A20_CPU1_PWR_CLAMP, 0xff >> j); + } + } DELAY(10000); /* Clear power-off gating */ - val = bus_space_read_4(fdtbus_bs_tag, cpucfg, CPU1_PWROFF_REG); - val &= ~(1 << 0); - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_PWROFF_REG, val); + if (prcm) { + val = bus_space_read_4(fdtbus_bs_tag, prcm, CPU_PWROFF); + for (i = 0; i < mp_ncpus; i++) + val &= ~(1 << i); + bus_space_write_4(fdtbus_bs_tag, prcm, CPU_PWROFF, val); + } else { + val = bus_space_read_4(fdtbus_bs_tag, + cpucfg, A20_CPU1_PWROFF_REG); + val &= ~(1 << 0); + bus_space_write_4(fdtbus_bs_tag, cpucfg, + A20_CPU1_PWROFF_REG, val); + } DELAY(1000); /* De-assert cpu core reset */ - bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU1_RST_CTL, 3); + for (i = 1; i < mp_ncpus; i++) + bus_space_write_4(fdtbus_bs_tag, cpucfg, CPU_RST_CTL(i), + CPU_RESET | CPU_CORE_RESET); /* Assert DBGPWRDUP signal */ val = bus_space_read_4(fdtbus_bs_tag, cpucfg, CPUCFG_DBGCTL1); - val |= (1 << 1); + for (i = 1; i < mp_ncpus; i++) + val |= (1 << i); bus_space_write_4(fdtbus_bs_tag, cpucfg, CPUCFG_DBGCTL1, val); armv7_sev(); bus_space_unmap(fdtbus_bs_tag, cpucfg, CPUCFG_SIZE); } + +void +a20_mp_start_ap(platform_t plat) +{ + bus_space_handle_t cpucfg; + + if (bus_space_map(fdtbus_bs_tag, A20_CPUCFG_BASE, CPUCFG_SIZE, + 0, &cpucfg) != 0) + panic("Couldn't map the CPUCFG\n"); + + aw_common_mp_start_ap(cpucfg, 0); + armv7_sev(); + bus_space_unmap(fdtbus_bs_tag, cpucfg, CPUCFG_SIZE); +} + +void +a31_mp_start_ap(platform_t plat) +{ + bus_space_handle_t cpucfg; + bus_space_handle_t prcm; + + if (bus_space_map(fdtbus_bs_tag, CPUCFG_BASE, CPUCFG_SIZE, + 0, &cpucfg) != 0) + panic("Couldn't map the CPUCFG\n"); + if (bus_space_map(fdtbus_bs_tag, PRCM_BASE, PRCM_SIZE, 0, + &prcm) != 0) + panic("Couldn't map the PRCM\n"); + + aw_common_mp_start_ap(cpucfg, prcm); + armv7_sev(); + bus_space_unmap(fdtbus_bs_tag, cpucfg, CPUCFG_SIZE); + bus_space_unmap(fdtbus_bs_tag, prcm, PRCM_SIZE); +} Added: head/sys/arm/allwinner/aw_mp.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/arm/allwinner/aw_mp.h Sun Mar 6 11:41:08 2016 (r296426) @@ -0,0 +1,35 @@ +/*- + * Copyright (c) 2016 Emmanuel Vadot + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _AW_MP_H_ +#define _AW_MP_H_ + +void aw_mp_setmaxid(platform_t plat); +void a20_mp_start_ap(platform_t plat); +void a31_mp_start_ap(platform_t plat); + +#endif /* _AW_MP_H_ */ Modified: head/sys/arm/conf/A20 ============================================================================== --- head/sys/arm/conf/A20 Sun Mar 6 08:52:03 2016 (r296425) +++ head/sys/arm/conf/A20 Sun Mar 6 11:41:08 2016 (r296426) @@ -31,6 +31,7 @@ options HZ=100 options SCHED_ULE # ULE scheduler options SMP # Enable multiple cores options PLATFORM +options PLATFORM_SMP # Debugging for use in -current makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols From owner-svn-src-all@freebsd.org Sun Mar 6 14:37:50 2016 Return-Path: Delivered-To: svn-src-all@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 B5480AC032B; Sun, 6 Mar 2016 14:37:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 878038CC; Sun, 6 Mar 2016 14:37:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u26Ebnt4009656; Sun, 6 Mar 2016 14:37:49 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u26EbnZf009655; Sun, 6 Mar 2016 14:37:49 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603061437.u26EbnZf009655@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 6 Mar 2016 14:37:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296427 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 14:37:50 -0000 Author: dim Date: Sun Mar 6 14:37:49 2016 New Revision: 296427 URL: https://svnweb.freebsd.org/changeset/base/296427 Log: Add another libclang_rt library to ObsoleteFiles, so the enclosing directory can be removed completely. Noticed by: Oliver Hartmann Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Sun Mar 6 11:41:08 2016 (r296426) +++ head/ObsoleteFiles.inc Sun Mar 6 14:37:49 2016 (r296427) @@ -106,6 +106,8 @@ OLD_FILES+=usr/lib/clang/3.7.1/include/x OLD_FILES+=usr/lib/clang/3.7.1/include/xtestintrin.h OLD_DIRS+=usr/lib/clang/3.7.1/include OLD_FILES+=usr/lib/clang/3.7.1/lib/freebsd/libclang_rt.asan-i386.a +OLD_FILES+=usr/lib/clang/3.7.1/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/3.7.1/lib/freebsd/libclang_rt.asan-preinit-x86_64.a OLD_FILES+=usr/lib/clang/3.7.1/lib/freebsd/libclang_rt.asan-x86_64.a OLD_FILES+=usr/lib/clang/3.7.1/lib/freebsd/libclang_rt.asan_cxx-i386.a OLD_FILES+=usr/lib/clang/3.7.1/lib/freebsd/libclang_rt.asan_cxx-x86_64.a From owner-svn-src-all@freebsd.org Sun Mar 6 15:57:44 2016 Return-Path: Delivered-To: svn-src-all@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 7E3DBA9523B; Sun, 6 Mar 2016 15:57:44 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 504D1C0; Sun, 6 Mar 2016 15:57:44 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u26FvhS6033983; Sun, 6 Mar 2016 15:57:43 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u26FvhMi033982; Sun, 6 Mar 2016 15:57:43 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603061557.u26FvhMi033982@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 6 Mar 2016 15:57:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296428 - head/sys/boot/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 15:57:44 -0000 Author: dim Date: Sun Mar 6 15:57:43 2016 New Revision: 296428 URL: https://svnweb.freebsd.org/changeset/base/296428 Log: Since kernel modules can now contain sections of type SHT_AMD64_UNWIND, the boot loader should not skip over these anymore while loading images. Otherwise the kernel can still panic when it doesn't find the .eh_frame section belonging to the .rela.eh_frame section. Unfortunately this will require installing boot loaders from sys/boot before attempting to boot with a new kernel. Reviewed by: kib MFC after: 2 weeks X-MFC-With: r296419 Modified: head/sys/boot/common/load_elf_obj.c Modified: head/sys/boot/common/load_elf_obj.c ============================================================================== --- head/sys/boot/common/load_elf_obj.c Sun Mar 6 14:37:49 2016 (r296427) +++ head/sys/boot/common/load_elf_obj.c Sun Mar 6 15:57:43 2016 (r296428) @@ -221,6 +221,9 @@ __elfN(obj_loadimage)(struct preloaded_f switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#if defined(__i386__) || defined(__amd64__) + case SHT_AMD64_UNWIND: +#endif lastaddr = roundup(lastaddr, shdr[i].sh_addralign); shdr[i].sh_addr = (Elf_Addr)lastaddr; lastaddr += shdr[i].sh_size; From owner-svn-src-all@freebsd.org Sun Mar 6 16:00:06 2016 Return-Path: Delivered-To: svn-src-all@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 C9DF8A9537B for ; Sun, 6 Mar 2016 16:00:06 +0000 (UTC) (envelope-from oliver.pinter@hardenedbsd.org) Received: from mail-wm0-x231.google.com (mail-wm0-x231.google.com [IPv6:2a00:1450:400c:c09::231]) (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 659F52C1 for ; Sun, 6 Mar 2016 16:00:06 +0000 (UTC) (envelope-from oliver.pinter@hardenedbsd.org) Received: by mail-wm0-x231.google.com with SMTP id l68so44443969wml.1 for ; Sun, 06 Mar 2016 08:00:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=jR6GAcbcqgcBpTxT2c8AaXCUeVmrw7T6W98nFpOn0q8=; b=WGjU9GMrTQhEllNLck0vXgMysxelvci5qYw8BrYY/UVNNU8mIgMCDJCOwTryazWVVW fp+uEsn1escCiVZEEzowx8Arpuzk3PPzJQpkAbKgceCzuKwMKMr+h3HDw/5pid+IhpwV XWt7fu5xKadvQIFC9v3owO9ksEkkBWJPAaNhyigXmlLQihXpYoQNXGaPYDVAjwil93Dt WylI/TrY3F2ELSje1un0serCRv/+2p3GDYLFPpYR3T2HhE537CEmwoqCNhivwq5F1QLe ln7WJ1a9aNfStT2atlna38sUVpcN6LFQmLDze+ZL7tFUsXljPvGHgQgS/hELgb6LDU6B ZZVw== 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:date :message-id:subject:from:to:cc; bh=jR6GAcbcqgcBpTxT2c8AaXCUeVmrw7T6W98nFpOn0q8=; b=cBkm38ZfccCsoRA9zpQDCbnFsGXKSl4zVWAxKHXUkUaYBzMGIJw/qWF1qV8t/dBjLc czOwhAeo6heLMSblqCBEI+phEZ0rm7ZUlM1hRPNhDuVFX2M+y7WSmyLbMbJ6KNb3j5D3 BdwbZXaAOPiAKPR+4pGH81jFJyKMsDTcxNLSozOeFgBHGYlVgk/Cqm9BAQvTmazfqRLi 8y3oMy0TVX7TMSrP+tPkGxuTEdMNGwhsjIbGQHj3BqaOvEYeSv/m/SgkcmGykkSJ0gJ6 u0sz7Df7Pi+iRnXAIeUew4ZT0Lb26LvQl4ukzK8apsPanHzI5bcoa361RRzUVYdGs5JQ CJkQ== X-Gm-Message-State: AD7BkJKB2VaiK32ya//7AHDNmBdVhcmosyBEyXu7yO9L8qJruyC5cZi5tCP/R43dDS0/AOINe/UHVyKwJDlc/l3u MIME-Version: 1.0 X-Received: by 10.194.77.193 with SMTP id u1mr18393225wjw.73.1457280004586; Sun, 06 Mar 2016 08:00:04 -0800 (PST) Received: by 10.194.243.98 with HTTP; Sun, 6 Mar 2016 08:00:04 -0800 (PST) In-Reply-To: <201603061557.u26FvhMi033982@repo.freebsd.org> References: <201603061557.u26FvhMi033982@repo.freebsd.org> Date: Sun, 6 Mar 2016 17:00:04 +0100 Message-ID: Subject: Re: svn commit: r296428 - head/sys/boot/common From: Oliver Pinter To: Dimitry Andric Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 16:00:07 -0000 On 3/6/16, Dimitry Andric wrote: > Author: dim > Date: Sun Mar 6 15:57:43 2016 > New Revision: 296428 > URL: https://svnweb.freebsd.org/changeset/base/296428 > > Log: > Since kernel modules can now contain sections of type SHT_AMD64_UNWIND, > the boot loader should not skip over these anymore while loading images. > Otherwise the kernel can still panic when it doesn't find the .eh_frame > section belonging to the .rela.eh_frame section. > > Unfortunately this will require installing boot loaders from sys/boot > before attempting to boot with a new kernel. Could you please add a note about this to UPDATING file? > > Reviewed by: kib > MFC after: 2 weeks > X-MFC-With: r296419 > > Modified: > head/sys/boot/common/load_elf_obj.c > > Modified: head/sys/boot/common/load_elf_obj.c > ============================================================================== > --- head/sys/boot/common/load_elf_obj.c Sun Mar 6 14:37:49 2016 (r296427) > +++ head/sys/boot/common/load_elf_obj.c Sun Mar 6 15:57:43 2016 (r296428) > @@ -221,6 +221,9 @@ __elfN(obj_loadimage)(struct preloaded_f > switch (shdr[i].sh_type) { > case SHT_PROGBITS: > case SHT_NOBITS: > +#if defined(__i386__) || defined(__amd64__) > + case SHT_AMD64_UNWIND: > +#endif > lastaddr = roundup(lastaddr, shdr[i].sh_addralign); > shdr[i].sh_addr = (Elf_Addr)lastaddr; > lastaddr += shdr[i].sh_size; > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" > From owner-svn-src-all@freebsd.org Sun Mar 6 16:17:17 2016 Return-Path: Delivered-To: svn-src-all@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 EEE51A95AE5; Sun, 6 Mar 2016 16:17:16 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B5BF3DD3; Sun, 6 Mar 2016 16:17:16 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:7b8:3a7::c8cc:92f5:a9cb:d8ee] (unknown [IPv6:2001:7b8:3a7:0:c8cc:92f5:a9cb:d8ee]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id CB2583E090; Sun, 6 Mar 2016 17:17:13 +0100 (CET) Subject: Re: svn commit: r296428 - head/sys/boot/common Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_72ACE11D-052B-47DC-8126-B8A539029FA9"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.6b2 (ebbf3ef) From: Dimitry Andric In-Reply-To: Date: Sun, 6 Mar 2016 17:17:05 +0100 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> References: <201603061557.u26FvhMi033982@repo.freebsd.org> To: Oliver Pinter X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 16:17:17 -0000 --Apple-Mail=_72ACE11D-052B-47DC-8126-B8A539029FA9 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 06 Mar 2016, at 17:00, Oliver Pinter = wrote: >=20 > On 3/6/16, Dimitry Andric wrote: >> Author: dim >> Date: Sun Mar 6 15:57:43 2016 >> New Revision: 296428 >> URL: https://svnweb.freebsd.org/changeset/base/296428 >>=20 >> Log: >> Since kernel modules can now contain sections of type = SHT_AMD64_UNWIND, >> the boot loader should not skip over these anymore while loading = images. >> Otherwise the kernel can still panic when it doesn't find the = .eh_frame >> section belonging to the .rela.eh_frame section. >>=20 >> Unfortunately this will require installing boot loaders from = sys/boot >> before attempting to boot with a new kernel. >=20 > Could you please add a note about this to UPDATING file? I am a bit torn on this, because normally we always tell people to install the kernel first, reboot, then run make installworld (which also installs the boot loaders). However, in this case, people might depend on their boot loader loading modules which are required to make the system boot at all. So if they happened to forget updating their boot loader first, a panic might be the result. I wonder what a failsafe and acceptable upgrade scenario is, in this case. Normally the procedure is something like: make buildworld make buildkernel (with KERNCONF=3Dwhatever, if needed) make installkernel (again with KERNCONF, if needed) reboot (to single user, but cheating is possible usually) mergemaster -p make installworld This could maybe be modified to: make buildworld make buildkernel (with KERNCONF=3Dwhatever, if needed) make installkernel (again with KERNCONF, if needed) make -C sys/boot install reboot (to single user, but cheating is possible usually) mergemaster -p make installworld E.g. insert the step which installs the boot loaders just after (or before) the step which installs the kernel. Is something like this acceptable as a one-time workaround, or maybe it is better in general, in case we ever add other new features to the boot loaders? -Dimitry --Apple-Mail=_72ACE11D-052B-47DC-8126-B8A539029FA9 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.29 iEYEARECAAYFAlbcWAkACgkQsF6jCi4glqPv4gCfT90/wveAL2rshN8QccQ8noAa Sg8AmwSMje31dxJwVng3Dih4/ru882/S =jeHf -----END PGP SIGNATURE----- --Apple-Mail=_72ACE11D-052B-47DC-8126-B8A539029FA9-- From owner-svn-src-all@freebsd.org Sun Mar 6 17:10:15 2016 Return-Path: Delivered-To: svn-src-all@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 6BAA69DBCFE for ; Sun, 6 Mar 2016 17:10:15 +0000 (UTC) (envelope-from oliver.pinter@hardenedbsd.org) Received: from mail-wm0-x234.google.com (mail-wm0-x234.google.com [IPv6:2a00:1450:400c:c09::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 06573E56 for ; Sun, 6 Mar 2016 17:10:15 +0000 (UTC) (envelope-from oliver.pinter@hardenedbsd.org) Received: by mail-wm0-x234.google.com with SMTP id n186so55452501wmn.1 for ; Sun, 06 Mar 2016 09:10:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=+1UdcWC12E+2aNYB994kxCrSA9YwheJZd02E3CbYQ0I=; b=DqYioVcHqQEs9pydGO5/I7vj6+nVC2CdHo+/mKgGPbHwPmDK86MQzcYziCIIGFqg19 kpE6m3H/7s9B1S4t79F/ZCPrE81goF6rehFWE2GlOsHfQB8RKhyPAcfVGAD/a5HaL86B vgJhTmq+/g4Oh6yB775aEGt830bvzjJdrO0zyWLC53XEcfE8ps3HADpTMBTH9MAYXwAk TMQPDHFsbMAhbwwpHVOGnaLfEmc8qVndG9dfvGkg1PGhs1kXH8946WAfYyrP32+iyps+ NIBxk9gOMjZRcBAbpUHr/MlI07nL4xNB9L97drvLD8m0i/qGwSuz1m5lM6VS3v6bIIfR W0NQ== 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:date :message-id:subject:from:to:cc; bh=+1UdcWC12E+2aNYB994kxCrSA9YwheJZd02E3CbYQ0I=; b=i0JjOlqdoPLxfRmKHeOaeoy2MBaj/1o8cHikiV3iQELCv9Eja+31kIqqj3iH5I/+du HIc6Hx3FT8J7lyOOE9zj8j8NwZ+5VXJhxRAtiy68KjqhA67ZG0tbLmD9hCGcaECAL1XM IOJx5/sRrRO4vejktf5ZRNUWFylAaWEEU9SR9dzNZKKwK2WJgmbPN7f8p951QvDplgQS xOL09/vBbAvf1arfwQEKWmi34GQyaqZoVJvY/xEP08QnbY5EaJtQL7Jr8Ad2ihuBTidJ ckaUk/i2Eyt3dVoJTxvVIeoVZka+8YjqbuBeMcuIKzIWan/uHPGTu26Qf4ALrVF2227l l/qQ== X-Gm-Message-State: AD7BkJLmhr86mU5Rwz/w+04SxtwqohCD0IxxSawl/pgTMk7MQMzxgF56apeh4iNOchl3Xar2aQUbhd7xffGWo9rl MIME-Version: 1.0 X-Received: by 10.194.200.194 with SMTP id ju2mr17936563wjc.63.1457284213298; Sun, 06 Mar 2016 09:10:13 -0800 (PST) Received: by 10.194.243.98 with HTTP; Sun, 6 Mar 2016 09:10:13 -0800 (PST) In-Reply-To: <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> Date: Sun, 6 Mar 2016 18:10:13 +0100 Message-ID: Subject: Re: svn commit: r296428 - head/sys/boot/common From: Oliver Pinter To: Dimitry Andric Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 17:10:15 -0000 On 3/6/16, Dimitry Andric wrote: > On 06 Mar 2016, at 17:00, Oliver Pinter > wrote: >> >> On 3/6/16, Dimitry Andric wrote: >>> Author: dim >>> Date: Sun Mar 6 15:57:43 2016 >>> New Revision: 296428 >>> URL: https://svnweb.freebsd.org/changeset/base/296428 >>> >>> Log: >>> Since kernel modules can now contain sections of type SHT_AMD64_UNWIND, >>> the boot loader should not skip over these anymore while loading >>> images. >>> Otherwise the kernel can still panic when it doesn't find the .eh_frame >>> section belonging to the .rela.eh_frame section. >>> >>> Unfortunately this will require installing boot loaders from sys/boot >>> before attempting to boot with a new kernel. >> >> Could you please add a note about this to UPDATING file? > > I am a bit torn on this, because normally we always tell people to > install the kernel first, reboot, then run make installworld (which also > installs the boot loaders). > > However, in this case, people might depend on their boot loader loading > modules which are required to make the system boot at all. So if they > happened to forget updating their boot loader first, a panic might be > the result. > > I wonder what a failsafe and acceptable upgrade scenario is, in this > case. Normally the procedure is something like: > > make buildworld > make buildkernel (with KERNCONF=whatever, if needed) > make installkernel (again with KERNCONF, if needed) > reboot (to single user, but cheating is possible usually) > mergemaster -p > make installworld > > This could maybe be modified to: > > make buildworld > make buildkernel (with KERNCONF=whatever, if needed) > make installkernel (again with KERNCONF, if needed) > make -C sys/boot install > reboot (to single user, but cheating is possible usually) > mergemaster -p > make installworld > > E.g. insert the step which installs the boot loaders just after (or > before) the step which installs the kernel. > > Is something like this acceptable as a one-time workaround, or maybe it > is better in general, in case we ever add other new features to the boot > loaders? If I'm not wrong, the bootloaders are self-contained (using libstand, and statically linked) same as the kernel, so they are not depend from the other parts of the system, and they already lives under the ${SRCTOP}/sys with the kernel, so logically bootloader belong to the kernel and it's acceptable from me to update them under the installkernel phase. The question is with this method everything working fine or this would break something? > > -Dimitry > > From owner-svn-src-all@freebsd.org Sun Mar 6 17:24:04 2016 Return-Path: Delivered-To: svn-src-all@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 703ECA952B3; Sun, 6 Mar 2016 17:24:04 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 4196A8CE; Sun, 6 Mar 2016 17:24:04 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u26HO33R060919; Sun, 6 Mar 2016 17:24:03 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u26HO3K4060917; Sun, 6 Mar 2016 17:24:03 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201603061724.u26HO3K4060917@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 6 Mar 2016 17:24:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296429 - head/bin/sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 17:24:04 -0000 Author: jilles Date: Sun Mar 6 17:24:02 2016 New Revision: 296429 URL: https://svnweb.freebsd.org/changeset/base/296429 Log: sh: Fix some dead stores. Found by: clang static analyzer Modified: head/bin/sh/expand.c head/bin/sh/histedit.c Modified: head/bin/sh/expand.c ============================================================================== --- head/bin/sh/expand.c Sun Mar 6 15:57:43 2016 (r296428) +++ head/bin/sh/expand.c Sun Mar 6 17:24:02 2016 (r296429) @@ -463,7 +463,6 @@ expbackq(union node *cmd, int quoted, in argbackq = saveargbackq; p = in.buf; - lastc = '\0'; nnl = 0; if (!quoted && flag & EXP_SPLIT) ifs = ifsset() ? ifsval() : " \t\n"; @@ -1288,7 +1287,7 @@ patmatch(const char *pattern, const char if (wc == 0) goto backtrack; } else - wc = (unsigned char)*q++; + q++; break; case '*': c = *p; Modified: head/bin/sh/histedit.c ============================================================================== --- head/bin/sh/histedit.c Sun Mar 6 15:57:43 2016 (r296428) +++ head/bin/sh/histedit.c Sun Mar 6 17:24:02 2016 (r296429) @@ -359,7 +359,7 @@ histcmd(int argc, char **argv __unused) * cursor, set it back to the current * entry. */ - retval = history(hist, &he, + history(hist, &he, H_NEXT_EVENT, oldhistnum); } } else From owner-svn-src-all@freebsd.org Sun Mar 6 17:34:23 2016 Return-Path: Delivered-To: svn-src-all@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 05222A9585C; Sun, 6 Mar 2016 17:34:23 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CAC0AFD3; Sun, 6 Mar 2016 17:34:22 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u26HYLfQ064287; Sun, 6 Mar 2016 17:34:21 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u26HYLnG064286; Sun, 6 Mar 2016 17:34:21 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603061734.u26HYLnG064286@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 6 Mar 2016 17:34:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296430 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 17:34:23 -0000 Author: dim Date: Sun Mar 6 17:34:21 2016 New Revision: 296430 URL: https://svnweb.freebsd.org/changeset/base/296430 Log: Add an UPDATING entry about installing the boot loaders after installing the kernel, on amd64. Modified: head/UPDATING Modified: head/UPDATING ============================================================================== --- head/UPDATING Sun Mar 6 17:24:02 2016 (r296429) +++ head/UPDATING Sun Mar 6 17:34:21 2016 (r296430) @@ -31,6 +31,20 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20160306: + On amd64, clang 3.8.0 can now insert sections of type AMD64_UNWIND into + kernel modules. Therefore, if you load any kernel modules at boot time, + please install the boot loaders after you install the kernel, but before + rebooting, e.g.: + + make buildworld + make kernel KERNCONF=YOUR_KERNEL_HERE + make -C sys/boot install + + + Then follow the usual steps, described in the General Notes section, + below. + 20160305: Clang, llvm, lldb and compiler-rt have been upgraded to 3.8.0. Please see the 20141231 entry below for information about prerequisites and From owner-svn-src-all@freebsd.org Sun Mar 6 18:22:25 2016 Return-Path: Delivered-To: svn-src-all@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 C1C1DAB6B93; Sun, 6 Mar 2016 18:22:25 +0000 (UTC) (envelope-from dwmalone@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 9D02BDCE; Sun, 6 Mar 2016 18:22:25 +0000 (UTC) (envelope-from dwmalone@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u26IMO6E079879; Sun, 6 Mar 2016 18:22:24 GMT (envelope-from dwmalone@FreeBSD.org) Received: (from dwmalone@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u26IMO9p079875; Sun, 6 Mar 2016 18:22:24 GMT (envelope-from dwmalone@FreeBSD.org) Message-Id: <201603061822.u26IMO9p079875@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dwmalone set sender to dwmalone@FreeBSD.org using -f From: David Malone Date: Sun, 6 Mar 2016 18:22:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r296431 - in releng/10.3: lib/libc/db/hash usr.bin/cap_mkdb usr.sbin/pwd_mkdb usr.sbin/services_mkdb X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 18:22:25 -0000 Author: dwmalone Date: Sun Mar 6 18:22:24 2016 New Revision: 296431 URL: https://svnweb.freebsd.org/changeset/base/296431 Log: Merge 296424 from stable/10 - contains the following changes to -current: r295924: Make sure that hash-based db files fsync befor closing/syncing. r295925: We no longer need O_SYNC pwd_mkd r295465: We no longer need O_SYNC on services_mkdb r295800: We no longer need O_SYNC on cap_mkdb Approved by: re (marius) Modified: releng/10.3/lib/libc/db/hash/hash.c releng/10.3/usr.bin/cap_mkdb/cap_mkdb.c releng/10.3/usr.sbin/pwd_mkdb/pwd_mkdb.c releng/10.3/usr.sbin/services_mkdb/services_mkdb.c Directory Properties: releng/10.3/ (props changed) Modified: releng/10.3/lib/libc/db/hash/hash.c ============================================================================== --- releng/10.3/lib/libc/db/hash/hash.c Sun Mar 6 17:34:21 2016 (r296430) +++ releng/10.3/lib/libc/db/hash/hash.c Sun Mar 6 18:22:24 2016 (r296431) @@ -422,8 +422,10 @@ hdestroy(HTAB *hashp) if (hashp->tmp_buf) free(hashp->tmp_buf); - if (hashp->fp != -1) + if (hashp->fp != -1) { + (void)_fsync(hashp->fp); (void)_close(hashp->fp); + } free(hashp); @@ -458,6 +460,8 @@ hash_sync(const DB *dbp, u_int32_t flags return (0); if (__buf_free(hashp, 0, 1) || flush_meta(hashp)) return (ERROR); + if (hashp->fp != -1 && _fsync(hashp->fp) != 0) + return (ERROR); hashp->new_file = 0; return (0); } Modified: releng/10.3/usr.bin/cap_mkdb/cap_mkdb.c ============================================================================== --- releng/10.3/usr.bin/cap_mkdb/cap_mkdb.c Sun Mar 6 17:34:21 2016 (r296430) +++ releng/10.3/usr.bin/cap_mkdb/cap_mkdb.c Sun Mar 6 18:22:24 2016 (r296431) @@ -119,7 +119,7 @@ main(int argc, char *argv[]) (void)snprintf(buf, sizeof(buf), "%s.db", capname ? capname : *argv); if ((capname = strdup(buf)) == NULL) errx(1, "strdup failed"); - if ((capdbp = dbopen(capname, O_CREAT | O_TRUNC | O_RDWR | O_SYNC, + if ((capdbp = dbopen(capname, O_CREAT | O_TRUNC | O_RDWR, DEFFILEMODE, DB_HASH, &openinfo)) == NULL) err(1, "%s", buf); Modified: releng/10.3/usr.sbin/pwd_mkdb/pwd_mkdb.c ============================================================================== --- releng/10.3/usr.sbin/pwd_mkdb/pwd_mkdb.c Sun Mar 6 17:34:21 2016 (r296430) +++ releng/10.3/usr.sbin/pwd_mkdb/pwd_mkdb.c Sun Mar 6 18:22:24 2016 (r296431) @@ -225,14 +225,14 @@ main(int argc, char *argv[]) clean = FILE_INSECURE; cp(buf2, buf, PERM_INSECURE); dp = dbopen(buf, - O_RDWR|O_EXCL|O_SYNC, PERM_INSECURE, DB_HASH, &openinfo); + O_RDWR|O_EXCL, PERM_INSECURE, DB_HASH, &openinfo); if (dp == NULL) error(buf); clean = FILE_SECURE; cp(sbuf2, sbuf, PERM_SECURE); sdp = dbopen(sbuf, - O_RDWR|O_EXCL|O_SYNC, PERM_SECURE, DB_HASH, &openinfo); + O_RDWR|O_EXCL, PERM_SECURE, DB_HASH, &openinfo); if (sdp == NULL) error(sbuf); @@ -289,13 +289,13 @@ main(int argc, char *argv[]) method = 0; } else { dp = dbopen(buf, - O_RDWR|O_CREAT|O_EXCL|O_SYNC, PERM_INSECURE, DB_HASH, &openinfo); + O_RDWR|O_CREAT|O_EXCL, PERM_INSECURE, DB_HASH, &openinfo); if (dp == NULL) error(buf); clean = FILE_INSECURE; sdp = dbopen(sbuf, - O_RDWR|O_CREAT|O_EXCL|O_SYNC, PERM_SECURE, DB_HASH, &openinfo); + O_RDWR|O_CREAT|O_EXCL, PERM_SECURE, DB_HASH, &openinfo); if (sdp == NULL) error(sbuf); clean = FILE_SECURE; Modified: releng/10.3/usr.sbin/services_mkdb/services_mkdb.c ============================================================================== --- releng/10.3/usr.sbin/services_mkdb/services_mkdb.c Sun Mar 6 17:34:21 2016 (r296430) +++ releng/10.3/usr.sbin/services_mkdb/services_mkdb.c Sun Mar 6 18:22:24 2016 (r296431) @@ -141,7 +141,7 @@ main(int argc, char *argv[]) err(1, "Cannot install exit handler"); (void)snprintf(tname, sizeof(tname), "%s.tmp", dbname); - db = dbopen(tname, O_RDWR | O_CREAT | O_EXCL | O_SYNC, + db = dbopen(tname, O_RDWR | O_CREAT | O_EXCL, (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH), DB_HASH, &hinfo); if (!db) err(1, "Error opening temporary database `%s'", tname); From owner-svn-src-all@freebsd.org Sun Mar 6 18:41:50 2016 Return-Path: Delivered-To: svn-src-all@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 373A2AC03B8; Sun, 6 Mar 2016 18:41:50 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 E97971ACA; Sun, 6 Mar 2016 18:41:49 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u26Ifmct086260; Sun, 6 Mar 2016 18:41:48 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u26Ifmnm086258; Sun, 6 Mar 2016 18:41:48 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201603061841.u26Ifmnm086258@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 6 Mar 2016 18:41:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296434 - head/lib/libc/tests/string X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 18:41:50 -0000 Author: jilles Date: Sun Mar 6 18:41:48 2016 New Revision: 296434 URL: https://svnweb.freebsd.org/changeset/base/296434 Log: libc: Add some tests for memcmp(). Added: head/lib/libc/tests/string/memcmp_test.c (contents, props changed) Modified: head/lib/libc/tests/string/Makefile Modified: head/lib/libc/tests/string/Makefile ============================================================================== --- head/lib/libc/tests/string/Makefile Sun Mar 6 18:40:02 2016 (r296433) +++ head/lib/libc/tests/string/Makefile Sun Mar 6 18:41:48 2016 (r296434) @@ -1,5 +1,6 @@ # $FreeBSD$ +ATF_TESTS_C+= memcmp_test ATF_TESTS_C+= stpncpy_test ATF_TESTS_C+= strerror2_test ATF_TESTS_C+= wcscasecmp_test Added: head/lib/libc/tests/string/memcmp_test.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libc/tests/string/memcmp_test.c Sun Mar 6 18:41:48 2016 (r296434) @@ -0,0 +1,124 @@ +/*- + * Copyright (c) 2016 Jilles Tjoelker + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include + +#include + +ATF_TC_WITHOUT_HEAD(zero); +ATF_TC_BODY(zero, tc) +{ + + assert(memcmp("a", "b", 0) == 0); + assert(memcmp("", "", 0) == 0); +} + +ATF_TC_WITHOUT_HEAD(eq); +ATF_TC_BODY(eq, tc) +{ + unsigned char data1[256], data2[256]; + int i; + + for (i = 0; i < 256; i++) + data1[i] = data2[i] = i ^ 0x55; + for (i = 1; i < 256; i++) + assert(memcmp(data1, data2, i) == 0); + for (i = 1; i < 256; i++) + assert(memcmp(data1 + i, data2 + i, 256 - i) == 0); +} + +ATF_TC_WITHOUT_HEAD(neq); +ATF_TC_BODY(neq, tc) +{ + unsigned char data1[256], data2[256]; + int i; + + for (i = 0; i < 256; i++) { + data1[i] = i; + data2[i] = i ^ 0x55; + } + for (i = 1; i < 256; i++) + assert(memcmp(data1, data2, i) != 0); + for (i = 1; i < 256; i++) + assert(memcmp(data1 + i, data2 + i, 256 - i) != 0); +} + +ATF_TC_WITHOUT_HEAD(diff); +ATF_TC_BODY(diff, tc) +{ + unsigned char data1[256], data2[256]; + int i; + + memset(data1, 'a', sizeof(data1)); + memset(data2, 'a', sizeof(data2)); + data1[128] = 255; + data2[128] = 0; + for (i = 1; i < 66; i++) { + assert(memcmp(data1 + 128, data2 + 128, i) == 255); + assert(memcmp(data2 + 128, data1 + 128, i) == -255); + assert(memcmp(data1 + 129 - i, data2 + 129 - i, i) == 255); + assert(memcmp(data2 + 129 - i, data1 + 129 - i, i) == -255); + assert(memcmp(data1 + 129 - i, data2 + 129 - i, i * 2) == 255); + assert(memcmp(data2 + 129 - i, data1 + 129 - i, i * 2) == -255); + } + data1[128] = 'c'; + data2[128] = 'e'; + for (i = 1; i < 66; i++) { + assert(memcmp(data1 + 128, data2 + 128, i) == -2); + assert(memcmp(data2 + 128, data1 + 128, i) == 2); + assert(memcmp(data1 + 129 - i, data2 + 129 - i, i) == -2); + assert(memcmp(data2 + 129 - i, data1 + 129 - i, i) == 2); + assert(memcmp(data1 + 129 - i, data2 + 129 - i, i * 2) == -2); + assert(memcmp(data2 + 129 - i, data1 + 129 - i, i * 2) == 2); + } + memset(data1 + 129, 'A', sizeof(data1) - 129); + memset(data2 + 129, 'Z', sizeof(data2) - 129); + for (i = 1; i < 66; i++) { + assert(memcmp(data1 + 128, data2 + 128, i) == -2); + assert(memcmp(data2 + 128, data1 + 128, i) == 2); + assert(memcmp(data1 + 129 - i, data2 + 129 - i, i) == -2); + assert(memcmp(data2 + 129 - i, data1 + 129 - i, i) == 2); + assert(memcmp(data1 + 129 - i, data2 + 129 - i, i * 2) == -2); + assert(memcmp(data2 + 129 - i, data1 + 129 - i, i * 2) == 2); + } +} + +ATF_TP_ADD_TCS(tp) +{ + + ATF_TP_ADD_TC(tp, zero); + ATF_TP_ADD_TC(tp, eq); + ATF_TP_ADD_TC(tp, neq); + ATF_TP_ADD_TC(tp, diff); + + return (atf_no_error()); +} From owner-svn-src-all@freebsd.org Sun Mar 6 19:57:35 2016 Return-Path: Delivered-To: svn-src-all@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 DA2C5AC1116; Sun, 6 Mar 2016 19:57:34 +0000 (UTC) (envelope-from lifanov@mail.lifanov.com) Received: from mail.lifanov.com (mail.lifanov.com [206.125.175.12]) (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 C6A35EEC; Sun, 6 Mar 2016 19:57:34 +0000 (UTC) (envelope-from lifanov@mail.lifanov.com) Received: by mail.lifanov.com (Postfix, from userid 58) id E3028239746; Sun, 6 Mar 2016 14:57:33 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mail.lifanov.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT, URIBL_BLOCKED shortcircuit=ham autolearn=disabled version=3.4.1 Received: from app.lifanov.com (chat.lifanov.com [206.125.175.13]) by mail.lifanov.com (Postfix) with ESMTPA id 1824523958D; Sun, 6 Mar 2016 14:57:33 -0500 (EST) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Sun, 06 Mar 2016 14:57:32 -0500 From: Nikolai Lifanov To: Dimitry Andric Cc: Oliver Pinter , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, owner-svn-src-head@freebsd.org Subject: Re: svn commit: r296428 - head/sys/boot/common In-Reply-To: <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> Message-ID: <5ba9554b9066227c883140c7c12e4703@mail.lifanov.com> X-Sender: lifanov@mail.lifanov.com User-Agent: Roundcube Webmail/1.1.4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 19:57:35 -0000 On 2016-03-06 11:17, Dimitry Andric wrote: > On 06 Mar 2016, at 17:00, Oliver Pinter > wrote: >> >> On 3/6/16, Dimitry Andric wrote: >>> Author: dim >>> Date: Sun Mar 6 15:57:43 2016 >>> New Revision: 296428 >>> URL: https://svnweb.freebsd.org/changeset/base/296428 >>> >>> Log: >>> Since kernel modules can now contain sections of type >>> SHT_AMD64_UNWIND, >>> the boot loader should not skip over these anymore while loading >>> images. >>> Otherwise the kernel can still panic when it doesn't find the >>> .eh_frame >>> section belonging to the .rela.eh_frame section. >>> >>> Unfortunately this will require installing boot loaders from >>> sys/boot >>> before attempting to boot with a new kernel. >> >> Could you please add a note about this to UPDATING file? > > I am a bit torn on this, because normally we always tell people to > install the kernel first, reboot, then run make installworld (which > also > installs the boot loaders). > > However, in this case, people might depend on their boot loader loading > modules which are required to make the system boot at all. So if they > happened to forget updating their boot loader first, a panic might be > the result. > > I wonder what a failsafe and acceptable upgrade scenario is, in this > case. Normally the procedure is something like: > > make buildworld > make buildkernel (with KERNCONF=whatever, if needed) > make installkernel (again with KERNCONF, if needed) > reboot (to single user, but cheating is possible usually) > mergemaster -p > make installworld > > This could maybe be modified to: > > make buildworld > make buildkernel (with KERNCONF=whatever, if needed) > make installkernel (again with KERNCONF, if needed) > make -C sys/boot install > reboot (to single user, but cheating is possible usually) > mergemaster -p > make installworld > > E.g. insert the step which installs the boot loaders just after (or > before) the step which installs the kernel. > > Is something like this acceptable as a one-time workaround, or maybe it > is better in general, in case we ever add other new features to the > boot > loaders? > > -Dimitry In my opinion, boot *blocks* (boot1) should be updated seldomly and not on every install. All (?) instances of not updating these resulting in a failed boot have an UPDATING entry or a similar warning (like the one during "zpool upgrade"). - Nikolai Lifanov From owner-svn-src-all@freebsd.org Sun Mar 6 21:13:42 2016 Return-Path: Delivered-To: svn-src-all@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 A968DA952CB; Sun, 6 Mar 2016 21:13:42 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [IPv6:2001:7b8:3a7:1:2d0:b7ff:fea0:8c26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4A1DF689; Sun, 6 Mar 2016 21:13:42 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:7b8:3a7::3cb7:2161:babb:f26f] (unknown [IPv6:2001:7b8:3a7:0:3cb7:2161:babb:f26f]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 6A7033E45D; Sun, 6 Mar 2016 22:13:39 +0100 (CET) Subject: Re: svn commit: r296428 - head/sys/boot/common Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_D1ADE014-F301-4960-843C-3F867AEA9CC4"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.6b2 (ebbf3ef) From: Dimitry Andric In-Reply-To: <5ba9554b9066227c883140c7c12e4703@mail.lifanov.com> Date: Sun, 6 Mar 2016 22:13:34 +0100 Cc: Oliver Pinter , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, owner-svn-src-head@freebsd.org Message-Id: <0D2DFD32-B29F-48EA-8D60-458960993E97@FreeBSD.org> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> <5ba9554b9066227c883140c7c12e4703@mail.lifanov.com> To: Nikolai Lifanov X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 21:13:42 -0000 --Apple-Mail=_D1ADE014-F301-4960-843C-3F867AEA9CC4 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 06 Mar 2016, at 20:57, Nikolai Lifanov = wrote: >=20 > On 2016-03-06 11:17, Dimitry Andric wrote: >> On 06 Mar 2016, at 17:00, Oliver Pinter = wrote: >>> On 3/6/16, Dimitry Andric wrote: >>>> Author: dim >>>> Date: Sun Mar 6 15:57:43 2016 >>>> New Revision: 296428 >>>> URL: https://svnweb.freebsd.org/changeset/base/296428 >>>> Log: >>>> Since kernel modules can now contain sections of type = SHT_AMD64_UNWIND, >>>> the boot loader should not skip over these anymore while loading = images. >>>> Otherwise the kernel can still panic when it doesn't find the = .eh_frame >>>> section belonging to the .rela.eh_frame section. >>>> Unfortunately this will require installing boot loaders from = sys/boot >>>> before attempting to boot with a new kernel. >>> Could you please add a note about this to UPDATING file? >> I am a bit torn on this, because normally we always tell people to >> install the kernel first, reboot, then run make installworld (which = also >> installs the boot loaders). >> However, in this case, people might depend on their boot loader = loading >> modules which are required to make the system boot at all. So if = they >> happened to forget updating their boot loader first, a panic might be >> the result. >> I wonder what a failsafe and acceptable upgrade scenario is, in this >> case. Normally the procedure is something like: >> make buildworld >> make buildkernel (with KERNCONF=3Dwhatever, if needed) >> make installkernel (again with KERNCONF, if needed) >> reboot (to single user, but cheating is possible usually) >> mergemaster -p >> make installworld >> This could maybe be modified to: >> make buildworld >> make buildkernel (with KERNCONF=3Dwhatever, if needed) >> make installkernel (again with KERNCONF, if needed) >> make -C sys/boot install >> reboot (to single user, but cheating is possible usually) >> mergemaster -p >> make installworld >> E.g. insert the step which installs the boot loaders just after (or >> before) the step which installs the kernel. >> Is something like this acceptable as a one-time workaround, or maybe = it >> is better in general, in case we ever add other new features to the = boot >> loaders? >> -Dimitry >=20 > In my opinion, boot *blocks* (boot1) should be updated seldomly and = not on every install. > All (?) instances of not updating these resulting in a failed boot = have an UPDATING > entry or a similar warning (like the one during "zpool upgrade"). Well, each time you run make installworld, almost all the files in /boot (except for configuration) get reinstalled. For e.g. mbr, boot1 and such, this has no consequences at all, until you install them into some partition using gpart, but changes to loader, loader.efi or zfsloader *will* affect the next startup. Per a suggestion from Kostik, maybe it would be nice to have a separate "make installboot" target, which installs just the components in /boot. This could then be used before or after "make installkernel". -Dimitry --Apple-Mail=_D1ADE014-F301-4960-843C-3F867AEA9CC4 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.29 iEYEARECAAYFAlbcnYIACgkQsF6jCi4glqMjDwCgyp/oUg3vwXo/7JZBMwexMmk5 FMIAoNXpEXyq4Iem3Uotn4FNkR2UbILn =Xu6U -----END PGP SIGNATURE----- --Apple-Mail=_D1ADE014-F301-4960-843C-3F867AEA9CC4-- From owner-svn-src-all@freebsd.org Sun Mar 6 21:32:57 2016 Return-Path: Delivered-To: svn-src-all@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 2964CA95B60; Sun, 6 Mar 2016 21:32:57 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BC5901AF; Sun, 6 Mar 2016 21:32:56 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u26LWtaO038242; Sun, 6 Mar 2016 21:32:55 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u26LWsCd038229; Sun, 6 Mar 2016 21:32:54 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201603062132.u26LWsCd038229@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Sun, 6 Mar 2016 21:32:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296435 - in head/lib/libedit: . TEST edit/readline X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 21:32:57 -0000 Author: pfg Date: Sun Mar 6 21:32:54 2016 New Revision: 296435 URL: https://svnweb.freebsd.org/changeset/base/296435 Log: Revert r296175 Undo update of libedit 2016-02-27 Something in libedit appears to be causing breakage in lldb38. The changes are not generally huge but they are suficient to to justify reverting for now. Reported by: novel, bapt Modified: head/lib/libedit/Makefile head/lib/libedit/TEST/tc1.c head/lib/libedit/TEST/wtc1.c head/lib/libedit/chared.c head/lib/libedit/chared.h head/lib/libedit/chartype.c head/lib/libedit/chartype.h head/lib/libedit/common.c head/lib/libedit/config.h head/lib/libedit/edit/readline/readline.h head/lib/libedit/editline.3 head/lib/libedit/el.c head/lib/libedit/el.h head/lib/libedit/eln.c head/lib/libedit/emacs.c head/lib/libedit/filecomplete.c head/lib/libedit/hist.c head/lib/libedit/hist.h head/lib/libedit/histedit.h head/lib/libedit/history.c head/lib/libedit/keymacro.c head/lib/libedit/makelist head/lib/libedit/map.c head/lib/libedit/parse.c head/lib/libedit/prompt.c head/lib/libedit/prompt.h head/lib/libedit/read.c head/lib/libedit/read.h head/lib/libedit/readline.c head/lib/libedit/refresh.c head/lib/libedit/refresh.h head/lib/libedit/search.c head/lib/libedit/search.h head/lib/libedit/sig.c head/lib/libedit/sig.h head/lib/libedit/sys.h head/lib/libedit/terminal.c head/lib/libedit/terminal.h head/lib/libedit/tokenizer.c head/lib/libedit/tty.c head/lib/libedit/tty.h head/lib/libedit/vi.c Directory Properties: head/lib/libedit/ (props changed) head/lib/libedit/edit/readline/ (props changed) Modified: head/lib/libedit/Makefile ============================================================================== --- head/lib/libedit/Makefile Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/Makefile Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.55 2016/02/24 14:25:38 christos Exp $ +# $NetBSD: Makefile,v 1.37 2009/01/18 12:17:49 lukem Exp $ # @(#)Makefile 8.1 (Berkeley) 6/4/93 # $FreeBSD$ @@ -6,7 +6,7 @@ LIB= edit SHLIB_MAJOR= 7 SHLIBDIR?= /lib -OSRCS= chared.c common.c el.c eln.c emacs.c fcns.c filecomplete.c help.c \ +OSRCS= chared.c common.c el.c emacs.c fcns.c filecomplete.c help.c \ hist.c keymacro.c map.c chartype.c \ parse.c prompt.c read.c refresh.c search.c sig.c terminal.c tty.c vi.c @@ -34,6 +34,7 @@ CLEANFILES+= common.h editline.c emacs.h INCS= histedit.h +OSRCS+= eln.c SRCS+= tokenizern.c historyn.c CLEANFILES+= tokenizern.c historyn.c CFLAGS+= -I. -I${.CURDIR} -I${.CURDIR}/edit -DWIDECHAR Modified: head/lib/libedit/TEST/tc1.c ============================================================================== --- head/lib/libedit/TEST/tc1.c Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/TEST/tc1.c Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -/* $NetBSD: tc1.c,v 1.7 2016/02/17 19:47:49 christos Exp $ */ +/* $NetBSD: tc1.c,v 1.6 2014/06/18 20:12:15 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1992, 19 #if 0 static char sccsid[] = "@(#)test.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: tc1.c,v 1.7 2016/02/17 19:47:49 christos Exp $"); +__RCSID("$NetBSD: tc1.c,v 1.6 2014/06/18 20:12:15 christos Exp $"); #endif #endif /* not lint && not SCCSID */ __FBSDID("$FreeBSD$"); @@ -50,15 +50,15 @@ __FBSDID("$FreeBSD$"); /* * test.c: A little test program */ +#include +#include +#include #include #include -#include -#include -#include -#include #include -#include #include +#include +#include #include "histedit.h" @@ -158,7 +158,7 @@ main(int argc, char *argv[]) /* Add a user-defined function */ el_set(el, EL_ADDFN, "ed-complete", "Complete argument", complete); - /* Bind tab to it */ + /* Bind tab to it */ el_set(el, EL_BIND, "^I", "ed-complete", NULL); /* Modified: head/lib/libedit/TEST/wtc1.c ============================================================================== --- head/lib/libedit/TEST/wtc1.c Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/TEST/wtc1.c Sun Mar 6 21:32:54 2016 (r296435) @@ -5,16 +5,13 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include +#include +#include #include -#include #include #include -#include -#include -#include -#include -#include #include "../histedit.h" Modified: head/lib/libedit/chared.c ============================================================================== --- head/lib/libedit/chared.c Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/chared.c Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -/* $NetBSD: chared.c,v 1.49 2016/02/24 14:29:21 christos Exp $ */ +/* $NetBSD: chared.c,v 1.40 2014/06/18 18:12:28 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)chared.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: chared.c,v 1.49 2016/02/24 14:29:21 christos Exp $"); +__RCSID("$NetBSD: chared.c,v 1.40 2014/06/18 18:12:28 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -46,12 +46,8 @@ __FBSDID("$FreeBSD$"); /* * chared.c: Character editor utilities */ -#include #include -#include - #include "el.h" -#include "common.h" private void ch__clearmacro (EditLine *); @@ -205,7 +201,7 @@ c_delbefore1(EditLine *el) * Return if p is part of a word according to emacs */ protected int -ce__isword(wint_t p) +ce__isword(Int p) { return Isalnum(p) || Strchr(STR("*?_-.[]~="), p) != NULL; } @@ -215,7 +211,7 @@ ce__isword(wint_t p) * Return if p is part of a word according to vi */ protected int -cv__isword(wint_t p) +cv__isword(Int p) { if (Isalnum(p) || p == '_') return 1; @@ -229,7 +225,7 @@ cv__isword(wint_t p) * Return if p is part of a big word according to vi */ protected int -cv__isWord(wint_t p) +cv__isWord(Int p) { return !Isspace(p); } @@ -239,7 +235,7 @@ cv__isWord(wint_t p) * Find the previous word */ protected Char * -c__prev_word(Char *p, Char *low, int n, int (*wtest)(wint_t)) +c__prev_word(Char *p, Char *low, int n, int (*wtest)(Int)) { p--; @@ -263,7 +259,7 @@ c__prev_word(Char *p, Char *low, int n, * Find the next word */ protected Char * -c__next_word(Char *p, Char *high, int n, int (*wtest)(wint_t)) +c__next_word(Char *p, Char *high, int n, int (*wtest)(Int)) { while (n--) { while ((p < high) && !(*wtest)(*p)) @@ -281,7 +277,7 @@ c__next_word(Char *p, Char *high, int n, * Find the next word vi style */ protected Char * -cv_next_word(EditLine *el, Char *p, Char *high, int n, int (*wtest)(wint_t)) +cv_next_word(EditLine *el, Char *p, Char *high, int n, int (*wtest)(Int)) { int test; @@ -310,7 +306,7 @@ cv_next_word(EditLine *el, Char *p, Char * Find the previous word vi style */ protected Char * -cv_prev_word(Char *p, Char *low, int n, int (*wtest)(wint_t)) +cv_prev_word(Char *p, Char *low, int n, int (*wtest)(Int)) { int test; @@ -374,7 +370,7 @@ cv_delfini(EditLine *el) * Go to the end of this word according to vi */ protected Char * -cv__endword(Char *p, Char *high, int n, int (*wtest)(wint_t)) +cv__endword(Char *p, Char *high, int n, int (*wtest)(Int)) { int test; @@ -528,7 +524,7 @@ ch_enlargebufs(EditLine *el, size_t addl /* zero the newly added memory, leave old data in */ (void) memset(&newbuffer[sz], 0, (newsz - sz) * sizeof(*newbuffer)); - + oldbuf = el->el_line.buffer; el->el_line.buffer = newbuffer; @@ -577,7 +573,7 @@ ch_enlargebufs(EditLine *el, size_t addl el->el_chared.c_redo.lim = newbuffer + (el->el_chared.c_redo.lim - el->el_chared.c_redo.buf); el->el_chared.c_redo.buf = newbuffer; - + if (!hist_enlargebuf(el, sz, newsz)) return 0; @@ -677,9 +673,9 @@ out: protected int c_gets(EditLine *el, Char *buf, const Char *prompt) { - wchar_t wch; + Char ch; ssize_t len; - Char *cp = el->el_line.buffer, ch; + Char *cp = el->el_line.buffer; if (prompt) { len = (ssize_t)Strlen(prompt); @@ -694,28 +690,26 @@ c_gets(EditLine *el, Char *buf, const Ch el->el_line.lastchar = cp + 1; re_refresh(el); - if (el_wgetc(el, &wch) != 1) { + if (FUN(el,getc)(el, &ch) != 1) { ed_end_of_file(el, 0); len = -1; break; } - ch = (Char)wch; switch (ch) { - case L'\b': /* Delete and backspace */ + case 0010: /* Delete and backspace */ case 0177: if (len == 0) { len = -1; break; } - len--; cp--; continue; case 0033: /* ESC */ - case L'\r': /* Newline */ - case L'\n': + case '\r': /* Newline */ + case '\n': buf[len] = ch; break; Modified: head/lib/libedit/chared.h ============================================================================== --- head/lib/libedit/chared.h Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/chared.h Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -/* $NetBSD: chared.h,v 1.27 2016/02/16 22:53:14 christos Exp $ */ +/* $NetBSD: chared.h,v 1.22 2014/06/18 18:12:28 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -41,6 +41,11 @@ #ifndef _h_el_chared #define _h_el_chared +#include +#include + +#include "histedit.h" + #define EL_MAXMACRO 10 /* @@ -135,18 +140,24 @@ typedef struct el_chared_t { #define MODE_REPLACE 1 #define MODE_REPLACE_1 2 +#include "common.h" +#include "vi.h" +#include "emacs.h" +#include "search.h" +#include "fcns.h" + -protected int cv__isword(wint_t); -protected int cv__isWord(wint_t); +protected int cv__isword(Int); +protected int cv__isWord(Int); protected void cv_delfini(EditLine *); -protected Char *cv__endword(Char *, Char *, int, int (*)(wint_t)); -protected int ce__isword(wint_t); +protected Char *cv__endword(Char *, Char *, int, int (*)(Int)); +protected int ce__isword(Int); protected void cv_undo(EditLine *); protected void cv_yank(EditLine *, const Char *, int); -protected Char *cv_next_word(EditLine*, Char *, Char *, int, int (*)(wint_t)); -protected Char *cv_prev_word(Char *, Char *, int, int (*)(wint_t)); -protected Char *c__next_word(Char *, Char *, int, int (*)(wint_t)); -protected Char *c__prev_word(Char *, Char *, int, int (*)(wint_t)); +protected Char *cv_next_word(EditLine*, Char *, Char *, int, int (*)(Int)); +protected Char *cv_prev_word(Char *, Char *, int, int (*)(Int)); +protected Char *c__next_word(Char *, Char *, int, int (*)(Int)); +protected Char *c__prev_word(Char *, Char *, int, int (*)(Int)); protected void c_insert(EditLine *, int); protected void c_delbefore(EditLine *, int); protected void c_delbefore1(EditLine *); Modified: head/lib/libedit/chartype.c ============================================================================== --- head/lib/libedit/chartype.c Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/chartype.c Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -/* $NetBSD: chartype.c,v 1.23 2016/02/28 23:02:24 christos Exp $ */ +/* $NetBSD: chartype.c,v 1.12 2015/02/22 02:16:19 christos Exp $ */ /*- * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -31,16 +31,13 @@ */ #include "config.h" #if !defined(lint) && !defined(SCCSID) -__RCSID("$NetBSD: chartype.c,v 1.23 2016/02/28 23:02:24 christos Exp $"); +__RCSID("$NetBSD: chartype.c,v 1.12 2015/02/22 02:16:19 christos Exp $"); #endif /* not lint && not SCCSID */ #include __FBSDID("$FreeBSD$"); -#include -#include -#include - #include "el.h" +#include #define CT_BUFSIZ ((size_t)1024) @@ -71,7 +68,7 @@ ct_conv_wbuff_resize(ct_buffer_t *conv, { void *p; - if (wsize <= conv->wsize) + if (wsize <= conv->wsize) return 0; conv->wsize = wsize; @@ -209,28 +206,6 @@ ct_encode_char(char *dst, size_t len, Ch } return l; } - -size_t -ct_mbrtowc(wchar_t *wc, const char *s, size_t n) -{ - mbstate_t mbs; - /* This only works because UTF-8 is stateless */ - memset(&mbs, 0, sizeof(mbs)); - return mbrtowc(wc, s, n, &mbs); -} - -#else - -size_t -ct_mbrtowc(wchar_t *wc, const char *s, size_t n) - if (s == NULL) - return 0; - if (n == 0) - return (size_t)-2; - if (wc != NULL) - *wc = *s; - return *s != '\0'; -} #endif protected const Char * @@ -354,7 +329,7 @@ ct_visual_char(Char *dst, size_t len, Ch return c > 0xffff ? 8 : 7; #else *dst++ = '\\'; -#define tooctaldigit(v) (Char)((v) + '0') +#define tooctaldigit(v) ((v) + '0') *dst++ = tooctaldigit(((unsigned int) c >> 6) & 0x7); *dst++ = tooctaldigit(((unsigned int) c >> 3) & 0x7); *dst++ = tooctaldigit(((unsigned int) c ) & 0x7); Modified: head/lib/libedit/chartype.h ============================================================================== --- head/lib/libedit/chartype.h Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/chartype.h Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -/* $NetBSD: chartype.h,v 1.23 2016/02/24 17:20:01 christos Exp $ */ +/* $NetBSD: chartype.h,v 1.15 2015/05/17 13:14:41 christos Exp $ */ /*- * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -32,6 +32,7 @@ #define _h_chartype_f + #ifdef WIDECHAR /* Ideally we should also test the value of the define to see if it @@ -54,18 +55,21 @@ #warning Build environment does not support non-BMP characters #endif -#define ct_wctob wctob +#define ct_mbtowc mbtowc +#define ct_mbtowc_reset mbtowc(0,0,(size_t)0) #define ct_wctomb wctomb #define ct_wctomb_reset wctomb(0,0) #define ct_wcstombs wcstombs #define ct_mbstowcs mbstowcs #define Char wchar_t +#define Int wint_t #define FUN(prefix,rest) prefix ## _w ## rest #define FUNW(type) type ## _w #define TYPE(type) type ## W +#define FCHAR "%lc" #define FSTR "%ls" -#define STR(x) L ## x +#define STR(x) L ## x #define UC(c) c #define Isalpha(x) iswalpha(x) #define Isalnum(x) iswalnum(x) @@ -106,18 +110,21 @@ Width(wchar_t c) #else /* NARROW */ -#define ct_wctob(w) ((int)(w)) +#define ct_mbtowc error +#define ct_mbtowc_reset #define ct_wctomb error -#define ct_wctomb_reset +#define ct_wctomb_reset #define ct_wcstombs(a, b, c) (strncpy(a, b, c), strlen(a)) #define ct_mbstowcs(a, b, c) (strncpy(a, b, c), strlen(a)) #define Char char +#define Int int #define FUN(prefix,rest) prefix ## _ ## rest #define FUNW(type) type #define TYPE(type) type +#define FCHAR "%c" #define FSTR "%s" -#define STR(x) x +#define STR(x) x #define UC(c) (unsigned char)(c) #define Isalpha(x) isalpha((unsigned char)x) @@ -206,7 +213,7 @@ protected size_t ct_enc_width(Char); #define VISUAL_WIDTH_MAX ((size_t)8) /* The terminal is thought of in terms of X columns by Y lines. In the cases - * where a wide character takes up more than one column, the adjacent + * where a wide character takes up more than one column, the adjacent * occupied column entries will contain this faux character. */ #define MB_FILL_CHAR ((Char)-1) @@ -238,7 +245,5 @@ protected const Char *ct_visual_string(c protected int ct_chr_class(Char c); #endif -size_t ct_mbrtowc(wchar_t *, const char *, size_t); - #endif /* _chartype_f */ Modified: head/lib/libedit/common.c ============================================================================== --- head/lib/libedit/common.c Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/common.c Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -/* $NetBSD: common.c,v 1.39 2016/02/24 14:25:38 christos Exp $ */ +/* $NetBSD: common.c,v 1.29 2012/03/24 20:08:43 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)common.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: common.c,v 1.39 2016/02/24 14:25:38 christos Exp $"); +__RCSID("$NetBSD: common.c,v 1.29 2012/03/24 20:08:43 christos Exp $"); #endif #endif /* not lint && not SCCSID */ #include @@ -46,13 +46,7 @@ __FBSDID("$FreeBSD$"); /* * common.c: Common Editor functions */ -#include -#include - #include "el.h" -#include "common.h" -#include "parse.h" -#include "vi.h" /* ed_end_of_file(): * Indicate end of file @@ -60,7 +54,7 @@ __FBSDID("$FreeBSD$"); */ protected el_action_t /*ARGSUSED*/ -ed_end_of_file(EditLine *el, wint_t c __attribute__((__unused__))) +ed_end_of_file(EditLine *el, Int c __attribute__((__unused__))) { re_goto_bottom(el); @@ -74,7 +68,7 @@ ed_end_of_file(EditLine *el, wint_t c __ * Insert a character [bound to all insert keys] */ protected el_action_t -ed_insert(EditLine *el, wint_t c) +ed_insert(EditLine *el, Int c) { int count = el->el_state.argument; @@ -93,14 +87,14 @@ ed_insert(EditLine *el, wint_t c) || el->el_line.cursor >= el->el_line.lastchar) c_insert(el, 1); - *el->el_line.cursor++ = (Char)c; + *el->el_line.cursor++ = c; re_fastaddc(el); /* fast refresh for one char. */ } else { if (el->el_state.inputmode != MODE_REPLACE_1) c_insert(el, el->el_state.argument); while (count-- && el->el_line.cursor < el->el_line.lastchar) - *el->el_line.cursor++ = (Char)c; + *el->el_line.cursor++ = c; re_refresh(el); } @@ -117,7 +111,7 @@ ed_insert(EditLine *el, wint_t c) */ protected el_action_t /*ARGSUSED*/ -ed_delete_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) +ed_delete_prev_word(EditLine *el, Int c __attribute__((__unused__))) { Char *cp, *p, *kp; @@ -145,7 +139,7 @@ ed_delete_prev_word(EditLine *el, wint_t */ protected el_action_t /*ARGSUSED*/ -ed_delete_next_char(EditLine *el, wint_t c __attribute__((__unused__))) +ed_delete_next_char(EditLine *el, Int c __attribute__((__unused__))) { #ifdef DEBUG_EDIT #define EL el->el_line @@ -192,7 +186,7 @@ ed_delete_next_char(EditLine *el, wint_t */ protected el_action_t /*ARGSUSED*/ -ed_kill_line(EditLine *el, wint_t c __attribute__((__unused__))) +ed_kill_line(EditLine *el, Int c __attribute__((__unused__))) { Char *kp, *cp; @@ -213,7 +207,7 @@ ed_kill_line(EditLine *el, wint_t c __at */ protected el_action_t /*ARGSUSED*/ -ed_move_to_end(EditLine *el, wint_t c __attribute__((__unused__))) +ed_move_to_end(EditLine *el, Int c __attribute__((__unused__))) { el->el_line.cursor = el->el_line.lastchar; @@ -236,7 +230,7 @@ ed_move_to_end(EditLine *el, wint_t c __ */ protected el_action_t /*ARGSUSED*/ -ed_move_to_beg(EditLine *el, wint_t c __attribute__((__unused__))) +ed_move_to_beg(EditLine *el, Int c __attribute__((__unused__))) { el->el_line.cursor = el->el_line.buffer; @@ -259,7 +253,7 @@ ed_move_to_beg(EditLine *el, wint_t c __ * [^T] [^T] */ protected el_action_t -ed_transpose_chars(EditLine *el, wint_t c) +ed_transpose_chars(EditLine *el, Int c) { if (el->el_line.cursor < el->el_line.lastchar) { @@ -272,7 +266,7 @@ ed_transpose_chars(EditLine *el, wint_t /* must have at least two chars entered */ c = el->el_line.cursor[-2]; el->el_line.cursor[-2] = el->el_line.cursor[-1]; - el->el_line.cursor[-1] = (Char)c; + el->el_line.cursor[-1] = c; return CC_REFRESH; } else return CC_ERROR; @@ -285,7 +279,7 @@ ed_transpose_chars(EditLine *el, wint_t */ protected el_action_t /*ARGSUSED*/ -ed_next_char(EditLine *el, wint_t c __attribute__((__unused__))) +ed_next_char(EditLine *el, Int c __attribute__((__unused__))) { Char *lim = el->el_line.lastchar; @@ -314,7 +308,7 @@ ed_next_char(EditLine *el, wint_t c __at */ protected el_action_t /*ARGSUSED*/ -ed_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) +ed_prev_word(EditLine *el, Int c __attribute__((__unused__))) { if (el->el_line.cursor == el->el_line.buffer) @@ -340,7 +334,7 @@ ed_prev_word(EditLine *el, wint_t c __at */ protected el_action_t /*ARGSUSED*/ -ed_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) +ed_prev_char(EditLine *el, Int c __attribute__((__unused__))) { if (el->el_line.cursor > el->el_line.buffer) { @@ -364,12 +358,14 @@ ed_prev_char(EditLine *el, wint_t c __at * [^V] [^V] */ protected el_action_t -ed_quoted_insert(EditLine *el, wint_t c) +ed_quoted_insert(EditLine *el, Int c) { int num; + Char tc; tty_quotemode(el); - num = el_wgetc(el, &c); + num = FUN(el,getc)(el, &tc); + c = tc; tty_noquotemode(el); if (num == 1) return ed_insert(el, c); @@ -382,7 +378,7 @@ ed_quoted_insert(EditLine *el, wint_t c) * Adds to argument or enters a digit */ protected el_action_t -ed_digit(EditLine *el, wint_t c) +ed_digit(EditLine *el, Int c) { if (!Isdigit(c)) @@ -410,7 +406,7 @@ ed_digit(EditLine *el, wint_t c) * For ESC-n */ protected el_action_t -ed_argument_digit(EditLine *el, wint_t c) +ed_argument_digit(EditLine *el, Int c) { if (!Isdigit(c)) @@ -436,7 +432,7 @@ ed_argument_digit(EditLine *el, wint_t c protected el_action_t /*ARGSUSED*/ ed_unassigned(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) + Int c __attribute__((__unused__))) { return CC_ERROR; @@ -453,8 +449,8 @@ ed_unassigned(EditLine *el __attribute__ */ protected el_action_t /*ARGSUSED*/ -ed_tty_sigint(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_sigint(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -467,8 +463,8 @@ ed_tty_sigint(EditLine *el __attribute__ */ protected el_action_t /*ARGSUSED*/ -ed_tty_dsusp(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_dsusp(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -481,8 +477,8 @@ ed_tty_dsusp(EditLine *el __attribute__( */ protected el_action_t /*ARGSUSED*/ -ed_tty_flush_output(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_flush_output(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -495,8 +491,8 @@ ed_tty_flush_output(EditLine *el __attri */ protected el_action_t /*ARGSUSED*/ -ed_tty_sigquit(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_sigquit(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -509,8 +505,8 @@ ed_tty_sigquit(EditLine *el __attribute_ */ protected el_action_t /*ARGSUSED*/ -ed_tty_sigtstp(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_sigtstp(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -523,8 +519,8 @@ ed_tty_sigtstp(EditLine *el __attribute_ */ protected el_action_t /*ARGSUSED*/ -ed_tty_stop_output(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_stop_output(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -537,8 +533,8 @@ ed_tty_stop_output(EditLine *el __attrib */ protected el_action_t /*ARGSUSED*/ -ed_tty_start_output(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_start_output(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -551,7 +547,7 @@ ed_tty_start_output(EditLine *el __attri */ protected el_action_t /*ARGSUSED*/ -ed_newline(EditLine *el, wint_t c __attribute__((__unused__))) +ed_newline(EditLine *el, Int c __attribute__((__unused__))) { re_goto_bottom(el); @@ -567,7 +563,7 @@ ed_newline(EditLine *el, wint_t c __attr */ protected el_action_t /*ARGSUSED*/ -ed_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) +ed_delete_prev_char(EditLine *el, Int c __attribute__((__unused__))) { if (el->el_line.cursor <= el->el_line.buffer) @@ -587,7 +583,7 @@ ed_delete_prev_char(EditLine *el, wint_t */ protected el_action_t /*ARGSUSED*/ -ed_clear_screen(EditLine *el, wint_t c __attribute__((__unused__))) +ed_clear_screen(EditLine *el, Int c __attribute__((__unused__))) { terminal_clear_screen(el); /* clear the whole real screen */ @@ -602,8 +598,8 @@ ed_clear_screen(EditLine *el, wint_t c _ */ protected el_action_t /*ARGSUSED*/ -ed_redisplay(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_redisplay(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_REDISPLAY; @@ -616,7 +612,7 @@ ed_redisplay(EditLine *el __attribute__( */ protected el_action_t /*ARGSUSED*/ -ed_start_over(EditLine *el, wint_t c __attribute__((__unused__))) +ed_start_over(EditLine *el, Int c __attribute__((__unused__))) { ch_reset(el, 0); @@ -630,8 +626,8 @@ ed_start_over(EditLine *el, wint_t c __a */ protected el_action_t /*ARGSUSED*/ -ed_sequence_lead_in(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_sequence_lead_in(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -644,7 +640,7 @@ ed_sequence_lead_in(EditLine *el __attri */ protected el_action_t /*ARGSUSED*/ -ed_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) +ed_prev_history(EditLine *el, Int c __attribute__((__unused__))) { char beep = 0; int sv_event = el->el_history.eventno; @@ -664,6 +660,7 @@ ed_prev_history(EditLine *el, wint_t c _ if (hist_get(el) == CC_ERROR) { if (el->el_map.type == MAP_VI) { el->el_history.eventno = sv_event; + } beep = 1; /* el->el_history.eventno was fixed by first call */ @@ -681,7 +678,7 @@ ed_prev_history(EditLine *el, wint_t c _ */ protected el_action_t /*ARGSUSED*/ -ed_next_history(EditLine *el, wint_t c __attribute__((__unused__))) +ed_next_history(EditLine *el, Int c __attribute__((__unused__))) { el_action_t beep = CC_REFRESH, rval; @@ -708,11 +705,11 @@ ed_next_history(EditLine *el, wint_t c _ */ protected el_action_t /*ARGSUSED*/ -ed_search_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) +ed_search_prev_history(EditLine *el, Int c __attribute__((__unused__))) { const Char *hp; int h; - int found = 0; + bool_t found = 0; el->el_chared.c_vcmd.action = NOP; el->el_chared.c_undo.len = -1; @@ -751,7 +748,7 @@ ed_search_prev_history(EditLine *el, win (el->el_line.lastchar - el->el_line.buffer)) || hp[el->el_line.lastchar - el->el_line.buffer]) && c_hmatch(el, hp)) { - found = 1; + found++; break; } h++; @@ -776,11 +773,11 @@ ed_search_prev_history(EditLine *el, win */ protected el_action_t /*ARGSUSED*/ -ed_search_next_history(EditLine *el, wint_t c __attribute__((__unused__))) +ed_search_next_history(EditLine *el, Int c __attribute__((__unused__))) { const Char *hp; int h; - int found = 0; + bool_t found = 0; el->el_chared.c_vcmd.action = NOP; el->el_chared.c_undo.len = -1; @@ -830,7 +827,7 @@ ed_search_next_history(EditLine *el, win */ protected el_action_t /*ARGSUSED*/ -ed_prev_line(EditLine *el, wint_t c __attribute__((__unused__))) +ed_prev_line(EditLine *el, Int c __attribute__((__unused__))) { Char *ptr; int nchars = c_hpos(el); @@ -873,7 +870,7 @@ ed_prev_line(EditLine *el, wint_t c __at */ protected el_action_t /*ARGSUSED*/ -ed_next_line(EditLine *el, wint_t c __attribute__((__unused__))) +ed_next_line(EditLine *el, Int c __attribute__((__unused__))) { Char *ptr; int nchars = c_hpos(el); @@ -907,7 +904,7 @@ ed_next_line(EditLine *el, wint_t c __at */ protected el_action_t /*ARGSUSED*/ -ed_command(EditLine *el, wint_t c __attribute__((__unused__))) +ed_command(EditLine *el, Int c __attribute__((__unused__))) { Char tmpbuf[EL_BUFSIZ]; int tmplen; Modified: head/lib/libedit/config.h ============================================================================== --- head/lib/libedit/config.h Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/config.h Sun Mar 6 21:32:54 2016 (r296435) @@ -21,8 +21,8 @@ /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 -/* Define to 1 if you have the `getline' function. */ -#define HAVE_GETLINE 1 +/* Define to 1 if you have the `fgetln' function. */ +#define HAVE_FGETLN 1 /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 @@ -188,6 +188,9 @@ /* Define to 1 if you have the `vis' function. */ #define HAVE_VIS 1 +/* Define to 1 if you have the `wcsdup' function. */ +#define HAVE_WCSDUP 1 + /* Define to 1 if `fork' works. */ #define HAVE_WORKING_FORK 1 @@ -254,9 +257,6 @@ /* Version number of package */ #define VERSION "3.0" -/* Define to 1 if the system provides the SIZE_MAX constant */ -#define HAVE_SIZE_MAX 1 - /* Define to 1 if you want wide-character code */ /* #undef WIDECHAR */ Modified: head/lib/libedit/edit/readline/readline.h ============================================================================== --- head/lib/libedit/edit/readline/readline.h Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/edit/readline/readline.h Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -/* $NetBSD: readline.h,v 1.39 2016/02/17 19:47:49 christos Exp $ */ +/* $NetBSD: readline.h,v 1.37 2015/06/02 15:36:45 christos Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -55,7 +55,7 @@ typedef void *histdata_t; typedef struct _hist_entry { const char *line; - histdata_t data; + histdata_t data; } HIST_ENTRY; typedef struct _keymap_entry { @@ -89,7 +89,7 @@ typedef KEYMAP_ENTRY *Keymap; #define RUBOUT 0x7f #define ABORT_CHAR CTRL('G') -#define RL_READLINE_VERSION 0x0402 +#define RL_READLINE_VERSION 0x0402 #define RL_PROMPT_START_IGNORE '\1' #define RL_PROMPT_END_IGNORE '\2' @@ -98,7 +98,7 @@ typedef KEYMAP_ENTRY *Keymap; extern "C" { #endif extern const char *rl_library_version; -extern int rl_readline_version; +extern int rl_readline_version; extern char *rl_readline_name; extern FILE *rl_instream; extern FILE *rl_outstream; @@ -199,10 +199,10 @@ int rl_add_defun(const char *, rl_comm HISTORY_STATE *history_get_history_state(void); void rl_get_screen_size(int *, int *); void rl_set_screen_size(int, int); -char *rl_filename_completion_function (const char *, int); +char *rl_filename_completion_function (const char *, int); int _rl_abort_internal(void); int _rl_qsort_string_compare(char **, char **); -char **rl_completion_matches(const char *, rl_compentry_func_t *); +char **rl_completion_matches(const char *, rl_compentry_func_t *); void rl_forced_update_display(void); int rl_set_prompt(const char *); int rl_on_new_line(void); @@ -218,8 +218,6 @@ int rl_generic_bind(int, const char *, int rl_bind_key_in_map(int, rl_command_func_t *, Keymap); void rl_cleanup_after_signal(void); void rl_free_line_state(void); -int rl_set_keyboard_input_timeout(int); - #ifdef __cplusplus } #endif Modified: head/lib/libedit/editline.3 ============================================================================== --- head/lib/libedit/editline.3 Sun Mar 6 18:41:48 2016 (r296434) +++ head/lib/libedit/editline.3 Sun Mar 6 21:32:54 2016 (r296435) @@ -1,4 +1,4 @@ -.\" $NetBSD: editline.3,v 1.88 2016/02/25 14:59:22 wiz Exp $ +.\" $NetBSD: editline.3,v 1.85 2015/11/03 21:36:59 christos Exp $ .\" .\" Copyright (c) 1997-2014 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 24, 2016 +.Dd November 3, 2015 .Dt EDITLINE 3 .Os .Sh NAME *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Sun Mar 6 23:44:22 2016 Return-Path: Delivered-To: svn-src-all@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 E1844A95B2A; Sun, 6 Mar 2016 23:44:21 +0000 (UTC) (envelope-from lifanov@mail.lifanov.com) Received: from mail.lifanov.com (mail.lifanov.com [206.125.175.12]) (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 CCD262F3; Sun, 6 Mar 2016 23:44:21 +0000 (UTC) (envelope-from lifanov@mail.lifanov.com) Received: by mail.lifanov.com (Postfix, from userid 58) id C4DC1239744; Sun, 6 Mar 2016 18:44:15 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mail.lifanov.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT shortcircuit=ham autolearn=disabled version=3.4.1 Received: from android-bedfe57c17b4b0b3 (107-134-20-191.lightspeed.rlghnc.sbcglobal.net [107.134.20.191]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lifanov.com (Postfix) with ESMTPSA id 5DC94239403; Sun, 6 Mar 2016 18:44:14 -0500 (EST) User-Agent: K-9 Mail for Android In-Reply-To: <0D2DFD32-B29F-48EA-8D60-458960993E97@FreeBSD.org> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> <5ba9554b9066227c883140c7c12e4703@mail.lifanov.com> <0D2DFD32-B29F-48EA-8D60-458960993E97@FreeBSD.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Subject: Re: svn commit: r296428 - head/sys/boot/common From: Nikolai Lifanov Date: Sun, 06 Mar 2016 18:44:11 -0500 To: Dimitry Andric CC: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, owner-svn-src-head@freebsd.org, Oliver Pinter Message-ID: X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2016 23:44:22 -0000 On March 6, 2016 4:13:34 PM EST, Dimitry Andric wrote: >On 06 Mar 2016, at 20:57, Nikolai Lifanov >wrote: >> >> On 2016-03-06 11:17, Dimitry Andric wrote: >>> On 06 Mar 2016, at 17:00, Oliver Pinter > wrote: >>>> On 3/6/16, Dimitry Andric wrote: >>>>> Author: dim >>>>> Date: Sun Mar 6 15:57:43 2016 >>>>> New Revision: 296428 >>>>> URL: https://svnweb.freebsd.org/changeset/base/296428 >>>>> Log: >>>>> Since kernel modules can now contain sections of type >SHT_AMD64_UNWIND, >>>>> the boot loader should not skip over these anymore while loading >images. >>>>> Otherwise the kernel can still panic when it doesn't find the >.eh_frame >>>>> section belonging to the .rela.eh_frame section. >>>>> Unfortunately this will require installing boot loaders from >sys/boot >>>>> before attempting to boot with a new kernel. >>>> Could you please add a note about this to UPDATING file? >>> I am a bit torn on this, because normally we always tell people to >>> install the kernel first, reboot, then run make installworld (which >also >>> installs the boot loaders). >>> However, in this case, people might depend on their boot loader >loading >>> modules which are required to make the system boot at all. So if >they >>> happened to forget updating their boot loader first, a panic might >be >>> the result. >>> I wonder what a failsafe and acceptable upgrade scenario is, in this >>> case. Normally the procedure is something like: >>> make buildworld >>> make buildkernel (with KERNCONF=whatever, if needed) >>> make installkernel (again with KERNCONF, if needed) >>> reboot (to single user, but cheating is possible usually) >>> mergemaster -p >>> make installworld >>> This could maybe be modified to: >>> make buildworld >>> make buildkernel (with KERNCONF=whatever, if needed) >>> make installkernel (again with KERNCONF, if needed) >>> make -C sys/boot install >>> reboot (to single user, but cheating is possible usually) >>> mergemaster -p >>> make installworld >>> E.g. insert the step which installs the boot loaders just after (or >>> before) the step which installs the kernel. >>> Is something like this acceptable as a one-time workaround, or maybe >it >>> is better in general, in case we ever add other new features to the >boot >>> loaders? >>> -Dimitry >> >> In my opinion, boot *blocks* (boot1) should be updated seldomly and >not on every install. >> All (?) instances of not updating these resulting in a failed boot >have an UPDATING >> entry or a similar warning (like the one during "zpool upgrade"). > >Well, each time you run make installworld, almost all the files in >/boot >(except for configuration) get reinstalled. For e.g. mbr, boot1 and >such, this has no consequences at all, until you install them into some >partition using gpart, but changes to loader, loader.efi or zfsloader >*will* affect the next startup. > >Per a suggestion from Kostik, maybe it would be nice to have a separate >"make installboot" target, which installs just the components in /boot. >This could then be used before or after "make installkernel". > >-Dimitry The bootcode gets installed to boot, but deployed with gpart, cp, sliced in half and dd, etc. And that's to one or more partitions. I don't think that a separate install target that just stages boot1 to /boot is valuable. - Nikolai Lifanov From owner-svn-src-all@freebsd.org Mon Mar 7 00:38:54 2016 Return-Path: Delivered-To: svn-src-all@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 41F54AC1CA5 for ; Mon, 7 Mar 2016 00:38:54 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-io0-x22e.google.com (mail-io0-x22e.google.com [IPv6:2607:f8b0:4001:c06::22e]) (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 07EF6863 for ; Mon, 7 Mar 2016 00:38:54 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-io0-x22e.google.com with SMTP id m184so115464301iof.1 for ; Sun, 06 Mar 2016 16:38:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=NXQOs8vL6zG7D4RisOAPdmtJON1AedIHxbVCqDRXGBc=; b=rKsYddddX7tkr8kGdFnv5FJkNKlRCnXzhl2j0efuavu4Z+j6eWZjRpuHCWQbAk3U7Z 0uh6r9pAB0j018Bji8m+E1HVAMUVCp/uAXxWqWys7DoyJo32G4y1Bmyen5KIQAcs7l/a H/ELyDk+XPa/9vQjbEVj+L6ioD4SwN1bykv8XeXhwcKbD4UzxqC862qmYimSLzHvPPgJ W05VAggIRy6g73amOF/8zfC//Vi3r5/J/QKgy7sF7Q9TAigz4HfxhRZo4F1hQN1a5T8e I4+m7QlDsNkXS26O/TI+uypVK04utD9GGecc9AC77/3O5SV/DQ2kl/m7LzEe7FPD+j8e wQLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=NXQOs8vL6zG7D4RisOAPdmtJON1AedIHxbVCqDRXGBc=; b=Xjo7/lMrk4t1KwBvBF0nDd8seePqcvEPgcSfa2Q4W2q71jQqLqFOEQ6EyIndgXezfn ScP0Wd9ftY6aAqidOY8YnK2ktzEQCnLIFaUjU1RXXNpt4CmjSBq8W+DDl6cB0ZUIeuKX J9K7UE8pMJUQhhbPJcRCJNwfYyR5VMyAgOUg8r767cfJhGnY756JV38z9cBoAbAPg5qZ DL6faJ/YMdedAXj/zwlT3czYHNf2I+bWSjVyJqcotSJwKkJfk6jUu2SXMVGLl3xSy7cD QzW/lZH87Mz6gy7lyVzysYt7jy4rGlJ9xfrfvuYbLREnA8R3qagL8Y6up6Ku0qDipVay iGxQ== X-Gm-Message-State: AD7BkJKn8SGgBWXtWGtUDo24BcRZuS8u2VnoQUjrac7HH/MIwDCXZpD1L/LlNbNkpizG1xyVchwwA8c3oum9WQ== MIME-Version: 1.0 X-Received: by 10.107.14.209 with SMTP id 200mr18007774ioo.73.1457311133134; Sun, 06 Mar 2016 16:38:53 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.167 with HTTP; Sun, 6 Mar 2016 16:38:53 -0800 (PST) X-Originating-IP: [50.253.99.174] In-Reply-To: References: <201603061557.u26FvhMi033982@repo.freebsd.org> <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> <5ba9554b9066227c883140c7c12e4703@mail.lifanov.com> <0D2DFD32-B29F-48EA-8D60-458960993E97@FreeBSD.org> Date: Sun, 6 Mar 2016 17:38:53 -0700 X-Google-Sender-Auth: SZTxryjxMKnWCAvG-LxYRiKW0BE Message-ID: Subject: Re: svn commit: r296428 - head/sys/boot/common From: Warner Losh To: Nikolai Lifanov Cc: Dimitry Andric , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , src-committers , owner-svn-src-head@freebsd.org, Oliver Pinter Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 00:38:54 -0000 On Sun, Mar 6, 2016 at 4:44 PM, Nikolai Lifanov wrote: > On March 6, 2016 4:13:34 PM EST, Dimitry Andric wrote: > >On 06 Mar 2016, at 20:57, Nikolai Lifanov > >wrote: > >> > >> On 2016-03-06 11:17, Dimitry Andric wrote: > >>> On 06 Mar 2016, at 17:00, Oliver Pinter > > wrote: > >>>> On 3/6/16, Dimitry Andric wrote: > >>>>> Author: dim > >>>>> Date: Sun Mar 6 15:57:43 2016 > >>>>> New Revision: 296428 > >>>>> URL: https://svnweb.freebsd.org/changeset/base/296428 > >>>>> Log: > >>>>> Since kernel modules can now contain sections of type > >SHT_AMD64_UNWIND, > >>>>> the boot loader should not skip over these anymore while loading > >images. > >>>>> Otherwise the kernel can still panic when it doesn't find the > >.eh_frame > >>>>> section belonging to the .rela.eh_frame section. > >>>>> Unfortunately this will require installing boot loaders from > >sys/boot > >>>>> before attempting to boot with a new kernel. > >>>> Could you please add a note about this to UPDATING file? > >>> I am a bit torn on this, because normally we always tell people to > >>> install the kernel first, reboot, then run make installworld (which > >also > >>> installs the boot loaders). > >>> However, in this case, people might depend on their boot loader > >loading > >>> modules which are required to make the system boot at all. So if > >they > >>> happened to forget updating their boot loader first, a panic might > >be > >>> the result. > >>> I wonder what a failsafe and acceptable upgrade scenario is, in this > >>> case. Normally the procedure is something like: > >>> make buildworld > >>> make buildkernel (with KERNCONF=whatever, if needed) > >>> make installkernel (again with KERNCONF, if needed) > >>> reboot (to single user, but cheating is possible usually) > >>> mergemaster -p > >>> make installworld > >>> This could maybe be modified to: > >>> make buildworld > >>> make buildkernel (with KERNCONF=whatever, if needed) > >>> make installkernel (again with KERNCONF, if needed) > >>> make -C sys/boot install > >>> reboot (to single user, but cheating is possible usually) > >>> mergemaster -p > >>> make installworld > >>> E.g. insert the step which installs the boot loaders just after (or > >>> before) the step which installs the kernel. > >>> Is something like this acceptable as a one-time workaround, or maybe > >it > >>> is better in general, in case we ever add other new features to the > >boot > >>> loaders? > >>> -Dimitry > >> > >> In my opinion, boot *blocks* (boot1) should be updated seldomly and > >not on every install. > >> All (?) instances of not updating these resulting in a failed boot > >have an UPDATING > >> entry or a similar warning (like the one during "zpool upgrade"). > > > >Well, each time you run make installworld, almost all the files in > >/boot > >(except for configuration) get reinstalled. For e.g. mbr, boot1 and > >such, this has no consequences at all, until you install them into some > >partition using gpart, but changes to loader, loader.efi or zfsloader > >*will* affect the next startup. > > > >Per a suggestion from Kostik, maybe it would be nice to have a separate > >"make installboot" target, which installs just the components in /boot. > >This could then be used before or after "make installkernel". > > > >-Dimitry > > The bootcode gets installed to boot, but deployed with gpart, cp, sliced > in half and dd, etc. And that's to one or more partitions. > I don't think that a separate install target that just stages boot1 to > /boot is valuable. > I think it is. First, the boot code you talk about doesn't matter *AT*ALL* for this change. It needn't be deployed to be safe. We've had a few rare cases where you do need new boot code as well, but they seem to happen about once a decade or so. Personally, I always install both a kernel and userspace at the same time when upgrading, though sometimes just the kernel. Usually it just doesn't matter. In this case, I'll know I need new boot blocks. I'm kinda of the opinion that the boot loader should be part of installkernel, but I can see how others may disagree and that's likely too much POLA to do now (it should have been done in the 4.0 time frame when we went to a tertiary boot loader). With the recent expansion of limits, however, it's become critical that you have a new kernel on boot so that limits used by the rc system are set correctly (the new code has no fallback, but fails for limits it doesn't know about, which is super lame, and should be fixed, but until it is we're stuck with needing a new kernel. This also means, btw, that a 10.x kernel has no chance of booting an 11.x userland, which is somewhat contrary to traditional practice in the project). Warner From owner-svn-src-all@freebsd.org Mon Mar 7 00:56:22 2016 Return-Path: Delivered-To: svn-src-all@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 1E8D8A931C9; Mon, 7 Mar 2016 00:56:22 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-io0-x229.google.com (mail-io0-x229.google.com [IPv6:2607:f8b0:4001:c06::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E4580E68; Mon, 7 Mar 2016 00:56:21 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by mail-io0-x229.google.com with SMTP id n190so115822056iof.0; Sun, 06 Mar 2016 16:56:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=Jhn/jbM0sPTc33EMk+a9Zk51lTvXska81qc0H5mSPDY=; b=eIyBpsmnQAWispn/1LtzyRm6a7gH9jupzI9RezfdskM4umt1adVlhZCyzZHVMlEUaW 6gzSu/XjlgMhBcRKdiB9sZLGywNVlQj9a+3jYjSDR9SCJO59UsPofCErXm0VviAWBCq1 gwygbq3WHWjrFMF8iY1dOEflJyaYY8Xztc7EXviLSpqswve7uApEv4zZVc3/7sDmERir t52+IbgVInchEZECFTxDHu29ceYccQVDHCAIPtDVLSaBNjWamBsUTuoe/fVCuWk+zQ9B E+MGBsMusiqc+/rtbTQpZ5cmj45Z8LWX6UvTdeP1e5syvelSGYzcuyupLrjHOZM2yA+8 vYQg== 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:date :message-id:subject:from:to:cc; bh=Jhn/jbM0sPTc33EMk+a9Zk51lTvXska81qc0H5mSPDY=; b=HwDYbpU5EHxc4mD+t2gGfxVtjU7fJU10YiLah0blNmtuC30RhN3CqNtm4Tgvlu6TQH 3arPZHesvOIi6GqO83jNDsx2GXaMsa82P4VdEL9d2aPuxqV1vJqJLfVdsXzcVEMc2Bxc v4tVxu32KvnSxvPkctEK/SPIIvWDQztBZV2N1uVNURMirMH7VDzweUE8422Pfty3EA1x mhD4Y4ZXe+ZLKEfGKYtAY/QYVzXLMEvOZLDn58L/ERTGr6hb6CKez6P7H276nses68Ho vLFCNHLZ706hTF9WoKIbhBZvs24q5a2Ld4CVz5Jn0/V8xJmD/crpynZqc1jmTegqDDj2 unrA== X-Gm-Message-State: AD7BkJLmIyuqNbZdUuy5+vAAmEwfLOx5k8/kHEW+HW6gAv+9WG6RVbVQntG6ffKF7q0K3BLCo+Bn9n8ErMWQPA== MIME-Version: 1.0 X-Received: by 10.107.162.144 with SMTP id l138mr17578219ioe.123.1457312181148; Sun, 06 Mar 2016 16:56:21 -0800 (PST) Received: by 10.36.14.19 with HTTP; Sun, 6 Mar 2016 16:56:21 -0800 (PST) In-Reply-To: References: <201603061557.u26FvhMi033982@repo.freebsd.org> <0FC43773-1BF0-43FF-BB97-35B482ABBE12@FreeBSD.org> <5ba9554b9066227c883140c7c12e4703@mail.lifanov.com> <0D2DFD32-B29F-48EA-8D60-458960993E97@FreeBSD.org> Date: Sun, 6 Mar 2016 16:56:21 -0800 Message-ID: Subject: Re: svn commit: r296428 - head/sys/boot/common From: Adrian Chadd To: Warner Losh Cc: Nikolai Lifanov , Dimitry Andric , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , src-committers , owner-svn-src-head@freebsd.org, Oliver Pinter Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 00:56:22 -0000 Oh wow, i didn't know at all that limits broke booting in this way. Sorry :( This is the first time I've heard about it. -a On 6 March 2016 at 16:38, Warner Losh wrote: > > > On Sun, Mar 6, 2016 at 4:44 PM, Nikolai Lifanov > wrote: >> >> On March 6, 2016 4:13:34 PM EST, Dimitry Andric wrote: >> >On 06 Mar 2016, at 20:57, Nikolai Lifanov >> >wrote: >> >> >> >> On 2016-03-06 11:17, Dimitry Andric wrote: >> >>> On 06 Mar 2016, at 17:00, Oliver Pinter >> > wrote: >> >>>> On 3/6/16, Dimitry Andric wrote: >> >>>>> Author: dim >> >>>>> Date: Sun Mar 6 15:57:43 2016 >> >>>>> New Revision: 296428 >> >>>>> URL: https://svnweb.freebsd.org/changeset/base/296428 >> >>>>> Log: >> >>>>> Since kernel modules can now contain sections of type >> >SHT_AMD64_UNWIND, >> >>>>> the boot loader should not skip over these anymore while loading >> >images. >> >>>>> Otherwise the kernel can still panic when it doesn't find the >> >.eh_frame >> >>>>> section belonging to the .rela.eh_frame section. >> >>>>> Unfortunately this will require installing boot loaders from >> >sys/boot >> >>>>> before attempting to boot with a new kernel. >> >>>> Could you please add a note about this to UPDATING file? >> >>> I am a bit torn on this, because normally we always tell people to >> >>> install the kernel first, reboot, then run make installworld (which >> >also >> >>> installs the boot loaders). >> >>> However, in this case, people might depend on their boot loader >> >loading >> >>> modules which are required to make the system boot at all. So if >> >they >> >>> happened to forget updating their boot loader first, a panic might >> >be >> >>> the result. >> >>> I wonder what a failsafe and acceptable upgrade scenario is, in this >> >>> case. Normally the procedure is something like: >> >>> make buildworld >> >>> make buildkernel (with KERNCONF=whatever, if needed) >> >>> make installkernel (again with KERNCONF, if needed) >> >>> reboot (to single user, but cheating is possible usually) >> >>> mergemaster -p >> >>> make installworld >> >>> This could maybe be modified to: >> >>> make buildworld >> >>> make buildkernel (with KERNCONF=whatever, if needed) >> >>> make installkernel (again with KERNCONF, if needed) >> >>> make -C sys/boot install >> >>> reboot (to single user, but cheating is possible usually) >> >>> mergemaster -p >> >>> make installworld >> >>> E.g. insert the step which installs the boot loaders just after (or >> >>> before) the step which installs the kernel. >> >>> Is something like this acceptable as a one-time workaround, or maybe >> >it >> >>> is better in general, in case we ever add other new features to the >> >boot >> >>> loaders? >> >>> -Dimitry >> >> >> >> In my opinion, boot *blocks* (boot1) should be updated seldomly and >> >not on every install. >> >> All (?) instances of not updating these resulting in a failed boot >> >have an UPDATING >> >> entry or a similar warning (like the one during "zpool upgrade"). >> > >> >Well, each time you run make installworld, almost all the files in >> >/boot >> >(except for configuration) get reinstalled. For e.g. mbr, boot1 and >> >such, this has no consequences at all, until you install them into some >> >partition using gpart, but changes to loader, loader.efi or zfsloader >> >*will* affect the next startup. >> > >> >Per a suggestion from Kostik, maybe it would be nice to have a separate >> >"make installboot" target, which installs just the components in /boot. >> >This could then be used before or after "make installkernel". >> > >> >-Dimitry >> >> The bootcode gets installed to boot, but deployed with gpart, cp, sliced >> in half and dd, etc. And that's to one or more partitions. >> I don't think that a separate install target that just stages boot1 to >> /boot is valuable. > > > I think it is. First, the boot code you talk about doesn't matter *AT*ALL* > for this > change. It needn't be deployed to be safe. We've had a few rare cases where > you > do need new boot code as well, but they seem to happen about once a decade > or so. > > Personally, I always install both a kernel and userspace at the same time > when > upgrading, though sometimes just the kernel. Usually it just doesn't matter. > In > this case, I'll know I need new boot blocks. I'm kinda of the opinion that > the boot > loader should be part of installkernel, but I can see how others may > disagree and > that's likely too much POLA to do now (it should have been done in the 4.0 > time > frame when we went to a tertiary boot loader). > > With the recent expansion of limits, however, it's become critical that you > have > a new kernel on boot so that limits used by the rc system are set correctly > (the > new code has no fallback, but fails for limits it doesn't know about, which > is > super lame, and should be fixed, but until it is we're stuck with needing a > new kernel. This also means, btw, that a 10.x kernel has no chance of > booting > an 11.x userland, which is somewhat contrary to traditional practice in the > project). > > Warner From owner-svn-src-all@freebsd.org Mon Mar 7 01:11:25 2016 Return-Path: Delivered-To: svn-src-all@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 2C6C1A93570; Mon, 7 Mar 2016 01:11:25 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 09E015E6; Mon, 7 Mar 2016 01:11:24 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from julian-mbp3.pixel8networks.com (50-196-156-133-static.hfc.comcastbusiness.net [50.196.156.133]) (authenticated bits=0) by vps1.elischer.org (8.15.2/8.15.2) with ESMTPSA id u271BGRV068456 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Sun, 6 Mar 2016 17:11:18 -0800 (PST) (envelope-from julian@freebsd.org) Subject: Re: svn commit: r296428 - head/sys/boot/common To: Dimitry Andric , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603061557.u26FvhMi033982@repo.freebsd.org> From: Julian Elischer Message-ID: <56DCD52F.4010709@freebsd.org> Date: Sun, 6 Mar 2016 17:11:11 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603061557.u26FvhMi033982@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 01:11:25 -0000 On 6/03/2016 7:57 AM, Dimitry Andric wrote: > Author: dim > Date: Sun Mar 6 15:57:43 2016 > New Revision: 296428 > URL: https://svnweb.freebsd.org/changeset/base/296428 > > Log: > Since kernel modules can now contain sections of type SHT_AMD64_UNWIND, > the boot loader should not skip over these anymore while loading images. > Otherwise the kernel can still panic when it doesn't find the .eh_frame > section belonging to the .rela.eh_frame section. > > Unfortunately this will require installing boot loaders from sys/boot > before attempting to boot with a new kernel. what happens to someone who doesn't replace their bootblocks? Or is this just the loader? The general way we have handled this sort of thing in the past is that we do something that produces a nagging message for a decent time before it becomes mandatory. I don't like the idea of people being caught unaware by this.. Can you please give a more detailed description of what happens? > > Reviewed by: kib > MFC after: 2 weeks > X-MFC-With: r296419 > > Modified: > head/sys/boot/common/load_elf_obj.c > > Modified: head/sys/boot/common/load_elf_obj.c > ============================================================================== > --- head/sys/boot/common/load_elf_obj.c Sun Mar 6 14:37:49 2016 (r296427) > +++ head/sys/boot/common/load_elf_obj.c Sun Mar 6 15:57:43 2016 (r296428) > @@ -221,6 +221,9 @@ __elfN(obj_loadimage)(struct preloaded_f > switch (shdr[i].sh_type) { > case SHT_PROGBITS: > case SHT_NOBITS: > +#if defined(__i386__) || defined(__amd64__) > + case SHT_AMD64_UNWIND: > +#endif > lastaddr = roundup(lastaddr, shdr[i].sh_addralign); > shdr[i].sh_addr = (Elf_Addr)lastaddr; > lastaddr += shdr[i].sh_size; > > From owner-svn-src-all@freebsd.org Mon Mar 7 01:44:12 2016 Return-Path: Delivered-To: svn-src-all@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 96561A954B5; Mon, 7 Mar 2016 01:44:12 +0000 (UTC) (envelope-from ler@lerctr.org) Received: from thebighonker.lerctr.org (thebighonker.lerctr.org [IPv6:2001:470:1f0f:3ad:223:7dff:fe9e:6e8a]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "thebighonker.lerctr.org", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 77D5693A; Mon, 7 Mar 2016 01:44:12 +0000 (UTC) (envelope-from ler@lerctr.org) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lerctr.org; s=lerami; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date; bh=oi9moqdip1ouYnoLRooSkYsU01G58wCV9qVyP5J5V/8=; b=m L0IdOcN/QHeC783zb4ZP6o6nN3h9XZkXfTzDqEWQ1FcjJmyVNejjCTcTujZEM4+SbqbG/A/qgRN/t WD3hmWx6d7U9r6VWoBbtZJA1cYPg/KYI5UPAQrYUJuopkCRbjYznYam4dOV0rKyYbPykIigt2JzZ4 lbaxAqxqYdfMlchE=; Received: from cpe-70-113-41-107.austin.res.rr.com ([70.113.41.107]:20816 helo=pita.lerctr.org) by thebighonker.lerctr.org with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.86_2 (FreeBSD)) (envelope-from ) id 1ackDT-0000bY-Q3; Sun, 06 Mar 2016 19:44:11 -0600 Date: Sun, 6 Mar 2016 19:44:09 -0600 From: Larry Rosenman To: Julian Elischer Cc: Dimitry Andric , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296428 - head/sys/boot/common Message-ID: <20160307014409.GB1299@pita.lerctr.org> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <56DCD52F.4010709@freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Score: -1.0 (-) X-LERCTR-Spam-Score: -1.0 (-) X-Spam-Report: SpamScore (-1.0/5.0) ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 X-LERCTR-Spam-Report: SpamScore (-1.0/5.0) ALL_TRUSTED=-1, SHORTCIRCUIT=-0.0001 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 01:44:12 -0000 On Sun, Mar 06, 2016 at 05:11:11PM -0800, Julian Elischer wrote: > On 6/03/2016 7:57 AM, Dimitry Andric wrote: > > Author: dim > > Date: Sun Mar 6 15:57:43 2016 > > New Revision: 296428 > > URL: https://svnweb.freebsd.org/changeset/base/296428 > > > > Log: > > Since kernel modules can now contain sections of type SHT_AMD64_UNWIND, > > the boot loader should not skip over these anymore while loading images. > > Otherwise the kernel can still panic when it doesn't find the .eh_frame > > section belonging to the .rela.eh_frame section. > > > > Unfortunately this will require installing boot loaders from sys/boot > > before attempting to boot with a new kernel. > > what happens to someone who doesn't replace their bootblocks? > Or is this just the loader? > > The general way we have handled this sort of thing in the past is that > we do something > that produces a nagging message for a decent time before it becomes > mandatory. > > I don't like the idea of people being caught unaware by this.. > > Can you please give a more detailed description of what happens? In this case it's the loader. I just upgraded a second laptop and did NOT replace the boot block (boot1.efi), but DID populate /boot (and actually a full world), and it booted fine, > > > > > Reviewed by: kib > > MFC after: 2 weeks > > X-MFC-With: r296419 > > > > Modified: > > head/sys/boot/common/load_elf_obj.c > > > > Modified: head/sys/boot/common/load_elf_obj.c > > ============================================================================== > > --- head/sys/boot/common/load_elf_obj.c Sun Mar 6 14:37:49 2016 (r296427) > > +++ head/sys/boot/common/load_elf_obj.c Sun Mar 6 15:57:43 2016 (r296428) > > @@ -221,6 +221,9 @@ __elfN(obj_loadimage)(struct preloaded_f > > switch (shdr[i].sh_type) { > > case SHT_PROGBITS: > > case SHT_NOBITS: > > +#if defined(__i386__) || defined(__amd64__) > > + case SHT_AMD64_UNWIND: > > +#endif > > lastaddr = roundup(lastaddr, shdr[i].sh_addralign); > > shdr[i].sh_addr = (Elf_Addr)lastaddr; > > lastaddr += shdr[i].sh_size; > > > > > > _______________________________________________ > svn-src-all@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-all > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 214-642-9640 E-Mail: ler@lerctr.org US Mail: 7011 W Parmer Ln, Apt 1115, Austin, TX 78729-6961 From owner-svn-src-all@freebsd.org Mon Mar 7 07:41:21 2016 Return-Path: Delivered-To: svn-src-all@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 284BAAC1D67; Mon, 7 Mar 2016 07:41:21 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E3ED9C56; Mon, 7 Mar 2016 07:41:20 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:7b8:3a7::c9b:ab2d:8d31:128e] (unknown [IPv6:2001:7b8:3a7:0:c9b:ab2d:8d31:128e]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 602A83EC1C; Mon, 7 Mar 2016 08:41:17 +0100 (CET) Subject: Re: svn commit: r296428 - head/sys/boot/common Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_4A2362DC-FF43-4011-B769-2B8EF67F4E4D"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.6b2 (ebbf3ef) From: Dimitry Andric In-Reply-To: <56DCD52F.4010709@freebsd.org> Date: Mon, 7 Mar 2016 08:41:10 +0100 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> To: Julian Elischer X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 07:41:21 -0000 --Apple-Mail=_4A2362DC-FF43-4011-B769-2B8EF67F4E4D Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 07 Mar 2016, at 02:11, Julian Elischer wrote: >=20 > On 6/03/2016 7:57 AM, Dimitry Andric wrote: >> Author: dim >> Date: Sun Mar 6 15:57:43 2016 >> New Revision: 296428 >> URL: https://svnweb.freebsd.org/changeset/base/296428 >>=20 >> Log: >> Since kernel modules can now contain sections of type = SHT_AMD64_UNWIND, >> the boot loader should not skip over these anymore while loading = images. >> Otherwise the kernel can still panic when it doesn't find the = .eh_frame >> section belonging to the .rela.eh_frame section. >> Unfortunately this will require installing boot loaders from = sys/boot >> before attempting to boot with a new kernel. >=20 > what happens to someone who doesn't replace their bootblocks? > Or is this just the loader? This just about the loaders, e.g. loader, loader.efi and zfsloader. > The general way we have handled this sort of thing in the past is that = we do something > that produces a nagging message for a decent time before it becomes = mandatory. >=20 > I don't like the idea of people being caught unaware by this.. >=20 > Can you please give a more detailed description of what happens? If you preload modules with .eh_frame sections in them (such as aesni.ko) from your loader.conf, your kernel will panic very early in the boot. If you don't preload any modules, or load only modules without .eh_frame sections (most of of them), there is no issue at all. -Dimitry --Apple-Mail=_4A2362DC-FF43-4011-B769-2B8EF67F4E4D Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.29 iEYEARECAAYFAlbdMJwACgkQsF6jCi4glqNmnwCghjU+Gnvlp0htxawIFeEwm4Pp eeAAoNfuD4Ak1gyuKmjJKA8QixQ/Mo7p =H4e8 -----END PGP SIGNATURE----- --Apple-Mail=_4A2362DC-FF43-4011-B769-2B8EF67F4E4D-- From owner-svn-src-all@freebsd.org Mon Mar 7 07:46:19 2016 Return-Path: Delivered-To: svn-src-all@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 51389AC2001; Mon, 7 Mar 2016 07:46:19 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 08998EEE; Mon, 7 Mar 2016 07:46:18 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u277kIBD023224; Mon, 7 Mar 2016 07:46:18 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u277kHwv023222; Mon, 7 Mar 2016 07:46:17 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603070746.u277kHwv023222@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 7 Mar 2016 07:46:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296436 - in stable/10/cddl/contrib/opensolaris/cmd: zfs zpool X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 07:46:19 -0000 Author: dim Date: Mon Mar 7 07:46:17 2016 New Revision: 296436 URL: https://svnweb.freebsd.org/changeset/base/296436 Log: MFC r295844: Fix "invalid type '(null)'" usage messages in zfs(8) and zpool(8). Currently, zfs(8) and zpool(8) print "invalid type '(null)'" or similar messages, if you pass in invalid types, sources or column names for "zfs get", "zfs list" and "zpool get". This is because the commands use getsubopt(3), and in case of failure, they print 'value', which is NULL when sub options don't match. They should print 'suboptarg' instead, which is the documented way to get at the non-matching sub option value. Reviewed by: smh Differential Revision: https://reviews.freebsd.org/D5365 Modified: stable/10/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c stable/10/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Directory Properties: stable/10/ (props changed) Modified: stable/10/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- stable/10/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Sun Mar 6 21:32:54 2016 (r296435) +++ stable/10/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Mon Mar 7 07:46:17 2016 (r296436) @@ -1712,7 +1712,7 @@ zfs_do_get(int argc, char **argv) default: (void) fprintf(stderr, gettext("invalid column name " - "'%s'\n"), value); + "'%s'\n"), suboptarg); usage(B_FALSE); } } @@ -1749,7 +1749,7 @@ zfs_do_get(int argc, char **argv) default: (void) fprintf(stderr, gettext("invalid source " - "'%s'\n"), value); + "'%s'\n"), suboptarg); usage(B_FALSE); } } @@ -1785,7 +1785,7 @@ zfs_do_get(int argc, char **argv) default: (void) fprintf(stderr, gettext("invalid type '%s'\n"), - value); + suboptarg); usage(B_FALSE); } } @@ -3155,7 +3155,7 @@ zfs_do_list(int argc, char **argv) default: (void) fprintf(stderr, gettext("invalid type '%s'\n"), - value); + suboptarg); usage(B_FALSE); } } Modified: stable/10/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- stable/10/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Sun Mar 6 21:32:54 2016 (r296435) +++ stable/10/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Mon Mar 7 07:46:17 2016 (r296436) @@ -5431,7 +5431,7 @@ zpool_do_get(int argc, char **argv) default: (void) fprintf(stderr, gettext("invalid column name " - "'%s'\n"), value); + "'%s'\n"), suboptarg); usage(B_FALSE); } } From owner-svn-src-all@freebsd.org Mon Mar 7 07:49:03 2016 Return-Path: Delivered-To: svn-src-all@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 0EAC9AC20A0; Mon, 7 Mar 2016 07:49:03 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D5112CB; Mon, 7 Mar 2016 07:49:02 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u277n145023382; Mon, 7 Mar 2016 07:49:01 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u277n1AT023381; Mon, 7 Mar 2016 07:49:01 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603070749.u277n1AT023381@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 7 Mar 2016 07:49:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296437 - in stable: 10/contrib/binutils/bfd 9/contrib/binutils/bfd X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 07:49:03 -0000 Author: dim Date: Mon Mar 7 07:49:01 2016 New Revision: 296437 URL: https://svnweb.freebsd.org/changeset/base/296437 Log: MFC r295901: Fix a problem in ld, causing it to sometimes print messages similar to "invalid string offset 65521 >= 27261 for section `.strtab'". for object files produced by recent versions of clang. In BFD's elf_create_symbuf() function, the size of the symbol buffer ('ssymbuf') is not calculated correctly, and the initial value for the 'ssym' variable is off by one, since 'ssymbuf' has shndx_count + 1 members. Modified: stable/9/contrib/binutils/bfd/elf.c Directory Properties: stable/9/ (props changed) stable/9/contrib/ (props changed) stable/9/contrib/binutils/ (props changed) Changes in other areas also in this revision: Modified: stable/10/contrib/binutils/bfd/elf.c Directory Properties: stable/10/ (props changed) Modified: stable/9/contrib/binutils/bfd/elf.c ============================================================================== --- stable/9/contrib/binutils/bfd/elf.c Mon Mar 7 07:46:17 2016 (r296436) +++ stable/9/contrib/binutils/bfd/elf.c Mon Mar 7 07:49:01 2016 (r296437) @@ -8934,14 +8934,14 @@ elf_create_symbuf (bfd_size_type symcoun shndx_count++; ssymbuf = bfd_malloc ((shndx_count + 1) * sizeof (*ssymbuf) - + (indbufend - indbuf) * sizeof (*ssymbuf)); + + (indbufend - indbuf) * sizeof (*ssym)); if (ssymbuf == NULL) { free (indbuf); return NULL; } - ssym = (struct elf_symbuf_symbol *) (ssymbuf + shndx_count); + ssym = (struct elf_symbuf_symbol *) (ssymbuf + shndx_count + 1); ssymbuf->ssym = NULL; ssymbuf->count = shndx_count; ssymbuf->st_shndx = 0; From owner-svn-src-all@freebsd.org Mon Mar 7 07:49:03 2016 Return-Path: Delivered-To: svn-src-all@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 49ACDAC20A5; Mon, 7 Mar 2016 07:49:03 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1B349CC; Mon, 7 Mar 2016 07:49:03 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u277n2jd023388; Mon, 7 Mar 2016 07:49:02 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u277n26T023387; Mon, 7 Mar 2016 07:49:02 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603070749.u277n26T023387@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 7 Mar 2016 07:49:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296437 - in stable: 10/contrib/binutils/bfd 9/contrib/binutils/bfd X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 07:49:03 -0000 Author: dim Date: Mon Mar 7 07:49:01 2016 New Revision: 296437 URL: https://svnweb.freebsd.org/changeset/base/296437 Log: MFC r295901: Fix a problem in ld, causing it to sometimes print messages similar to "invalid string offset 65521 >= 27261 for section `.strtab'". for object files produced by recent versions of clang. In BFD's elf_create_symbuf() function, the size of the symbol buffer ('ssymbuf') is not calculated correctly, and the initial value for the 'ssym' variable is off by one, since 'ssymbuf' has shndx_count + 1 members. Modified: stable/10/contrib/binutils/bfd/elf.c Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/9/contrib/binutils/bfd/elf.c Directory Properties: stable/9/ (props changed) stable/9/contrib/ (props changed) stable/9/contrib/binutils/ (props changed) Modified: stable/10/contrib/binutils/bfd/elf.c ============================================================================== --- stable/10/contrib/binutils/bfd/elf.c Mon Mar 7 07:46:17 2016 (r296436) +++ stable/10/contrib/binutils/bfd/elf.c Mon Mar 7 07:49:01 2016 (r296437) @@ -8934,14 +8934,14 @@ elf_create_symbuf (bfd_size_type symcoun shndx_count++; ssymbuf = bfd_malloc ((shndx_count + 1) * sizeof (*ssymbuf) - + (indbufend - indbuf) * sizeof (*ssymbuf)); + + (indbufend - indbuf) * sizeof (*ssym)); if (ssymbuf == NULL) { free (indbuf); return NULL; } - ssym = (struct elf_symbuf_symbol *) (ssymbuf + shndx_count); + ssym = (struct elf_symbuf_symbol *) (ssymbuf + shndx_count + 1); ssymbuf->ssym = NULL; ssymbuf->count = shndx_count; ssymbuf->st_shndx = 0; From owner-svn-src-all@freebsd.org Mon Mar 7 07:54:49 2016 Return-Path: Delivered-To: svn-src-all@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 EEAF7AC236D; Mon, 7 Mar 2016 07:54:49 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CA8B48AC; Mon, 7 Mar 2016 07:54:49 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u277smUn026232; Mon, 7 Mar 2016 07:54:48 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u277sm86026230; Mon, 7 Mar 2016 07:54:48 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603070754.u277sm86026230@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 7 Mar 2016 07:54:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296438 - in stable/10/sys: boot/common kern X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 07:54:50 -0000 Author: dim Date: Mon Mar 7 07:54:48 2016 New Revision: 296438 URL: https://svnweb.freebsd.org/changeset/base/296438 Log: MFC r296419 (by kib): In the link_elf_obj.c, handle sections of type SHT_AMD64_UNWIND same as SHT_PROGBITS. This is needed after the clang 3.8 import, which generates that type for .eh_frame section, which had SHT_PROGBITS type before. Reported by: Nikolai Lifanov PR: 207729 Tested by: dim (previous version) Sponsored by: The FreeBSD Foundation MFC r296428: Since kernel modules can now contain sections of type SHT_AMD64_UNWIND, the boot loader should not skip over these anymore while loading images. Otherwise the kernel can still panic when it doesn't find the .eh_frame section belonging to the .rela.eh_frame section. Unfortunately this will require installing boot loaders from sys/boot before attempting to boot with a new kernel. Reviewed by: kib Modified: stable/10/sys/boot/common/load_elf_obj.c stable/10/sys/kern/link_elf_obj.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/boot/common/load_elf_obj.c ============================================================================== --- stable/10/sys/boot/common/load_elf_obj.c Mon Mar 7 07:49:01 2016 (r296437) +++ stable/10/sys/boot/common/load_elf_obj.c Mon Mar 7 07:54:48 2016 (r296438) @@ -221,6 +221,9 @@ __elfN(obj_loadimage)(struct preloaded_f switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#if defined(__i386__) || defined(__amd64__) + case SHT_AMD64_UNWIND: +#endif lastaddr = roundup(lastaddr, shdr[i].sh_addralign); shdr[i].sh_addr = (Elf_Addr)lastaddr; lastaddr += shdr[i].sh_size; Modified: stable/10/sys/kern/link_elf_obj.c ============================================================================== --- stable/10/sys/kern/link_elf_obj.c Mon Mar 7 07:49:01 2016 (r296437) +++ stable/10/sys/kern/link_elf_obj.c Mon Mar 7 07:54:48 2016 (r296438) @@ -257,6 +257,9 @@ link_elf_link_preload(linker_class_t cls switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif ef->nprogtab++; break; case SHT_SYMTAB: @@ -327,9 +330,16 @@ link_elf_link_preload(linker_class_t cls switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif ef->progtab[pb].addr = (void *)shdr[i].sh_addr; if (shdr[i].sh_type == SHT_PROGBITS) ef->progtab[pb].name = "<>"; +#ifdef __amd64__ + else if (shdr[i].sh_type == SHT_AMD64_UNWIND) + ef->progtab[pb].name = "<>"; +#endif else ef->progtab[pb].name = "<>"; ef->progtab[pb].size = shdr[i].sh_size; @@ -553,6 +563,9 @@ link_elf_load_file(linker_class_t cls, c switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif ef->nprogtab++; break; case SHT_SYMTAB: @@ -659,6 +672,9 @@ link_elf_load_file(linker_class_t cls, c switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif alignmask = shdr[i].sh_addralign - 1; mapsize += alignmask; mapsize &= ~alignmask; @@ -726,6 +742,9 @@ link_elf_load_file(linker_class_t cls, c switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif alignmask = shdr[i].sh_addralign - 1; mapbase += alignmask; mapbase &= ~alignmask; @@ -734,6 +753,10 @@ link_elf_load_file(linker_class_t cls, c ef->shstrtab + shdr[i].sh_name; else if (shdr[i].sh_type == SHT_PROGBITS) ef->progtab[pb].name = "<>"; +#ifdef __amd64__ + else if (shdr[i].sh_type == SHT_AMD64_UNWIND) + ef->progtab[pb].name = "<>"; +#endif else ef->progtab[pb].name = "<>"; if (ef->progtab[pb].name != NULL && @@ -755,7 +778,11 @@ link_elf_load_file(linker_class_t cls, c } ef->progtab[pb].size = shdr[i].sh_size; ef->progtab[pb].sec = i; - if (shdr[i].sh_type == SHT_PROGBITS) { + if (shdr[i].sh_type == SHT_PROGBITS +#ifdef __amd64__ + || shdr[i].sh_type == SHT_AMD64_UNWIND +#endif + ) { error = vn_rdwr(UIO_READ, nd.ni_vp, ef->progtab[pb].addr, shdr[i].sh_size, shdr[i].sh_offset, From owner-svn-src-all@freebsd.org Mon Mar 7 07:57:58 2016 Return-Path: Delivered-To: svn-src-all@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 A29EDAC257D; Mon, 7 Mar 2016 07:57:58 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7E93EB83; Mon, 7 Mar 2016 07:57:58 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u277vv3E026523; Mon, 7 Mar 2016 07:57:57 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u277vvlt026521; Mon, 7 Mar 2016 07:57:57 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603070757.u277vvlt026521@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 7 Mar 2016 07:57:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296439 - in stable/9/sys: boot/common kern X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 07:57:58 -0000 Author: dim Date: Mon Mar 7 07:57:57 2016 New Revision: 296439 URL: https://svnweb.freebsd.org/changeset/base/296439 Log: MFC r296419 (by kib): In the link_elf_obj.c, handle sections of type SHT_AMD64_UNWIND same as SHT_PROGBITS. This is needed after the clang 3.8 import, which generates that type for .eh_frame section, which had SHT_PROGBITS type before. Reported by: Nikolai Lifanov PR: 207729 Tested by: dim (previous version) Sponsored by: The FreeBSD Foundation MFC r296428: Since kernel modules can now contain sections of type SHT_AMD64_UNWIND, the boot loader should not skip over these anymore while loading images. Otherwise the kernel can still panic when it doesn't find the .eh_frame section belonging to the .rela.eh_frame section. Unfortunately this will require installing boot loaders from sys/boot before attempting to boot with a new kernel. Reviewed by: kib Modified: stable/9/sys/boot/common/load_elf_obj.c stable/9/sys/kern/link_elf_obj.c Directory Properties: stable/9/ (props changed) stable/9/sys/ (props changed) stable/9/sys/boot/ (props changed) Modified: stable/9/sys/boot/common/load_elf_obj.c ============================================================================== --- stable/9/sys/boot/common/load_elf_obj.c Mon Mar 7 07:54:48 2016 (r296438) +++ stable/9/sys/boot/common/load_elf_obj.c Mon Mar 7 07:57:57 2016 (r296439) @@ -228,6 +228,9 @@ __elfN(obj_loadimage)(struct preloaded_f switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#if defined(__i386__) || defined(__amd64__) + case SHT_AMD64_UNWIND: +#endif lastaddr = roundup(lastaddr, shdr[i].sh_addralign); shdr[i].sh_addr = (Elf_Addr)lastaddr; lastaddr += shdr[i].sh_size; Modified: stable/9/sys/kern/link_elf_obj.c ============================================================================== --- stable/9/sys/kern/link_elf_obj.c Mon Mar 7 07:54:48 2016 (r296438) +++ stable/9/sys/kern/link_elf_obj.c Mon Mar 7 07:57:57 2016 (r296439) @@ -255,6 +255,9 @@ link_elf_link_preload(linker_class_t cls switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif ef->nprogtab++; break; case SHT_SYMTAB: @@ -325,9 +328,16 @@ link_elf_link_preload(linker_class_t cls switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif ef->progtab[pb].addr = (void *)shdr[i].sh_addr; if (shdr[i].sh_type == SHT_PROGBITS) ef->progtab[pb].name = "<>"; +#ifdef __amd64__ + else if (shdr[i].sh_type == SHT_AMD64_UNWIND) + ef->progtab[pb].name = "<>"; +#endif else ef->progtab[pb].name = "<>"; ef->progtab[pb].size = shdr[i].sh_size; @@ -553,6 +563,9 @@ link_elf_load_file(linker_class_t cls, c switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif ef->nprogtab++; break; case SHT_SYMTAB: @@ -659,6 +672,9 @@ link_elf_load_file(linker_class_t cls, c switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif alignmask = shdr[i].sh_addralign - 1; mapsize += alignmask; mapsize &= ~alignmask; @@ -721,6 +737,9 @@ link_elf_load_file(linker_class_t cls, c switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif alignmask = shdr[i].sh_addralign - 1; mapbase += alignmask; mapbase &= ~alignmask; @@ -729,6 +748,10 @@ link_elf_load_file(linker_class_t cls, c ef->shstrtab + shdr[i].sh_name; else if (shdr[i].sh_type == SHT_PROGBITS) ef->progtab[pb].name = "<>"; +#ifdef __amd64__ + else if (shdr[i].sh_type == SHT_AMD64_UNWIND) + ef->progtab[pb].name = "<>"; +#endif else ef->progtab[pb].name = "<>"; if (ef->progtab[pb].name != NULL && @@ -750,7 +773,11 @@ link_elf_load_file(linker_class_t cls, c } ef->progtab[pb].size = shdr[i].sh_size; ef->progtab[pb].sec = i; - if (shdr[i].sh_type == SHT_PROGBITS) { + if (shdr[i].sh_type == SHT_PROGBITS +#ifdef __amd64__ + || shdr[i].sh_type == SHT_AMD64_UNWIND +#endif + ) { error = vn_rdwr(UIO_READ, nd.ni_vp, ef->progtab[pb].addr, shdr[i].sh_size, shdr[i].sh_offset, From owner-svn-src-all@freebsd.org Mon Mar 7 08:57:52 2016 Return-Path: Delivered-To: svn-src-all@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 6CA7EAC3EC6; Mon, 7 Mar 2016 08:57:52 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3DCACCBD; Mon, 7 Mar 2016 08:57:52 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u278vp8K045048; Mon, 7 Mar 2016 08:57:51 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u278vpea045047; Mon, 7 Mar 2016 08:57:51 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603070857.u278vpea045047@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 7 Mar 2016 08:57:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296440 - stable/10/etc/periodic/daily X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 08:57:52 -0000 Author: mav Date: Mon Mar 7 08:57:51 2016 New Revision: 296440 URL: https://svnweb.freebsd.org/changeset/base/296440 Log: MFC r295324: Add error check to not leak logs with syntax errors in case of failed `zpool history`. Modified: stable/10/etc/periodic/daily/800.scrub-zfs Directory Properties: stable/10/ (props changed) Modified: stable/10/etc/periodic/daily/800.scrub-zfs ============================================================================== --- stable/10/etc/periodic/daily/800.scrub-zfs Mon Mar 7 07:57:57 2016 (r296439) +++ stable/10/etc/periodic/daily/800.scrub-zfs Mon Mar 7 08:57:51 2016 (r296440) @@ -63,6 +63,11 @@ case "$daily_scrub_zfs_enable" in _last_scrub=$(zpool history ${pool} | \ sed -ne '2s/ .*$//p') fi + if [ -z "${_last_scrub}" ]; then + echo " skipping scrubbing of pool '${pool}':" + echo " can't get last scrubbing date" + continue + fi # Now minus last scrub (both in seconds) converted to days. _scrub_diff=$(expr -e \( $(date +%s) - \ From owner-svn-src-all@freebsd.org Mon Mar 7 08:59:08 2016 Return-Path: Delivered-To: svn-src-all@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 435D8AC3F6B; Mon, 7 Mar 2016 08:59:08 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 15CACE2A; Mon, 7 Mar 2016 08:59:08 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u278x7aU045157; Mon, 7 Mar 2016 08:59:07 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u278x7Ds045156; Mon, 7 Mar 2016 08:59:07 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603070859.u278x7Ds045156@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 7 Mar 2016 08:59:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296441 - stable/10/usr.sbin/ctld X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 08:59:08 -0000 Author: mav Date: Mon Mar 7 08:59:06 2016 New Revision: 296441 URL: https://svnweb.freebsd.org/changeset/base/296441 Log: MFC r295562: Don't check CmdSN for initial login request. This fixes connection errors for some initiators not starting CmdSN from zero. While there, fix wrong status details reported for couple errors. Modified: stable/10/usr.sbin/ctld/login.c Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.sbin/ctld/login.c ============================================================================== --- stable/10/usr.sbin/ctld/login.c Mon Mar 7 08:57:51 2016 (r296440) +++ stable/10/usr.sbin/ctld/login.c Mon Mar 7 08:59:06 2016 (r296441) @@ -126,15 +126,16 @@ login_receive(struct connection *conn, b log_errx(1, "received Login PDU with unsupported " "Version-min 0x%x", bhslr->bhslr_version_min); } - if (ISCSI_SNLT(ntohl(bhslr->bhslr_cmdsn), conn->conn_cmdsn)) { - login_send_error(request, 0x02, 0x05); + if (initial == false && + ISCSI_SNLT(ntohl(bhslr->bhslr_cmdsn), conn->conn_cmdsn)) { + login_send_error(request, 0x02, 0x00); log_errx(1, "received Login PDU with decreasing CmdSN: " "was %u, is %u", conn->conn_cmdsn, ntohl(bhslr->bhslr_cmdsn)); } if (initial == false && ntohl(bhslr->bhslr_expstatsn) != conn->conn_statsn) { - login_send_error(request, 0x02, 0x05); + login_send_error(request, 0x02, 0x00); log_errx(1, "received Login PDU with wrong ExpStatSN: " "is %u, should be %u", ntohl(bhslr->bhslr_expstatsn), conn->conn_statsn); From owner-svn-src-all@freebsd.org Mon Mar 7 09:00:29 2016 Return-Path: Delivered-To: svn-src-all@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 194E5AC11E7; Mon, 7 Mar 2016 09:00:29 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DEC86F81; Mon, 7 Mar 2016 09:00:28 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2790RH3045287; Mon, 7 Mar 2016 09:00:27 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2790RZO045286; Mon, 7 Mar 2016 09:00:27 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603070900.u2790RZO045286@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 7 Mar 2016 09:00:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296442 - stable/10/sys/cam/ctl X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 09:00:29 -0000 Author: mav Date: Mon Mar 7 09:00:27 2016 New Revision: 296442 URL: https://svnweb.freebsd.org/changeset/base/296442 Log: MFC r296392: Set bhsdi_target_transfer_tag to reserved value, which is 0xffffffff. This should be a purely cosmetic change. Modified: stable/10/sys/cam/ctl/ctl_frontend_iscsi.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cam/ctl/ctl_frontend_iscsi.c ============================================================================== --- stable/10/sys/cam/ctl/ctl_frontend_iscsi.c Mon Mar 7 08:59:06 2016 (r296441) +++ stable/10/sys/cam/ctl/ctl_frontend_iscsi.c Mon Mar 7 09:00:27 2016 (r296442) @@ -2369,6 +2369,7 @@ cfiscsi_datamove_in(union ctl_io *io) bhsdi->bhsdi_opcode = ISCSI_BHS_OPCODE_SCSI_DATA_IN; bhsdi->bhsdi_initiator_task_tag = bhssc->bhssc_initiator_task_tag; + bhsdi->bhsdi_target_transfer_tag = 0xffffffff; bhsdi->bhsdi_datasn = htonl(PDU_EXPDATASN(request)); PDU_EXPDATASN(request)++; bhsdi->bhsdi_buffer_offset = htonl(buffer_offset); From owner-svn-src-all@freebsd.org Mon Mar 7 09:35:22 2016 Return-Path: Delivered-To: svn-src-all@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 0039FA9504A; Mon, 7 Mar 2016 09:35:22 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C5B721A9; Mon, 7 Mar 2016 09:35:21 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u279ZKOf057050; Mon, 7 Mar 2016 09:35:20 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u279ZKOx057049; Mon, 7 Mar 2016 09:35:20 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201603070935.u279ZKOx057049@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 7 Mar 2016 09:35:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296443 - stable/10/sys/dev/usb/net X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 09:35:22 -0000 Author: hselasky Date: Mon Mar 7 09:35:20 2016 New Revision: 296443 URL: https://svnweb.freebsd.org/changeset/base/296443 Log: MFC r295608: Fix variable assignment inside if-clause in the smsc driver. Found by D5245 / PVS. Modified: stable/10/sys/dev/usb/net/if_smsc.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/usb/net/if_smsc.c ============================================================================== --- stable/10/sys/dev/usb/net/if_smsc.c Mon Mar 7 09:00:27 2016 (r296442) +++ stable/10/sys/dev/usb/net/if_smsc.c Mon Mar 7 09:35:20 2016 (r296443) @@ -1341,7 +1341,7 @@ smsc_chip_init(struct smsc_softc *sc) /* Reset the PHY */ smsc_write_reg(sc, SMSC_PM_CTRL, SMSC_PM_CTRL_PHY_RST); - if ((err = smsc_wait_for_bits(sc, SMSC_PM_CTRL, SMSC_PM_CTRL_PHY_RST) != 0)) { + if ((err = smsc_wait_for_bits(sc, SMSC_PM_CTRL, SMSC_PM_CTRL_PHY_RST)) != 0) { smsc_warn_printf(sc, "timed-out waiting for phy reset to complete\n"); goto init_failed; } From owner-svn-src-all@freebsd.org Mon Mar 7 09:37:09 2016 Return-Path: Delivered-To: svn-src-all@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 2D8A0A95190; Mon, 7 Mar 2016 09:37:09 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F0E05366; Mon, 7 Mar 2016 09:37:08 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u279b8PJ057161; Mon, 7 Mar 2016 09:37:08 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u279b8di057160; Mon, 7 Mar 2016 09:37:08 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201603070937.u279b8di057160@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 7 Mar 2016 09:37:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296444 - stable/10/sys/dev/usb X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 09:37:09 -0000 Author: hselasky Date: Mon Mar 7 09:37:07 2016 New Revision: 296444 URL: https://svnweb.freebsd.org/changeset/base/296444 Log: MFC r295923: Be more verbose when truncating number of HID items. Suggested by: Larry Rosenman Modified: stable/10/sys/dev/usb/usb_hid.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/usb/usb_hid.c ============================================================================== --- stable/10/sys/dev/usb/usb_hid.c Mon Mar 7 09:35:20 2016 (r296443) +++ stable/10/sys/dev/usb/usb_hid.c Mon Mar 7 09:37:07 2016 (r296444) @@ -354,7 +354,8 @@ hid_get_item(struct hid_data *s, struct /* range check usage count */ if (c->loc.count > 255) { DPRINTFN(0, "Number of " - "items truncated to 255\n"); + "items(%u) truncated to 255\n", + (unsigned)(c->loc.count)); s->ncount = 255; } else s->ncount = c->loc.count; From owner-svn-src-all@freebsd.org Mon Mar 7 09:39:37 2016 Return-Path: Delivered-To: svn-src-all@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 2EA05A95290; Mon, 7 Mar 2016 09:39:37 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F3FBD784; Mon, 7 Mar 2016 09:39:36 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u279daBe057287; Mon, 7 Mar 2016 09:39:36 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u279daRS057286; Mon, 7 Mar 2016 09:39:36 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201603070939.u279daRS057286@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 7 Mar 2016 09:39:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296445 - stable/9/sys/dev/usb X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 09:39:37 -0000 Author: hselasky Date: Mon Mar 7 09:39:35 2016 New Revision: 296445 URL: https://svnweb.freebsd.org/changeset/base/296445 Log: MFC r295923: Be more verbose when truncating number of HID items. Suggested by: Larry Rosenman Modified: stable/9/sys/dev/usb/usb_hid.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/usb/usb_hid.c ============================================================================== --- stable/9/sys/dev/usb/usb_hid.c Mon Mar 7 09:37:07 2016 (r296444) +++ stable/9/sys/dev/usb/usb_hid.c Mon Mar 7 09:39:35 2016 (r296445) @@ -353,7 +353,8 @@ hid_get_item(struct hid_data *s, struct /* range check usage count */ if (c->loc.count > 255) { DPRINTFN(0, "Number of " - "items truncated to 255\n"); + "items(%u) truncated to 255\n", + (unsigned)(c->loc.count)); s->ncount = 255; } else s->ncount = c->loc.count; From owner-svn-src-all@freebsd.org Mon Mar 7 09:42:18 2016 Return-Path: Delivered-To: svn-src-all@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 73E2BA953B5; Mon, 7 Mar 2016 09:42:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2B409AF4; Mon, 7 Mar 2016 09:42:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u279gHAw060034; Mon, 7 Mar 2016 09:42:17 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u279gHk3060032; Mon, 7 Mar 2016 09:42:17 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201603070942.u279gHk3060032@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 7 Mar 2016 09:42:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296446 - stable/10/sys/dev/usb/controller X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 09:42:18 -0000 Author: hselasky Date: Mon Mar 7 09:42:16 2016 New Revision: 296446 URL: https://svnweb.freebsd.org/changeset/base/296446 Log: MFC r295928: Configure the correct bMaxPacketSize for control endpoints before requesting the initial complete device descriptor and not as part of the subsequent babble error recovery. Babble means that the received USB packet was bigger than than configured maximum packet size. This only affects enumeration of FULL speed USB devices which use a bMaxPacketSize different from 8 bytes. This patch might help fix enumeration of USB devices which exhibit USB I/O errors in dmesg during boot. Modified: stable/10/sys/dev/usb/controller/xhci.c stable/10/sys/dev/usb/controller/xhci.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/usb/controller/xhci.c ============================================================================== --- stable/10/sys/dev/usb/controller/xhci.c Mon Mar 7 09:39:35 2016 (r296445) +++ stable/10/sys/dev/usb/controller/xhci.c Mon Mar 7 09:42:16 2016 (r296446) @@ -2363,6 +2363,8 @@ xhci_configure_endpoint(struct usb_devic /* store endpoint mode */ pepext->trb_ep_mode = ep_mode; + /* store bMaxPacketSize for control endpoints */ + pepext->trb_ep_maxp = edesc->wMaxPacketSize[0]; usb_pc_cpu_flush(pepext->page_cache); if (ep_mode == USB_EP_MODE_STREAMS) { @@ -2909,6 +2911,17 @@ xhci_transfer_insert(struct usb_xfer *xf return (USB_ERR_NOMEM); } + /* check if bMaxPacketSize changed */ + if (xfer->flags_int.control_xfr != 0 && + pepext->trb_ep_maxp != xfer->endpoint->edesc->wMaxPacketSize[0]) { + + DPRINTFN(8, "Reconfigure control endpoint\n"); + + /* force driver to reconfigure endpoint */ + pepext->trb_halted = 1; + pepext->trb_running = 0; + } + /* check for stopped condition, after putting transfer on interrupt queue */ if (pepext->trb_running == 0) { struct xhci_softc *sc = XHCI_BUS2SC(xfer->xroot->bus); Modified: stable/10/sys/dev/usb/controller/xhci.h ============================================================================== --- stable/10/sys/dev/usb/controller/xhci.h Mon Mar 7 09:39:35 2016 (r296445) +++ stable/10/sys/dev/usb/controller/xhci.h Mon Mar 7 09:42:16 2016 (r296446) @@ -383,6 +383,7 @@ struct xhci_endpoint_ext { uint8_t trb_halted; uint8_t trb_running; uint8_t trb_ep_mode; + uint8_t trb_ep_maxp; }; enum { From owner-svn-src-all@freebsd.org Mon Mar 7 10:02:32 2016 Return-Path: Delivered-To: svn-src-all@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 91E72AC202E; Mon, 7 Mar 2016 10:02:32 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6D78EA88; Mon, 7 Mar 2016 10:02:32 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27A2VYX066290; Mon, 7 Mar 2016 10:02:31 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27A2VW0066288; Mon, 7 Mar 2016 10:02:31 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201603071002.u27A2VW0066288@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 7 Mar 2016 10:02:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296447 - stable/9/sys/dev/usb/controller X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 10:02:32 -0000 Author: hselasky Date: Mon Mar 7 10:02:31 2016 New Revision: 296447 URL: https://svnweb.freebsd.org/changeset/base/296447 Log: MFC r295928: Configure the correct bMaxPacketSize for control endpoints before requesting the initial complete device descriptor and not as part of the subsequent babble error recovery. Babble means that the received USB packet was bigger than than configured maximum packet size. This only affects enumeration of FULL speed USB devices which use a bMaxPacketSize different from 8 bytes. This patch might help fix enumeration of USB devices which exhibit USB I/O errors in dmesg during boot. Modified: stable/9/sys/dev/usb/controller/xhci.c stable/9/sys/dev/usb/controller/xhci.h Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/usb/controller/xhci.c ============================================================================== --- stable/9/sys/dev/usb/controller/xhci.c Mon Mar 7 09:42:16 2016 (r296446) +++ stable/9/sys/dev/usb/controller/xhci.c Mon Mar 7 10:02:31 2016 (r296447) @@ -140,8 +140,8 @@ static struct xhci_endpoint_ext *xhci_ge static usb_proc_callback_t xhci_configure_msg; static usb_error_t xhci_configure_device(struct usb_device *); static usb_error_t xhci_configure_endpoint(struct usb_device *, - struct usb_endpoint_descriptor *, uint64_t, uint16_t, - uint8_t, uint8_t, uint8_t, uint16_t, uint16_t); + struct usb_endpoint_descriptor *, struct xhci_endpoint_ext *, + uint16_t, uint8_t, uint8_t, uint8_t, uint16_t, uint16_t); static usb_error_t xhci_configure_mask(struct usb_device *, uint32_t, uint8_t); static usb_error_t xhci_cmd_evaluate_ctx(struct xhci_softc *, @@ -1405,7 +1405,7 @@ xhci_set_address(struct usb_device *udev USB_BUS_UNLOCK(udev->bus); err = xhci_configure_endpoint(udev, - &udev->ctrl_ep_desc, pepext->physaddr, + &udev->ctrl_ep_desc, pepext, 0, 1, 1, 0, mps, mps); if (err != 0) { @@ -2301,13 +2301,15 @@ xhci_configure_mask(struct usb_device *u static usb_error_t xhci_configure_endpoint(struct usb_device *udev, - struct usb_endpoint_descriptor *edesc, uint64_t ring_addr, - uint16_t interval, uint8_t max_packet_count, uint8_t mult, - uint8_t fps_shift, uint16_t max_packet_size, uint16_t max_frame_size) + struct usb_endpoint_descriptor *edesc, struct xhci_endpoint_ext *pepext, + uint16_t interval, uint8_t max_packet_count, + uint8_t mult, uint8_t fps_shift, uint16_t max_packet_size, + uint16_t max_frame_size) { struct usb_page_search buf_inp; struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); struct xhci_input_dev_ctx *pinp; + uint64_t ring_addr = pepext->physaddr; uint32_t temp; uint8_t index; uint8_t epno; @@ -2338,6 +2340,10 @@ xhci_configure_endpoint(struct usb_devic if (mult == 0) return (USB_ERR_BAD_BUFSIZE); + /* store bMaxPacketSize for control endpoints */ + pepext->trb_ep_maxp = edesc->wMaxPacketSize[0]; + usb_pc_cpu_flush(pepext->page_cache); + temp = XHCI_EPCTX_0_EPSTATE_SET(0) | XHCI_EPCTX_0_MAXP_STREAMS_SET(0) | XHCI_EPCTX_0_LSA_SET(0); @@ -2457,7 +2463,7 @@ xhci_configure_endpoint_by_xfer(struct u usb_pc_cpu_flush(pepext->page_cache); return (xhci_configure_endpoint(xfer->xroot->udev, - xfer->endpoint->edesc, pepext->physaddr, + xfer->endpoint->edesc, pepext, xfer->interval, xfer->max_packet_count, (ecomp != NULL) ? (ecomp->bmAttributes & 3) + 1 : 1, usbd_xfer_get_fps_shift(xfer), xfer->max_packet_size, @@ -2849,6 +2855,17 @@ xhci_transfer_insert(struct usb_xfer *xf return (USB_ERR_NOMEM); } + /* check if bMaxPacketSize changed */ + if (xfer->flags_int.control_xfr != 0 && + pepext->trb_ep_maxp != xfer->endpoint->edesc->wMaxPacketSize[0]) { + + DPRINTFN(8, "Reconfigure control endpoint\n"); + + /* force driver to reconfigure endpoint */ + pepext->trb_halted = 1; + pepext->trb_running = 0; + } + /* check for stopped condition, after putting transfer on interrupt queue */ if (pepext->trb_running == 0) { struct xhci_softc *sc = XHCI_BUS2SC(xfer->xroot->bus); Modified: stable/9/sys/dev/usb/controller/xhci.h ============================================================================== --- stable/9/sys/dev/usb/controller/xhci.h Mon Mar 7 09:42:16 2016 (r296446) +++ stable/9/sys/dev/usb/controller/xhci.h Mon Mar 7 10:02:31 2016 (r296447) @@ -373,6 +373,7 @@ struct xhci_endpoint_ext { uint8_t trb_index; uint8_t trb_halted; uint8_t trb_running; + uint8_t trb_ep_maxp; }; enum { From owner-svn-src-all@freebsd.org Mon Mar 7 10:07:02 2016 Return-Path: Delivered-To: svn-src-all@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 C15DAAC2186; Mon, 7 Mar 2016 10:07:02 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9C9F3C65; Mon, 7 Mar 2016 10:07:02 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27A71Mj066498; Mon, 7 Mar 2016 10:07:01 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27A71oH066496; Mon, 7 Mar 2016 10:07:01 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201603071007.u27A71oH066496@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 7 Mar 2016 10:07:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r296448 - stable/8/sys/dev/usb/controller X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 10:07:02 -0000 Author: hselasky Date: Mon Mar 7 10:07:01 2016 New Revision: 296448 URL: https://svnweb.freebsd.org/changeset/base/296448 Log: MFC r295928: Configure the correct bMaxPacketSize for control endpoints before requesting the initial complete device descriptor and not as part of the subsequent babble error recovery. Babble means that the received USB packet was bigger than than configured maximum packet size. This only affects enumeration of FULL speed USB devices which use a bMaxPacketSize different from 8 bytes. This patch might help fix enumeration of USB devices which exhibit USB I/O errors in dmesg during boot. Modified: stable/8/sys/dev/usb/controller/xhci.c stable/8/sys/dev/usb/controller/xhci.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/usb/ (props changed) Modified: stable/8/sys/dev/usb/controller/xhci.c ============================================================================== --- stable/8/sys/dev/usb/controller/xhci.c Mon Mar 7 10:02:31 2016 (r296447) +++ stable/8/sys/dev/usb/controller/xhci.c Mon Mar 7 10:07:01 2016 (r296448) @@ -135,8 +135,8 @@ static struct xhci_endpoint_ext *xhci_ge static usb_proc_callback_t xhci_configure_msg; static usb_error_t xhci_configure_device(struct usb_device *); static usb_error_t xhci_configure_endpoint(struct usb_device *, - struct usb_endpoint_descriptor *, uint64_t, uint16_t, - uint8_t, uint8_t, uint8_t, uint16_t, uint16_t); + struct usb_endpoint_descriptor *, struct xhci_endpoint_ext *, + uint16_t, uint8_t, uint8_t, uint8_t, uint16_t, uint16_t); static usb_error_t xhci_configure_mask(struct usb_device *, uint32_t, uint8_t); static usb_error_t xhci_cmd_evaluate_ctx(struct xhci_softc *, @@ -1393,7 +1393,7 @@ xhci_set_address(struct usb_device *udev USB_BUS_UNLOCK(udev->bus); err = xhci_configure_endpoint(udev, - &udev->ctrl_ep_desc, pepext->physaddr, + &udev->ctrl_ep_desc, pepext, 0, 1, 1, 0, mps, mps); if (err != 0) { @@ -2289,13 +2289,15 @@ xhci_configure_mask(struct usb_device *u static usb_error_t xhci_configure_endpoint(struct usb_device *udev, - struct usb_endpoint_descriptor *edesc, uint64_t ring_addr, - uint16_t interval, uint8_t max_packet_count, uint8_t mult, - uint8_t fps_shift, uint16_t max_packet_size, uint16_t max_frame_size) + struct usb_endpoint_descriptor *edesc, struct xhci_endpoint_ext *pepext, + uint16_t interval, uint8_t max_packet_count, + uint8_t mult, uint8_t fps_shift, uint16_t max_packet_size, + uint16_t max_frame_size) { struct usb_page_search buf_inp; struct xhci_softc *sc = XHCI_BUS2SC(udev->bus); struct xhci_input_dev_ctx *pinp; + uint64_t ring_addr = pepext->physaddr; uint32_t temp; uint8_t index; uint8_t epno; @@ -2326,6 +2328,10 @@ xhci_configure_endpoint(struct usb_devic if (mult == 0) return (USB_ERR_BAD_BUFSIZE); + /* store bMaxPacketSize for control endpoints */ + pepext->trb_ep_maxp = edesc->wMaxPacketSize[0]; + usb_pc_cpu_flush(pepext->page_cache); + temp = XHCI_EPCTX_0_EPSTATE_SET(0) | XHCI_EPCTX_0_MAXP_STREAMS_SET(0) | XHCI_EPCTX_0_LSA_SET(0); @@ -2445,7 +2451,7 @@ xhci_configure_endpoint_by_xfer(struct u usb_pc_cpu_flush(pepext->page_cache); return (xhci_configure_endpoint(xfer->xroot->udev, - xfer->endpoint->edesc, pepext->physaddr, + xfer->endpoint->edesc, pepext, xfer->interval, xfer->max_packet_count, (ecomp != NULL) ? (ecomp->bmAttributes & 3) + 1 : 1, usbd_xfer_get_fps_shift(xfer), xfer->max_packet_size, @@ -2837,6 +2843,17 @@ xhci_transfer_insert(struct usb_xfer *xf return (USB_ERR_NOMEM); } + /* check if bMaxPacketSize changed */ + if (xfer->flags_int.control_xfr != 0 && + pepext->trb_ep_maxp != xfer->endpoint->edesc->wMaxPacketSize[0]) { + + DPRINTFN(8, "Reconfigure control endpoint\n"); + + /* force driver to reconfigure endpoint */ + pepext->trb_halted = 1; + pepext->trb_running = 0; + } + /* check for stopped condition, after putting transfer on interrupt queue */ if (pepext->trb_running == 0) { struct xhci_softc *sc = XHCI_BUS2SC(xfer->xroot->bus); Modified: stable/8/sys/dev/usb/controller/xhci.h ============================================================================== --- stable/8/sys/dev/usb/controller/xhci.h Mon Mar 7 10:02:31 2016 (r296447) +++ stable/8/sys/dev/usb/controller/xhci.h Mon Mar 7 10:07:01 2016 (r296448) @@ -373,6 +373,7 @@ struct xhci_endpoint_ext { uint8_t trb_index; uint8_t trb_halted; uint8_t trb_running; + uint8_t trb_ep_maxp; }; enum { From owner-svn-src-all@freebsd.org Mon Mar 7 10:56:22 2016 Return-Path: Delivered-To: svn-src-all@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 A8C07AC160E; Mon, 7 Mar 2016 10:56:22 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7A97819A2; Mon, 7 Mar 2016 10:56:22 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27AuLbf082010; Mon, 7 Mar 2016 10:56:21 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27AuLjd082009; Mon, 7 Mar 2016 10:56:21 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603071056.u27AuLjd082009@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Mon, 7 Mar 2016 10:56:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296449 - head/sbin/mdmfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 10:56:22 -0000 Author: mav Date: Mon Mar 7 10:56:21 2016 New Revision: 296449 URL: https://svnweb.freebsd.org/changeset/base/296449 Log: Update meaning of -n argument. Submitted by: Dmitry Luhtionov MFC after: 1 week Modified: head/sbin/mdmfs/mdmfs.8 Modified: head/sbin/mdmfs/mdmfs.8 ============================================================================== --- head/sbin/mdmfs/mdmfs.8 Mon Mar 7 10:07:01 2016 (r296448) +++ head/sbin/mdmfs/mdmfs.8 Mon Mar 7 10:56:21 2016 (r296449) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 4, 2011 +.Dd March 7, 2016 .Dt MDMFS 8 .Os .Sh NAME @@ -36,7 +36,7 @@ driver .Sh SYNOPSIS .Nm -.Op Fl DLlMNPStUX +.Op Fl DLlMNnPStUX .Op Fl a Ar maxcontig .Op Fl b Ar block-size .Op Fl c Ar blocks-per-cylinder-group @@ -47,7 +47,6 @@ driver .Op Fl f Ar frag-size .Op Fl i Ar bytes .Op Fl m Ar percent-free -.Op Fl n Ar rotational-positions .Op Fl O Ar optimization .Op Fl o Ar mount-options .Op Fl p Ar permissions @@ -167,8 +166,10 @@ The percentage of space reserved for the Do not actually run the helper programs. This is most useful in conjunction with .Fl X . -.It Fl n Ar rotational-positions -The default number of rotational positions to distinguish. +.It Fl n +Do not create a +.Pa .snap +directory on the new file system. .It Fl O Ar optimization Select the optimization preference; valid choices are From owner-svn-src-all@freebsd.org Mon Mar 7 10:56:40 2016 Return-Path: Delivered-To: svn-src-all@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 3E0B8AC16B8; Mon, 7 Mar 2016 10:56:40 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 F3FE31B03; Mon, 7 Mar 2016 10:56:39 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27AudxO082068; Mon, 7 Mar 2016 10:56:39 GMT (envelope-from hrs@FreeBSD.org) Received: (from hrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27AucF7082062; Mon, 7 Mar 2016 10:56:38 GMT (envelope-from hrs@FreeBSD.org) Message-Id: <201603071056.u27AucF7082062@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hrs set sender to hrs@FreeBSD.org using -f From: Hiroki Sato Date: Mon, 7 Mar 2016 10:56:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296450 - in stable/10/release/doc: en_US.ISO8859-1/errata en_US.ISO8859-1/hardware en_US.ISO8859-1/readme en_US.ISO8859-1/relnotes share/xml X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 10:56:40 -0000 Author: hrs Date: Mon Mar 7 10:56:38 2016 New Revision: 296450 URL: https://svnweb.freebsd.org/changeset/base/296450 Log: - Use FPI and catalog resolution instead of system entities. This change fixes build with a non-standard DOC_PREFIX, but it is still a temporal measure because some of them should be done by using XInclude, not by entity reference. - Trim old entries and bump version numbers. Modified: stable/10/release/doc/en_US.ISO8859-1/errata/article.xml stable/10/release/doc/en_US.ISO8859-1/hardware/article.xml stable/10/release/doc/en_US.ISO8859-1/readme/article.xml stable/10/release/doc/en_US.ISO8859-1/relnotes/article.xml stable/10/release/doc/share/xml/catalog.xml stable/10/release/doc/share/xml/release.ent Modified: stable/10/release/doc/en_US.ISO8859-1/errata/article.xml ============================================================================== --- stable/10/release/doc/en_US.ISO8859-1/errata/article.xml Mon Mar 7 10:56:21 2016 (r296449) +++ stable/10/release/doc/en_US.ISO8859-1/errata/article.xml Mon Mar 7 10:56:38 2016 (r296450) @@ -4,8 +4,10 @@ %release; - - + + ]>
%release; Modified: stable/10/release/doc/en_US.ISO8859-1/readme/article.xml ============================================================================== --- stable/10/release/doc/en_US.ISO8859-1/readme/article.xml Mon Mar 7 10:56:21 2016 (r296449) +++ stable/10/release/doc/en_US.ISO8859-1/readme/article.xml Mon Mar 7 10:56:38 2016 (r296450) @@ -1,6 +1,6 @@ %release; ]> Modified: stable/10/release/doc/en_US.ISO8859-1/relnotes/article.xml ============================================================================== --- stable/10/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Mar 7 10:56:21 2016 (r296449) +++ stable/10/release/doc/en_US.ISO8859-1/relnotes/article.xml Mon Mar 7 10:56:38 2016 (r296450) @@ -1,14 +1,19 @@ + "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [ + %release; - + %sponsor; - + %vendor; - - + + ]>
@@ -26,7 +31,7 @@ - 2015 + 2016 The &os; Documentation Project @@ -166,42 +171,13 @@ Userland Application Changes - The &man.jail.8; utility has been - updated to include a new flag, -l, which - ensures a clean environment in the target jail when used. - Additionally, &man.jail.8; will run a shell within the target - jail when run no commands are specified. - - The &man.mkimg.1; utility has been - updated to include support for NTFS - filesystems in both MBR and - GPT partitioning schemes. - - The - &man.ar.1; utility now enables deterministic mode - (-D) by default. This behavior can be - disabled by specifying the -U flag. - - The &man.pciconf.8; utility has been - updated to use the PCI ID database from the misc/pciids package, if present, - falling back to the PCI ID database in the &os; base - system. - - A - new utility, &man.sesutil.8;, has been added, which is used - to manage &man.ses.4; devices. +   Contributed Software - The &man.libarchive.3; library has been - updated to properly skip a sparse file entry in a &man.tar.1; - file, which would previously produce errors. - - Timezone data files have been updated to - version 2015f. +   @@ -247,10 +223,7 @@ Kernel Bug Fixes - The &man.kqueue.2; system call has been - updated to handle write events to files larger than 2 - gigabytes. + @@ -262,10 +235,7 @@ System Tuning and Controls - The &man.uart.4; driver has been - updated to allow tuning pulses per second captured in the - CTS line during runtime, whereas previously only the DCD line - could be used without rebuilding the kernel. + @@ -284,12 +254,7 @@ Storage Drivers - The - CTL High Availability implementation has - been rewritten. - - The &man.ctl.4; driver has been updated - to support CD-ROM and removable devices. + @@ -316,9 +281,7 @@ Virtualization Support - The &man.xen.4; driver has been updated - to include support for blkif indirect - segment I/O. + @@ -349,11 +312,7 @@ ZFS - The &man.zfs.8; l2arc - code has been updated to take ashift into - account when gathering buffers to be written to the - l2arc device. + Modified: stable/10/release/doc/share/xml/catalog.xml ============================================================================== --- stable/10/release/doc/share/xml/catalog.xml Mon Mar 7 10:56:21 2016 (r296449) +++ stable/10/release/doc/share/xml/catalog.xml Mon Mar 7 10:56:38 2016 (r296450) @@ -9,5 +9,8 @@ + + + Modified: stable/10/release/doc/share/xml/release.ent ============================================================================== --- stable/10/release/doc/share/xml/release.ent Mon Mar 7 10:56:21 2016 (r296449) +++ stable/10/release/doc/share/xml/release.ent Mon Mar 7 10:56:38 2016 (r296450) @@ -6,23 +6,23 @@ - + - + - + - + From owner-svn-src-all@freebsd.org Mon Mar 7 10:59:29 2016 Return-Path: Delivered-To: svn-src-all@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 EAD64AC1879; Mon, 7 Mar 2016 10:59:29 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 AC7991D40; Mon, 7 Mar 2016 10:59:29 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27AxS3p082203; Mon, 7 Mar 2016 10:59:28 GMT (envelope-from hrs@FreeBSD.org) Received: (from hrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27AxSlT082201; Mon, 7 Mar 2016 10:59:28 GMT (envelope-from hrs@FreeBSD.org) Message-Id: <201603071059.u27AxSlT082201@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hrs set sender to hrs@FreeBSD.org using -f From: Hiroki Sato Date: Mon, 7 Mar 2016 10:59:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296451 - stable/10/release/doc/share/xml X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 10:59:30 -0000 Author: hrs Date: Mon Mar 7 10:59:28 2016 New Revision: 296451 URL: https://svnweb.freebsd.org/changeset/base/296451 Log: Trim old entries. Modified: stable/10/release/doc/share/xml/errata.xml stable/10/release/doc/share/xml/security.xml Modified: stable/10/release/doc/share/xml/errata.xml ============================================================================== --- stable/10/release/doc/share/xml/errata.xml Mon Mar 7 10:56:38 2016 (r296450) +++ stable/10/release/doc/share/xml/errata.xml Mon Mar 7 10:59:28 2016 (r296451) @@ -19,98 +19,7 @@ - FreeBSD-EN-15:11.toolchain - 18 August 2015 - Fix &man.make.1; syntax errors when upgrading - from &os; 9.x and earlier. - - - - FreeBSD-EN-15:12.netstat - 18 August 2015 - Fix incorrect &man.netstat.1; data handling on - 32-bit systems. - - - - FreeBSD-EN-15:13.vidcontrol - 18 August 2015 - Allow size argument to &man.vidcontrol.1; for - &man.syscons.4;. - - - - FreeBSD-EN-15:15.pkg - 25 August 2015 - Insufficient check of supported &man.pkg.7; - signature methods. - - - - FreeBSD-EN-15:16.pw - 16 September 2015 - Fix &man.pw.8; regression when creating numeric - users or groups. - - - - FreeBSD-EN-15:17.libc - 16 September 2015 - Fix libc handling of signals for multi-threaded - processes. - - - - FreeBSD-EN-15:18.pkg - 16 September 2015 - Implement pubkey support for - &man.pkg.7; bootstrap. - - - - FreeBSD-EN-15:19.kqueue - 4 November 2015 - &man.kqueue.2; write events never fire for files - larger than 2GB. - - - - FreeBSD-EN-15:20.vm - 4 November 2015 - Applications exiting due to segmentation - violation on a correct memory address. - - - - FreeBSD-EN-16:01.filemon - 14 January 2016 - bmake and - &man.filemon.4; stability issues. - - - - FreeBSD-EN-16:02.pf - 14 January 2016 - Invalid TCP checksum issue. - - - - FreeBSD-EN-16:03.yplib - 14 January 2016 - YP/NIS library - bug. + Modified: stable/10/release/doc/share/xml/security.xml ============================================================================== --- stable/10/release/doc/share/xml/security.xml Mon Mar 7 10:56:38 2016 (r296450) +++ stable/10/release/doc/share/xml/security.xml Mon Mar 7 10:59:28 2016 (r296451) @@ -19,116 +19,7 @@ - FreeBSD-SA-15:20.expat - 18 August 2015 - Fix multiple integer overflows in - &man.libbsdxml.3;. - - - - FreeBSD-SA-15:22.openssh - 25 August 2015 - Multiple vulnerabilities - - - - FreeBSD-SA-15:24.rpcbind - 29 September 2015 - Remote denial of service - - - - FreeBSD-SA-15:25.ntp - 26 October 2015 - Multiple vulnerabilities - - - - FreeBSD-SA-15:26.openssl - 5 December 2015 - Multiple vulnerabilities - - - - FreeBSD-SA-16:01.sctp - 14 January 2016 - ICMPv6 error message vulnerability - - - - FreeBSD-SA-16:02.ntp - 14 January 2016 - Panic threshold bypass - vulnerability - - - - FreeBSD-SA-16:03.linux - 14 January 2016 - Incorrect futex - handling - - - - FreeBSD-SA-16:04.linux - 14 January 2016 - &man.setgroups.2; system call - vulnerability - - - - FreeBSD-SA-16:05.tcp - 14 January 2016 - MD5 signature denial of service - - - - FreeBSD-SA-16:06.bsnmpd - 14 January 2016 - Insecure default configuration file - permissions - - - - FreeBSD-SA-16:07.openssh - 14 January 2016 - OpenSSH client - information leak - - - - FreeBSD-SA-16:09.ntp - 27 January 2016 - Multiple vulnerabilities. - - - - FreeBSD-SA-16:10.linux - 27 January 2016 - &man.issetugid.2; system call - vulnerability. - - - - FreeBSD-SA-16:11.openssl - 30 January 2016 - SSLv2 cipher suite downgrade - vulnerability. + From owner-svn-src-all@freebsd.org Mon Mar 7 13:43:25 2016 Return-Path: Delivered-To: svn-src-all@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 2456DAB9424; Mon, 7 Mar 2016 13:43:25 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 E9ABE9AC; Mon, 7 Mar 2016 13:43:24 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27DhNCf033019; Mon, 7 Mar 2016 13:43:23 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27DhN3a033018; Mon, 7 Mar 2016 13:43:23 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201603071343.u27DhN3a033018@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Mon, 7 Mar 2016 13:43:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296452 - stable/10/sys/dev/ixgbe X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 13:43:25 -0000 Author: sbruno Date: Mon Mar 7 13:43:23 2016 New Revision: 296452 URL: https://svnweb.freebsd.org/changeset/base/296452 Log: Spell "maximum" correctly. noted by mav@ Modified: stable/10/sys/dev/ixgbe/if_ix.c Modified: stable/10/sys/dev/ixgbe/if_ix.c ============================================================================== --- stable/10/sys/dev/ixgbe/if_ix.c Mon Mar 7 10:59:28 2016 (r296451) +++ stable/10/sys/dev/ixgbe/if_ix.c Mon Mar 7 13:43:23 2016 (r296452) @@ -332,7 +332,7 @@ SYSCTL_INT(_hw_ix, OID_AUTO, enable_msix static int ixgbe_num_queues = 0; TUNABLE_INT("hw.ix.num_queues", &ixgbe_num_queues); SYSCTL_INT(_hw_ix, OID_AUTO, num_queues, CTLFLAG_RDTUN, &ixgbe_num_queues, 0, - "Number of queues to configure up to a mximum of 8," + "Number of queues to configure up to a maximum of 8," "0 indicates autoconfigure"); /* From owner-svn-src-all@freebsd.org Mon Mar 7 14:35:33 2016 Return-Path: Delivered-To: svn-src-all@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 4B0A9AC0BA4; Mon, 7 Mar 2016 14:35:33 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1D499A63; Mon, 7 Mar 2016 14:35:33 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27EZWnO047995; Mon, 7 Mar 2016 14:35:32 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27EZWfH047994; Mon, 7 Mar 2016 14:35:32 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201603071435.u27EZWfH047994@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 7 Mar 2016 14:35:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296453 - head/sys/compat/linuxkpi/common/src X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 14:35:33 -0000 Author: hselasky Date: Mon Mar 7 14:35:31 2016 New Revision: 296453 URL: https://svnweb.freebsd.org/changeset/base/296453 Log: Run the LinuxKPI PCI shutdown handler free of the Giant mutex. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/compat/linuxkpi/common/src/linux_pci.c Modified: head/sys/compat/linuxkpi/common/src/linux_pci.c ============================================================================== --- head/sys/compat/linuxkpi/common/src/linux_pci.c Mon Mar 7 13:43:23 2016 (r296452) +++ head/sys/compat/linuxkpi/common/src/linux_pci.c Mon Mar 7 14:35:31 2016 (r296453) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2015 Mellanox Technologies, Ltd. + * Copyright (c) 2015-2016 Mellanox Technologies, Ltd. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -209,8 +209,11 @@ linux_pci_shutdown(device_t dev) struct pci_dev *pdev; pdev = device_get_softc(dev); - if (pdev->pdrv->shutdown != NULL) + if (pdev->pdrv->shutdown != NULL) { + DROP_GIANT(); pdev->pdrv->shutdown(pdev); + PICKUP_GIANT(); + } return (0); } From owner-svn-src-all@freebsd.org Mon Mar 7 14:59:51 2016 Return-Path: Delivered-To: svn-src-all@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 2A951AC14E0; Mon, 7 Mar 2016 14:59:51 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 F04496A4; Mon, 7 Mar 2016 14:59:50 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27Exo9O054152; Mon, 7 Mar 2016 14:59:50 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27ExnMc054151; Mon, 7 Mar 2016 14:59:49 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <201603071459.u27ExnMc054151@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Mon, 7 Mar 2016 14:59:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296454 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 14:59:51 -0000 Author: jtl Date: Mon Mar 7 14:59:49 2016 New Revision: 296454 URL: https://svnweb.freebsd.org/changeset/base/296454 Log: Some cleanup in tcp_respond() in preparation for another change: - Reorder variables by size - Move initializer closer to where it is used - Remove unneeded variable Differential Revision: https://reviews.freebsd.org/D4808 Reviewed by: hiren MFC after: 2 weeks Sponsored by: Juniper Networks Modified: head/sys/netinet/tcp_subr.c Modified: head/sys/netinet/tcp_subr.c ============================================================================== --- head/sys/netinet/tcp_subr.c Mon Mar 7 14:35:31 2016 (r296453) +++ head/sys/netinet/tcp_subr.c Mon Mar 7 14:59:49 2016 (r296454) @@ -864,16 +864,14 @@ void tcp_respond(struct tcpcb *tp, void *ipgen, struct tcphdr *th, struct mbuf *m, tcp_seq ack, tcp_seq seq, int flags) { - int tlen; - int win = 0; + struct inpcb *inp; struct ip *ip; struct tcphdr *nth; #ifdef INET6 struct ip6_hdr *ip6; int isipv6; #endif /* INET6 */ - int ipflags = 0; - struct inpcb *inp; + int tlen, win; KASSERT(tp != NULL || m != NULL, ("tcp_respond: tp and m both NULL")); @@ -890,6 +888,7 @@ tcp_respond(struct tcpcb *tp, void *ipge } else inp = NULL; + win = 0; if (tp != NULL) { if (!(flags & TH_RST)) { win = sbspace(&inp->inp_socket->so_rcv); @@ -1034,13 +1033,13 @@ tcp_respond(struct tcpcb *tp, void *ipge TCP_PROBE5(send, NULL, tp, mtod(m, const char *), tp, nth); #ifdef INET6 if (isipv6) - (void) ip6_output(m, NULL, NULL, ipflags, NULL, NULL, inp); + (void) ip6_output(m, NULL, NULL, 0, NULL, NULL, inp); #endif /* INET6 */ #if defined(INET) && defined(INET6) else #endif #ifdef INET - (void) ip_output(m, NULL, NULL, ipflags, NULL, inp); + (void) ip_output(m, NULL, NULL, 0, NULL, inp); #endif } From owner-svn-src-all@freebsd.org Mon Mar 7 15:00:36 2016 Return-Path: Delivered-To: svn-src-all@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 0CA4BAC1556; Mon, 7 Mar 2016 15:00:36 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 C243A885; Mon, 7 Mar 2016 15:00:35 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27F0YpR054253; Mon, 7 Mar 2016 15:00:34 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27F0Y3Q054252; Mon, 7 Mar 2016 15:00:34 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <201603071500.u27F0Y3Q054252@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Mon, 7 Mar 2016 15:00:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296455 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 15:00:36 -0000 Author: jtl Date: Mon Mar 7 15:00:34 2016 New Revision: 296455 URL: https://svnweb.freebsd.org/changeset/base/296455 Log: As reported on the transport@ and current@ mailing lists, the FreeBSD TCP stack is not compliant with RFC 7323, which requires that TCP stacks send a timestamp option on all packets (except, optionally, RSTs) after the session is established. This patch adds that support. It also adds a TCP signature option to the packet, if appropriate. PR: 206047 Differential Revision: https://reviews.freebsd.org/D4808 Reviewed by: hiren MFC after: 2 weeks Sponsored by: Juniper Networks Modified: head/sys/netinet/tcp_subr.c Modified: head/sys/netinet/tcp_subr.c ============================================================================== --- head/sys/netinet/tcp_subr.c Mon Mar 7 14:59:49 2016 (r296454) +++ head/sys/netinet/tcp_subr.c Mon Mar 7 15:00:34 2016 (r296455) @@ -864,14 +864,18 @@ void tcp_respond(struct tcpcb *tp, void *ipgen, struct tcphdr *th, struct mbuf *m, tcp_seq ack, tcp_seq seq, int flags) { + struct tcpopt to; struct inpcb *inp; struct ip *ip; + struct mbuf *optm; struct tcphdr *nth; + u_char *optp; #ifdef INET6 struct ip6_hdr *ip6; int isipv6; #endif /* INET6 */ - int tlen, win; + int optlen, tlen, win; + bool incl_opts; KASSERT(tp != NULL || m != NULL, ("tcp_respond: tp and m both NULL")); @@ -888,6 +892,7 @@ tcp_respond(struct tcpcb *tp, void *ipge } else inp = NULL; + incl_opts = false; win = 0; if (tp != NULL) { if (!(flags & TH_RST)) { @@ -895,12 +900,13 @@ tcp_respond(struct tcpcb *tp, void *ipge if (win > (long)TCP_MAXWIN << tp->rcv_scale) win = (long)TCP_MAXWIN << tp->rcv_scale; } + if ((tp->t_flags & TF_NOOPT) == 0) + incl_opts = true; } if (m == NULL) { m = m_gethdr(M_NOWAIT, MT_DATA); if (m == NULL) return; - tlen = 0; m->m_data += max_linkhdr; #ifdef INET6 if (isipv6) { @@ -926,7 +932,6 @@ tcp_respond(struct tcpcb *tp, void *ipge m->m_next = NULL; m->m_data = (caddr_t)ipgen; /* m_len is set later */ - tlen = 0; #define xchg(a,b,type) { type t; t=a; a=b; b=t; } #ifdef INET6 if (isipv6) { @@ -950,12 +955,64 @@ tcp_respond(struct tcpcb *tp, void *ipge xchg(nth->th_dport, nth->th_sport, uint16_t); #undef xchg } + tlen = 0; +#ifdef INET6 + if (isipv6) + tlen = sizeof (struct ip6_hdr) + sizeof (struct tcphdr); +#endif +#if defined(INET) && defined(INET6) + else +#endif +#ifdef INET + tlen = sizeof (struct tcpiphdr); +#endif +#ifdef INVARIANTS + m->m_len = 0; + KASSERT(M_TRAILINGSPACE(m) >= tlen, + ("Not enough trailing space for message (m=%p, need=%d, have=%ld)", + m, tlen, (long)M_TRAILINGSPACE(m))); +#endif + m->m_len = tlen; + to.to_flags = 0; + if (incl_opts) { + /* Make sure we have room. */ + if (M_TRAILINGSPACE(m) < TCP_MAXOLEN) { + m->m_next = m_get(M_NOWAIT, MT_DATA); + if (m->m_next) { + optp = mtod(m->m_next, u_char *); + optm = m->m_next; + } else + incl_opts = false; + } else { + optp = (u_char *) (nth + 1); + optm = m; + } + } + if (incl_opts) { + /* Timestamps. */ + if (tp->t_flags & TF_RCVD_TSTMP) { + to.to_tsval = tcp_ts_getticks() + tp->ts_offset; + to.to_tsecr = tp->ts_recent; + to.to_flags |= TOF_TS; + } +#ifdef TCP_SIGNATURE + /* TCP-MD5 (RFC2385). */ + if (tp->t_flags & TF_SIGNATURE) + to.to_flags |= TOF_SIGNATURE; +#endif + + /* Add the options. */ + tlen += optlen = tcp_addoptions(&to, optp); + + /* Update m_len in the correct mbuf. */ + optm->m_len += optlen; + } else + optlen = 0; #ifdef INET6 if (isipv6) { ip6->ip6_flow = 0; ip6->ip6_vfc = IPV6_VERSION; ip6->ip6_nxt = IPPROTO_TCP; - tlen += sizeof (struct ip6_hdr) + sizeof (struct tcphdr); ip6->ip6_plen = htons(tlen - sizeof(*ip6)); } #endif @@ -964,14 +1021,12 @@ tcp_respond(struct tcpcb *tp, void *ipge #endif #ifdef INET { - tlen += sizeof (struct tcpiphdr); ip->ip_len = htons(tlen); ip->ip_ttl = V_ip_defttl; if (V_path_mtu_discovery) ip->ip_off |= htons(IP_DF); } #endif - m->m_len = tlen; m->m_pkthdr.len = tlen; m->m_pkthdr.rcvif = NULL; #ifdef MAC @@ -993,7 +1048,7 @@ tcp_respond(struct tcpcb *tp, void *ipge nth->th_seq = htonl(seq); nth->th_ack = htonl(ack); nth->th_x2 = 0; - nth->th_off = sizeof (struct tcphdr) >> 2; + nth->th_off = (sizeof (struct tcphdr) + optlen) >> 2; nth->th_flags = flags; if (tp != NULL) nth->th_win = htons((u_short) (win >> tp->rcv_scale)); @@ -1001,6 +1056,13 @@ tcp_respond(struct tcpcb *tp, void *ipge nth->th_win = htons((u_short)win); nth->th_urp = 0; +#ifdef TCP_SIGNATURE + if (to.to_flags & TOF_SIGNATURE) { + tcp_signature_compute(m, 0, 0, optlen, to.to_signature, + IPSEC_DIR_OUTBOUND); + } +#endif + m->m_pkthdr.csum_data = offsetof(struct tcphdr, th_sum); #ifdef INET6 if (isipv6) { From owner-svn-src-all@freebsd.org Mon Mar 7 15:21:01 2016 Return-Path: Delivered-To: svn-src-all@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 E49D5AC1CEB; Mon, 7 Mar 2016 15:21:01 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C044BD9; Mon, 7 Mar 2016 15:21:01 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27FL0xI062794; Mon, 7 Mar 2016 15:21:00 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27FL0p2062786; Mon, 7 Mar 2016 15:21:00 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201603071521.u27FL0p2062786@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Mon, 7 Mar 2016 15:21:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296456 - in stable/9/contrib/gcc: . doc X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 15:21:02 -0000 Author: pfg Date: Mon Mar 7 15:20:59 2016 New Revision: 296456 URL: https://svnweb.freebsd.org/changeset/base/296456 Log: Revert r286714: Add a new option "-fstack-protector-strong". The stack-protector-strong option was causing problems when building perl5. This was never within the official featureset of the older GCC 4.x toolchain so just drop it to avoid patching the perl port. PR: 205307 Modified: stable/9/contrib/gcc/c-cppbuiltin.c stable/9/contrib/gcc/cfgexpand.c stable/9/contrib/gcc/common.opt stable/9/contrib/gcc/doc/cpp.texi stable/9/contrib/gcc/doc/gcc.1 stable/9/contrib/gcc/doc/invoke.texi stable/9/contrib/gcc/gcc.c Directory Properties: stable/9/contrib/gcc/ (props changed) Modified: stable/9/contrib/gcc/c-cppbuiltin.c ============================================================================== --- stable/9/contrib/gcc/c-cppbuiltin.c Mon Mar 7 15:00:34 2016 (r296455) +++ stable/9/contrib/gcc/c-cppbuiltin.c Mon Mar 7 15:20:59 2016 (r296456) @@ -545,9 +545,7 @@ c_cpp_builtins (cpp_reader *pfile) /* Make the choice of the stack protector runtime visible to source code. The macro names and values here were chosen for compatibility with an earlier implementation, i.e. ProPolice. */ - if (flag_stack_protect == 3) - cpp_define (pfile, "__SSP_STRONG__=3"); - else if (flag_stack_protect == 2) + if (flag_stack_protect == 2) cpp_define (pfile, "__SSP_ALL__=2"); else if (flag_stack_protect == 1) cpp_define (pfile, "__SSP__=1"); Modified: stable/9/contrib/gcc/cfgexpand.c ============================================================================== --- stable/9/contrib/gcc/cfgexpand.c Mon Mar 7 15:00:34 2016 (r296455) +++ stable/9/contrib/gcc/cfgexpand.c Mon Mar 7 15:20:59 2016 (r296456) @@ -810,12 +810,6 @@ clear_tree_used (tree block) clear_tree_used (t); } -enum { - SPCT_FLAG_DEFAULT = 1, - SPCT_FLAG_ALL = 2, - SPCT_FLAG_STRONG = 3 -}; - /* Examine TYPE and determine a bit mask of the following features. */ #define SPCT_HAS_LARGE_CHAR_ARRAY 1 @@ -885,8 +879,7 @@ stack_protect_decl_phase (tree decl) if (bits & SPCT_HAS_SMALL_CHAR_ARRAY) has_short_buffer = true; - if (flag_stack_protect == SPCT_FLAG_ALL - || flag_stack_protect == SPCT_FLAG_STRONG) + if (flag_stack_protect == 2) { if ((bits & (SPCT_HAS_SMALL_CHAR_ARRAY | SPCT_HAS_LARGE_CHAR_ARRAY)) && !(bits & SPCT_HAS_AGGREGATE)) @@ -954,36 +947,12 @@ create_stack_guard (void) cfun->stack_protect_guard = guard; } -/* Helper routine to check if a record or union contains an array field. */ - -static int -record_or_union_type_has_array_p (tree tree_type) -{ - tree fields = TYPE_FIELDS (tree_type); - tree f; - - for (f = fields; f; f = TREE_CHAIN (f)) - if (TREE_CODE (f) == FIELD_DECL) - { - tree field_type = TREE_TYPE (f); - if ((TREE_CODE (field_type) == RECORD_TYPE - || TREE_CODE (field_type) == UNION_TYPE - || TREE_CODE (field_type) == QUAL_UNION_TYPE) - && record_or_union_type_has_array_p (field_type)) - return 1; - if (TREE_CODE (field_type) == ARRAY_TYPE) - return 1; - } - return 0; -} - /* Expand all variables used in the function. */ static void expand_used_vars (void) { tree t, outer_block = DECL_INITIAL (current_function_decl); - bool gen_stack_protect_signal = false; /* Compute the phase of the stack frame for this function. */ { @@ -1003,29 +972,6 @@ expand_used_vars (void) has_protected_decls = false; has_short_buffer = false; - if (flag_stack_protect == SPCT_FLAG_STRONG) - for (t = cfun->unexpanded_var_list; t; t = TREE_CHAIN (t)) - { - tree var = TREE_VALUE (t); - if (!is_global_var (var)) - { - tree var_type = TREE_TYPE (var); - /* Examine local referenced variables that have their addresses - * taken, contain an array, or are arrays. */ - if (TREE_CODE (var) == VAR_DECL - && (TREE_CODE (var_type) == ARRAY_TYPE - || TREE_ADDRESSABLE (var) - || ((TREE_CODE (var_type) == RECORD_TYPE - || TREE_CODE (var_type) == UNION_TYPE - || TREE_CODE (var_type) == QUAL_UNION_TYPE) - && record_or_union_type_has_array_p (var_type)))) - { - gen_stack_protect_signal = true; - break; - } - } - } - /* At this point all variables on the unexpanded_var_list with TREE_USED set are not associated with any block scope. Lay them out. */ for (t = cfun->unexpanded_var_list; t; t = TREE_CHAIN (t)) @@ -1086,26 +1032,12 @@ expand_used_vars (void) dump_stack_var_partition (); } - switch (flag_stack_protect) - { - case SPCT_FLAG_ALL: - create_stack_guard (); - break; - - case SPCT_FLAG_STRONG: - if (gen_stack_protect_signal - || current_function_calls_alloca || has_protected_decls) - create_stack_guard (); - break; - - case SPCT_FLAG_DEFAULT: - if (current_function_calls_alloca || has_protected_decls) - create_stack_guard(); - break; - - default: - ; - } + /* There are several conditions under which we should create a + stack guard: protect-all, alloca used, protected decls present. */ + if (flag_stack_protect == 2 + || (flag_stack_protect + && (current_function_calls_alloca || has_protected_decls))) + create_stack_guard (); /* Assign rtl to each variable based on these partitions. */ if (stack_vars_num > 0) Modified: stable/9/contrib/gcc/common.opt ============================================================================== --- stable/9/contrib/gcc/common.opt Mon Mar 7 15:00:34 2016 (r296455) +++ stable/9/contrib/gcc/common.opt Mon Mar 7 15:20:59 2016 (r296456) @@ -878,10 +878,6 @@ fstack-protector-all Common Report RejectNegative Var(flag_stack_protect, 2) VarExists Use a stack protection method for every function -fstack-protector-strong -Common Report RejectNegative Var(flag_stack_protect, 3) -Use a smart stack protection method for certain functions - fstrength-reduce Common Does nothing. Preserved for backward compatibility. Modified: stable/9/contrib/gcc/doc/cpp.texi ============================================================================== --- stable/9/contrib/gcc/doc/cpp.texi Mon Mar 7 15:00:34 2016 (r296455) +++ stable/9/contrib/gcc/doc/cpp.texi Mon Mar 7 15:20:59 2016 (r296456) @@ -2134,10 +2134,6 @@ use. This macro is defined, with value 2, when @option{-fstack-protector-all} is in use. -@item __SSP_STRONG__ -This macro is defined, with value 3, when @option{-fstack-protector-strong} is -in use. - @item __TIMESTAMP__ This macro expands to a string constant that describes the date and time of the last modification of the current source file. The string constant Modified: stable/9/contrib/gcc/doc/gcc.1 ============================================================================== --- stable/9/contrib/gcc/doc/gcc.1 Mon Mar 7 15:00:34 2016 (r296455) +++ stable/9/contrib/gcc/doc/gcc.1 Mon Mar 7 15:20:59 2016 (r296456) @@ -339,7 +339,7 @@ in the following sections. \&\fB\-fsched2\-use\-superblocks \&\-fsched2\-use\-traces \-fsee \-freschedule\-modulo\-scheduled\-loops \&\-fsection\-anchors \-fsignaling\-nans \-fsingle\-precision\-constant -\&\-fstack\-protector \-fstack\-protector\-all \-fstack\-protector\-strong +\&\-fstack\-protector \-fstack\-protector\-all \&\-fstrict\-aliasing \-fstrict\-overflow \-ftracer \-fthread\-jumps \&\-funroll\-all\-loops \-funroll\-loops \-fpeel\-loops \&\-fsplit\-ivs\-in\-unroller \-funswitch\-loops @@ -5193,11 +5193,6 @@ If a guard check fails, an error message .IP "\fB\-fstack\-protector\-all\fR" 4 .IX Item "-fstack-protector-all" Like \fB\-fstack\-protector\fR except that all functions are protected. -.IP "\fB\-fstack\-protector\-strong\fR" 4 -.IX Item "-fstack-protector-strong" -Like \fB\-fstack\-protector\fR but includes additional functions to -be protected \-\-\- those that have local array definitions, or have -references to local frame addresses. .IP "\fB\-fsection\-anchors\fR" 4 .IX Item "-fsection-anchors" Try to reduce the number of symbolic address calculations by using Modified: stable/9/contrib/gcc/doc/invoke.texi ============================================================================== --- stable/9/contrib/gcc/doc/invoke.texi Mon Mar 7 15:00:34 2016 (r296455) +++ stable/9/contrib/gcc/doc/invoke.texi Mon Mar 7 15:20:59 2016 (r296456) @@ -325,7 +325,7 @@ in the following sections. -fsched2-use-superblocks @gol -fsched2-use-traces -fsee -freschedule-modulo-scheduled-loops @gol -fsection-anchors -fsignaling-nans -fsingle-precision-constant @gol --fstack-protector -fstack-protector-all -fstack-protector-strong @gol +-fstack-protector -fstack-protector-all @gol -fstrict-aliasing -fstrict-overflow -ftracer -fthread-jumps @gol -funroll-all-loops -funroll-loops -fpeel-loops @gol -fsplit-ivs-in-unroller -funswitch-loops @gol @@ -5786,11 +5786,6 @@ If a guard check fails, an error message @item -fstack-protector-all Like @option{-fstack-protector} except that all functions are protected. -@item -fstack-protector-strong -Like @option{-fstack-protector} but includes additional functions to -be protected --- those that have local array definitions, or have -references to local frame addresses. - @item -fsection-anchors @opindex fsection-anchors Try to reduce the number of symbolic address calculations by using Modified: stable/9/contrib/gcc/gcc.c ============================================================================== --- stable/9/contrib/gcc/gcc.c Mon Mar 7 15:00:34 2016 (r296455) +++ stable/9/contrib/gcc/gcc.c Mon Mar 7 15:20:59 2016 (r296456) @@ -680,7 +680,7 @@ proper position among the other output f #ifdef TARGET_LIBC_PROVIDES_SSP #define LINK_SSP_SPEC "%{fstack-protector:}" #else -#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-strong|fstack-protector-all:-lssp_nonshared -lssp}" +#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all:-lssp_nonshared -lssp}" #endif #endif From owner-svn-src-all@freebsd.org Mon Mar 7 15:39:55 2016 Return-Path: Delivered-To: svn-src-all@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 EC63FAC2619 for ; Mon, 7 Mar 2016 15:39:55 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from pmta2.delivery6.ore.mailhop.org (pmta2.delivery6.ore.mailhop.org [54.200.129.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CD4A4F16 for ; Mon, 7 Mar 2016 15:39:55 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-User: 126b9f51-e47b-11e5-8de6-958346fd02ba X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 73.34.117.227 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [73.34.117.227]) by outbound2.ore.mailhop.org (Halon Mail Gateway) with ESMTPSA; Mon, 7 Mar 2016 15:41:34 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.14.9) with ESMTP id u27Fdlgq001184; Mon, 7 Mar 2016 08:39:47 -0700 (MST) (envelope-from ian@freebsd.org) Message-ID: <1457365187.13785.174.camel@freebsd.org> Subject: Re: svn commit: r296428 - head/sys/boot/common From: Ian Lepore To: Dimitry Andric , Julian Elischer Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Date: Mon, 07 Mar 2016 08:39:47 -0700 In-Reply-To: References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.16.5 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 15:39:56 -0000 On Mon, 2016-03-07 at 08:41 +0100, Dimitry Andric wrote: > On 07 Mar 2016, at 02:11, Julian Elischer wrote: > > > > On 6/03/2016 7:57 AM, Dimitry Andric wrote: > > > Author: dim > > > Date: Sun Mar 6 15:57:43 2016 > > > New Revision: 296428 > > > URL: https://svnweb.freebsd.org/changeset/base/296428 > > > > > > Log: > > > Since kernel modules can now contain sections of type > > > SHT_AMD64_UNWIND, > > > the boot loader should not skip over these anymore while > > > loading images. > > > Otherwise the kernel can still panic when it doesn't find the > > > .eh_frame > > > section belonging to the .rela.eh_frame section. > > > Unfortunately this will require installing boot loaders from > > > sys/boot > > > before attempting to boot with a new kernel. > > > > what happens to someone who doesn't replace their bootblocks? > > Or is this just the loader? > > This just about the loaders, e.g. loader, loader.efi and zfsloader. > > > > The general way we have handled this sort of thing in the past is > > that we do something > > that produces a nagging message for a decent time before it becomes > > mandatory. > > > > I don't like the idea of people being caught unaware by this.. > > > > Can you please give a more detailed description of what happens? > > If you preload modules with .eh_frame sections in them (such as > aesni.ko) from your loader.conf, your kernel will panic very early in > the boot. > > If you don't preload any modules, or load only modules without > .eh_frame > sections (most of of them), there is no issue at all. > > -Dimitry > Is there no way to prevent the panic other than making the unwind data be present? Why can't the kernel be fixed to cope with the missing data in some gentler way during a transition period? Perhaps valid-but -fake data could be generated if necessary? Being unable to get a stack traceback through a loaded module would be a small price to pay for trouble-free updgrades. -- Ian From owner-svn-src-all@freebsd.org Mon Mar 7 15:52:23 2016 Return-Path: Delivered-To: svn-src-all@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 EFDFAAC2F75; Mon, 7 Mar 2016 15:52:23 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 702B6F67; Mon, 7 Mar 2016 15:52:23 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id u27FqHWS074879 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Mon, 7 Mar 2016 17:52:18 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua u27FqHWS074879 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id u27FqH7p074878; Mon, 7 Mar 2016 17:52:17 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 7 Mar 2016 17:52:17 +0200 From: Konstantin Belousov To: Ian Lepore Cc: Dimitry Andric , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296428 - head/sys/boot/common Message-ID: <20160307155217.GJ67250@kib.kiev.ua> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1457365187.13785.174.camel@freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 15:52:24 -0000 On Mon, Mar 07, 2016 at 08:39:47AM -0700, Ian Lepore wrote: > Is there no way to prevent the panic other than making the unwind data > be present? Why can't the kernel be fixed to cope with the missing > data in some gentler way during a transition period? Perhaps valid-but > -fake data could be generated if necessary? Being unable to get a > stack traceback through a loaded module would be a small price to pay > for trouble-free updgrades. It is practically impossible to recover from partially-loaded object file' module. The loader workaround currently only affects HEAD and since the MFC was done, 10.3 should be safe. We always required lastest stable for the jump to next major branch. What could be done is demoting the panics (there are several, besides the one which was triggered) to a message and refusing to load the affected module. OTOH, if the reaction would be a message and not panic, it definitely go ignored for quite some time. From owner-svn-src-all@freebsd.org Mon Mar 7 15:52:53 2016 Return-Path: Delivered-To: svn-src-all@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 02B81AC2FF1; Mon, 7 Mar 2016 15:52:53 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C8025188; Mon, 7 Mar 2016 15:52:52 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27Fqpo7073635; Mon, 7 Mar 2016 15:52:51 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27FqpMm073634; Mon, 7 Mar 2016 15:52:51 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201603071552.u27FqpMm073634@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Mon, 7 Mar 2016 15:52:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296458 - stable/10/sys/dev/firewire X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 15:52:53 -0000 Author: pfg Date: Mon Mar 7 15:52:51 2016 New Revision: 296458 URL: https://svnweb.freebsd.org/changeset/base/296458 Log: MFC r295810: firewire: fix a mismatch introduced in r230558. Found by: PVS Static Analysis Reviewed by: sbruno Modified: stable/10/sys/dev/firewire/sbp_targ.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/firewire/sbp_targ.c ============================================================================== --- stable/10/sys/dev/firewire/sbp_targ.c Mon Mar 7 15:44:54 2016 (r296457) +++ stable/10/sys/dev/firewire/sbp_targ.c Mon Mar 7 15:52:51 2016 (r296458) @@ -1327,7 +1327,7 @@ sbp_targ_action1(struct cam_sim *sim, un | PIT_DISCONNECT | PIT_TERM_IO; cpi->transport = XPORT_SPI; /* FIXME add XPORT_FW type to cam */ - cpi->hba_misc = PIM_NOBUSRESET | PIM_NOBUSRESET; + cpi->hba_misc = PIM_NOBUSRESET | PIM_NO_6_BYTE; cpi->hba_eng_cnt = 0; cpi->max_target = 7; /* XXX */ cpi->max_lun = MAX_LUN - 1; From owner-svn-src-all@freebsd.org Mon Mar 7 16:05:55 2016 Return-Path: Delivered-To: svn-src-all@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 4D65DAC3704; Mon, 7 Mar 2016 16:05:55 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1C40DC50; Mon, 7 Mar 2016 16:05:55 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27G5sPe076721; Mon, 7 Mar 2016 16:05:54 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27G5sM9076720; Mon, 7 Mar 2016 16:05:54 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201603071605.u27G5sM9076720@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Mon, 7 Mar 2016 16:05:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296459 - stable/10/sys/dev/pms/freebsd/driver/ini/src X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 16:05:55 -0000 Author: pfg Date: Mon Mar 7 16:05:53 2016 New Revision: 296459 URL: https://svnweb.freebsd.org/changeset/base/296459 Log: MFC r295861: ostiInitiatorIOCompleted(): wrong sizeof() argument. Detected by: PVS Static Analysis CID: 1331601, 1331523 Modified: stable/10/sys/dev/pms/freebsd/driver/ini/src/osapi.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/pms/freebsd/driver/ini/src/osapi.c ============================================================================== --- stable/10/sys/dev/pms/freebsd/driver/ini/src/osapi.c Mon Mar 7 15:52:51 2016 (r296458) +++ stable/10/sys/dev/pms/freebsd/driver/ini/src/osapi.c Mon Mar 7 16:05:53 2016 (r296459) @@ -313,7 +313,7 @@ ostiInitiatorIOCompleted(tiRoot_t * } sense_len = MIN( pSenseData->senseLen, pccb->senseLen - csio->sense_resid ); - bzero(&csio->sense_data, sizeof(&csio->sense_data)); + bzero(&csio->sense_data, sizeof(csio->sense_data)); AGTIAPI_PRINTK("ostiInitiatorIOCompleted: check condition copying\n"); memcpy( (void *)pccb->pSenseData, pSenseData->senseData, From owner-svn-src-all@freebsd.org Mon Mar 7 16:12:06 2016 Return-Path: Delivered-To: svn-src-all@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 547B6AC3947; Mon, 7 Mar 2016 16:12:06 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 23963EF; Mon, 7 Mar 2016 16:12:06 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27GC52b077635; Mon, 7 Mar 2016 16:12:05 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27GC5Ru077634; Mon, 7 Mar 2016 16:12:05 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201603071612.u27GC5Ru077634@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Mon, 7 Mar 2016 16:12:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296460 - stable/10/usr.sbin/cron/cron X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 16:12:06 -0000 Author: pfg Date: Mon Mar 7 16:12:04 2016 New Revision: 296460 URL: https://svnweb.freebsd.org/changeset/base/296460 Log: MFC r295671: cron: use (char *)NULL instead of (char *)0 in execle. Obtained from: OpenBSD (CVS Rev 1.25) Modified: stable/10/usr.sbin/cron/cron/do_command.c Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.sbin/cron/cron/do_command.c ============================================================================== --- stable/10/usr.sbin/cron/cron/do_command.c Mon Mar 7 16:05:53 2016 (r296459) +++ stable/10/usr.sbin/cron/cron/do_command.c Mon Mar 7 16:12:04 2016 (r296460) @@ -337,8 +337,9 @@ child_process(e, u) _exit(OK_EXIT); } # endif /*DEBUGGING*/ - execle(shell, shell, "-c", e->cmd, (char *)0, e->envp); - warn("execl: couldn't exec `%s'", shell); + execle(shell, shell, "-c", e->cmd, (char *)NULL, + e->envp); + warn("execle: couldn't exec `%s'", shell); _exit(ERROR_EXIT); } break; From owner-svn-src-all@freebsd.org Mon Mar 7 16:13:56 2016 Return-Path: Delivered-To: svn-src-all@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 061A2AC3AC7; Mon, 7 Mar 2016 16:13:56 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CC4F532C; Mon, 7 Mar 2016 16:13:55 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27GDs3I079704; Mon, 7 Mar 2016 16:13:54 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27GDseu079703; Mon, 7 Mar 2016 16:13:54 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201603071613.u27GDseu079703@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Mon, 7 Mar 2016 16:13:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296461 - stable/9/usr.sbin/cron/cron X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 16:13:56 -0000 Author: pfg Date: Mon Mar 7 16:13:54 2016 New Revision: 296461 URL: https://svnweb.freebsd.org/changeset/base/296461 Log: MFC r295671: cron: use (char *)NULL instead of (char *)0 in execle. Obtained from: OpenBSD (CVS Rev 1.25) Modified: stable/9/usr.sbin/cron/cron/do_command.c Modified: stable/9/usr.sbin/cron/cron/do_command.c ============================================================================== --- stable/9/usr.sbin/cron/cron/do_command.c Mon Mar 7 16:12:04 2016 (r296460) +++ stable/9/usr.sbin/cron/cron/do_command.c Mon Mar 7 16:13:54 2016 (r296461) @@ -337,8 +337,9 @@ child_process(e, u) _exit(OK_EXIT); } # endif /*DEBUGGING*/ - execle(shell, shell, "-c", e->cmd, (char *)0, e->envp); - warn("execl: couldn't exec `%s'", shell); + execle(shell, shell, "-c", e->cmd, (char *)NULL, + e->envp); + warn("execle: couldn't exec `%s'", shell); _exit(ERROR_EXIT); } break; From owner-svn-src-all@freebsd.org Mon Mar 7 16:18:08 2016 Return-Path: Delivered-To: svn-src-all@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 E88BCAC3CC8; Mon, 7 Mar 2016 16:18:08 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 875BB849; Mon, 7 Mar 2016 16:18:08 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27GI7fJ079906; Mon, 7 Mar 2016 16:18:07 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27GI736079901; Mon, 7 Mar 2016 16:18:07 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201603071618.u27GI736079901@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Mon, 7 Mar 2016 16:18:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296462 - in stable/9: crypto/openssl/crypto/bio crypto/openssl/crypto/bn crypto/openssl/doc/apps crypto/openssl/ssl secure/usr.bin/openssl/man X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 16:18:09 -0000 Author: delphij Date: Mon Mar 7 16:18:07 2016 New Revision: 296462 URL: https://svnweb.freebsd.org/changeset/base/296462 Log: Fix multiple OpenSSL vulnerabilities as published in OpenSSL advisory on 2016/03/01: constant-time MOD_EXP_CTIME_COPY_FROM_PREBUF. [CVE-2016-0702, upstream d6482a8. 5ea08bd, d6d422e, 8fc8f48 317be63 skipped intentionally as we are not using the code on FreeBSD. Backport done by jkim@. Fix memory issues in BIO_*printf functions. [CVE-2016-0799, upstream d889682, a801bf2]. Fix BN_hex2bn/BN_dec2bn NULL ptr/heap corruption. [CVE-2016-0797, upstream 8f65132]. Disable SSLv2 in default negotiation and weak ciphers. [CVE-2016-0800 "DROWN", upstream 56f1acf5]. Note that support of SSLv2 is not removed in order to preserve ABI compatibility, and application may still explicitly ask for vulnerable protocol or ciphers. In collaboration with: jkim Modified: stable/9/crypto/openssl/crypto/bio/b_print.c stable/9/crypto/openssl/crypto/bn/bn.h stable/9/crypto/openssl/crypto/bn/bn_exp.c stable/9/crypto/openssl/crypto/bn/bn_print.c stable/9/crypto/openssl/doc/apps/ciphers.pod stable/9/crypto/openssl/ssl/s2_lib.c stable/9/crypto/openssl/ssl/ssl_lib.c stable/9/secure/usr.bin/openssl/man/ciphers.1 Modified: stable/9/crypto/openssl/crypto/bio/b_print.c ============================================================================== --- stable/9/crypto/openssl/crypto/bio/b_print.c Mon Mar 7 16:13:54 2016 (r296461) +++ stable/9/crypto/openssl/crypto/bio/b_print.c Mon Mar 7 16:18:07 2016 (r296462) @@ -122,20 +122,20 @@ # define LLONG long long # endif #else -# define LLONG long -#endif - -static void fmtstr(char **, char **, size_t *, size_t *, - const char *, int, int, int); -static void fmtint(char **, char **, size_t *, size_t *, - LLONG, int, int, int, int); -static void fmtfp(char **, char **, size_t *, size_t *, - LDOUBLE, int, int, int); -static void doapr_outch(char **, char **, size_t *, size_t *, int); -static void _dopr(char **sbuffer, char **buffer, - size_t *maxlen, size_t *retlen, int *truncated, - const char *format, va_list args); - +# define LLONG long +#endif + +static int fmtstr(char **, char **, size_t *, size_t *, + const char *, int, int, int); +static int fmtint(char **, char **, size_t *, size_t *, + LLONG, int, int, int, int); +static int fmtfp(char **, char **, size_t *, size_t *, + LDOUBLE, int, int, int); +static int doapr_outch(char **, char **, size_t *, size_t *, int); +static int _dopr(char **sbuffer, char **buffer, + size_t *maxlen, size_t *retlen, int *truncated, + const char *format, va_list args); + /* format read states */ #define DP_S_DEFAULT 0 #define DP_S_FLAGS 1 @@ -162,13 +162,13 @@ static void _dopr(char **sbuffer, char * #define DP_C_LLONG 4 /* some handy macros */ -#define char_to_int(p) (p - '0') -#define OSSL_MAX(p,q) ((p >= q) ? p : q) - -static void -_dopr(char **sbuffer, - char **buffer, - size_t *maxlen, +#define char_to_int(p) (p - '0') +#define OSSL_MAX(p,q) ((p >= q) ? p : q) + +static int +_dopr(char **sbuffer, + char **buffer, + size_t *maxlen, size_t *retlen, int *truncated, const char *format, va_list args) { char ch; @@ -193,13 +193,14 @@ _dopr(char **sbuffer, switch (state) { case DP_S_DEFAULT: - if (ch == '%') - state = DP_S_FLAGS; - else - doapr_outch(sbuffer, buffer, &currlen, maxlen, ch); - ch = *format++; - break; - case DP_S_FLAGS: + if (ch == '%') + state = DP_S_FLAGS; + else + if(!doapr_outch(sbuffer, buffer, &currlen, maxlen, ch)) + return 0; + ch = *format++; + break; + case DP_S_FLAGS: switch (ch) { case '-': flags |= DP_F_MINUS; @@ -299,14 +300,15 @@ _dopr(char **sbuffer, value = va_arg(args, LLONG); break; default: - value = va_arg(args, int); - break; - } - fmtint(sbuffer, buffer, &currlen, maxlen, - value, 10, min, max, flags); - break; - case 'X': - flags |= DP_F_UP; + value = va_arg(args, int); + break; + } + if (!fmtint(sbuffer, buffer, &currlen, maxlen, value, 10, min, + max, flags)) + return 0; + break; + case 'X': + flags |= DP_F_UP; /* FALLTHROUGH */ case 'x': case 'o': @@ -323,23 +325,25 @@ _dopr(char **sbuffer, value = va_arg(args, unsigned LLONG); break; default: - value = (LLONG) va_arg(args, unsigned int); - break; - } - fmtint(sbuffer, buffer, &currlen, maxlen, value, - ch == 'o' ? 8 : (ch == 'u' ? 10 : 16), - min, max, flags); - break; - case 'f': - if (cflags == DP_C_LDOUBLE) - fvalue = va_arg(args, LDOUBLE); - else - fvalue = va_arg(args, double); - fmtfp(sbuffer, buffer, &currlen, maxlen, - fvalue, min, max, flags); - break; - case 'E': - flags |= DP_F_UP; + value = (LLONG) va_arg(args, unsigned int); + break; + } + if (!fmtint(sbuffer, buffer, &currlen, maxlen, value, + ch == 'o' ? 8 : (ch == 'u' ? 10 : 16), + min, max, flags)) + return 0; + break; + case 'f': + if (cflags == DP_C_LDOUBLE) + fvalue = va_arg(args, LDOUBLE); + else + fvalue = va_arg(args, double); + if (!fmtfp(sbuffer, buffer, &currlen, maxlen, fvalue, min, max, + flags)) + return 0; + break; + case 'E': + flags |= DP_F_UP; case 'e': if (cflags == DP_C_LDOUBLE) fvalue = va_arg(args, LDOUBLE); @@ -352,30 +356,33 @@ _dopr(char **sbuffer, if (cflags == DP_C_LDOUBLE) fvalue = va_arg(args, LDOUBLE); else - fvalue = va_arg(args, double); - break; - case 'c': - doapr_outch(sbuffer, buffer, &currlen, maxlen, - va_arg(args, int)); - break; - case 's': - strvalue = va_arg(args, char *); + fvalue = va_arg(args, double); + break; + case 'c': + if(!doapr_outch(sbuffer, buffer, &currlen, maxlen, + va_arg(args, int))) + return 0; + break; + case 's': + strvalue = va_arg(args, char *); if (max < 0) { if (buffer) max = INT_MAX; - else - max = *maxlen; - } - fmtstr(sbuffer, buffer, &currlen, maxlen, strvalue, - flags, min, max); - break; - case 'p': - value = (long)va_arg(args, void *); - fmtint(sbuffer, buffer, &currlen, maxlen, - value, 16, min, max, flags | DP_F_NUM); - break; - case 'n': /* XXX */ - if (cflags == DP_C_SHORT) { + else + max = *maxlen; + } + if (!fmtstr(sbuffer, buffer, &currlen, maxlen, strvalue, + flags, min, max)) + return 0; + break; + case 'p': + value = (long)va_arg(args, void *); + if (!fmtint(sbuffer, buffer, &currlen, maxlen, + value, 16, min, max, flags | DP_F_NUM)) + return 0; + break; + case 'n': /* XXX */ + if (cflags == DP_C_SHORT) { short int *num; num = va_arg(args, short int *); *num = currlen; @@ -391,13 +398,14 @@ _dopr(char **sbuffer, int *num; num = va_arg(args, int *); *num = currlen; - } - break; - case '%': - doapr_outch(sbuffer, buffer, &currlen, maxlen, ch); - break; - case 'w': - /* not supported yet, treat as next char */ + } + break; + case '%': + if(!doapr_outch(sbuffer, buffer, &currlen, maxlen, ch)) + return 0; + break; + case 'w': + /* not supported yet, treat as next char */ ch = *format++; break; default: @@ -415,52 +423,62 @@ _dopr(char **sbuffer, break; } } - *truncated = (currlen > *maxlen - 1); - if (*truncated) - currlen = *maxlen - 1; - doapr_outch(sbuffer, buffer, &currlen, maxlen, '\0'); - *retlen = currlen - 1; - return; -} - -static void -fmtstr(char **sbuffer, - char **buffer, - size_t *currlen, - size_t *maxlen, const char *value, int flags, int min, int max) -{ - int padlen, strln; - int cnt = 0; - - if (value == 0) - value = ""; - for (strln = 0; value[strln]; ++strln) ; - padlen = min - strln; - if (padlen < 0) - padlen = 0; - if (flags & DP_F_MINUS) - padlen = -padlen; - - while ((padlen > 0) && (cnt < max)) { - doapr_outch(sbuffer, buffer, currlen, maxlen, ' '); - --padlen; - ++cnt; - } - while (*value && (cnt < max)) { - doapr_outch(sbuffer, buffer, currlen, maxlen, *value++); - ++cnt; - } - while ((padlen < 0) && (cnt < max)) { - doapr_outch(sbuffer, buffer, currlen, maxlen, ' '); - ++padlen; - ++cnt; - } -} - -static void -fmtint(char **sbuffer, - char **buffer, - size_t *currlen, + *truncated = (currlen > *maxlen - 1); + if (*truncated) + currlen = *maxlen - 1; + if(!doapr_outch(sbuffer, buffer, &currlen, maxlen, '\0')) + return 0; + *retlen = currlen - 1; + return 1; +} + +static int +fmtstr(char **sbuffer, + char **buffer, + size_t *currlen, + size_t *maxlen, const char *value, int flags, int min, int max) +{ + int padlen; + size_t strln; + int cnt = 0; + + if (value == 0) + value = ""; + + strln = strlen(value); + if (strln > INT_MAX) + strln = INT_MAX; + + padlen = min - strln; + if (min < 0 || padlen < 0) + padlen = 0; + if (flags & DP_F_MINUS) + padlen = -padlen; + + while ((padlen > 0) && (cnt < max)) { + if(!doapr_outch(sbuffer, buffer, currlen, maxlen, ' ')) + return 0; + --padlen; + ++cnt; + } + while (*value && (cnt < max)) { + if(!doapr_outch(sbuffer, buffer, currlen, maxlen, *value++)) + return 0; + ++cnt; + } + while ((padlen < 0) && (cnt < max)) { + if(!doapr_outch(sbuffer, buffer, currlen, maxlen, ' ')) + return 0; + ++padlen; + ++cnt; + } + return 1; +} + +static int +fmtint(char **sbuffer, + char **buffer, + size_t *currlen, size_t *maxlen, LLONG value, int base, int min, int max, int flags) { int signvalue = 0; @@ -514,43 +532,50 @@ fmtint(char **sbuffer, } if (flags & DP_F_MINUS) spadlen = -spadlen; - - /* spaces */ - while (spadlen > 0) { - doapr_outch(sbuffer, buffer, currlen, maxlen, ' '); - --spadlen; - } - - /* sign */ - if (signvalue) - doapr_outch(sbuffer, buffer, currlen, maxlen, signvalue); - - /* prefix */ - while (*prefix) { - doapr_outch(sbuffer, buffer, currlen, maxlen, *prefix); - prefix++; - } - - /* zeros */ - if (zpadlen > 0) { - while (zpadlen > 0) { - doapr_outch(sbuffer, buffer, currlen, maxlen, '0'); - --zpadlen; - } - } - /* digits */ - while (place > 0) - doapr_outch(sbuffer, buffer, currlen, maxlen, convert[--place]); - - /* left justified spaces */ - while (spadlen < 0) { - doapr_outch(sbuffer, buffer, currlen, maxlen, ' '); - ++spadlen; - } - return; -} - -static LDOUBLE abs_val(LDOUBLE value) + + /* spaces */ + while (spadlen > 0) { + if(!doapr_outch(sbuffer, buffer, currlen, maxlen, ' ')) + return 0; + --spadlen; + } + + /* sign */ + if (signvalue) + if(!doapr_outch(sbuffer, buffer, currlen, maxlen, signvalue)) + return 0; + + /* prefix */ + while (*prefix) { + if(!doapr_outch(sbuffer, buffer, currlen, maxlen, *prefix)) + return 0; + prefix++; + } + + /* zeros */ + if (zpadlen > 0) { + while (zpadlen > 0) { + if(!doapr_outch(sbuffer, buffer, currlen, maxlen, '0')) + return 0; + --zpadlen; + } + } + /* digits */ + while (place > 0) { + if (!doapr_outch(sbuffer, buffer, currlen, maxlen, convert[--place])) + return 0; + } + + /* left justified spaces */ + while (spadlen < 0) { + if (!doapr_outch(sbuffer, buffer, currlen, maxlen, ' ')) + return 0; + ++spadlen; + } + return 1; +} + +static LDOUBLE abs_val(LDOUBLE value) { LDOUBLE result = value; if (value < 0) @@ -575,13 +600,13 @@ static long roundv(LDOUBLE value) value = value - intpart; if (value >= 0.5) intpart++; - return intpart; -} - -static void -fmtfp(char **sbuffer, - char **buffer, - size_t *currlen, + return intpart; +} + +static int +fmtfp(char **sbuffer, + char **buffer, + size_t *currlen, size_t *maxlen, LDOUBLE fvalue, int min, int max, int flags) { int signvalue = 0; @@ -657,87 +682,107 @@ fmtfp(char **sbuffer, padlen = 0; if (flags & DP_F_MINUS) padlen = -padlen; - - if ((flags & DP_F_ZERO) && (padlen > 0)) { - if (signvalue) { - doapr_outch(sbuffer, buffer, currlen, maxlen, signvalue); - --padlen; - signvalue = 0; - } - while (padlen > 0) { - doapr_outch(sbuffer, buffer, currlen, maxlen, '0'); - --padlen; - } - } - while (padlen > 0) { - doapr_outch(sbuffer, buffer, currlen, maxlen, ' '); - --padlen; - } - if (signvalue) - doapr_outch(sbuffer, buffer, currlen, maxlen, signvalue); - - while (iplace > 0) - doapr_outch(sbuffer, buffer, currlen, maxlen, iconvert[--iplace]); - - /* - * Decimal point. This should probably use locale to find the correct - * char to print out. - */ - if (max > 0 || (flags & DP_F_NUM)) { - doapr_outch(sbuffer, buffer, currlen, maxlen, '.'); - - while (fplace > 0) - doapr_outch(sbuffer, buffer, currlen, maxlen, fconvert[--fplace]); - } - while (zpadlen > 0) { - doapr_outch(sbuffer, buffer, currlen, maxlen, '0'); - --zpadlen; - } - - while (padlen < 0) { - doapr_outch(sbuffer, buffer, currlen, maxlen, ' '); - ++padlen; - } -} - -static void -doapr_outch(char **sbuffer, - char **buffer, size_t *currlen, size_t *maxlen, int c) -{ - /* If we haven't at least one buffer, someone has doe a big booboo */ - assert(*sbuffer != NULL || buffer != NULL); - - if (buffer) { - while (*currlen >= *maxlen) { - if (*buffer == NULL) { - if (*maxlen == 0) - *maxlen = 1024; - *buffer = OPENSSL_malloc(*maxlen); - if (*currlen > 0) { - assert(*sbuffer != NULL); - memcpy(*buffer, *sbuffer, *currlen); - } - *sbuffer = NULL; - } else { - *maxlen += 1024; - *buffer = OPENSSL_realloc(*buffer, *maxlen); - } - } - /* What to do if *buffer is NULL? */ - assert(*sbuffer != NULL || *buffer != NULL); - } - - if (*currlen < *maxlen) { - if (*sbuffer) + + if ((flags & DP_F_ZERO) && (padlen > 0)) { + if (signvalue) { + if (!doapr_outch(sbuffer, buffer, currlen, maxlen, signvalue)) + return 0; + --padlen; + signvalue = 0; + } + while (padlen > 0) { + if (!doapr_outch(sbuffer, buffer, currlen, maxlen, '0')) + return 0; + --padlen; + } + } + while (padlen > 0) { + if (!doapr_outch(sbuffer, buffer, currlen, maxlen, ' ')) + return 0; + --padlen; + } + if (signvalue && !doapr_outch(sbuffer, buffer, currlen, maxlen, signvalue)) + return 0; + + while (iplace > 0) { + if (!doapr_outch(sbuffer, buffer, currlen, maxlen, iconvert[--iplace])) + return 0; + } + + /* + * Decimal point. This should probably use locale to find the correct + * char to print out. + */ + if (max > 0 || (flags & DP_F_NUM)) { + if (!doapr_outch(sbuffer, buffer, currlen, maxlen, '.')) + return 0; + + while (fplace > 0) { + if(!doapr_outch(sbuffer, buffer, currlen, maxlen, + fconvert[--fplace])) + return 0; + } + } + while (zpadlen > 0) { + if (!doapr_outch(sbuffer, buffer, currlen, maxlen, '0')) + return 0; + --zpadlen; + } + + while (padlen < 0) { + if (!doapr_outch(sbuffer, buffer, currlen, maxlen, ' ')) + return 0; + ++padlen; + } + return 1; +} + +#define BUFFER_INC 1024 + +static int +doapr_outch(char **sbuffer, + char **buffer, size_t *currlen, size_t *maxlen, int c) +{ + /* If we haven't at least one buffer, someone has doe a big booboo */ + assert(*sbuffer != NULL || buffer != NULL); + + /* |currlen| must always be <= |*maxlen| */ + assert(*currlen <= *maxlen); + + if (buffer && *currlen == *maxlen) { + if (*maxlen > INT_MAX - BUFFER_INC) + return 0; + + *maxlen += BUFFER_INC; + if (*buffer == NULL) { + *buffer = OPENSSL_malloc(*maxlen); + if (*buffer == NULL) + return 0; + if (*currlen > 0) { + assert(*sbuffer != NULL); + memcpy(*buffer, *sbuffer, *currlen); + } + *sbuffer = NULL; + } else { + char *tmpbuf; + tmpbuf = OPENSSL_realloc(*buffer, *maxlen); + if (tmpbuf == NULL) + return 0; + *buffer = tmpbuf; + } + } + + if (*currlen < *maxlen) { + if (*sbuffer) (*sbuffer)[(*currlen)++] = (char)c; else - (*buffer)[(*currlen)++] = (char)c; - } - - return; -} - -/***************************************************************************/ + (*buffer)[(*currlen)++] = (char)c; + } + + return 1; +} + +/***************************************************************************/ int BIO_printf(BIO *bio, const char *format, ...) { @@ -763,13 +808,17 @@ int BIO_vprintf(BIO *bio, const char *fo size_t hugebufsize = sizeof(hugebuf); char *dynbuf = NULL; int ignored; - - dynbuf = NULL; - CRYPTO_push_info("doapr()"); - _dopr(&hugebufp, &dynbuf, &hugebufsize, &retlen, &ignored, format, args); - if (dynbuf) { - ret = BIO_write(bio, dynbuf, (int)retlen); - OPENSSL_free(dynbuf); + + dynbuf = NULL; + CRYPTO_push_info("doapr()"); + if (!_dopr(&hugebufp, &dynbuf, &hugebufsize, &retlen, &ignored, format, + args)) { + OPENSSL_free(dynbuf); + return -1; + } + if (dynbuf) { + ret = BIO_write(bio, dynbuf, (int)retlen); + OPENSSL_free(dynbuf); } else { ret = BIO_write(bio, hugebuf, (int)retlen); } @@ -798,13 +847,14 @@ int BIO_snprintf(char *buf, size_t n, co int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args) { - size_t retlen; - int truncated; - - _dopr(&buf, NULL, &n, &retlen, &truncated, format, args); - - if (truncated) - /* + size_t retlen; + int truncated; + + if(!_dopr(&buf, NULL, &n, &retlen, &truncated, format, args)) + return -1; + + if (truncated) + /* * In case of truncation, return -1 like traditional snprintf. * (Current drafts for ISO/IEC 9899 say snprintf should return the * number of characters that would have been written, had the buffer Modified: stable/9/crypto/openssl/crypto/bn/bn.h ============================================================================== --- stable/9/crypto/openssl/crypto/bn/bn.h Mon Mar 7 16:13:54 2016 (r296461) +++ stable/9/crypto/openssl/crypto/bn/bn.h Mon Mar 7 16:18:07 2016 (r296462) @@ -69,12 +69,13 @@ * */ -#ifndef HEADER_BN_H -# define HEADER_BN_H - -# include -# ifndef OPENSSL_NO_FP_API -# include /* FILE */ +#ifndef HEADER_BN_H +# define HEADER_BN_H + +# include +# include +# ifndef OPENSSL_NO_FP_API +# include /* FILE */ # endif # include @@ -701,14 +702,23 @@ const BIGNUM *BN_get0_nist_prime_224(voi const BIGNUM *BN_get0_nist_prime_256(void); const BIGNUM *BN_get0_nist_prime_384(void); const BIGNUM *BN_get0_nist_prime_521(void); - -/* library internal functions */ - -# define bn_expand(a,bits) ((((((bits+BN_BITS2-1))/BN_BITS2)) <= (a)->dmax)?\ - (a):bn_expand2((a),(bits+BN_BITS2-1)/BN_BITS2)) -# define bn_wexpand(a,words) (((words) <= (a)->dmax)?(a):bn_expand2((a),(words))) -BIGNUM *bn_expand2(BIGNUM *a, int words); -# ifndef OPENSSL_NO_DEPRECATED + +/* library internal functions */ + +# define bn_expand(a,bits) \ + ( \ + bits > (INT_MAX - BN_BITS2 + 1) ? \ + NULL \ + : \ + (((bits+BN_BITS2-1)/BN_BITS2) <= (a)->dmax) ? \ + (a) \ + : \ + bn_expand2((a),(bits+BN_BITS2-1)/BN_BITS2) \ + ) + +# define bn_wexpand(a,words) (((words) <= (a)->dmax)?(a):bn_expand2((a),(words))) +BIGNUM *bn_expand2(BIGNUM *a, int words); +# ifndef OPENSSL_NO_DEPRECATED BIGNUM *bn_dup_expand(const BIGNUM *a, int words); /* unused */ # endif Modified: stable/9/crypto/openssl/crypto/bn/bn_exp.c ============================================================================== --- stable/9/crypto/openssl/crypto/bn/bn_exp.c Mon Mar 7 16:13:54 2016 (r296461) +++ stable/9/crypto/openssl/crypto/bn/bn_exp.c Mon Mar 7 16:18:07 2016 (r296462) @@ -107,12 +107,13 @@ * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * - */ - -#include "cryptlib.h" -#include "bn_lcl.h" - -/* maximum precomputation table size for *variable* sliding windows */ + */ + +#include "cryptlib.h" +#include "constant_time_locl.h" +#include "bn_lcl.h" + +/* maximum precomputation table size for *variable* sliding windows */ #define TABLE_SIZE 32 /* this one works - simple but works */ @@ -520,41 +521,79 @@ int BN_mod_exp_mont(BIGNUM *rr, const BI * pattern as far as cache lines are concerned. The following functions are * used to transfer a BIGNUM from/to that table. */ - -static int MOD_EXP_CTIME_COPY_TO_PREBUF(BIGNUM *b, int top, - unsigned char *buf, int idx, - int width) -{ - size_t i, j; - - if (bn_wexpand(b, top) == NULL) - return 0; + +static int MOD_EXP_CTIME_COPY_TO_PREBUF(BIGNUM *b, int top, + unsigned char *buf, int idx, + int window) +{ + int i, j; + int width = 1 << window; + BN_ULONG *table = (BN_ULONG *)buf; + + if (bn_wexpand(b, top) == NULL) + return 0; while (b->top < top) { - b->d[b->top++] = 0; - } - - for (i = 0, j = idx; i < top * sizeof b->d[0]; i++, j += width) { - buf[j] = ((unsigned char *)b->d)[i]; - } - - bn_correct_top(b); + b->d[b->top++] = 0; + } + + for (i = 0, j = idx; i < top; i++, j += width) { + table[j] = b->d[i]; + } + + bn_correct_top(b); return 1; } - -static int MOD_EXP_CTIME_COPY_FROM_PREBUF(BIGNUM *b, int top, - unsigned char *buf, int idx, - int width) -{ - size_t i, j; - - if (bn_wexpand(b, top) == NULL) - return 0; - - for (i = 0, j = idx; i < top * sizeof b->d[0]; i++, j += width) { - ((unsigned char *)b->d)[i] = buf[j]; - } - - b->top = top; + +static int MOD_EXP_CTIME_COPY_FROM_PREBUF(BIGNUM *b, int top, + unsigned char *buf, int idx, + int window) +{ + int i, j; + int width = 1 << window; + volatile BN_ULONG *table = (volatile BN_ULONG *)buf; + + if (bn_wexpand(b, top) == NULL) + return 0; + + if (window <= 3) { + for (i = 0; i < top; i++, table += width) { + BN_ULONG acc = 0; + + for (j = 0; j < width; j++) { + acc |= table[j] & + ((BN_ULONG)0 - (constant_time_eq_int(j,idx)&1)); + } + + b->d[i] = acc; + } + } else { + int xstride = 1 << (window - 2); + BN_ULONG y0, y1, y2, y3; + + i = idx >> (window - 2); /* equivalent of idx / xstride */ + idx &= xstride - 1; /* equivalent of idx % xstride */ + + y0 = (BN_ULONG)0 - (constant_time_eq_int(i,0)&1); + y1 = (BN_ULONG)0 - (constant_time_eq_int(i,1)&1); + y2 = (BN_ULONG)0 - (constant_time_eq_int(i,2)&1); + y3 = (BN_ULONG)0 - (constant_time_eq_int(i,3)&1); + + for (i = 0; i < top; i++, table += width) { + BN_ULONG acc = 0; + + for (j = 0; j < xstride; j++) { + acc |= ( (table[j + 0 * xstride] & y0) | + (table[j + 1 * xstride] & y1) | + (table[j + 2 * xstride] & y2) | + (table[j + 3 * xstride] & y3) ) + & ((BN_ULONG)0 - (constant_time_eq_int(j,idx)&1)); + } + + b->d[i] = acc; + } + } + + b->top = top; bn_correct_top(b); return 1; } @@ -645,13 +684,13 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr /* * Initialize the intermediate result. Do this early to save double * conversion, once each for a^0 and intermediate result. - */ - if (!BN_to_montgomery(r, BN_value_one(), mont, ctx)) - goto err; - if (!MOD_EXP_CTIME_COPY_TO_PREBUF(r, top, powerbuf, 0, numPowers)) - goto err; - - /* Initialize computeTemp as a^1 with montgomery precalcs */ + */ + if (!BN_to_montgomery(r, BN_value_one(), mont, ctx)) + goto err; + if (!MOD_EXP_CTIME_COPY_TO_PREBUF(r, top, powerbuf, 0, window)) + goto err; + + /* Initialize computeTemp as a^1 with montgomery precalcs */ computeTemp = BN_CTX_get(ctx); am = BN_CTX_get(ctx); if (computeTemp == NULL || am == NULL) @@ -664,13 +703,13 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr } else aa = a; if (!BN_to_montgomery(am, aa, mont, ctx)) - goto err; - if (!BN_copy(computeTemp, am)) - goto err; - if (!MOD_EXP_CTIME_COPY_TO_PREBUF(am, top, powerbuf, 1, numPowers)) - goto err; - - /* + goto err; + if (!BN_copy(computeTemp, am)) + goto err; + if (!MOD_EXP_CTIME_COPY_TO_PREBUF(am, top, powerbuf, 1, window)) + goto err; + + /* * If the window size is greater than 1, then calculate * val[i=2..2^winsize-1]. Powers are computed as a*a^(i-1) (even powers * could instead be computed as (a^(i/2))^2 to use the slight performance @@ -679,14 +718,14 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr if (window > 1) { for (i = 2; i < numPowers; i++) { /* Calculate a^i = a^(i-1) * a */ - if (!BN_mod_mul_montgomery - (computeTemp, am, computeTemp, mont, ctx)) - goto err; - if (!MOD_EXP_CTIME_COPY_TO_PREBUF - (computeTemp, top, powerbuf, i, numPowers)) - goto err; - } - } + if (!BN_mod_mul_montgomery + (computeTemp, am, computeTemp, mont, ctx)) + goto err; + if (!MOD_EXP_CTIME_COPY_TO_PREBUF(computeTemp, top, powerbuf, i, + window)) + goto err; + } + } /* * Adjust the number of bits up to a multiple of the window size. If the Modified: stable/9/crypto/openssl/crypto/bn/bn_print.c ============================================================================== --- stable/9/crypto/openssl/crypto/bn/bn_print.c Mon Mar 7 16:13:54 2016 (r296461) +++ stable/9/crypto/openssl/crypto/bn/bn_print.c Mon Mar 7 16:18:07 2016 (r296462) @@ -55,12 +55,13 @@ * copied and put under another distribution licence * [including the GNU Public Licence.] */ - -#include -#include -#include "cryptlib.h" -#include -#include "bn_lcl.h" + +#include +#include +#include +#include "cryptlib.h" +#include +#include "bn_lcl.h" static const char Hex[] = "0123456789ABCDEF"; @@ -186,14 +187,18 @@ int BN_hex2bn(BIGNUM **bn, const char *a if (*a == '-') { neg = 1; - a++; - } - - for (i = 0; isxdigit((unsigned char)a[i]); i++) ; - - num = i + neg; - if (bn == NULL) - return (num); + a++; + } + + for (i = 0; i <= (INT_MAX/4) && isxdigit((unsigned char)a[i]); i++) + continue; + + if (i > INT_MAX/4) + goto err; + + num = i + neg; + if (bn == NULL) + return (num); /* a is the start of the hex digits, and it is 'i' long */ if (*bn == NULL) { @@ -201,13 +206,13 @@ int BN_hex2bn(BIGNUM **bn, const char *a return (0); } else { ret = *bn; - BN_zero(ret); - } - - /* i is the number of hex digests; */ - if (bn_expand(ret, i * 4) == NULL) - goto err; - + BN_zero(ret); + } + + /* i is the number of hex digits */ + if (bn_expand(ret, i * 4) == NULL) + goto err; + j = i; /* least significant 'hex' */ m = 0; h = 0; @@ -257,14 +262,18 @@ int BN_dec2bn(BIGNUM **bn, const char *a *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Mon Mar 7 16:18:53 2016 Return-Path: Delivered-To: svn-src-all@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 819FCAC3D2D; Mon, 7 Mar 2016 16:18:53 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 52F309FB; Mon, 7 Mar 2016 16:18:53 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27GIq6F079971; Mon, 7 Mar 2016 16:18:52 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27GIqdO079970; Mon, 7 Mar 2016 16:18:52 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201603071618.u27GIqdO079970@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Mon, 7 Mar 2016 16:18:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296463 - stable/10/usr.sbin/cron/crontab X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 16:18:53 -0000 Author: pfg Date: Mon Mar 7 16:18:52 2016 New Revision: 296463 URL: https://svnweb.freebsd.org/changeset/base/296463 Log: MFC r295672: crontab: ftruncate() with ftello() instead of ftell(). Obtained from: OpenBSD (CVS rev. 1.47) Modified: stable/10/usr.sbin/cron/crontab/crontab.c Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.sbin/cron/crontab/crontab.c ============================================================================== --- stable/10/usr.sbin/cron/crontab/crontab.c Mon Mar 7 16:18:07 2016 (r296462) +++ stable/10/usr.sbin/cron/crontab/crontab.c Mon Mar 7 16:18:52 2016 (r296463) @@ -532,7 +532,7 @@ replace_cmd() { Set_LineNum(1) while (EOF != (ch = get_char(NewCrontab))) putc(ch, tmp); - ftruncate(fileno(tmp), ftell(tmp)); + ftruncate(fileno(tmp), ftello(tmp)); fflush(tmp); rewind(tmp); if (ferror(tmp)) { From owner-svn-src-all@freebsd.org Mon Mar 7 16:20:03 2016 Return-Path: Delivered-To: svn-src-all@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 1AC75AC3DED; Mon, 7 Mar 2016 16:20:03 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E0749C25; Mon, 7 Mar 2016 16:20:02 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27GK1rH080069; Mon, 7 Mar 2016 16:20:01 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27GK1BJ080068; Mon, 7 Mar 2016 16:20:01 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201603071620.u27GK1BJ080068@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Mon, 7 Mar 2016 16:20:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296464 - stable/9/usr.sbin/cron/crontab X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 16:20:03 -0000 Author: pfg Date: Mon Mar 7 16:20:01 2016 New Revision: 296464 URL: https://svnweb.freebsd.org/changeset/base/296464 Log: MFC r295672: crontab: ftruncate() with ftello() instead of ftell(). Obtained from: OpenBSD (CVS rev. 1.47) Modified: stable/9/usr.sbin/cron/crontab/crontab.c Directory Properties: stable/9/usr.sbin/cron/crontab/ (props changed) Modified: stable/9/usr.sbin/cron/crontab/crontab.c ============================================================================== --- stable/9/usr.sbin/cron/crontab/crontab.c Mon Mar 7 16:18:52 2016 (r296463) +++ stable/9/usr.sbin/cron/crontab/crontab.c Mon Mar 7 16:20:01 2016 (r296464) @@ -532,7 +532,7 @@ replace_cmd() { Set_LineNum(1) while (EOF != (ch = get_char(NewCrontab))) putc(ch, tmp); - ftruncate(fileno(tmp), ftell(tmp)); + ftruncate(fileno(tmp), ftello(tmp)); fflush(tmp); rewind(tmp); if (ferror(tmp)) { From owner-svn-src-all@freebsd.org Mon Mar 7 16:22:13 2016 Return-Path: Delivered-To: svn-src-all@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 C8C9DAC3FB3; Mon, 7 Mar 2016 16:22:13 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 21B54FA3; Mon, 7 Mar 2016 16:22:13 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27GMCSV082796; Mon, 7 Mar 2016 16:22:12 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27GMC4a082792; Mon, 7 Mar 2016 16:22:12 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201603071622.u27GMC4a082792@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Mon, 7 Mar 2016 16:22:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 16:22:14 -0000 Author: delphij Date: Mon Mar 7 16:22:11 2016 New Revision: 296465 URL: https://svnweb.freebsd.org/changeset/base/296465 Log: Fix multiple OpenSSL vulnerabilities. Security: FreeBSD-SA-16:12.openssl Approved by: so Added: releng/9.3/crypto/openssl/doc/dir-locals.example.el releng/9.3/crypto/openssl/doc/openssl-c-indent.el releng/9.3/crypto/openssl/util/indent.pro releng/9.3/crypto/openssl/util/openssl-format-source releng/9.3/crypto/openssl/util/su-filter.pl Deleted: releng/9.3/crypto/openssl/crypto/des/t/ releng/9.3/crypto/openssl/test/bctest releng/9.3/crypto/openssl/util/pod2mantest Modified: releng/9.3/UPDATING releng/9.3/crypto/openssl/CHANGES releng/9.3/crypto/openssl/FAQ releng/9.3/crypto/openssl/Makefile releng/9.3/crypto/openssl/Makefile.org releng/9.3/crypto/openssl/NEWS releng/9.3/crypto/openssl/README releng/9.3/crypto/openssl/apps/app_rand.c releng/9.3/crypto/openssl/apps/apps.c releng/9.3/crypto/openssl/apps/apps.h releng/9.3/crypto/openssl/apps/asn1pars.c releng/9.3/crypto/openssl/apps/ca.c releng/9.3/crypto/openssl/apps/ciphers.c releng/9.3/crypto/openssl/apps/cms.c releng/9.3/crypto/openssl/apps/crl.c releng/9.3/crypto/openssl/apps/crl2p7.c releng/9.3/crypto/openssl/apps/dgst.c releng/9.3/crypto/openssl/apps/dh.c releng/9.3/crypto/openssl/apps/dhparam.c releng/9.3/crypto/openssl/apps/dsa.c releng/9.3/crypto/openssl/apps/dsaparam.c releng/9.3/crypto/openssl/apps/ec.c releng/9.3/crypto/openssl/apps/ecparam.c releng/9.3/crypto/openssl/apps/enc.c releng/9.3/crypto/openssl/apps/engine.c releng/9.3/crypto/openssl/apps/errstr.c releng/9.3/crypto/openssl/apps/gendh.c releng/9.3/crypto/openssl/apps/gendsa.c releng/9.3/crypto/openssl/apps/genrsa.c releng/9.3/crypto/openssl/apps/nseq.c releng/9.3/crypto/openssl/apps/ocsp.c releng/9.3/crypto/openssl/apps/openssl.c releng/9.3/crypto/openssl/apps/passwd.c releng/9.3/crypto/openssl/apps/pkcs12.c releng/9.3/crypto/openssl/apps/pkcs7.c releng/9.3/crypto/openssl/apps/pkcs8.c releng/9.3/crypto/openssl/apps/prime.c releng/9.3/crypto/openssl/apps/progs.h releng/9.3/crypto/openssl/apps/rand.c releng/9.3/crypto/openssl/apps/req.c releng/9.3/crypto/openssl/apps/rsa.c releng/9.3/crypto/openssl/apps/rsautl.c releng/9.3/crypto/openssl/apps/s_apps.h releng/9.3/crypto/openssl/apps/s_cb.c releng/9.3/crypto/openssl/apps/s_client.c releng/9.3/crypto/openssl/apps/s_server.c releng/9.3/crypto/openssl/apps/s_socket.c releng/9.3/crypto/openssl/apps/s_time.c releng/9.3/crypto/openssl/apps/sess_id.c releng/9.3/crypto/openssl/apps/smime.c releng/9.3/crypto/openssl/apps/speed.c releng/9.3/crypto/openssl/apps/spkac.c releng/9.3/crypto/openssl/apps/testdsa.h releng/9.3/crypto/openssl/apps/testrsa.h releng/9.3/crypto/openssl/apps/timeouts.h releng/9.3/crypto/openssl/apps/verify.c releng/9.3/crypto/openssl/apps/version.c releng/9.3/crypto/openssl/apps/winrand.c releng/9.3/crypto/openssl/apps/x509.c releng/9.3/crypto/openssl/bugs/alpha.c releng/9.3/crypto/openssl/bugs/dggccbug.c releng/9.3/crypto/openssl/bugs/sgiccbug.c releng/9.3/crypto/openssl/bugs/stream.c releng/9.3/crypto/openssl/bugs/ultrixcc.c releng/9.3/crypto/openssl/crypto/LPdir_nyi.c releng/9.3/crypto/openssl/crypto/LPdir_unix.c releng/9.3/crypto/openssl/crypto/LPdir_vms.c releng/9.3/crypto/openssl/crypto/LPdir_win.c releng/9.3/crypto/openssl/crypto/LPdir_win32.c releng/9.3/crypto/openssl/crypto/LPdir_wince.c releng/9.3/crypto/openssl/crypto/aes/aes.h releng/9.3/crypto/openssl/crypto/aes/aes_cbc.c releng/9.3/crypto/openssl/crypto/aes/aes_cfb.c releng/9.3/crypto/openssl/crypto/aes/aes_core.c releng/9.3/crypto/openssl/crypto/aes/aes_ctr.c releng/9.3/crypto/openssl/crypto/aes/aes_ecb.c releng/9.3/crypto/openssl/crypto/aes/aes_ige.c releng/9.3/crypto/openssl/crypto/aes/aes_locl.h releng/9.3/crypto/openssl/crypto/aes/aes_misc.c releng/9.3/crypto/openssl/crypto/aes/aes_ofb.c releng/9.3/crypto/openssl/crypto/aes/aes_wrap.c releng/9.3/crypto/openssl/crypto/asn1/a_bitstr.c releng/9.3/crypto/openssl/crypto/asn1/a_bool.c releng/9.3/crypto/openssl/crypto/asn1/a_bytes.c releng/9.3/crypto/openssl/crypto/asn1/a_d2i_fp.c releng/9.3/crypto/openssl/crypto/asn1/a_digest.c releng/9.3/crypto/openssl/crypto/asn1/a_dup.c releng/9.3/crypto/openssl/crypto/asn1/a_enum.c releng/9.3/crypto/openssl/crypto/asn1/a_gentm.c releng/9.3/crypto/openssl/crypto/asn1/a_hdr.c releng/9.3/crypto/openssl/crypto/asn1/a_i2d_fp.c releng/9.3/crypto/openssl/crypto/asn1/a_int.c releng/9.3/crypto/openssl/crypto/asn1/a_mbstr.c releng/9.3/crypto/openssl/crypto/asn1/a_meth.c releng/9.3/crypto/openssl/crypto/asn1/a_object.c releng/9.3/crypto/openssl/crypto/asn1/a_octet.c releng/9.3/crypto/openssl/crypto/asn1/a_print.c releng/9.3/crypto/openssl/crypto/asn1/a_set.c releng/9.3/crypto/openssl/crypto/asn1/a_sign.c releng/9.3/crypto/openssl/crypto/asn1/a_strex.c releng/9.3/crypto/openssl/crypto/asn1/a_strnid.c releng/9.3/crypto/openssl/crypto/asn1/a_time.c releng/9.3/crypto/openssl/crypto/asn1/a_type.c releng/9.3/crypto/openssl/crypto/asn1/a_utctm.c releng/9.3/crypto/openssl/crypto/asn1/a_utf8.c releng/9.3/crypto/openssl/crypto/asn1/a_verify.c releng/9.3/crypto/openssl/crypto/asn1/asn1.h releng/9.3/crypto/openssl/crypto/asn1/asn1_err.c releng/9.3/crypto/openssl/crypto/asn1/asn1_gen.c releng/9.3/crypto/openssl/crypto/asn1/asn1_lib.c releng/9.3/crypto/openssl/crypto/asn1/asn1_mac.h releng/9.3/crypto/openssl/crypto/asn1/asn1_par.c releng/9.3/crypto/openssl/crypto/asn1/asn1t.h releng/9.3/crypto/openssl/crypto/asn1/asn_mime.c releng/9.3/crypto/openssl/crypto/asn1/asn_moid.c releng/9.3/crypto/openssl/crypto/asn1/asn_pack.c releng/9.3/crypto/openssl/crypto/asn1/charmap.h releng/9.3/crypto/openssl/crypto/asn1/d2i_pr.c releng/9.3/crypto/openssl/crypto/asn1/d2i_pu.c releng/9.3/crypto/openssl/crypto/asn1/evp_asn1.c releng/9.3/crypto/openssl/crypto/asn1/f_enum.c releng/9.3/crypto/openssl/crypto/asn1/f_int.c releng/9.3/crypto/openssl/crypto/asn1/f_string.c releng/9.3/crypto/openssl/crypto/asn1/i2d_pr.c releng/9.3/crypto/openssl/crypto/asn1/i2d_pu.c releng/9.3/crypto/openssl/crypto/asn1/n_pkey.c releng/9.3/crypto/openssl/crypto/asn1/nsseq.c releng/9.3/crypto/openssl/crypto/asn1/p5_pbe.c releng/9.3/crypto/openssl/crypto/asn1/p5_pbev2.c releng/9.3/crypto/openssl/crypto/asn1/p8_key.c releng/9.3/crypto/openssl/crypto/asn1/p8_pkey.c releng/9.3/crypto/openssl/crypto/asn1/t_bitst.c releng/9.3/crypto/openssl/crypto/asn1/t_crl.c releng/9.3/crypto/openssl/crypto/asn1/t_pkey.c releng/9.3/crypto/openssl/crypto/asn1/t_req.c releng/9.3/crypto/openssl/crypto/asn1/t_spki.c releng/9.3/crypto/openssl/crypto/asn1/t_x509.c releng/9.3/crypto/openssl/crypto/asn1/t_x509a.c releng/9.3/crypto/openssl/crypto/asn1/tasn_dec.c releng/9.3/crypto/openssl/crypto/asn1/tasn_enc.c releng/9.3/crypto/openssl/crypto/asn1/tasn_fre.c releng/9.3/crypto/openssl/crypto/asn1/tasn_new.c releng/9.3/crypto/openssl/crypto/asn1/tasn_prn.c releng/9.3/crypto/openssl/crypto/asn1/tasn_typ.c releng/9.3/crypto/openssl/crypto/asn1/tasn_utl.c releng/9.3/crypto/openssl/crypto/asn1/x_algor.c releng/9.3/crypto/openssl/crypto/asn1/x_attrib.c releng/9.3/crypto/openssl/crypto/asn1/x_bignum.c releng/9.3/crypto/openssl/crypto/asn1/x_crl.c releng/9.3/crypto/openssl/crypto/asn1/x_exten.c releng/9.3/crypto/openssl/crypto/asn1/x_info.c releng/9.3/crypto/openssl/crypto/asn1/x_long.c releng/9.3/crypto/openssl/crypto/asn1/x_name.c releng/9.3/crypto/openssl/crypto/asn1/x_pkey.c releng/9.3/crypto/openssl/crypto/asn1/x_pubkey.c releng/9.3/crypto/openssl/crypto/asn1/x_req.c releng/9.3/crypto/openssl/crypto/asn1/x_sig.c releng/9.3/crypto/openssl/crypto/asn1/x_spki.c releng/9.3/crypto/openssl/crypto/asn1/x_val.c releng/9.3/crypto/openssl/crypto/asn1/x_x509.c releng/9.3/crypto/openssl/crypto/asn1/x_x509a.c releng/9.3/crypto/openssl/crypto/bf/bf_cbc.c releng/9.3/crypto/openssl/crypto/bf/bf_cfb64.c releng/9.3/crypto/openssl/crypto/bf/bf_ecb.c releng/9.3/crypto/openssl/crypto/bf/bf_enc.c releng/9.3/crypto/openssl/crypto/bf/bf_locl.h releng/9.3/crypto/openssl/crypto/bf/bf_ofb64.c releng/9.3/crypto/openssl/crypto/bf/bf_opts.c releng/9.3/crypto/openssl/crypto/bf/bf_pi.h releng/9.3/crypto/openssl/crypto/bf/bf_skey.c releng/9.3/crypto/openssl/crypto/bf/bfspeed.c releng/9.3/crypto/openssl/crypto/bf/bftest.c releng/9.3/crypto/openssl/crypto/bf/blowfish.h releng/9.3/crypto/openssl/crypto/bio/b_dump.c releng/9.3/crypto/openssl/crypto/bio/b_print.c releng/9.3/crypto/openssl/crypto/bio/b_sock.c releng/9.3/crypto/openssl/crypto/bio/bf_buff.c releng/9.3/crypto/openssl/crypto/bio/bf_lbuf.c releng/9.3/crypto/openssl/crypto/bio/bf_nbio.c releng/9.3/crypto/openssl/crypto/bio/bf_null.c releng/9.3/crypto/openssl/crypto/bio/bio.h releng/9.3/crypto/openssl/crypto/bio/bio_cb.c releng/9.3/crypto/openssl/crypto/bio/bio_err.c releng/9.3/crypto/openssl/crypto/bio/bio_lcl.h releng/9.3/crypto/openssl/crypto/bio/bio_lib.c releng/9.3/crypto/openssl/crypto/bio/bss_acpt.c releng/9.3/crypto/openssl/crypto/bio/bss_bio.c releng/9.3/crypto/openssl/crypto/bio/bss_conn.c releng/9.3/crypto/openssl/crypto/bio/bss_dgram.c releng/9.3/crypto/openssl/crypto/bio/bss_fd.c releng/9.3/crypto/openssl/crypto/bio/bss_file.c releng/9.3/crypto/openssl/crypto/bio/bss_log.c releng/9.3/crypto/openssl/crypto/bio/bss_mem.c releng/9.3/crypto/openssl/crypto/bio/bss_null.c releng/9.3/crypto/openssl/crypto/bio/bss_rtcp.c releng/9.3/crypto/openssl/crypto/bio/bss_sock.c releng/9.3/crypto/openssl/crypto/bn/asm/x86_64-gcc.c releng/9.3/crypto/openssl/crypto/bn/bn.h releng/9.3/crypto/openssl/crypto/bn/bn_add.c releng/9.3/crypto/openssl/crypto/bn/bn_asm.c releng/9.3/crypto/openssl/crypto/bn/bn_blind.c releng/9.3/crypto/openssl/crypto/bn/bn_const.c releng/9.3/crypto/openssl/crypto/bn/bn_ctx.c releng/9.3/crypto/openssl/crypto/bn/bn_depr.c releng/9.3/crypto/openssl/crypto/bn/bn_div.c releng/9.3/crypto/openssl/crypto/bn/bn_err.c releng/9.3/crypto/openssl/crypto/bn/bn_exp.c releng/9.3/crypto/openssl/crypto/bn/bn_exp2.c releng/9.3/crypto/openssl/crypto/bn/bn_gcd.c releng/9.3/crypto/openssl/crypto/bn/bn_gf2m.c releng/9.3/crypto/openssl/crypto/bn/bn_kron.c releng/9.3/crypto/openssl/crypto/bn/bn_lcl.h releng/9.3/crypto/openssl/crypto/bn/bn_lib.c releng/9.3/crypto/openssl/crypto/bn/bn_mod.c releng/9.3/crypto/openssl/crypto/bn/bn_mont.c releng/9.3/crypto/openssl/crypto/bn/bn_mpi.c releng/9.3/crypto/openssl/crypto/bn/bn_mul.c releng/9.3/crypto/openssl/crypto/bn/bn_nist.c releng/9.3/crypto/openssl/crypto/bn/bn_opt.c releng/9.3/crypto/openssl/crypto/bn/bn_prime.c releng/9.3/crypto/openssl/crypto/bn/bn_prime.h releng/9.3/crypto/openssl/crypto/bn/bn_print.c releng/9.3/crypto/openssl/crypto/bn/bn_rand.c releng/9.3/crypto/openssl/crypto/bn/bn_recp.c releng/9.3/crypto/openssl/crypto/bn/bn_shift.c releng/9.3/crypto/openssl/crypto/bn/bn_sqr.c releng/9.3/crypto/openssl/crypto/bn/bn_sqrt.c releng/9.3/crypto/openssl/crypto/bn/bn_word.c releng/9.3/crypto/openssl/crypto/bn/bn_x931p.c releng/9.3/crypto/openssl/crypto/bn/bnspeed.c releng/9.3/crypto/openssl/crypto/bn/bntest.c releng/9.3/crypto/openssl/crypto/bn/divtest.c releng/9.3/crypto/openssl/crypto/bn/exp.c releng/9.3/crypto/openssl/crypto/bn/expspeed.c releng/9.3/crypto/openssl/crypto/bn/exptest.c releng/9.3/crypto/openssl/crypto/buffer/buf_err.c releng/9.3/crypto/openssl/crypto/buffer/buf_str.c releng/9.3/crypto/openssl/crypto/buffer/buffer.c releng/9.3/crypto/openssl/crypto/buffer/buffer.h releng/9.3/crypto/openssl/crypto/camellia/camellia.c releng/9.3/crypto/openssl/crypto/camellia/camellia.h releng/9.3/crypto/openssl/crypto/camellia/cmll_cbc.c releng/9.3/crypto/openssl/crypto/camellia/cmll_cfb.c releng/9.3/crypto/openssl/crypto/camellia/cmll_ctr.c releng/9.3/crypto/openssl/crypto/camellia/cmll_ecb.c releng/9.3/crypto/openssl/crypto/camellia/cmll_locl.h releng/9.3/crypto/openssl/crypto/camellia/cmll_misc.c releng/9.3/crypto/openssl/crypto/camellia/cmll_ofb.c releng/9.3/crypto/openssl/crypto/cast/c_cfb64.c releng/9.3/crypto/openssl/crypto/cast/c_ecb.c releng/9.3/crypto/openssl/crypto/cast/c_enc.c releng/9.3/crypto/openssl/crypto/cast/c_ofb64.c releng/9.3/crypto/openssl/crypto/cast/c_skey.c releng/9.3/crypto/openssl/crypto/cast/cast.h releng/9.3/crypto/openssl/crypto/cast/cast_lcl.h releng/9.3/crypto/openssl/crypto/cast/cast_s.h releng/9.3/crypto/openssl/crypto/cast/cast_spd.c releng/9.3/crypto/openssl/crypto/cast/castopts.c releng/9.3/crypto/openssl/crypto/cast/casttest.c releng/9.3/crypto/openssl/crypto/cms/cms.h releng/9.3/crypto/openssl/crypto/cms/cms_asn1.c releng/9.3/crypto/openssl/crypto/cms/cms_att.c releng/9.3/crypto/openssl/crypto/cms/cms_cd.c releng/9.3/crypto/openssl/crypto/cms/cms_dd.c releng/9.3/crypto/openssl/crypto/cms/cms_enc.c releng/9.3/crypto/openssl/crypto/cms/cms_env.c releng/9.3/crypto/openssl/crypto/cms/cms_err.c releng/9.3/crypto/openssl/crypto/cms/cms_ess.c releng/9.3/crypto/openssl/crypto/cms/cms_io.c releng/9.3/crypto/openssl/crypto/cms/cms_lcl.h releng/9.3/crypto/openssl/crypto/cms/cms_lib.c releng/9.3/crypto/openssl/crypto/cms/cms_sd.c releng/9.3/crypto/openssl/crypto/cms/cms_smime.c releng/9.3/crypto/openssl/crypto/comp/c_rle.c releng/9.3/crypto/openssl/crypto/comp/c_zlib.c releng/9.3/crypto/openssl/crypto/comp/comp.h releng/9.3/crypto/openssl/crypto/comp/comp_err.c releng/9.3/crypto/openssl/crypto/comp/comp_lib.c releng/9.3/crypto/openssl/crypto/conf/cnf_save.c releng/9.3/crypto/openssl/crypto/conf/conf.h releng/9.3/crypto/openssl/crypto/conf/conf_api.c releng/9.3/crypto/openssl/crypto/conf/conf_api.h releng/9.3/crypto/openssl/crypto/conf/conf_def.c releng/9.3/crypto/openssl/crypto/conf/conf_def.h releng/9.3/crypto/openssl/crypto/conf/conf_err.c releng/9.3/crypto/openssl/crypto/conf/conf_lib.c releng/9.3/crypto/openssl/crypto/conf/conf_mall.c releng/9.3/crypto/openssl/crypto/conf/conf_mod.c releng/9.3/crypto/openssl/crypto/conf/conf_sap.c releng/9.3/crypto/openssl/crypto/conf/test.c releng/9.3/crypto/openssl/crypto/constant_time_locl.h releng/9.3/crypto/openssl/crypto/constant_time_test.c releng/9.3/crypto/openssl/crypto/cpt_err.c releng/9.3/crypto/openssl/crypto/cryptlib.c releng/9.3/crypto/openssl/crypto/cryptlib.h releng/9.3/crypto/openssl/crypto/crypto.h releng/9.3/crypto/openssl/crypto/cversion.c releng/9.3/crypto/openssl/crypto/des/cbc3_enc.c releng/9.3/crypto/openssl/crypto/des/cbc_cksm.c releng/9.3/crypto/openssl/crypto/des/cbc_enc.c releng/9.3/crypto/openssl/crypto/des/cfb64ede.c releng/9.3/crypto/openssl/crypto/des/cfb64enc.c releng/9.3/crypto/openssl/crypto/des/cfb_enc.c releng/9.3/crypto/openssl/crypto/des/des.c releng/9.3/crypto/openssl/crypto/des/des.h releng/9.3/crypto/openssl/crypto/des/des_enc.c releng/9.3/crypto/openssl/crypto/des/des_lib.c releng/9.3/crypto/openssl/crypto/des/des_locl.h releng/9.3/crypto/openssl/crypto/des/des_old.c releng/9.3/crypto/openssl/crypto/des/des_old.h releng/9.3/crypto/openssl/crypto/des/des_old2.c releng/9.3/crypto/openssl/crypto/des/des_opts.c releng/9.3/crypto/openssl/crypto/des/des_ver.h releng/9.3/crypto/openssl/crypto/des/destest.c releng/9.3/crypto/openssl/crypto/des/ecb3_enc.c releng/9.3/crypto/openssl/crypto/des/ecb_enc.c releng/9.3/crypto/openssl/crypto/des/ede_cbcm_enc.c releng/9.3/crypto/openssl/crypto/des/enc_read.c releng/9.3/crypto/openssl/crypto/des/enc_writ.c releng/9.3/crypto/openssl/crypto/des/fcrypt.c releng/9.3/crypto/openssl/crypto/des/fcrypt_b.c releng/9.3/crypto/openssl/crypto/des/ncbc_enc.c releng/9.3/crypto/openssl/crypto/des/ofb64ede.c releng/9.3/crypto/openssl/crypto/des/ofb64enc.c releng/9.3/crypto/openssl/crypto/des/ofb_enc.c releng/9.3/crypto/openssl/crypto/des/pcbc_enc.c releng/9.3/crypto/openssl/crypto/des/qud_cksm.c releng/9.3/crypto/openssl/crypto/des/rand_key.c releng/9.3/crypto/openssl/crypto/des/read2pwd.c releng/9.3/crypto/openssl/crypto/des/read_pwd.c releng/9.3/crypto/openssl/crypto/des/rpc_des.h releng/9.3/crypto/openssl/crypto/des/rpc_enc.c releng/9.3/crypto/openssl/crypto/des/rpw.c releng/9.3/crypto/openssl/crypto/des/set_key.c releng/9.3/crypto/openssl/crypto/des/speed.c releng/9.3/crypto/openssl/crypto/des/spr.h releng/9.3/crypto/openssl/crypto/des/str2key.c releng/9.3/crypto/openssl/crypto/des/xcbc_enc.c releng/9.3/crypto/openssl/crypto/dh/dh.h releng/9.3/crypto/openssl/crypto/dh/dh_asn1.c releng/9.3/crypto/openssl/crypto/dh/dh_check.c releng/9.3/crypto/openssl/crypto/dh/dh_depr.c releng/9.3/crypto/openssl/crypto/dh/dh_err.c releng/9.3/crypto/openssl/crypto/dh/dh_gen.c releng/9.3/crypto/openssl/crypto/dh/dh_key.c releng/9.3/crypto/openssl/crypto/dh/dh_lib.c releng/9.3/crypto/openssl/crypto/dh/dhtest.c releng/9.3/crypto/openssl/crypto/dh/p1024.c releng/9.3/crypto/openssl/crypto/dh/p192.c releng/9.3/crypto/openssl/crypto/dh/p512.c releng/9.3/crypto/openssl/crypto/dsa/dsa.h releng/9.3/crypto/openssl/crypto/dsa/dsa_asn1.c releng/9.3/crypto/openssl/crypto/dsa/dsa_depr.c releng/9.3/crypto/openssl/crypto/dsa/dsa_err.c releng/9.3/crypto/openssl/crypto/dsa/dsa_gen.c releng/9.3/crypto/openssl/crypto/dsa/dsa_key.c releng/9.3/crypto/openssl/crypto/dsa/dsa_lib.c releng/9.3/crypto/openssl/crypto/dsa/dsa_ossl.c releng/9.3/crypto/openssl/crypto/dsa/dsa_sign.c releng/9.3/crypto/openssl/crypto/dsa/dsa_utl.c releng/9.3/crypto/openssl/crypto/dsa/dsa_vrf.c releng/9.3/crypto/openssl/crypto/dsa/dsagen.c releng/9.3/crypto/openssl/crypto/dsa/dsatest.c releng/9.3/crypto/openssl/crypto/dso/dso.h releng/9.3/crypto/openssl/crypto/dso/dso_dl.c releng/9.3/crypto/openssl/crypto/dso/dso_dlfcn.c releng/9.3/crypto/openssl/crypto/dso/dso_err.c releng/9.3/crypto/openssl/crypto/dso/dso_lib.c releng/9.3/crypto/openssl/crypto/dso/dso_null.c releng/9.3/crypto/openssl/crypto/dso/dso_openssl.c releng/9.3/crypto/openssl/crypto/dyn_lck.c releng/9.3/crypto/openssl/crypto/ebcdic.c releng/9.3/crypto/openssl/crypto/ebcdic.h releng/9.3/crypto/openssl/crypto/ec/ec.h releng/9.3/crypto/openssl/crypto/ec/ec2_mult.c releng/9.3/crypto/openssl/crypto/ec/ec2_smpl.c releng/9.3/crypto/openssl/crypto/ec/ec2_smpt.c releng/9.3/crypto/openssl/crypto/ec/ec_asn1.c releng/9.3/crypto/openssl/crypto/ec/ec_check.c releng/9.3/crypto/openssl/crypto/ec/ec_curve.c releng/9.3/crypto/openssl/crypto/ec/ec_cvt.c releng/9.3/crypto/openssl/crypto/ec/ec_err.c releng/9.3/crypto/openssl/crypto/ec/ec_key.c releng/9.3/crypto/openssl/crypto/ec/ec_lcl.h releng/9.3/crypto/openssl/crypto/ec/ec_lib.c releng/9.3/crypto/openssl/crypto/ec/ec_mult.c releng/9.3/crypto/openssl/crypto/ec/ec_print.c releng/9.3/crypto/openssl/crypto/ec/ecp_mont.c releng/9.3/crypto/openssl/crypto/ec/ecp_nist.c releng/9.3/crypto/openssl/crypto/ec/ecp_smpl.c releng/9.3/crypto/openssl/crypto/ec/ectest.c releng/9.3/crypto/openssl/crypto/ecdh/ecdh.h releng/9.3/crypto/openssl/crypto/ecdh/ecdhtest.c releng/9.3/crypto/openssl/crypto/ecdh/ech_err.c releng/9.3/crypto/openssl/crypto/ecdh/ech_key.c releng/9.3/crypto/openssl/crypto/ecdh/ech_lib.c releng/9.3/crypto/openssl/crypto/ecdh/ech_locl.h releng/9.3/crypto/openssl/crypto/ecdh/ech_ossl.c releng/9.3/crypto/openssl/crypto/ecdsa/Makefile releng/9.3/crypto/openssl/crypto/ecdsa/ecdsa.h releng/9.3/crypto/openssl/crypto/ecdsa/ecdsatest.c releng/9.3/crypto/openssl/crypto/ecdsa/ecs_asn1.c releng/9.3/crypto/openssl/crypto/ecdsa/ecs_err.c releng/9.3/crypto/openssl/crypto/ecdsa/ecs_lib.c releng/9.3/crypto/openssl/crypto/ecdsa/ecs_locl.h releng/9.3/crypto/openssl/crypto/ecdsa/ecs_ossl.c releng/9.3/crypto/openssl/crypto/ecdsa/ecs_sign.c releng/9.3/crypto/openssl/crypto/ecdsa/ecs_vrf.c releng/9.3/crypto/openssl/crypto/engine/eng_all.c releng/9.3/crypto/openssl/crypto/engine/eng_cnf.c releng/9.3/crypto/openssl/crypto/engine/eng_cryptodev.c releng/9.3/crypto/openssl/crypto/engine/eng_ctrl.c releng/9.3/crypto/openssl/crypto/engine/eng_dyn.c releng/9.3/crypto/openssl/crypto/engine/eng_err.c releng/9.3/crypto/openssl/crypto/engine/eng_fat.c releng/9.3/crypto/openssl/crypto/engine/eng_init.c releng/9.3/crypto/openssl/crypto/engine/eng_int.h releng/9.3/crypto/openssl/crypto/engine/eng_lib.c releng/9.3/crypto/openssl/crypto/engine/eng_list.c releng/9.3/crypto/openssl/crypto/engine/eng_openssl.c releng/9.3/crypto/openssl/crypto/engine/eng_padlock.c releng/9.3/crypto/openssl/crypto/engine/eng_pkey.c releng/9.3/crypto/openssl/crypto/engine/eng_table.c releng/9.3/crypto/openssl/crypto/engine/engine.h releng/9.3/crypto/openssl/crypto/engine/enginetest.c releng/9.3/crypto/openssl/crypto/engine/tb_cipher.c releng/9.3/crypto/openssl/crypto/engine/tb_dh.c releng/9.3/crypto/openssl/crypto/engine/tb_digest.c releng/9.3/crypto/openssl/crypto/engine/tb_dsa.c releng/9.3/crypto/openssl/crypto/engine/tb_ecdh.c releng/9.3/crypto/openssl/crypto/engine/tb_ecdsa.c releng/9.3/crypto/openssl/crypto/engine/tb_rand.c releng/9.3/crypto/openssl/crypto/engine/tb_rsa.c releng/9.3/crypto/openssl/crypto/engine/tb_store.c releng/9.3/crypto/openssl/crypto/err/err.c releng/9.3/crypto/openssl/crypto/err/err.h releng/9.3/crypto/openssl/crypto/err/err_all.c releng/9.3/crypto/openssl/crypto/err/err_bio.c releng/9.3/crypto/openssl/crypto/err/err_def.c releng/9.3/crypto/openssl/crypto/err/err_prn.c releng/9.3/crypto/openssl/crypto/err/err_str.c releng/9.3/crypto/openssl/crypto/evp/bio_b64.c releng/9.3/crypto/openssl/crypto/evp/bio_enc.c releng/9.3/crypto/openssl/crypto/evp/bio_md.c releng/9.3/crypto/openssl/crypto/evp/bio_ok.c releng/9.3/crypto/openssl/crypto/evp/c_all.c releng/9.3/crypto/openssl/crypto/evp/c_allc.c releng/9.3/crypto/openssl/crypto/evp/c_alld.c releng/9.3/crypto/openssl/crypto/evp/dig_eng.c releng/9.3/crypto/openssl/crypto/evp/digest.c releng/9.3/crypto/openssl/crypto/evp/e_aes.c releng/9.3/crypto/openssl/crypto/evp/e_bf.c releng/9.3/crypto/openssl/crypto/evp/e_camellia.c releng/9.3/crypto/openssl/crypto/evp/e_cast.c releng/9.3/crypto/openssl/crypto/evp/e_des.c releng/9.3/crypto/openssl/crypto/evp/e_des3.c releng/9.3/crypto/openssl/crypto/evp/e_dsa.c releng/9.3/crypto/openssl/crypto/evp/e_idea.c releng/9.3/crypto/openssl/crypto/evp/e_null.c releng/9.3/crypto/openssl/crypto/evp/e_old.c releng/9.3/crypto/openssl/crypto/evp/e_rc2.c releng/9.3/crypto/openssl/crypto/evp/e_rc4.c releng/9.3/crypto/openssl/crypto/evp/e_rc5.c releng/9.3/crypto/openssl/crypto/evp/e_seed.c releng/9.3/crypto/openssl/crypto/evp/e_xcbc_d.c releng/9.3/crypto/openssl/crypto/evp/enc_min.c releng/9.3/crypto/openssl/crypto/evp/encode.c releng/9.3/crypto/openssl/crypto/evp/evp.h releng/9.3/crypto/openssl/crypto/evp/evp_acnf.c releng/9.3/crypto/openssl/crypto/evp/evp_cnf.c releng/9.3/crypto/openssl/crypto/evp/evp_enc.c releng/9.3/crypto/openssl/crypto/evp/evp_err.c releng/9.3/crypto/openssl/crypto/evp/evp_key.c releng/9.3/crypto/openssl/crypto/evp/evp_lib.c releng/9.3/crypto/openssl/crypto/evp/evp_locl.h releng/9.3/crypto/openssl/crypto/evp/evp_pbe.c releng/9.3/crypto/openssl/crypto/evp/evp_pkey.c releng/9.3/crypto/openssl/crypto/evp/evp_test.c releng/9.3/crypto/openssl/crypto/evp/m_dss.c releng/9.3/crypto/openssl/crypto/evp/m_dss1.c releng/9.3/crypto/openssl/crypto/evp/m_ecdsa.c releng/9.3/crypto/openssl/crypto/evp/m_md2.c releng/9.3/crypto/openssl/crypto/evp/m_md4.c releng/9.3/crypto/openssl/crypto/evp/m_md5.c releng/9.3/crypto/openssl/crypto/evp/m_mdc2.c releng/9.3/crypto/openssl/crypto/evp/m_null.c releng/9.3/crypto/openssl/crypto/evp/m_ripemd.c releng/9.3/crypto/openssl/crypto/evp/m_sha.c releng/9.3/crypto/openssl/crypto/evp/m_sha1.c releng/9.3/crypto/openssl/crypto/evp/names.c releng/9.3/crypto/openssl/crypto/evp/openbsd_hw.c releng/9.3/crypto/openssl/crypto/evp/p5_crpt.c releng/9.3/crypto/openssl/crypto/evp/p5_crpt2.c releng/9.3/crypto/openssl/crypto/evp/p_dec.c releng/9.3/crypto/openssl/crypto/evp/p_enc.c releng/9.3/crypto/openssl/crypto/evp/p_lib.c releng/9.3/crypto/openssl/crypto/evp/p_open.c releng/9.3/crypto/openssl/crypto/evp/p_seal.c releng/9.3/crypto/openssl/crypto/evp/p_sign.c releng/9.3/crypto/openssl/crypto/evp/p_verify.c releng/9.3/crypto/openssl/crypto/ex_data.c releng/9.3/crypto/openssl/crypto/fips_err.c releng/9.3/crypto/openssl/crypto/fips_err.h releng/9.3/crypto/openssl/crypto/hmac/hmac.c releng/9.3/crypto/openssl/crypto/hmac/hmac.h releng/9.3/crypto/openssl/crypto/hmac/hmactest.c releng/9.3/crypto/openssl/crypto/idea/i_cbc.c releng/9.3/crypto/openssl/crypto/idea/i_cfb64.c releng/9.3/crypto/openssl/crypto/idea/i_ecb.c releng/9.3/crypto/openssl/crypto/idea/i_ofb64.c releng/9.3/crypto/openssl/crypto/idea/i_skey.c releng/9.3/crypto/openssl/crypto/idea/idea.h releng/9.3/crypto/openssl/crypto/idea/idea_lcl.h releng/9.3/crypto/openssl/crypto/idea/idea_spd.c releng/9.3/crypto/openssl/crypto/idea/ideatest.c releng/9.3/crypto/openssl/crypto/jpake/jpake.c releng/9.3/crypto/openssl/crypto/jpake/jpake.h releng/9.3/crypto/openssl/crypto/jpake/jpake_err.c releng/9.3/crypto/openssl/crypto/jpake/jpaketest.c releng/9.3/crypto/openssl/crypto/krb5/krb5_asn.c releng/9.3/crypto/openssl/crypto/krb5/krb5_asn.h releng/9.3/crypto/openssl/crypto/lhash/lh_stats.c releng/9.3/crypto/openssl/crypto/lhash/lh_test.c releng/9.3/crypto/openssl/crypto/lhash/lhash.c releng/9.3/crypto/openssl/crypto/lhash/lhash.h releng/9.3/crypto/openssl/crypto/md2/md2.c releng/9.3/crypto/openssl/crypto/md2/md2.h releng/9.3/crypto/openssl/crypto/md2/md2_dgst.c releng/9.3/crypto/openssl/crypto/md2/md2_one.c releng/9.3/crypto/openssl/crypto/md2/md2test.c releng/9.3/crypto/openssl/crypto/md32_common.h releng/9.3/crypto/openssl/crypto/md4/md4.c releng/9.3/crypto/openssl/crypto/md4/md4.h releng/9.3/crypto/openssl/crypto/md4/md4_dgst.c releng/9.3/crypto/openssl/crypto/md4/md4_locl.h releng/9.3/crypto/openssl/crypto/md4/md4_one.c releng/9.3/crypto/openssl/crypto/md4/md4test.c releng/9.3/crypto/openssl/crypto/md5/md5.c releng/9.3/crypto/openssl/crypto/md5/md5.h releng/9.3/crypto/openssl/crypto/md5/md5_dgst.c releng/9.3/crypto/openssl/crypto/md5/md5_locl.h releng/9.3/crypto/openssl/crypto/md5/md5_one.c releng/9.3/crypto/openssl/crypto/md5/md5test.c releng/9.3/crypto/openssl/crypto/mdc2/mdc2.h releng/9.3/crypto/openssl/crypto/mdc2/mdc2_one.c releng/9.3/crypto/openssl/crypto/mdc2/mdc2dgst.c releng/9.3/crypto/openssl/crypto/mdc2/mdc2test.c releng/9.3/crypto/openssl/crypto/mem.c releng/9.3/crypto/openssl/crypto/mem_clr.c releng/9.3/crypto/openssl/crypto/mem_dbg.c releng/9.3/crypto/openssl/crypto/o_dir.c releng/9.3/crypto/openssl/crypto/o_dir.h releng/9.3/crypto/openssl/crypto/o_dir_test.c releng/9.3/crypto/openssl/crypto/o_init.c releng/9.3/crypto/openssl/crypto/o_str.c releng/9.3/crypto/openssl/crypto/o_str.h releng/9.3/crypto/openssl/crypto/o_time.c releng/9.3/crypto/openssl/crypto/o_time.h releng/9.3/crypto/openssl/crypto/objects/o_names.c releng/9.3/crypto/openssl/crypto/objects/obj_dat.c releng/9.3/crypto/openssl/crypto/objects/obj_err.c releng/9.3/crypto/openssl/crypto/objects/obj_lib.c releng/9.3/crypto/openssl/crypto/objects/obj_mac.h releng/9.3/crypto/openssl/crypto/objects/objects.h releng/9.3/crypto/openssl/crypto/objects/objects.pl releng/9.3/crypto/openssl/crypto/ocsp/ocsp.h releng/9.3/crypto/openssl/crypto/ocsp/ocsp_asn.c releng/9.3/crypto/openssl/crypto/ocsp/ocsp_cl.c releng/9.3/crypto/openssl/crypto/ocsp/ocsp_err.c releng/9.3/crypto/openssl/crypto/ocsp/ocsp_ext.c releng/9.3/crypto/openssl/crypto/ocsp/ocsp_ht.c releng/9.3/crypto/openssl/crypto/ocsp/ocsp_lib.c releng/9.3/crypto/openssl/crypto/ocsp/ocsp_prn.c releng/9.3/crypto/openssl/crypto/ocsp/ocsp_srv.c releng/9.3/crypto/openssl/crypto/ocsp/ocsp_vfy.c releng/9.3/crypto/openssl/crypto/opensslv.h releng/9.3/crypto/openssl/crypto/ossl_typ.h releng/9.3/crypto/openssl/crypto/pem/pem.h releng/9.3/crypto/openssl/crypto/pem/pem2.h releng/9.3/crypto/openssl/crypto/pem/pem_all.c releng/9.3/crypto/openssl/crypto/pem/pem_err.c releng/9.3/crypto/openssl/crypto/pem/pem_info.c releng/9.3/crypto/openssl/crypto/pem/pem_lib.c releng/9.3/crypto/openssl/crypto/pem/pem_oth.c releng/9.3/crypto/openssl/crypto/pem/pem_pk8.c releng/9.3/crypto/openssl/crypto/pem/pem_pkey.c releng/9.3/crypto/openssl/crypto/pem/pem_seal.c releng/9.3/crypto/openssl/crypto/pem/pem_sign.c releng/9.3/crypto/openssl/crypto/pem/pem_x509.c releng/9.3/crypto/openssl/crypto/pem/pem_xaux.c releng/9.3/crypto/openssl/crypto/pkcs12/p12_add.c releng/9.3/crypto/openssl/crypto/pkcs12/p12_asn.c releng/9.3/crypto/openssl/crypto/pkcs12/p12_attr.c releng/9.3/crypto/openssl/crypto/pkcs12/p12_crpt.c releng/9.3/crypto/openssl/crypto/pkcs12/p12_crt.c releng/9.3/crypto/openssl/crypto/pkcs12/p12_decr.c releng/9.3/crypto/openssl/crypto/pkcs12/p12_init.c releng/9.3/crypto/openssl/crypto/pkcs12/p12_key.c releng/9.3/crypto/openssl/crypto/pkcs12/p12_kiss.c releng/9.3/crypto/openssl/crypto/pkcs12/p12_mutl.c releng/9.3/crypto/openssl/crypto/pkcs12/p12_npas.c releng/9.3/crypto/openssl/crypto/pkcs12/p12_p8d.c releng/9.3/crypto/openssl/crypto/pkcs12/p12_p8e.c releng/9.3/crypto/openssl/crypto/pkcs12/p12_utl.c releng/9.3/crypto/openssl/crypto/pkcs12/pk12err.c releng/9.3/crypto/openssl/crypto/pkcs12/pkcs12.h releng/9.3/crypto/openssl/crypto/pkcs7/pk7_asn1.c releng/9.3/crypto/openssl/crypto/pkcs7/pk7_attr.c releng/9.3/crypto/openssl/crypto/pkcs7/pk7_dgst.c releng/9.3/crypto/openssl/crypto/pkcs7/pk7_doit.c releng/9.3/crypto/openssl/crypto/pkcs7/pk7_enc.c releng/9.3/crypto/openssl/crypto/pkcs7/pk7_lib.c releng/9.3/crypto/openssl/crypto/pkcs7/pk7_mime.c releng/9.3/crypto/openssl/crypto/pkcs7/pk7_smime.c releng/9.3/crypto/openssl/crypto/pkcs7/pkcs7.h releng/9.3/crypto/openssl/crypto/pkcs7/pkcs7err.c releng/9.3/crypto/openssl/crypto/pqueue/pq_compat.h releng/9.3/crypto/openssl/crypto/pqueue/pq_test.c releng/9.3/crypto/openssl/crypto/pqueue/pqueue.c releng/9.3/crypto/openssl/crypto/pqueue/pqueue.h releng/9.3/crypto/openssl/crypto/rand/md_rand.c releng/9.3/crypto/openssl/crypto/rand/rand.h releng/9.3/crypto/openssl/crypto/rand/rand_egd.c releng/9.3/crypto/openssl/crypto/rand/rand_eng.c releng/9.3/crypto/openssl/crypto/rand/rand_err.c releng/9.3/crypto/openssl/crypto/rand/rand_lcl.h releng/9.3/crypto/openssl/crypto/rand/rand_lib.c releng/9.3/crypto/openssl/crypto/rand/rand_nw.c releng/9.3/crypto/openssl/crypto/rand/rand_os2.c releng/9.3/crypto/openssl/crypto/rand/rand_unix.c releng/9.3/crypto/openssl/crypto/rand/rand_vms.c releng/9.3/crypto/openssl/crypto/rand/rand_win.c releng/9.3/crypto/openssl/crypto/rand/randfile.c releng/9.3/crypto/openssl/crypto/rand/randtest.c releng/9.3/crypto/openssl/crypto/rc2/rc2.h releng/9.3/crypto/openssl/crypto/rc2/rc2_cbc.c releng/9.3/crypto/openssl/crypto/rc2/rc2_ecb.c releng/9.3/crypto/openssl/crypto/rc2/rc2_locl.h releng/9.3/crypto/openssl/crypto/rc2/rc2_skey.c releng/9.3/crypto/openssl/crypto/rc2/rc2cfb64.c releng/9.3/crypto/openssl/crypto/rc2/rc2ofb64.c releng/9.3/crypto/openssl/crypto/rc2/rc2speed.c releng/9.3/crypto/openssl/crypto/rc2/rc2test.c releng/9.3/crypto/openssl/crypto/rc2/tab.c releng/9.3/crypto/openssl/crypto/rc4/rc4.c releng/9.3/crypto/openssl/crypto/rc4/rc4.h releng/9.3/crypto/openssl/crypto/rc4/rc4_enc.c releng/9.3/crypto/openssl/crypto/rc4/rc4_fblk.c releng/9.3/crypto/openssl/crypto/rc4/rc4_locl.h releng/9.3/crypto/openssl/crypto/rc4/rc4_skey.c releng/9.3/crypto/openssl/crypto/rc4/rc4speed.c releng/9.3/crypto/openssl/crypto/rc4/rc4test.c releng/9.3/crypto/openssl/crypto/rc5/rc5.h releng/9.3/crypto/openssl/crypto/rc5/rc5_ecb.c releng/9.3/crypto/openssl/crypto/rc5/rc5_enc.c releng/9.3/crypto/openssl/crypto/rc5/rc5_locl.h releng/9.3/crypto/openssl/crypto/rc5/rc5_skey.c releng/9.3/crypto/openssl/crypto/rc5/rc5cfb64.c releng/9.3/crypto/openssl/crypto/rc5/rc5ofb64.c releng/9.3/crypto/openssl/crypto/rc5/rc5speed.c releng/9.3/crypto/openssl/crypto/rc5/rc5test.c releng/9.3/crypto/openssl/crypto/ripemd/ripemd.h releng/9.3/crypto/openssl/crypto/ripemd/rmd160.c releng/9.3/crypto/openssl/crypto/ripemd/rmd_dgst.c releng/9.3/crypto/openssl/crypto/ripemd/rmd_locl.h releng/9.3/crypto/openssl/crypto/ripemd/rmd_one.c releng/9.3/crypto/openssl/crypto/ripemd/rmdconst.h releng/9.3/crypto/openssl/crypto/ripemd/rmdtest.c releng/9.3/crypto/openssl/crypto/rsa/rsa.h releng/9.3/crypto/openssl/crypto/rsa/rsa_asn1.c releng/9.3/crypto/openssl/crypto/rsa/rsa_chk.c releng/9.3/crypto/openssl/crypto/rsa/rsa_depr.c releng/9.3/crypto/openssl/crypto/rsa/rsa_eay.c releng/9.3/crypto/openssl/crypto/rsa/rsa_eng.c releng/9.3/crypto/openssl/crypto/rsa/rsa_err.c releng/9.3/crypto/openssl/crypto/rsa/rsa_gen.c releng/9.3/crypto/openssl/crypto/rsa/rsa_lib.c releng/9.3/crypto/openssl/crypto/rsa/rsa_none.c releng/9.3/crypto/openssl/crypto/rsa/rsa_null.c releng/9.3/crypto/openssl/crypto/rsa/rsa_oaep.c releng/9.3/crypto/openssl/crypto/rsa/rsa_pk1.c releng/9.3/crypto/openssl/crypto/rsa/rsa_pss.c releng/9.3/crypto/openssl/crypto/rsa/rsa_saos.c releng/9.3/crypto/openssl/crypto/rsa/rsa_sign.c releng/9.3/crypto/openssl/crypto/rsa/rsa_ssl.c releng/9.3/crypto/openssl/crypto/rsa/rsa_test.c releng/9.3/crypto/openssl/crypto/rsa/rsa_x931.c releng/9.3/crypto/openssl/crypto/rsa/rsa_x931g.c releng/9.3/crypto/openssl/crypto/seed/seed.c releng/9.3/crypto/openssl/crypto/seed/seed.h releng/9.3/crypto/openssl/crypto/seed/seed_cbc.c releng/9.3/crypto/openssl/crypto/seed/seed_cfb.c releng/9.3/crypto/openssl/crypto/seed/seed_ecb.c releng/9.3/crypto/openssl/crypto/seed/seed_locl.h releng/9.3/crypto/openssl/crypto/seed/seed_ofb.c releng/9.3/crypto/openssl/crypto/sha/sha.c releng/9.3/crypto/openssl/crypto/sha/sha.h releng/9.3/crypto/openssl/crypto/sha/sha1.c releng/9.3/crypto/openssl/crypto/sha/sha1_one.c releng/9.3/crypto/openssl/crypto/sha/sha1dgst.c releng/9.3/crypto/openssl/crypto/sha/sha1test.c releng/9.3/crypto/openssl/crypto/sha/sha256.c releng/9.3/crypto/openssl/crypto/sha/sha256t.c releng/9.3/crypto/openssl/crypto/sha/sha512.c releng/9.3/crypto/openssl/crypto/sha/sha512t.c releng/9.3/crypto/openssl/crypto/sha/sha_dgst.c releng/9.3/crypto/openssl/crypto/sha/sha_locl.h releng/9.3/crypto/openssl/crypto/sha/sha_one.c releng/9.3/crypto/openssl/crypto/sha/shatest.c releng/9.3/crypto/openssl/crypto/stack/safestack.h releng/9.3/crypto/openssl/crypto/stack/stack.c releng/9.3/crypto/openssl/crypto/stack/stack.h releng/9.3/crypto/openssl/crypto/store/store.h releng/9.3/crypto/openssl/crypto/store/str_err.c releng/9.3/crypto/openssl/crypto/store/str_lib.c releng/9.3/crypto/openssl/crypto/store/str_locl.h releng/9.3/crypto/openssl/crypto/store/str_mem.c releng/9.3/crypto/openssl/crypto/store/str_meth.c releng/9.3/crypto/openssl/crypto/symhacks.h releng/9.3/crypto/openssl/crypto/threads/mttest.c releng/9.3/crypto/openssl/crypto/threads/th-lock.c releng/9.3/crypto/openssl/crypto/tmdiff.c releng/9.3/crypto/openssl/crypto/tmdiff.h releng/9.3/crypto/openssl/crypto/txt_db/txt_db.c releng/9.3/crypto/openssl/crypto/txt_db/txt_db.h releng/9.3/crypto/openssl/crypto/ui/ui.h releng/9.3/crypto/openssl/crypto/ui/ui_compat.c releng/9.3/crypto/openssl/crypto/ui/ui_compat.h releng/9.3/crypto/openssl/crypto/ui/ui_err.c releng/9.3/crypto/openssl/crypto/ui/ui_lib.c releng/9.3/crypto/openssl/crypto/ui/ui_locl.h releng/9.3/crypto/openssl/crypto/ui/ui_openssl.c releng/9.3/crypto/openssl/crypto/ui/ui_util.c releng/9.3/crypto/openssl/crypto/uid.c releng/9.3/crypto/openssl/crypto/x509/by_dir.c releng/9.3/crypto/openssl/crypto/x509/by_file.c releng/9.3/crypto/openssl/crypto/x509/x509.h releng/9.3/crypto/openssl/crypto/x509/x509_att.c releng/9.3/crypto/openssl/crypto/x509/x509_cmp.c releng/9.3/crypto/openssl/crypto/x509/x509_d2.c releng/9.3/crypto/openssl/crypto/x509/x509_def.c releng/9.3/crypto/openssl/crypto/x509/x509_err.c releng/9.3/crypto/openssl/crypto/x509/x509_ext.c releng/9.3/crypto/openssl/crypto/x509/x509_lu.c releng/9.3/crypto/openssl/crypto/x509/x509_obj.c releng/9.3/crypto/openssl/crypto/x509/x509_r2x.c releng/9.3/crypto/openssl/crypto/x509/x509_req.c releng/9.3/crypto/openssl/crypto/x509/x509_set.c releng/9.3/crypto/openssl/crypto/x509/x509_trs.c releng/9.3/crypto/openssl/crypto/x509/x509_txt.c releng/9.3/crypto/openssl/crypto/x509/x509_v3.c releng/9.3/crypto/openssl/crypto/x509/x509_vfy.c releng/9.3/crypto/openssl/crypto/x509/x509_vfy.h releng/9.3/crypto/openssl/crypto/x509/x509_vpm.c releng/9.3/crypto/openssl/crypto/x509/x509cset.c releng/9.3/crypto/openssl/crypto/x509/x509name.c releng/9.3/crypto/openssl/crypto/x509/x509rset.c releng/9.3/crypto/openssl/crypto/x509/x509spki.c releng/9.3/crypto/openssl/crypto/x509/x509type.c releng/9.3/crypto/openssl/crypto/x509/x_all.c releng/9.3/crypto/openssl/crypto/x509v3/ext_dat.h releng/9.3/crypto/openssl/crypto/x509v3/pcy_cache.c releng/9.3/crypto/openssl/crypto/x509v3/pcy_data.c releng/9.3/crypto/openssl/crypto/x509v3/pcy_int.h releng/9.3/crypto/openssl/crypto/x509v3/pcy_lib.c releng/9.3/crypto/openssl/crypto/x509v3/pcy_map.c releng/9.3/crypto/openssl/crypto/x509v3/pcy_node.c releng/9.3/crypto/openssl/crypto/x509v3/pcy_tree.c releng/9.3/crypto/openssl/crypto/x509v3/tabtest.c releng/9.3/crypto/openssl/crypto/x509v3/v3_addr.c releng/9.3/crypto/openssl/crypto/x509v3/v3_akey.c releng/9.3/crypto/openssl/crypto/x509v3/v3_akeya.c releng/9.3/crypto/openssl/crypto/x509v3/v3_alt.c releng/9.3/crypto/openssl/crypto/x509v3/v3_asid.c releng/9.3/crypto/openssl/crypto/x509v3/v3_bcons.c releng/9.3/crypto/openssl/crypto/x509v3/v3_bitst.c releng/9.3/crypto/openssl/crypto/x509v3/v3_conf.c releng/9.3/crypto/openssl/crypto/x509v3/v3_cpols.c releng/9.3/crypto/openssl/crypto/x509v3/v3_crld.c releng/9.3/crypto/openssl/crypto/x509v3/v3_enum.c releng/9.3/crypto/openssl/crypto/x509v3/v3_extku.c releng/9.3/crypto/openssl/crypto/x509v3/v3_genn.c releng/9.3/crypto/openssl/crypto/x509v3/v3_ia5.c releng/9.3/crypto/openssl/crypto/x509v3/v3_info.c releng/9.3/crypto/openssl/crypto/x509v3/v3_int.c releng/9.3/crypto/openssl/crypto/x509v3/v3_lib.c releng/9.3/crypto/openssl/crypto/x509v3/v3_ncons.c releng/9.3/crypto/openssl/crypto/x509v3/v3_ocsp.c releng/9.3/crypto/openssl/crypto/x509v3/v3_pci.c releng/9.3/crypto/openssl/crypto/x509v3/v3_pcia.c releng/9.3/crypto/openssl/crypto/x509v3/v3_pcons.c releng/9.3/crypto/openssl/crypto/x509v3/v3_pku.c releng/9.3/crypto/openssl/crypto/x509v3/v3_pmaps.c releng/9.3/crypto/openssl/crypto/x509v3/v3_prn.c releng/9.3/crypto/openssl/crypto/x509v3/v3_purp.c releng/9.3/crypto/openssl/crypto/x509v3/v3_skey.c releng/9.3/crypto/openssl/crypto/x509v3/v3_sxnet.c releng/9.3/crypto/openssl/crypto/x509v3/v3_utl.c releng/9.3/crypto/openssl/crypto/x509v3/v3conf.c releng/9.3/crypto/openssl/crypto/x509v3/v3err.c releng/9.3/crypto/openssl/crypto/x509v3/v3prin.c releng/9.3/crypto/openssl/crypto/x509v3/x509v3.h releng/9.3/crypto/openssl/demos/asn1/ocsp.c releng/9.3/crypto/openssl/demos/b64.c releng/9.3/crypto/openssl/demos/bio/saccept.c releng/9.3/crypto/openssl/demos/bio/sconnect.c releng/9.3/crypto/openssl/demos/easy_tls/easy-tls.c releng/9.3/crypto/openssl/demos/easy_tls/easy-tls.h releng/9.3/crypto/openssl/demos/easy_tls/test.c releng/9.3/crypto/openssl/demos/easy_tls/test.h releng/9.3/crypto/openssl/demos/engines/cluster_labs/cluster_labs.h releng/9.3/crypto/openssl/demos/engines/cluster_labs/hw_cluster_labs.c releng/9.3/crypto/openssl/demos/engines/cluster_labs/hw_cluster_labs_err.c releng/9.3/crypto/openssl/demos/engines/cluster_labs/hw_cluster_labs_err.h releng/9.3/crypto/openssl/demos/engines/ibmca/hw_ibmca.c releng/9.3/crypto/openssl/demos/engines/ibmca/hw_ibmca_err.c releng/9.3/crypto/openssl/demos/engines/ibmca/hw_ibmca_err.h releng/9.3/crypto/openssl/demos/engines/ibmca/ica_openssl_api.h releng/9.3/crypto/openssl/demos/engines/zencod/hw_zencod.c releng/9.3/crypto/openssl/demos/engines/zencod/hw_zencod.h releng/9.3/crypto/openssl/demos/engines/zencod/hw_zencod_err.c releng/9.3/crypto/openssl/demos/engines/zencod/hw_zencod_err.h releng/9.3/crypto/openssl/demos/jpake/jpakedemo.c releng/9.3/crypto/openssl/demos/pkcs12/pkread.c releng/9.3/crypto/openssl/demos/pkcs12/pkwrite.c releng/9.3/crypto/openssl/demos/prime/prime.c releng/9.3/crypto/openssl/demos/selfsign.c releng/9.3/crypto/openssl/demos/sign/sign.c releng/9.3/crypto/openssl/demos/spkigen.c releng/9.3/crypto/openssl/demos/state_machine/state_machine.c releng/9.3/crypto/openssl/demos/tunala/breakage.c releng/9.3/crypto/openssl/demos/tunala/buffer.c releng/9.3/crypto/openssl/demos/tunala/cb.c releng/9.3/crypto/openssl/demos/tunala/ip.c releng/9.3/crypto/openssl/demos/tunala/sm.c releng/9.3/crypto/openssl/demos/tunala/tunala.c releng/9.3/crypto/openssl/demos/tunala/tunala.h releng/9.3/crypto/openssl/demos/x509/mkcert.c releng/9.3/crypto/openssl/demos/x509/mkreq.c releng/9.3/crypto/openssl/doc/apps/ciphers.pod releng/9.3/crypto/openssl/doc/crypto/BN_rand.pod releng/9.3/crypto/openssl/doc/crypto/BN_set_bit.pod releng/9.3/crypto/openssl/doc/crypto/X509_NAME_get_index_by_NID.pod releng/9.3/crypto/openssl/doc/crypto/d2i_X509.pod releng/9.3/crypto/openssl/doc/crypto/pem.pod releng/9.3/crypto/openssl/e_os.h releng/9.3/crypto/openssl/e_os2.h releng/9.3/crypto/openssl/engines/e_4758cca.c releng/9.3/crypto/openssl/engines/e_4758cca_err.c releng/9.3/crypto/openssl/engines/e_4758cca_err.h releng/9.3/crypto/openssl/engines/e_aep.c releng/9.3/crypto/openssl/engines/e_aep_err.c releng/9.3/crypto/openssl/engines/e_aep_err.h releng/9.3/crypto/openssl/engines/e_atalla.c releng/9.3/crypto/openssl/engines/e_atalla_err.c releng/9.3/crypto/openssl/engines/e_atalla_err.h releng/9.3/crypto/openssl/engines/e_capi.c releng/9.3/crypto/openssl/engines/e_capi_err.c releng/9.3/crypto/openssl/engines/e_capi_err.h releng/9.3/crypto/openssl/engines/e_chil.c releng/9.3/crypto/openssl/engines/e_chil_err.c releng/9.3/crypto/openssl/engines/e_chil_err.h releng/9.3/crypto/openssl/engines/e_cswift.c releng/9.3/crypto/openssl/engines/e_cswift_err.c releng/9.3/crypto/openssl/engines/e_cswift_err.h releng/9.3/crypto/openssl/engines/e_gmp.c releng/9.3/crypto/openssl/engines/e_gmp_err.c releng/9.3/crypto/openssl/engines/e_gmp_err.h releng/9.3/crypto/openssl/engines/e_nuron.c releng/9.3/crypto/openssl/engines/e_nuron_err.c releng/9.3/crypto/openssl/engines/e_nuron_err.h releng/9.3/crypto/openssl/engines/e_sureware.c releng/9.3/crypto/openssl/engines/e_sureware_err.c releng/9.3/crypto/openssl/engines/e_sureware_err.h releng/9.3/crypto/openssl/engines/e_ubsec.c releng/9.3/crypto/openssl/engines/e_ubsec_err.c releng/9.3/crypto/openssl/engines/e_ubsec_err.h releng/9.3/crypto/openssl/engines/vendor_defns/aep.h releng/9.3/crypto/openssl/engines/vendor_defns/atalla.h releng/9.3/crypto/openssl/engines/vendor_defns/cswift.h releng/9.3/crypto/openssl/engines/vendor_defns/hw_4758_cca.h releng/9.3/crypto/openssl/engines/vendor_defns/hw_ubsec.h releng/9.3/crypto/openssl/engines/vendor_defns/hwcryptohook.h releng/9.3/crypto/openssl/engines/vendor_defns/sureware.h releng/9.3/crypto/openssl/fips/aes/fips_aes_selftest.c releng/9.3/crypto/openssl/fips/aes/fips_aesavs.c releng/9.3/crypto/openssl/fips/des/fips_des_selftest.c releng/9.3/crypto/openssl/fips/des/fips_desmovs.c releng/9.3/crypto/openssl/fips/dh/dh_gen.c releng/9.3/crypto/openssl/fips/dh/fips_dh_check.c releng/9.3/crypto/openssl/fips/dh/fips_dh_gen.c releng/9.3/crypto/openssl/fips/dh/fips_dh_key.c releng/9.3/crypto/openssl/fips/dh/fips_dh_lib.c releng/9.3/crypto/openssl/fips/dsa/fips_dsa_gen.c releng/9.3/crypto/openssl/fips/dsa/fips_dsa_key.c releng/9.3/crypto/openssl/fips/dsa/fips_dsa_lib.c releng/9.3/crypto/openssl/fips/dsa/fips_dsa_ossl.c releng/9.3/crypto/openssl/fips/dsa/fips_dsa_selftest.c releng/9.3/crypto/openssl/fips/dsa/fips_dsa_sign.c releng/9.3/crypto/openssl/fips/dsa/fips_dsatest.c releng/9.3/crypto/openssl/fips/dsa/fips_dssvs.c releng/9.3/crypto/openssl/fips/fips.c releng/9.3/crypto/openssl/fips/fips.h releng/9.3/crypto/openssl/fips/fips_canister.c releng/9.3/crypto/openssl/fips/fips_locl.h releng/9.3/crypto/openssl/fips/fips_premain.c releng/9.3/crypto/openssl/fips/fips_test_suite.c releng/9.3/crypto/openssl/fips/fips_utl.h releng/9.3/crypto/openssl/fips/hmac/fips_hmac.c releng/9.3/crypto/openssl/fips/hmac/fips_hmac_selftest.c releng/9.3/crypto/openssl/fips/hmac/fips_hmactest.c releng/9.3/crypto/openssl/fips/rand/fips_rand.c releng/9.3/crypto/openssl/fips/rand/fips_rand.h releng/9.3/crypto/openssl/fips/rand/fips_rand_selftest.c releng/9.3/crypto/openssl/fips/rand/fips_randtest.c releng/9.3/crypto/openssl/fips/rand/fips_rngvs.c releng/9.3/crypto/openssl/fips/rsa/fips_rsa_eay.c releng/9.3/crypto/openssl/fips/rsa/fips_rsa_gen.c releng/9.3/crypto/openssl/fips/rsa/fips_rsa_lib.c releng/9.3/crypto/openssl/fips/rsa/fips_rsa_selftest.c releng/9.3/crypto/openssl/fips/rsa/fips_rsa_sign.c releng/9.3/crypto/openssl/fips/rsa/fips_rsa_x931g.c releng/9.3/crypto/openssl/fips/rsa/fips_rsagtest.c releng/9.3/crypto/openssl/fips/rsa/fips_rsastest.c releng/9.3/crypto/openssl/fips/rsa/fips_rsavtest.c releng/9.3/crypto/openssl/fips/sha/fips_sha1_selftest.c releng/9.3/crypto/openssl/fips/sha/fips_shatest.c releng/9.3/crypto/openssl/fips/sha/fips_standalone_sha1.c releng/9.3/crypto/openssl/openssl.spec releng/9.3/crypto/openssl/ssl/bio_ssl.c releng/9.3/crypto/openssl/ssl/d1_both.c releng/9.3/crypto/openssl/ssl/d1_clnt.c releng/9.3/crypto/openssl/ssl/d1_enc.c releng/9.3/crypto/openssl/ssl/d1_lib.c releng/9.3/crypto/openssl/ssl/d1_meth.c releng/9.3/crypto/openssl/ssl/d1_pkt.c releng/9.3/crypto/openssl/ssl/d1_srvr.c releng/9.3/crypto/openssl/ssl/dtls1.h releng/9.3/crypto/openssl/ssl/kssl.c releng/9.3/crypto/openssl/ssl/kssl.h releng/9.3/crypto/openssl/ssl/kssl_lcl.h releng/9.3/crypto/openssl/ssl/s23_clnt.c releng/9.3/crypto/openssl/ssl/s23_lib.c releng/9.3/crypto/openssl/ssl/s23_meth.c releng/9.3/crypto/openssl/ssl/s23_pkt.c releng/9.3/crypto/openssl/ssl/s23_srvr.c releng/9.3/crypto/openssl/ssl/s2_clnt.c releng/9.3/crypto/openssl/ssl/s2_enc.c releng/9.3/crypto/openssl/ssl/s2_lib.c releng/9.3/crypto/openssl/ssl/s2_meth.c releng/9.3/crypto/openssl/ssl/s2_pkt.c releng/9.3/crypto/openssl/ssl/s2_srvr.c releng/9.3/crypto/openssl/ssl/s3_both.c releng/9.3/crypto/openssl/ssl/s3_cbc.c releng/9.3/crypto/openssl/ssl/s3_clnt.c releng/9.3/crypto/openssl/ssl/s3_enc.c releng/9.3/crypto/openssl/ssl/s3_lib.c releng/9.3/crypto/openssl/ssl/s3_meth.c releng/9.3/crypto/openssl/ssl/s3_pkt.c releng/9.3/crypto/openssl/ssl/s3_srvr.c releng/9.3/crypto/openssl/ssl/ssl.h releng/9.3/crypto/openssl/ssl/ssl2.h releng/9.3/crypto/openssl/ssl/ssl23.h releng/9.3/crypto/openssl/ssl/ssl3.h releng/9.3/crypto/openssl/ssl/ssl_algs.c releng/9.3/crypto/openssl/ssl/ssl_asn1.c releng/9.3/crypto/openssl/ssl/ssl_cert.c releng/9.3/crypto/openssl/ssl/ssl_ciph.c releng/9.3/crypto/openssl/ssl/ssl_err.c releng/9.3/crypto/openssl/ssl/ssl_err2.c releng/9.3/crypto/openssl/ssl/ssl_lib.c releng/9.3/crypto/openssl/ssl/ssl_locl.h releng/9.3/crypto/openssl/ssl/ssl_rsa.c releng/9.3/crypto/openssl/ssl/ssl_sess.c releng/9.3/crypto/openssl/ssl/ssl_stat.c releng/9.3/crypto/openssl/ssl/ssl_task.c releng/9.3/crypto/openssl/ssl/ssl_txt.c releng/9.3/crypto/openssl/ssl/ssltest.c releng/9.3/crypto/openssl/ssl/t1_clnt.c releng/9.3/crypto/openssl/ssl/t1_enc.c releng/9.3/crypto/openssl/ssl/t1_lib.c releng/9.3/crypto/openssl/ssl/t1_meth.c releng/9.3/crypto/openssl/ssl/t1_reneg.c releng/9.3/crypto/openssl/ssl/t1_srvr.c releng/9.3/crypto/openssl/ssl/tls1.h releng/9.3/crypto/openssl/test/dummytest.c releng/9.3/crypto/openssl/test/igetest.c releng/9.3/crypto/openssl/test/methtest.c releng/9.3/crypto/openssl/test/r160test.c releng/9.3/crypto/openssl/util/ck_errf.pl releng/9.3/crypto/openssl/util/mkerr.pl releng/9.3/secure/lib/libcrypto/Makefile releng/9.3/secure/lib/libcrypto/Makefile.inc releng/9.3/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 releng/9.3/secure/lib/libcrypto/man/ASN1_STRING_length.3 releng/9.3/secure/lib/libcrypto/man/ASN1_STRING_new.3 releng/9.3/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 releng/9.3/secure/lib/libcrypto/man/ASN1_generate_nconf.3 releng/9.3/secure/lib/libcrypto/man/BIO_ctrl.3 releng/9.3/secure/lib/libcrypto/man/BIO_f_base64.3 releng/9.3/secure/lib/libcrypto/man/BIO_f_buffer.3 releng/9.3/secure/lib/libcrypto/man/BIO_f_cipher.3 releng/9.3/secure/lib/libcrypto/man/BIO_f_md.3 releng/9.3/secure/lib/libcrypto/man/BIO_f_null.3 releng/9.3/secure/lib/libcrypto/man/BIO_f_ssl.3 releng/9.3/secure/lib/libcrypto/man/BIO_find_type.3 releng/9.3/secure/lib/libcrypto/man/BIO_new.3 releng/9.3/secure/lib/libcrypto/man/BIO_push.3 releng/9.3/secure/lib/libcrypto/man/BIO_read.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_accept.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_bio.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_connect.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_fd.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_file.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_mem.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_null.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_socket.3 releng/9.3/secure/lib/libcrypto/man/BIO_set_callback.3 releng/9.3/secure/lib/libcrypto/man/BIO_should_retry.3 releng/9.3/secure/lib/libcrypto/man/BN_BLINDING_new.3 releng/9.3/secure/lib/libcrypto/man/BN_CTX_new.3 releng/9.3/secure/lib/libcrypto/man/BN_CTX_start.3 releng/9.3/secure/lib/libcrypto/man/BN_add.3 releng/9.3/secure/lib/libcrypto/man/BN_add_word.3 releng/9.3/secure/lib/libcrypto/man/BN_bn2bin.3 releng/9.3/secure/lib/libcrypto/man/BN_cmp.3 releng/9.3/secure/lib/libcrypto/man/BN_copy.3 releng/9.3/secure/lib/libcrypto/man/BN_generate_prime.3 releng/9.3/secure/lib/libcrypto/man/BN_mod_inverse.3 releng/9.3/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 releng/9.3/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 releng/9.3/secure/lib/libcrypto/man/BN_new.3 releng/9.3/secure/lib/libcrypto/man/BN_num_bytes.3 releng/9.3/secure/lib/libcrypto/man/BN_rand.3 releng/9.3/secure/lib/libcrypto/man/BN_set_bit.3 releng/9.3/secure/lib/libcrypto/man/BN_swap.3 releng/9.3/secure/lib/libcrypto/man/BN_zero.3 releng/9.3/secure/lib/libcrypto/man/CONF_modules_free.3 releng/9.3/secure/lib/libcrypto/man/CONF_modules_load_file.3 releng/9.3/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 releng/9.3/secure/lib/libcrypto/man/DH_generate_key.3 releng/9.3/secure/lib/libcrypto/man/DH_generate_parameters.3 releng/9.3/secure/lib/libcrypto/man/DH_get_ex_new_index.3 releng/9.3/secure/lib/libcrypto/man/DH_new.3 releng/9.3/secure/lib/libcrypto/man/DH_set_method.3 releng/9.3/secure/lib/libcrypto/man/DH_size.3 releng/9.3/secure/lib/libcrypto/man/DSA_SIG_new.3 releng/9.3/secure/lib/libcrypto/man/DSA_do_sign.3 releng/9.3/secure/lib/libcrypto/man/DSA_dup_DH.3 releng/9.3/secure/lib/libcrypto/man/DSA_generate_key.3 releng/9.3/secure/lib/libcrypto/man/DSA_generate_parameters.3 releng/9.3/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 releng/9.3/secure/lib/libcrypto/man/DSA_new.3 releng/9.3/secure/lib/libcrypto/man/DSA_set_method.3 releng/9.3/secure/lib/libcrypto/man/DSA_sign.3 releng/9.3/secure/lib/libcrypto/man/DSA_size.3 releng/9.3/secure/lib/libcrypto/man/ERR_GET_LIB.3 releng/9.3/secure/lib/libcrypto/man/ERR_clear_error.3 releng/9.3/secure/lib/libcrypto/man/ERR_error_string.3 releng/9.3/secure/lib/libcrypto/man/ERR_get_error.3 releng/9.3/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 releng/9.3/secure/lib/libcrypto/man/ERR_load_strings.3 releng/9.3/secure/lib/libcrypto/man/ERR_print_errors.3 releng/9.3/secure/lib/libcrypto/man/ERR_put_error.3 releng/9.3/secure/lib/libcrypto/man/ERR_remove_state.3 releng/9.3/secure/lib/libcrypto/man/ERR_set_mark.3 releng/9.3/secure/lib/libcrypto/man/EVP_BytesToKey.3 releng/9.3/secure/lib/libcrypto/man/EVP_DigestInit.3 releng/9.3/secure/lib/libcrypto/man/EVP_EncryptInit.3 releng/9.3/secure/lib/libcrypto/man/EVP_OpenInit.3 releng/9.3/secure/lib/libcrypto/man/EVP_PKEY_new.3 releng/9.3/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 releng/9.3/secure/lib/libcrypto/man/EVP_SealInit.3 releng/9.3/secure/lib/libcrypto/man/EVP_SignInit.3 releng/9.3/secure/lib/libcrypto/man/EVP_VerifyInit.3 releng/9.3/secure/lib/libcrypto/man/OBJ_nid2obj.3 releng/9.3/secure/lib/libcrypto/man/OPENSSL_Applink.3 releng/9.3/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 releng/9.3/secure/lib/libcrypto/man/OPENSSL_config.3 releng/9.3/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 releng/9.3/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 releng/9.3/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 releng/9.3/secure/lib/libcrypto/man/PKCS12_create.3 releng/9.3/secure/lib/libcrypto/man/PKCS12_parse.3 releng/9.3/secure/lib/libcrypto/man/PKCS7_decrypt.3 releng/9.3/secure/lib/libcrypto/man/PKCS7_encrypt.3 releng/9.3/secure/lib/libcrypto/man/PKCS7_sign.3 releng/9.3/secure/lib/libcrypto/man/PKCS7_verify.3 releng/9.3/secure/lib/libcrypto/man/RAND_add.3 releng/9.3/secure/lib/libcrypto/man/RAND_bytes.3 releng/9.3/secure/lib/libcrypto/man/RAND_cleanup.3 releng/9.3/secure/lib/libcrypto/man/RAND_egd.3 releng/9.3/secure/lib/libcrypto/man/RAND_load_file.3 releng/9.3/secure/lib/libcrypto/man/RAND_set_rand_method.3 releng/9.3/secure/lib/libcrypto/man/RSA_blinding_on.3 releng/9.3/secure/lib/libcrypto/man/RSA_check_key.3 releng/9.3/secure/lib/libcrypto/man/RSA_generate_key.3 releng/9.3/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 releng/9.3/secure/lib/libcrypto/man/RSA_new.3 releng/9.3/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 releng/9.3/secure/lib/libcrypto/man/RSA_print.3 releng/9.3/secure/lib/libcrypto/man/RSA_private_encrypt.3 releng/9.3/secure/lib/libcrypto/man/RSA_public_encrypt.3 releng/9.3/secure/lib/libcrypto/man/RSA_set_method.3 releng/9.3/secure/lib/libcrypto/man/RSA_sign.3 releng/9.3/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 releng/9.3/secure/lib/libcrypto/man/RSA_size.3 releng/9.3/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 releng/9.3/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 releng/9.3/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 releng/9.3/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 releng/9.3/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 releng/9.3/secure/lib/libcrypto/man/X509_NAME_print_ex.3 releng/9.3/secure/lib/libcrypto/man/X509_new.3 releng/9.3/secure/lib/libcrypto/man/bio.3 releng/9.3/secure/lib/libcrypto/man/blowfish.3 releng/9.3/secure/lib/libcrypto/man/bn.3 releng/9.3/secure/lib/libcrypto/man/bn_internal.3 releng/9.3/secure/lib/libcrypto/man/buffer.3 releng/9.3/secure/lib/libcrypto/man/crypto.3 releng/9.3/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 releng/9.3/secure/lib/libcrypto/man/d2i_DHparams.3 releng/9.3/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 releng/9.3/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 releng/9.3/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 releng/9.3/secure/lib/libcrypto/man/d2i_X509.3 releng/9.3/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 releng/9.3/secure/lib/libcrypto/man/d2i_X509_CRL.3 releng/9.3/secure/lib/libcrypto/man/d2i_X509_NAME.3 releng/9.3/secure/lib/libcrypto/man/d2i_X509_REQ.3 releng/9.3/secure/lib/libcrypto/man/d2i_X509_SIG.3 releng/9.3/secure/lib/libcrypto/man/des.3 releng/9.3/secure/lib/libcrypto/man/dh.3 releng/9.3/secure/lib/libcrypto/man/dsa.3 releng/9.3/secure/lib/libcrypto/man/ecdsa.3 releng/9.3/secure/lib/libcrypto/man/engine.3 releng/9.3/secure/lib/libcrypto/man/err.3 releng/9.3/secure/lib/libcrypto/man/evp.3 releng/9.3/secure/lib/libcrypto/man/hmac.3 releng/9.3/secure/lib/libcrypto/man/lh_stats.3 releng/9.3/secure/lib/libcrypto/man/lhash.3 releng/9.3/secure/lib/libcrypto/man/md5.3 releng/9.3/secure/lib/libcrypto/man/mdc2.3 releng/9.3/secure/lib/libcrypto/man/pem.3 releng/9.3/secure/lib/libcrypto/man/rand.3 releng/9.3/secure/lib/libcrypto/man/rc4.3 releng/9.3/secure/lib/libcrypto/man/ripemd.3 releng/9.3/secure/lib/libcrypto/man/rsa.3 releng/9.3/secure/lib/libcrypto/man/sha.3 releng/9.3/secure/lib/libcrypto/man/threads.3 releng/9.3/secure/lib/libcrypto/man/ui.3 releng/9.3/secure/lib/libcrypto/man/ui_compat.3 releng/9.3/secure/lib/libcrypto/man/x509.3 releng/9.3/secure/lib/libssl/man/SSL_CIPHER_get_name.3 releng/9.3/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_add_session.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_ctrl.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_free.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_new.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_sess_number.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_sessions.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_mode.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_options.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_timeout.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_verify.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_use_certificate.3 releng/9.3/secure/lib/libssl/man/SSL_SESSION_free.3 releng/9.3/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 releng/9.3/secure/lib/libssl/man/SSL_SESSION_get_time.3 releng/9.3/secure/lib/libssl/man/SSL_accept.3 releng/9.3/secure/lib/libssl/man/SSL_alert_type_string.3 releng/9.3/secure/lib/libssl/man/SSL_clear.3 releng/9.3/secure/lib/libssl/man/SSL_connect.3 releng/9.3/secure/lib/libssl/man/SSL_do_handshake.3 releng/9.3/secure/lib/libssl/man/SSL_free.3 releng/9.3/secure/lib/libssl/man/SSL_get_SSL_CTX.3 releng/9.3/secure/lib/libssl/man/SSL_get_ciphers.3 releng/9.3/secure/lib/libssl/man/SSL_get_client_CA_list.3 releng/9.3/secure/lib/libssl/man/SSL_get_current_cipher.3 releng/9.3/secure/lib/libssl/man/SSL_get_default_timeout.3 releng/9.3/secure/lib/libssl/man/SSL_get_error.3 releng/9.3/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 releng/9.3/secure/lib/libssl/man/SSL_get_ex_new_index.3 releng/9.3/secure/lib/libssl/man/SSL_get_fd.3 releng/9.3/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 releng/9.3/secure/lib/libssl/man/SSL_get_peer_certificate.3 releng/9.3/secure/lib/libssl/man/SSL_get_rbio.3 releng/9.3/secure/lib/libssl/man/SSL_get_session.3 releng/9.3/secure/lib/libssl/man/SSL_get_verify_result.3 releng/9.3/secure/lib/libssl/man/SSL_get_version.3 releng/9.3/secure/lib/libssl/man/SSL_library_init.3 releng/9.3/secure/lib/libssl/man/SSL_load_client_CA_file.3 releng/9.3/secure/lib/libssl/man/SSL_new.3 releng/9.3/secure/lib/libssl/man/SSL_pending.3 releng/9.3/secure/lib/libssl/man/SSL_read.3 releng/9.3/secure/lib/libssl/man/SSL_rstate_string.3 releng/9.3/secure/lib/libssl/man/SSL_session_reused.3 releng/9.3/secure/lib/libssl/man/SSL_set_bio.3 releng/9.3/secure/lib/libssl/man/SSL_set_connect_state.3 releng/9.3/secure/lib/libssl/man/SSL_set_fd.3 releng/9.3/secure/lib/libssl/man/SSL_set_session.3 releng/9.3/secure/lib/libssl/man/SSL_set_shutdown.3 releng/9.3/secure/lib/libssl/man/SSL_set_verify_result.3 releng/9.3/secure/lib/libssl/man/SSL_shutdown.3 releng/9.3/secure/lib/libssl/man/SSL_state_string.3 releng/9.3/secure/lib/libssl/man/SSL_want.3 releng/9.3/secure/lib/libssl/man/SSL_write.3 releng/9.3/secure/lib/libssl/man/d2i_SSL_SESSION.3 releng/9.3/secure/lib/libssl/man/ssl.3 releng/9.3/secure/usr.bin/openssl/man/CA.pl.1 releng/9.3/secure/usr.bin/openssl/man/asn1parse.1 releng/9.3/secure/usr.bin/openssl/man/ca.1 releng/9.3/secure/usr.bin/openssl/man/ciphers.1 releng/9.3/secure/usr.bin/openssl/man/crl.1 releng/9.3/secure/usr.bin/openssl/man/crl2pkcs7.1 releng/9.3/secure/usr.bin/openssl/man/dgst.1 releng/9.3/secure/usr.bin/openssl/man/dhparam.1 releng/9.3/secure/usr.bin/openssl/man/dsa.1 releng/9.3/secure/usr.bin/openssl/man/dsaparam.1 releng/9.3/secure/usr.bin/openssl/man/ec.1 releng/9.3/secure/usr.bin/openssl/man/ecparam.1 releng/9.3/secure/usr.bin/openssl/man/enc.1 releng/9.3/secure/usr.bin/openssl/man/errstr.1 releng/9.3/secure/usr.bin/openssl/man/gendsa.1 releng/9.3/secure/usr.bin/openssl/man/genrsa.1 releng/9.3/secure/usr.bin/openssl/man/nseq.1 releng/9.3/secure/usr.bin/openssl/man/ocsp.1 releng/9.3/secure/usr.bin/openssl/man/openssl.1 releng/9.3/secure/usr.bin/openssl/man/passwd.1 releng/9.3/secure/usr.bin/openssl/man/pkcs12.1 releng/9.3/secure/usr.bin/openssl/man/pkcs7.1 releng/9.3/secure/usr.bin/openssl/man/pkcs8.1 releng/9.3/secure/usr.bin/openssl/man/rand.1 releng/9.3/secure/usr.bin/openssl/man/req.1 releng/9.3/secure/usr.bin/openssl/man/rsa.1 releng/9.3/secure/usr.bin/openssl/man/rsautl.1 releng/9.3/secure/usr.bin/openssl/man/s_client.1 releng/9.3/secure/usr.bin/openssl/man/s_server.1 releng/9.3/secure/usr.bin/openssl/man/s_time.1 releng/9.3/secure/usr.bin/openssl/man/sess_id.1 releng/9.3/secure/usr.bin/openssl/man/smime.1 releng/9.3/secure/usr.bin/openssl/man/speed.1 releng/9.3/secure/usr.bin/openssl/man/spkac.1 releng/9.3/secure/usr.bin/openssl/man/verify.1 releng/9.3/secure/usr.bin/openssl/man/version.1 releng/9.3/secure/usr.bin/openssl/man/x509.1 releng/9.3/secure/usr.bin/openssl/man/x509v3_config.1 releng/9.3/sys/conf/newvers.sh Modified: releng/9.3/UPDATING ============================================================================== --- releng/9.3/UPDATING Mon Mar 7 16:20:01 2016 (r296464) +++ releng/9.3/UPDATING Mon Mar 7 16:22:11 2016 (r296465) @@ -11,6 +11,10 @@ handbook: Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before running portupgrade. +20160303 p37 FreeBSD-SA-16:12.openssl + + Fix multiple vulnerabilities of OpenSSL. + 20160130 p36 FreeBSD-SA-16:11.openssl Fix OpenSSL SSLv2 ciphersuite downgrade vulnerability. [SA-16:11] Modified: releng/9.3/crypto/openssl/CHANGES ============================================================================== --- releng/9.3/crypto/openssl/CHANGES Mon Mar 7 16:20:01 2016 (r296464) +++ releng/9.3/crypto/openssl/CHANGES Mon Mar 7 16:22:11 2016 (r296465) @@ -2,6 +2,170 @@ OpenSSL CHANGES _______________ + Changes between 0.9.8zg and 0.9.8zh [3 Dec 2015] + + *) X509_ATTRIBUTE memory leak + + When presented with a malformed X509_ATTRIBUTE structure OpenSSL will leak + memory. This structure is used by the PKCS#7 and CMS routines so any + application which reads PKCS#7 or CMS data from untrusted sources is + affected. SSL/TLS is not affected. + + This issue was reported to OpenSSL by Adam Langley (Google/BoringSSL) using + libFuzzer. + (CVE-2015-3195) + [Stephen Henson] + + Changes between 0.9.8zf and 0.9.8zg [11 Jun 2015] + + *) Malformed ECParameters causes infinite loop + + When processing an ECParameters structure OpenSSL enters an infinite loop + if the curve specified is over a specially malformed binary polynomial + field. + + This can be used to perform denial of service against any + system which processes public keys, certificate requests or + certificates. This includes TLS clients and TLS servers with + client authentication enabled. + + This issue was reported to OpenSSL by Joseph Barr-Pixton. + (CVE-2015-1788) + [Andy Polyakov] + + *) Exploitable out-of-bounds read in X509_cmp_time + + X509_cmp_time does not properly check the length of the ASN1_TIME + string and can read a few bytes out of bounds. In addition, + X509_cmp_time accepts an arbitrary number of fractional seconds in the + time string. + + An attacker can use this to craft malformed certificates and CRLs of + various sizes and potentially cause a segmentation fault, resulting in + a DoS on applications that verify certificates or CRLs. TLS clients + that verify CRLs are affected. TLS clients and servers with client + authentication enabled may be affected if they use custom verification + callbacks. + + This issue was reported to OpenSSL by Robert Swiecki (Google), and + independently by Hanno Böck. + (CVE-2015-1789) + [Emilia Käsper] + + *) PKCS7 crash with missing EnvelopedContent + + The PKCS#7 parsing code does not handle missing inner EncryptedContent + correctly. An attacker can craft malformed ASN.1-encoded PKCS#7 blobs + with missing content and trigger a NULL pointer dereference on parsing. + + Applications that decrypt PKCS#7 data or otherwise parse PKCS#7 + structures from untrusted sources are affected. OpenSSL clients and + servers are not affected. + + This issue was reported to OpenSSL by Michal Zalewski (Google). + (CVE-2015-1790) + [Emilia Käsper] + + *) CMS verify infinite loop with unknown hash function + + When verifying a signedData message the CMS code can enter an infinite loop + if presented with an unknown hash function OID. This can be used to perform + denial of service against any system which verifies signedData messages using + the CMS code. + This issue was reported to OpenSSL by Johannes Bauer. + (CVE-2015-1792) + [Stephen Henson] + + *) Race condition handling NewSessionTicket + + If a NewSessionTicket is received by a multi-threaded client when attempting to + reuse a previous ticket then a race condition can occur potentially leading to + a double free of the ticket data. + (CVE-2015-1791) + [Matt Caswell] + + Changes between 0.9.8ze and 0.9.8zf [19 Mar 2015] + + *) Segmentation fault in ASN1_TYPE_cmp fix + + The function ASN1_TYPE_cmp will crash with an invalid read if an attempt is + made to compare ASN.1 boolean types. Since ASN1_TYPE_cmp is used to check + certificate signature algorithm consistency this can be used to crash any + certificate verification operation and exploited in a DoS attack. Any + application which performs certificate verification is vulnerable including + OpenSSL clients and servers which enable client authentication. + (CVE-2015-0286) + [Stephen Henson] + + *) ASN.1 structure reuse memory corruption fix + + Reusing a structure in ASN.1 parsing may allow an attacker to cause + memory corruption via an invalid write. Such reuse is and has been + strongly discouraged and is believed to be rare. + + Applications that parse structures containing CHOICE or ANY DEFINED BY + components may be affected. Certificate parsing (d2i_X509 and related + functions) are however not affected. OpenSSL clients and servers are + not affected. + (CVE-2015-0287) + [Stephen Henson] + + *) PKCS7 NULL pointer dereferences fix + + The PKCS#7 parsing code does not handle missing outer ContentInfo + correctly. An attacker can craft malformed ASN.1-encoded PKCS#7 blobs with + missing content and trigger a NULL pointer dereference on parsing. + + Applications that verify PKCS#7 signatures, decrypt PKCS#7 data or + otherwise parse PKCS#7 structures from untrusted sources are + affected. OpenSSL clients and servers are not affected. + + This issue was reported to OpenSSL by Michal Zalewski (Google). + (CVE-2015-0289) + [Emilia Käsper] + + *) DoS via reachable assert in SSLv2 servers fix + + A malicious client can trigger an OPENSSL_assert (i.e., an abort) in + servers that both support SSLv2 and enable export cipher suites by sending + a specially crafted SSLv2 CLIENT-MASTER-KEY message. + + This issue was discovered by Sean Burford (Google) and Emilia Käsper + (OpenSSL development team). + (CVE-2015-0293) + [Emilia Käsper] + + *) Use After Free following d2i_ECPrivatekey error fix + + A malformed EC private key file consumed via the d2i_ECPrivateKey function + could cause a use after free condition. This, in turn, could cause a double + free in several private key parsing functions (such as d2i_PrivateKey + or EVP_PKCS82PKEY) and could lead to a DoS attack or memory corruption + for applications that receive EC private keys from untrusted + sources. This scenario is considered rare. + + This issue was discovered by the BoringSSL project and fixed in their + commit 517073cd4b. + (CVE-2015-0209) + [Matt Caswell] + + *) X509_to_X509_REQ NULL pointer deref fix + + The function X509_to_X509_REQ will crash with a NULL pointer dereference if + the certificate key is invalid. This function is rarely used in practice. + + This issue was discovered by Brian Carpenter. + (CVE-2015-0288) + [Stephen Henson] + + *) Removed the export and SSLv2 ciphers from the DEFAULT ciphers + [Kurt Roeckx] + + Changes between 0.9.8zd and 0.9.8ze [15 Jan 2015] + + *) Build fixes for the Windows and OpenVMS platforms + [Matt Caswell and Richard Levitte] + Changes between 0.9.8zc and 0.9.8zd [8 Jan 2015] *) Fix DTLS segmentation fault in dtls1_get_record. A carefully crafted DTLS Modified: releng/9.3/crypto/openssl/FAQ ============================================================================== --- releng/9.3/crypto/openssl/FAQ Mon Mar 7 16:20:01 2016 (r296464) +++ releng/9.3/crypto/openssl/FAQ Mon Mar 7 16:22:11 2016 (r296465) @@ -1,1039 +1,2 @@ -OpenSSL - Frequently Asked Questions --------------------------------------- - -[MISC] Miscellaneous questions - -* Which is the current version of OpenSSL? -* Where is the documentation? -* How can I contact the OpenSSL developers? -* Where can I get a compiled version of OpenSSL? -* Why aren't tools like 'autoconf' and 'libtool' used? -* What is an 'engine' version? -* How do I check the authenticity of the OpenSSL distribution? -* How does the versioning scheme work? - -[LEGAL] Legal questions - -* Do I need patent licenses to use OpenSSL? -* Can I use OpenSSL with GPL software? - -[USER] Questions on using the OpenSSL applications - -* Why do I get a "PRNG not seeded" error message? -* Why do I get an "unable to write 'random state'" error message? -* How do I create certificates or certificate requests? -* Why can't I create certificate requests? -* Why does fail with a certificate verify error? -* Why can I only use weak ciphers when I connect to a server using OpenSSL? -* How can I create DSA certificates? -* Why can't I make an SSL connection using a DSA certificate? -* How can I remove the passphrase on a private key? -* Why can't I use OpenSSL certificates with SSL client authentication? -* Why does my browser give a warning about a mismatched hostname? -* How do I install a CA certificate into a browser? -* Why is OpenSSL x509 DN output not conformant to RFC2253? -* What is a "128 bit certificate"? Can I create one with OpenSSL? -* Why does OpenSSL set the authority key identifier extension incorrectly? -* How can I set up a bundle of commercial root CA certificates? - -[BUILD] Questions about building and testing OpenSSL - -* Why does the linker complain about undefined symbols? -* Why does the OpenSSL test fail with "bc: command not found"? -* Why does the OpenSSL test fail with "bc: 1 no implemented"? -* Why does the OpenSSL test fail with "bc: stack empty"? -* Why does the OpenSSL compilation fail on Alpha Tru64 Unix? -* Why does the OpenSSL compilation fail with "ar: command not found"? -* Why does the OpenSSL compilation fail on Win32 with VC++? -* What is special about OpenSSL on Redhat? -* Why does the OpenSSL compilation fail on MacOS X? -* Why does the OpenSSL test suite fail on MacOS X? -* Why does the OpenSSL test suite fail in BN_sqr test [on a 64-bit platform]? -* Why does OpenBSD-i386 build fail on des-586.s with "Unimplemented segment type"? -* Why does the OpenSSL test suite fail in sha512t on x86 CPU? -* Why does compiler fail to compile sha512.c? -* Test suite still fails, what to do? -* I think I've found a bug, what should I do? -* I'm SURE I've found a bug, how do I report it? -* I've found a security issue, how do I report it? - -[PROG] Questions about programming with OpenSSL - -* Is OpenSSL thread-safe? -* I've compiled a program under Windows and it crashes: why? -* How do I read or write a DER encoded buffer using the ASN1 functions? -* OpenSSL uses DER but I need BER format: does OpenSSL support BER? -* I've tried using and I get errors why? -* I've called and it fails, why? -* I just get a load of numbers for the error output, what do they mean? -* Why do I get errors about unknown algorithms? -* Why can't the OpenSSH configure script detect OpenSSL? -* Can I use OpenSSL's SSL library with non-blocking I/O? -* Why doesn't my server application receive a client certificate? -* Why does compilation fail due to an undefined symbol NID_uniqueIdentifier? -* I think I've detected a memory leak, is this a bug? -* Why does Valgrind complain about the use of uninitialized data? -* Why doesn't a memory BIO work when a file does? -* Where are the declarations and implementations of d2i_X509() etc? - -=============================================================================== - -[MISC] ======================================================================== - -* Which is the current version of OpenSSL? - -The current version is available from . -OpenSSL 1.0.1d was released on Feb 5th, 2013. - -In addition to the current stable release, you can also access daily -snapshots of the OpenSSL development version at , or get it by anonymous Git access. - - -* Where is the documentation? - -OpenSSL is a library that provides cryptographic functionality to -applications such as secure web servers. Be sure to read the -documentation of the application you want to use. The INSTALL file -explains how to install this library. - -OpenSSL includes a command line utility that can be used to perform a -variety of cryptographic functions. It is described in the openssl(1) -manpage. Documentation for developers is currently being written. Many -manual pages are available; overviews over libcrypto and -libssl are given in the crypto(3) and ssl(3) manpages. - -The OpenSSL manpages are installed in /usr/local/ssl/man/ (or a -different directory if you specified one as described in INSTALL). -In addition, you can read the most current versions at -. Note that the online documents refer -to the very latest development versions of OpenSSL and may include features -not present in released versions. If in doubt refer to the documentation -that came with the version of OpenSSL you are using. The pod format -documentation is included in each OpenSSL distribution under the docs -directory. - -There is some documentation about certificate extensions and PKCS#12 -in doc/openssl.txt - -The original SSLeay documentation is included in OpenSSL as -doc/ssleay.txt. It may be useful when none of the other resources -help, but please note that it reflects the obsolete version SSLeay -0.6.6. - - -* How can I contact the OpenSSL developers? - -The README file describes how to submit bug reports and patches to -OpenSSL. Information on the OpenSSL mailing lists is available from -. - - -* Where can I get a compiled version of OpenSSL? - -You can finder pointers to binary distributions in - . - -Some applications that use OpenSSL are distributed in binary form. -When using such an application, you don't need to install OpenSSL -yourself; the application will include the required parts (e.g. DLLs). - -If you want to build OpenSSL on a Windows system and you don't have -a C compiler, read the "Mingw32" section of INSTALL.W32 for information -on how to obtain and install the free GNU C compiler. - -A number of Linux and *BSD distributions include OpenSSL. - - -* Why aren't tools like 'autoconf' and 'libtool' used? - -autoconf will probably be used in future OpenSSL versions. If it was -less Unix-centric, it might have been used much earlier. - -* What is an 'engine' version? - -With version 0.9.6 OpenSSL was extended to interface to external crypto -hardware. This was realized in a special release '0.9.6-engine'. With -version 0.9.7 the changes were merged into the main development line, -so that the special release is no longer necessary. - -* How do I check the authenticity of the OpenSSL distribution? - -We provide MD5 digests and ASC signatures of each tarball. -Use MD5 to check that a tarball from a mirror site is identical: - - md5sum TARBALL | awk '{print $1;}' | cmp - TARBALL.md5 - -You can check authenticity using pgp or gpg. You need the OpenSSL team -member public key used to sign it (download it from a key server, see a -list of keys at ). Then -just do: - - pgp TARBALL.asc - -* How does the versioning scheme work? - -After the release of OpenSSL 1.0.0 the versioning scheme changed. Letter -releases (e.g. 1.0.1a) can only contain bug and security fixes and no -new features. Minor releases change the last number (e.g. 1.0.2) and -can contain new features that retain binary compatibility. Changes to -the middle number are considered major releases and neither source nor -binary compatibility is guaranteed. - -Therefore the answer to the common question "when will feature X be -backported to OpenSSL 1.0.0/0.9.8?" is "never" but it could appear -in the next minor release. - -[LEGAL] ======================================================================= - -* Do I need patent licenses to use OpenSSL? - -The patents section of the README file lists patents that may apply to -you if you want to use OpenSSL. For information on intellectual -property rights, please consult a lawyer. The OpenSSL team does not -offer legal advice. - -You can configure OpenSSL so as not to use IDEA, MDC2 and RC5 by using - ./config no-idea no-mdc2 no-rc5 - - -* Can I use OpenSSL with GPL software? - -On many systems including the major Linux and BSD distributions, yes (the -GPL does not place restrictions on using libraries that are part of the -normal operating system distribution). - -On other systems, the situation is less clear. Some GPL software copyright -holders claim that you infringe on their rights if you use OpenSSL with -their software on operating systems that don't normally include OpenSSL. - -If you develop open source software that uses OpenSSL, you may find it -useful to choose an other license than the GPL, or state explicitly that -"This program is released under the GPL with the additional exemption that -compiling, linking, and/or using OpenSSL is allowed." If you are using -GPL software developed by others, you may want to ask the copyright holder -for permission to use their software with OpenSSL. - - -[USER] ======================================================================== - -* Why do I get a "PRNG not seeded" error message? - -Cryptographic software needs a source of unpredictable data to work -correctly. Many open source operating systems provide a "randomness -device" (/dev/urandom or /dev/random) that serves this purpose. -All OpenSSL versions try to use /dev/urandom by default; starting with -version 0.9.7, OpenSSL also tries /dev/random if /dev/urandom is not -available. - -On other systems, applications have to call the RAND_add() or -RAND_seed() function with appropriate data before generating keys or -performing public key encryption. (These functions initialize the -pseudo-random number generator, PRNG.) Some broken applications do -not do this. As of version 0.9.5, the OpenSSL functions that need -randomness report an error if the random number generator has not been -seeded with at least 128 bits of randomness. If this error occurs and -is not discussed in the documentation of the application you are -using, please contact the author of that application; it is likely -that it never worked correctly. OpenSSL 0.9.5 and later make the -error visible by refusing to perform potentially insecure encryption. - -If you are using Solaris 8, you can add /dev/urandom and /dev/random -devices by installing patch 112438 (Sparc) or 112439 (x86), which are -available via the Patchfinder at -(Solaris 9 includes these devices by default). For /dev/random support -for earlier Solaris versions, see Sun's statement at - -(the SUNWski package is available in patch 105710). - -On systems without /dev/urandom and /dev/random, it is a good idea to -use the Entropy Gathering Demon (EGD); see the RAND_egd() manpage for -details. Starting with version 0.9.7, OpenSSL will automatically look -for an EGD socket at /var/run/egd-pool, /dev/egd-pool, /etc/egd-pool and -/etc/entropy. - -Most components of the openssl command line utility automatically try -to seed the random number generator from a file. The name of the -default seeding file is determined as follows: If environment variable -RANDFILE is set, then it names the seeding file. Otherwise if -environment variable HOME is set, then the seeding file is $HOME/.rnd. -If neither RANDFILE nor HOME is set, versions up to OpenSSL 0.9.6 will -use file .rnd in the current directory while OpenSSL 0.9.6a uses no -default seeding file at all. OpenSSL 0.9.6b and later will behave -similarly to 0.9.6a, but will use a default of "C:\" for HOME on -Windows systems if the environment variable has not been set. - -If the default seeding file does not exist or is too short, the "PRNG -not seeded" error message may occur. - -The openssl command line utility will write back a new state to the -default seeding file (and create this file if necessary) unless -there was no sufficient seeding. - -Pointing $RANDFILE to an Entropy Gathering Daemon socket does not work. -Use the "-rand" option of the OpenSSL command line tools instead. -The $RANDFILE environment variable and $HOME/.rnd are only used by the -OpenSSL command line tools. Applications using the OpenSSL library -provide their own configuration options to specify the entropy source, -please check out the documentation coming the with application. - - -* Why do I get an "unable to write 'random state'" error message? - - -Sometimes the openssl command line utility does not abort with -a "PRNG not seeded" error message, but complains that it is -"unable to write 'random state'". This message refers to the -default seeding file (see previous answer). A possible reason -is that no default filename is known because neither RANDFILE -nor HOME is set. (Versions up to 0.9.6 used file ".rnd" in the -current directory in this case, but this has changed with 0.9.6a.) - - -* How do I create certificates or certificate requests? - -Check out the CA.pl(1) manual page. This provides a simple wrapper round -the 'req', 'verify', 'ca' and 'pkcs12' utilities. For finer control check -out the manual pages for the individual utilities and the certificate -extensions documentation (in ca(1), req(1), x509v3_config(5) ) - - -* Why can't I create certificate requests? - -You typically get the error: - - unable to find 'distinguished_name' in config - problems making Certificate Request - -This is because it can't find the configuration file. Check out the -DIAGNOSTICS section of req(1) for more information. - - -* Why does fail with a certificate verify error? - -This problem is usually indicated by log messages saying something like -"unable to get local issuer certificate" or "self signed certificate". -When a certificate is verified its root CA must be "trusted" by OpenSSL -this typically means that the CA certificate must be placed in a directory -or file and the relevant program configured to read it. The OpenSSL program -'verify' behaves in a similar way and issues similar error messages: check -the verify(1) program manual page for more information. - - -* Why can I only use weak ciphers when I connect to a server using OpenSSL? - -This is almost certainly because you are using an old "export grade" browser -which only supports weak encryption. Upgrade your browser to support 128 bit -ciphers. - - -* How can I create DSA certificates? - -Check the CA.pl(1) manual page for a DSA certificate example. - - -* Why can't I make an SSL connection to a server using a DSA certificate? - -Typically you'll see a message saying there are no shared ciphers when -the same setup works fine with an RSA certificate. There are two possible -causes. The client may not support connections to DSA servers most web -browsers (including Netscape and MSIE) only support connections to servers -supporting RSA cipher suites. The other cause is that a set of DH parameters -has not been supplied to the server. DH parameters can be created with the -dhparam(1) command and loaded using the SSL_CTX_set_tmp_dh() for example: -check the source to s_server in apps/s_server.c for an example. - - -* How can I remove the passphrase on a private key? - -Firstly you should be really *really* sure you want to do this. Leaving -a private key unencrypted is a major security risk. If you decide that -you do have to do this check the EXAMPLES sections of the rsa(1) and -dsa(1) manual pages. - - -* Why can't I use OpenSSL certificates with SSL client authentication? - -What will typically happen is that when a server requests authentication -it will either not include your certificate or tell you that you have -no client certificates (Netscape) or present you with an empty list box -(MSIE). The reason for this is that when a server requests a client -certificate it includes a list of CAs names which it will accept. Browsers -will only let you select certificates from the list on the grounds that -there is little point presenting a certificate which the server will -reject. - -The solution is to add the relevant CA certificate to your servers "trusted -CA list". How you do this depends on the server software in uses. You can -print out the servers list of acceptable CAs using the OpenSSL s_client tool: - -openssl s_client -connect www.some.host:443 -prexit - -If your server only requests certificates on certain URLs then you may need -to manually issue an HTTP GET command to get the list when s_client connects: - -GET /some/page/needing/a/certificate.html - -If your CA does not appear in the list then this confirms the problem. - - -* Why does my browser give a warning about a mismatched hostname? - -Browsers expect the server's hostname to match the value in the commonName -(CN) field of the certificate. If it does not then you get a warning. - - -* How do I install a CA certificate into a browser? - -The usual way is to send the DER encoded certificate to the browser as -MIME type application/x-x509-ca-cert, for example by clicking on an appropriate -link. On MSIE certain extensions such as .der or .cacert may also work, or you -can import the certificate using the certificate import wizard. - -You can convert a certificate to DER form using the command: - -openssl x509 -in ca.pem -outform DER -out ca.der - -Occasionally someone suggests using a command such as: - -openssl pkcs12 -export -out cacert.p12 -in cacert.pem -inkey cakey.pem - -DO NOT DO THIS! This command will give away your CAs private key and -reduces its security to zero: allowing anyone to forge certificates in -whatever name they choose. - -* Why is OpenSSL x509 DN output not conformant to RFC2253? - -The ways to print out the oneline format of the DN (Distinguished Name) have -been extended in version 0.9.7 of OpenSSL. Using the new X509_NAME_print_ex() -interface, the "-nameopt" option could be introduded. See the manual -page of the "openssl x509" commandline tool for details. The old behaviour -has however been left as default for the sake of compatibility. - -* What is a "128 bit certificate"? Can I create one with OpenSSL? - -The term "128 bit certificate" is a highly misleading marketing term. It does -*not* refer to the size of the public key in the certificate! A certificate -containing a 128 bit RSA key would have negligible security. - -There were various other names such as "magic certificates", "SGC -certificates", "step up certificates" etc. - -You can't generally create such a certificate using OpenSSL but there is no -need to any more. Nowadays web browsers using unrestricted strong encryption -are generally available. - -When there were tight restrictions on the export of strong encryption -software from the US only weak encryption algorithms could be freely exported -(initially 40 bit and then 56 bit). It was widely recognised that this was -inadequate. A relaxation of the rules allowed the use of strong encryption but -only to an authorised server. - -Two slighly different techniques were developed to support this, one used by -Netscape was called "step up", the other used by MSIE was called "Server Gated -Cryptography" (SGC). When a browser initially connected to a server it would -check to see if the certificate contained certain extensions and was issued by -an authorised authority. If these test succeeded it would reconnect using -strong encryption. - -Only certain (initially one) certificate authorities could issue the -certificates and they generally cost more than ordinary certificates. - -Although OpenSSL can create certificates containing the appropriate extensions -the certificate would not come from a permitted authority and so would not -be recognized. - -The export laws were later changed to allow almost unrestricted use of strong -encryption so these certificates are now obsolete. - - -* Why does OpenSSL set the authority key identifier (AKID) extension incorrectly? - -It doesn't: this extension is often the cause of confusion. - -Consider a certificate chain A->B->C so that A signs B and B signs C. Suppose -certificate C contains AKID. - -The purpose of this extension is to identify the authority certificate B. This -can be done either by including the subject key identifier of B or its issuer -name and serial number. - -In this latter case because it is identifying certifcate B it must contain the -issuer name and serial number of B. - -It is often wrongly assumed that it should contain the subject name of B. If it -did this would be redundant information because it would duplicate the issuer -name of C. - - -* How can I set up a bundle of commercial root CA certificates? - -The OpenSSL software is shipped without any root CA certificate as the -OpenSSL project does not have any policy on including or excluding -any specific CA and does not intend to set up such a policy. Deciding -about which CAs to support is up to application developers or -administrators. - -Other projects do have other policies so you can for example extract the CA -bundle used by Mozilla and/or modssl as described in this article: - - - - -[BUILD] ======================================================================= - -* Why does the linker complain about undefined symbols? - -Maybe the compilation was interrupted, and make doesn't notice that -something is missing. Run "make clean; make". - -If you used ./Configure instead of ./config, make sure that you -selected the right target. File formats may differ slightly between -OS versions (for example sparcv8/sparcv9, or a.out/elf). - -In case you get errors about the following symbols, use the config -option "no-asm", as described in INSTALL: - - BF_cbc_encrypt, BF_decrypt, BF_encrypt, CAST_cbc_encrypt, - CAST_decrypt, CAST_encrypt, RC4, RC5_32_cbc_encrypt, RC5_32_decrypt, - RC5_32_encrypt, bn_add_words, bn_div_words, bn_mul_add_words, - bn_mul_comba4, bn_mul_comba8, bn_mul_words, bn_sqr_comba4, - bn_sqr_comba8, bn_sqr_words, bn_sub_words, des_decrypt3, - des_ede3_cbc_encrypt, des_encrypt, des_encrypt2, des_encrypt3, - des_ncbc_encrypt, md5_block_asm_host_order, sha1_block_asm_data_order - -If none of these helps, you may want to try using the current snapshot. -If the problem persists, please submit a bug report. - - -* Why does the OpenSSL test fail with "bc: command not found"? - -You didn't install "bc", the Unix calculator. If you want to run the -tests, get GNU bc from ftp://ftp.gnu.org or from your OS distributor. - - -* Why does the OpenSSL test fail with "bc: 1 no implemented"? - -On some SCO installations or versions, bc has a bug that gets triggered -when you run the test suite (using "make test"). The message returned is -"bc: 1 not implemented". - -The best way to deal with this is to find another implementation of bc -and compile/install it. GNU bc (see -for download instructions) can be safely used, for example. - - -* Why does the OpenSSL test fail with "bc: stack empty"? - -On some DG/ux versions, bc seems to have a too small stack for calculations -that the OpenSSL bntest throws at it. This gets triggered when you run the -test suite (using "make test"). The message returned is "bc: stack empty". - -The best way to deal with this is to find another implementation of bc -and compile/install it. GNU bc (see -for download instructions) can be safely used, for example. - - -* Why does the OpenSSL compilation fail on Alpha Tru64 Unix? - -On some Alpha installations running Tru64 Unix and Compaq C, the compilation -of crypto/sha/sha_dgst.c fails with the message 'Fatal: Insufficient virtual -memory to continue compilation.' As far as the tests have shown, this may be -a compiler bug. What happens is that it eats up a lot of resident memory -to build something, probably a table. The problem is clearly in the -optimization code, because if one eliminates optimization completely (-O0), -the compilation goes through (and the compiler consumes about 2MB of resident -memory instead of 240MB or whatever one's limit is currently). - -There are three options to solve this problem: - -1. set your current data segment size soft limit higher. Experience shows -that about 241000 kbytes seems to be enough on an AlphaServer DS10. You do -this with the command 'ulimit -Sd nnnnnn', where 'nnnnnn' is the number of -kbytes to set the limit to. - -2. If you have a hard limit that is lower than what you need and you can't -get it changed, you can compile all of OpenSSL with -O0 as optimization -level. This is however not a very nice thing to do for those who expect to -get the best result from OpenSSL. A bit more complicated solution is the -following: - ------ snip:start ----- - make DIRS=crypto SDIRS=sha "`grep '^CFLAG=' Makefile.ssl | \ - sed -e 's/ -O[0-9] / -O0 /'`" - rm `ls crypto/*.o crypto/sha/*.o | grep -v 'sha_dgst\.o'` - make ------ snip:end ----- - -This will only compile sha_dgst.c with -O0, the rest with the optimization -level chosen by the configuration process. When the above is done, do the -test and installation and you're set. - -3. Reconfigure the toolkit with no-sha0 option to leave out SHA0. It -should not be used and is not used in SSL/TLS nor any other recognized -protocol in either case. - - -* Why does the OpenSSL compilation fail with "ar: command not found"? - -Getting this message is quite usual on Solaris 2, because Sun has hidden -away 'ar' and other development commands in directories that aren't in -$PATH by default. One of those directories is '/usr/ccs/bin'. The -quickest way to fix this is to do the following (it assumes you use sh -or any sh-compatible shell): - ------ snip:start ----- - PATH=${PATH}:/usr/ccs/bin; export PATH ------ snip:end ----- - -and then redo the compilation. What you should really do is make sure -'/usr/ccs/bin' is permanently in your $PATH, for example through your -'.profile' (again, assuming you use a sh-compatible shell). - - -* Why does the OpenSSL compilation fail on Win32 with VC++? - -Sometimes, you may get reports from VC++ command line (cl) that it -can't find standard include files like stdio.h and other weirdnesses. -One possible cause is that the environment isn't correctly set up. -To solve that problem for VC++ versions up to 6, one should run -VCVARS32.BAT which is found in the 'bin' subdirectory of the VC++ -installation directory (somewhere under 'Program Files'). For VC++ -version 7 (and up?), which is also called VS.NET, the file is called -VSVARS32.BAT instead. -This needs to be done prior to running NMAKE, and the changes are only -valid for the current DOS session. - - -* What is special about OpenSSL on Redhat? - -Red Hat Linux (release 7.0 and later) include a preinstalled limited -version of OpenSSL. For patent reasons, support for IDEA, RC5 and MDC2 -is disabled in this version. The same may apply to other Linux distributions. -Users may therefore wish to install more or all of the features left out. - -To do this you MUST ensure that you do not overwrite the openssl that is in -/usr/bin on your Red Hat machine. Several packages depend on this file, -including sendmail and ssh. /usr/local/bin is a good alternative choice. The -libraries that come with Red Hat 7.0 onwards have different names and so are -not affected. (eg For Red Hat 7.2 they are /lib/libssl.so.0.9.6b and -/lib/libcrypto.so.0.9.6b with symlinks /lib/libssl.so.2 and -/lib/libcrypto.so.2 respectively). - -Please note that we have been advised by Red Hat attempting to recompile the -openssl rpm with all the cryptography enabled will not work. All other -packages depend on the original Red Hat supplied openssl package. It is also -worth noting that due to the way Red Hat supplies its packages, updates to -openssl on each distribution never change the package version, only the -build number. For example, on Red Hat 7.1, the latest openssl package has -version number 0.9.6 and build number 9 even though it contains all the -relevant updates in packages up to and including 0.9.6b. - -A possible way around this is to persuade Red Hat to produce a non-US -version of Red Hat Linux. - -FYI: Patent numbers and expiry dates of US patents: -MDC-2: 4,908,861 13/03/2007 -IDEA: 5,214,703 25/05/2010 -RC5: 5,724,428 03/03/2015 - - -* Why does the OpenSSL compilation fail on MacOS X? - -If the failure happens when trying to build the "openssl" binary, with -a large number of undefined symbols, it's very probable that you have -OpenSSL 0.9.6b delivered with the operating system (you can find out by -running '/usr/bin/openssl version') and that you were trying to build -OpenSSL 0.9.7 or newer. The problem is that the loader ('ld') in -MacOS X has a misfeature that's quite difficult to go around. -Look in the file PROBLEMS for a more detailed explanation and for possible -solutions. - - -* Why does the OpenSSL test suite fail on MacOS X? - -If the failure happens when running 'make test' and the RC4 test fails, -it's very probable that you have OpenSSL 0.9.6b delivered with the -operating system (you can find out by running '/usr/bin/openssl version') -and that you were trying to build OpenSSL 0.9.6d. The problem is that -the loader ('ld') in MacOS X has a misfeature that's quite difficult to -go around and has linked the programs "openssl" and the test programs -with /usr/lib/libcrypto.dylib and /usr/lib/libssl.dylib instead of the -libraries you just built. -Look in the file PROBLEMS for a more detailed explanation and for possible -solutions. - -* Why does the OpenSSL test suite fail in BN_sqr test [on a 64-bit platform]? - -Failure in BN_sqr test is most likely caused by a failure to configure the -toolkit for current platform or lack of support for the platform in question. -Run './config -t' and './apps/openssl version -p'. Do these platform -identifiers match? If they don't, then you most likely failed to run -./config and you're hereby advised to do so before filing a bug report. -If ./config itself fails to run, then it's most likely problem with your -local environment and you should turn to your system administrator (or -similar). If identifiers match (and/or no alternative identifier is -suggested by ./config script), then the platform is unsupported. There might -or might not be a workaround. Most notably on SPARC64 platforms with GNU -C compiler you should be able to produce a working build by running -'./config -m32'. I understand that -m32 might not be what you want/need, -but the build should be operational. For further details turn to -. - -* Why does OpenBSD-i386 build fail on des-586.s with "Unimplemented segment type"? - -As of 0.9.7 assembler routines were overhauled for position independence -of the machine code, which is essential for shared library support. For -some reason OpenBSD is equipped with an out-of-date GNU assembler which -finds the new code offensive. To work around the problem, configure with -no-asm (and sacrifice a great deal of performance) or patch your assembler -according to . -For your convenience a pre-compiled replacement binary is provided at -. -Reportedly elder *BSD a.out platforms also suffer from this problem and -remedy should be same. Provided binary is statically linked and should be -working across wider range of *BSD branches, not just OpenBSD. - -* Why does the OpenSSL test suite fail in sha512t on x86 CPU? - -If the test program in question fails withs SIGILL, Illegal Instruction -exception, then you more than likely to run SSE2-capable CPU, such as -Intel P4, under control of kernel which does not support SSE2 -instruction extentions. See accompanying INSTALL file and -OPENSSL_ia32cap(3) documentation page for further information. - -* Why does compiler fail to compile sha512.c? - -OpenSSL SHA-512 implementation depends on compiler support for 64-bit -integer type. Few elder compilers [ULTRIX cc, SCO compiler to mention a -couple] lack support for this and therefore are incapable of compiling -the module in question. The recommendation is to disable SHA-512 by -adding no-sha512 to ./config [or ./Configure] command line. Another -possible alternative might be to switch to GCC. - -* Test suite still fails, what to do? - -Another common reason for failure to complete some particular test is -simply bad code generated by a buggy component in toolchain or deficiency -in run-time environment. There are few cases documented in PROBLEMS file, -consult it for possible workaround before you beat the drum. Even if you -don't find solution or even mention there, do reserve for possibility of -a compiler bug. Compiler bugs might appear in rather bizarre ways, they -never make sense, and tend to emerge when you least expect them. In order -to identify one, drop optimization level, e.g. by editing CFLAG line in -top-level Makefile, recompile and re-run the test. - -* I think I've found a bug, what should I do? - -If you are a new user then it is quite likely you haven't found a bug and -something is happening you aren't familiar with. Check this FAQ, the associated -documentation and the mailing lists for similar queries. If you are still -unsure whether it is a bug or not submit a query to the openssl-users mailing -list. - - -* I'm SURE I've found a bug, how do I report it? - -Bug reports with no security implications should be sent to the request -tracker. This can be done by mailing the report to (or its -alias ), please note that messages sent to the -request tracker also appear in the public openssl-dev mailing list. - -The report should be in plain text. Any patches should be sent as -plain text attachments because some mailers corrupt patches sent inline. -If your issue affects multiple versions of OpenSSL check any patches apply -cleanly and, if possible include patches to each affected version. - -The report should be given a meaningful subject line briefly summarising the -issue. Just "bug in OpenSSL" or "bug in OpenSSL 0.9.8n" is not very helpful. - -By sending reports to the request tracker the bug can then be given a priority -and assigned to the appropriate maintainer. The history of discussions can be -accessed and if the issue has been addressed or a reason why not. If patches -are only sent to openssl-dev they can be mislaid if a team member has to -wade through months of old messages to review the discussion. - -See also - - -* I've found a security issue, how do I report it? - -If you think your bug has security implications then please send it to -openssl-security@openssl.org if you don't get a prompt reply at least -acknowledging receipt then resend or mail it directly to one of the -more active team members (e.g. Steve). - -Note that bugs only present in the openssl utility are not in general -considered to be security issues. - -[PROG] ======================================================================== - -* Is OpenSSL thread-safe? - -Yes (with limitations: an SSL connection may not concurrently be used -by multiple threads). On Windows and many Unix systems, OpenSSL -automatically uses the multi-threaded versions of the standard -libraries. If your platform is not one of these, consult the INSTALL -file. - -Multi-threaded applications must provide two callback functions to -OpenSSL by calling CRYPTO_set_locking_callback() and -CRYPTO_set_id_callback(), for all versions of OpenSSL up to and -including 0.9.8[abc...]. As of version 1.0.0, CRYPTO_set_id_callback() -and associated APIs are deprecated by CRYPTO_THREADID_set_callback() -and friends. This is described in the threads(3) manpage. - -* I've compiled a program under Windows and it crashes: why? - -This is usually because you've missed the comment in INSTALL.W32. -Your application must link against the same version of the Win32 -C-Runtime against which your openssl libraries were linked. The -default version for OpenSSL is /MD - "Multithreaded DLL". - -If you are using Microsoft Visual C++'s IDE (Visual Studio), in -many cases, your new project most likely defaulted to "Debug -Singlethreaded" - /ML. This is NOT interchangeable with /MD and your -program will crash, typically on the first BIO related read or write -operation. - -For each of the six possible link stage configurations within Win32, -your application must link against the same by which OpenSSL was -built. If you are using MS Visual C++ (Studio) this can be changed -by: - - 1. Select Settings... from the Project Menu. - 2. Select the C/C++ Tab. - 3. Select "Code Generation from the "Category" drop down list box - 4. Select the Appropriate library (see table below) from the "Use - run-time library" drop down list box. Perform this step for both - your debug and release versions of your application (look at the - top left of the settings panel to change between the two) - *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Mon Mar 7 16:28:14 2016 Return-Path: Delivered-To: svn-src-all@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 67C69AC31CF for ; Mon, 7 Mar 2016 16:28:14 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ig0-x22a.google.com (mail-ig0-x22a.google.com [IPv6:2607:f8b0:4001:c05::22a]) (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 3E6C963E for ; Mon, 7 Mar 2016 16:28:14 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-ig0-x22a.google.com with SMTP id hb3so44535839igb.0 for ; Mon, 07 Mar 2016 08:28:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=G4LRhL+z5Nuc5BqU8mHuNGZjN8KPVOvS66eNNxEZaTE=; b=X6gAkEdrz0aWvkFl53ldj8jcQX0kuy++QkWcVF3znqTmVBhzRmZ9zDRkyNgCqUxY5b bKJnaXoTra2iWTJdAFMZR/dGifX42EV0bjn9KiM0RuVufigwIX5WC11+cfP0HST4hhWd KZTXDWF1d5PVfObJ1HGR7dD7923eHX8fxaZR47Oa6K7H5ARdkYsSeyNIV3mFU41+w6ZP /wWQQ+2REBwkPs5IOx32+qxuFGMQjTCP8ynYxYKjcbsbEIMQZH2uDkO9LeIM50DMrpOn G6IdwPebdzyCvvFyBwY56WHAKljQzx7nhLaZNRjEz6ZUmXxYLIYbVkc9phkvXwxkJVrz 445A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=G4LRhL+z5Nuc5BqU8mHuNGZjN8KPVOvS66eNNxEZaTE=; b=UBEwhSlHH95S8F3FWsDq9qqYVN1ySmIx9KMecwz+9gJtqRS24Em78ulK8AEJYH7COH ZsCqq+mJRm1XMyQy7FsmjtoBs/tvUc5bZkLosE5/22JDgC42nwCBjJ2BMYfSF4DmY9tU Ntt9wtImCgNN2FXeIWY46tNbZAEzl1Rvh1WMj89OZVEVVqmz6i2hMyWffils4/ghOc2s WFTmjWBIIWTtt5iTPW9LQ/iOWWvPUHbRnslSYcxEjs8JHYaH3hI6D0Y/ho3pj8Aq/33+ pprRVOw8xIYldpCgsJgFFY8dKxHwjPW0UyNmHxq8IfQe37TF0GD8ZzSBbU/pZO2WNyNk 5O9g== X-Gm-Message-State: AD7BkJLv8+RJa6cq5elADMzWim18MPscbRR64VE5XysOWZnxX/KLJwHzfllXJAtTTCcY+wBTda7kQl5SyT4F6w== MIME-Version: 1.0 X-Received: by 10.50.30.134 with SMTP id s6mr12086838igh.36.1457368093564; Mon, 07 Mar 2016 08:28:13 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.167 with HTTP; Mon, 7 Mar 2016 08:28:13 -0800 (PST) X-Originating-IP: [69.53.245.36] In-Reply-To: <20160307155217.GJ67250@kib.kiev.ua> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> Date: Mon, 7 Mar 2016 09:28:13 -0700 X-Google-Sender-Auth: a0r7BiG7DTZJzPL7r1JILjYwrso Message-ID: Subject: Re: svn commit: r296428 - head/sys/boot/common From: Warner Losh To: Konstantin Belousov Cc: Ian Lepore , Dimitry Andric , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 16:28:14 -0000 On Mon, Mar 7, 2016 at 8:52 AM, Konstantin Belousov wrote: > On Mon, Mar 07, 2016 at 08:39:47AM -0700, Ian Lepore wrote: > > Is there no way to prevent the panic other than making the unwind data > > be present? Why can't the kernel be fixed to cope with the missing > > data in some gentler way during a transition period? Perhaps valid-but > > -fake data could be generated if necessary? Being unable to get a > > stack traceback through a loaded module would be a small price to pay > > for trouble-free updgrades. > > It is practically impossible to recover from partially-loaded object file' > module. The loader workaround currently only affects HEAD and since the > MFC was done, 10.3 should be safe. We always required lastest stable > for the jump to next major branch. > > What could be done is demoting the panics (there are several, besides > the one which was triggered) to a message and refusing to load the > affected module. OTOH, if the reaction would be a message and not panic, > it definitely go ignored for quite some time. > The new loader could also pass in some version or cookie in the metadata that says it is the new one. The kernel could examine this and issue a warning, on amd64 / i386, that module linking may be incomplete and you'll need to upgrade your /boot/loader if you encounter a crash. Could the kernel detect that a .eh_frame module was loaded and ignore it in "safe mode"? Perhaps combined with the new boot-loader cookie, this would be an automatic way to not mysteriously crash. Alternatively, is there a switch to clang 3.8 that says 'Don't generate the new relocation, use the old one instead" which would also be safe and allow a less-bumpy transition? Finally, would the partially loaded module stop at the first bad relocation, or would it do them all and just skip the bad ones? Is the data from this relocation used all the time, or just when we're doing a stack unwind for an exception or a backtrace? Warner From owner-svn-src-all@freebsd.org Mon Mar 7 16:32:37 2016 Return-Path: Delivered-To: svn-src-all@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 3FBB4AC3426 for ; Mon, 7 Mar 2016 16:32:37 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ig0-x230.google.com (mail-ig0-x230.google.com [IPv6:2607:f8b0:4001:c05::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 04130A87 for ; Mon, 7 Mar 2016 16:32:37 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-ig0-x230.google.com with SMTP id ig19so28446044igb.0 for ; Mon, 07 Mar 2016 08:32:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=xiEmsom9udTZ6EJvV5Uwygwumr57qtvt7egcT3Wsiwo=; b=A5FVBVpdfdMlz20zI+ujQVMXXkqdFEUM0H9Jzk6JqpVIOy+7S49L1/itB/XjgEw+qO k3H9dh5OpdOZCFSN5RNL/tI1x3igqMQPwVyb7heIJ6lpFgmU8mvoZk9+zSY4cC+k+nhv d682Cs/QKXxnTVEKONMumZzll3YqlxwVbiYA6aXNaXFesE2vPPi04TiMpMm7mafKDvhv JSkVQf53Ttdu3CjTylx+rEsK9Nl6ka54QeE/CdpQXSRaEIsh0hVWOpkDddybaCmI2meq q/ZXb4vC/FKYBX5jMzXmRkeSG5LuXRG2pYR8g/8GB5QqggHDHUTM9k/vCMDPuU/enIzU HeNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=xiEmsom9udTZ6EJvV5Uwygwumr57qtvt7egcT3Wsiwo=; b=CCiknk/klp+nRCzmB8W9L2JhNTE6oBr6yBB8Yk8H7WqP1KlUgUj/t/OvW1u1z7Obhv Oe0N5bZdb4hKm6fqnqVmKsz2BVPE4hz4l6hWu6MuWXqajUR2RAiLLGruLJZGzRwUTZ4V vuikf+MymcHTw1iQb1aCgSjOBM/ybAnjGYmVnd9fLS3gHaDhzW4GZbZpiHz+qgRfMe1i huAnTFSt3kTl3ZyuUkmXBLzKK6AQP/sp8oTArIFqeVHyA77biDlFiU6Rcx0dmZXSaShk 4hdBImXn54O8N0PgK7Rfv2F1TmLAgGO0Ldrv+W17kC/rPKEiy2e3jIVBvzjkyiMpucE+ Pgcw== X-Gm-Message-State: AD7BkJKfNRFl4rnElgCeGrIwOdRGql8DoGIukQ4HVyXM7+sM4QmzoprILZ0cAHVR1d/PJLWEFohcfLy0a5hniA== MIME-Version: 1.0 X-Received: by 10.50.112.101 with SMTP id ip5mr12368617igb.52.1457368356325; Mon, 07 Mar 2016 08:32:36 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.167 with HTTP; Mon, 7 Mar 2016 08:32:36 -0800 (PST) X-Originating-IP: [69.53.245.36] In-Reply-To: <20160307155217.GJ67250@kib.kiev.ua> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> Date: Mon, 7 Mar 2016 09:32:36 -0700 X-Google-Sender-Auth: a9A0QJtOUZyL4xOgb8e-4Kh1Fl0 Message-ID: Subject: Re: svn commit: r296428 - head/sys/boot/common From: Warner Losh To: Konstantin Belousov Cc: Ian Lepore , Dimitry Andric , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 16:32:37 -0000 On Mon, Mar 7, 2016 at 8:52 AM, Konstantin Belousov wrote: > On Mon, Mar 07, 2016 at 08:39:47AM -0700, Ian Lepore wrote: > > Is there no way to prevent the panic other than making the unwind data > > be present? Why can't the kernel be fixed to cope with the missing > > data in some gentler way during a transition period? Perhaps valid-but > > -fake data could be generated if necessary? Being unable to get a > > stack traceback through a loaded module would be a small price to pay > > for trouble-free updgrades. > > It is practically impossible to recover from partially-loaded object file' > module. The loader workaround currently only affects HEAD and since the > MFC was done, 10.3 should be safe. We always required lastest stable > for the jump to next major branch. > Require is a strong word here. That's the only guarantee the project makes. However, our boot loader has been stable enough that even very old /boot/loaders can load -current until this change. It goes a bit against POLA given what has traditionally worked. If the effort isn't large, we should do something and only fall back to being this strict if there's really no other way possible forward. > What could be done is demoting the panics (there are several, besides > the one which was triggered) to a message and refusing to load the > affected module. OTOH, if the reaction would be a message and not panic, > it definitely go ignored for quite some time. > But a message would tell the user what's up and give them a working kernel with which to fix the problem. It would also allow the traditional upgrade path, burned into many people's fingers, to just work unless they needed one of the rare .eh_frame modules to affect that upgrade. Warner From owner-svn-src-all@freebsd.org Mon Mar 7 16:52:07 2016 Return-Path: Delivered-To: svn-src-all@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 7E4B2AC3B54; Mon, 7 Mar 2016 16:52:07 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0CF0E637; Mon, 7 Mar 2016 16:52:06 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id u27GpulC026095 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Mon, 7 Mar 2016 18:51:56 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua u27GpulC026095 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id u27GpunT026094; Mon, 7 Mar 2016 18:51:56 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 7 Mar 2016 18:51:56 +0200 From: Konstantin Belousov To: Warner Losh Cc: Ian Lepore , Dimitry Andric , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r296428 - head/sys/boot/common Message-ID: <20160307165156.GK67250@kib.kiev.ua> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 16:52:07 -0000 On Mon, Mar 07, 2016 at 09:28:13AM -0700, Warner Losh wrote: > On Mon, Mar 7, 2016 at 8:52 AM, Konstantin Belousov > wrote: > > > On Mon, Mar 07, 2016 at 08:39:47AM -0700, Ian Lepore wrote: > > > Is there no way to prevent the panic other than making the unwind data > > > be present? Why can't the kernel be fixed to cope with the missing > > > data in some gentler way during a transition period? Perhaps valid-but > > > -fake data could be generated if necessary? Being unable to get a > > > stack traceback through a loaded module would be a small price to pay > > > for trouble-free updgrades. > > > > It is practically impossible to recover from partially-loaded object file' > > module. The loader workaround currently only affects HEAD and since the > > MFC was done, 10.3 should be safe. We always required lastest stable > > for the jump to next major branch. > > > > What could be done is demoting the panics (there are several, besides > > the one which was triggered) to a message and refusing to load the > > affected module. OTOH, if the reaction would be a message and not panic, > > it definitely go ignored for quite some time. > > > > The new loader could also pass in some version or cookie in the metadata > that says it is the new one. The kernel could examine this and issue a > warning, > on amd64 / i386, that module linking may be incomplete and you'll need to > upgrade your /boot/loader if you encounter a crash. This is absolute useless kernel bloat. Kernel should provide an execution environment for user programs, and not lecture users about proper system configuration. > > Could the kernel detect that a .eh_frame module was loaded and ignore it > in "safe mode"? Perhaps combined with the new boot-loader cookie, this > would be an automatic way to not mysteriously crash. Why should kernel ignore loaded .eh_frame ? I do not see any use for other part of the suggestion at all. To clarify, kernel paniced because some (required but currently not utilized) part of the binary module was not loaded. > > Alternatively, is there a switch to clang 3.8 that says 'Don't generate the > new > relocation, use the old one instead" which would also be safe and allow a > less-bumpy transition? > > Finally, would the partially loaded module stop at the first bad relocation, > or would it do them all and just skip the bad ones? Is the data from this > relocation > used all the time, or just when we're doing a stack unwind for an exception > or a backtrace? Practically, we could ignore that relocations and still load the module, but this is only because we know what the scope of the relocations is. For some arbitrary situation with the same detected missed place for relocations, loader cannot know is it safe or not. The problem is fixed and does not deserve nuking of all computers in the world, which was an equivalent of some other suggestions how to handle that. Most of the suggestions come to extreme which is not deserved. What could be useful, as I noted already, is to demote the panics from kernel linker to warnings. I intended to work on this. From owner-svn-src-all@freebsd.org Mon Mar 7 17:05:00 2016 Return-Path: Delivered-To: svn-src-all@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 18A3BAC21A8 for ; Mon, 7 Mar 2016 17:05:00 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ig0-x229.google.com (mail-ig0-x229.google.com [IPv6:2607:f8b0:4001:c05::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CF893D6F for ; Mon, 7 Mar 2016 17:04:59 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-ig0-x229.google.com with SMTP id ir4so52891981igb.1 for ; Mon, 07 Mar 2016 09:04:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=nM6mRB2024YlZxO20espva5x0wBc8remuNLWrrq5I08=; b=cGvXt64jAcKmyRVCXIsU1ivja0rq+5n19hsdTkhzDzIpin/Yh/bgWW/1tTAItNVSDl SPfJxpPmW1MF2WledJlOIx9Fx5OP7//aiRiSys7bEsxcIeqzNfqc/3prPHfLFuNGc40B +aCnMeYCf29fm389ISee9Cpgc9+YjemOBZSe5Wwkk38lEWv/YWinUGj9MUixVYdT9gPZ 3KNeFqQN4HqXW1fU0D5X4/75+6SHcchADlF+Vaz64Kmj1sJnWwMbHhsiBJxAiUGxRJ04 2rCyQJzvC/ccqELbsUpLrE25Eii4G6X/RypzSvJ0OnVt60sYxGTq6xWOdu+Dy4zjzxSn qqzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=nM6mRB2024YlZxO20espva5x0wBc8remuNLWrrq5I08=; b=ATC3GZz1dSXHU7T9yEXyLm7tih9AehYhRZeL/mCYOQWlRONRnrWXexGvXXXgiKZs+i yvhLSAkzcB6XegelPXfv4hSVhUiS5zsoD5+vHKRBG+v3MM9b+Ea/Lz+b2Q3IHFoqJzmQ UKuQP5HrgCT2xvNdhdfePikFgHE0/lG2yN3Q3nFijl0j+U7fs0F0v/13htNLXp7uQhM3 Bk2zJk7/TS21bvltwOStLZP1ay5KTEBESoKIY6aTWLYsTmsJ0B7xlWoi208RN7tMi4sJ bYx79Q5G9wmgkhXMYGbuUo/lwy/8kkog5fUFvsQjBZ4ixrCNuCaq1g59o25eW6u7rifL aHoA== X-Gm-Message-State: AD7BkJLh4MZEKjcEfaURcoirdYa1tv0Iayf4pOpvy0DOeGEK639QmsWVfx21sChhberozrzegN4ydeT0Ob4ahQ== MIME-Version: 1.0 X-Received: by 10.50.112.101 with SMTP id ip5mr12545574igb.52.1457370299148; Mon, 07 Mar 2016 09:04:59 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.167 with HTTP; Mon, 7 Mar 2016 09:04:59 -0800 (PST) X-Originating-IP: [69.53.245.36] In-Reply-To: <20160307165156.GK67250@kib.kiev.ua> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> <20160307165156.GK67250@kib.kiev.ua> Date: Mon, 7 Mar 2016 10:04:59 -0700 X-Google-Sender-Auth: KgZqvpBJkKpnvQrYvn3FZZR1g6g Message-ID: Subject: Re: svn commit: r296428 - head/sys/boot/common From: Warner Losh To: Konstantin Belousov Cc: Ian Lepore , Dimitry Andric , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 17:05:00 -0000 On Mon, Mar 7, 2016 at 9:51 AM, Konstantin Belousov wrote: > On Mon, Mar 07, 2016 at 09:28:13AM -0700, Warner Losh wrote: > > On Mon, Mar 7, 2016 at 8:52 AM, Konstantin Belousov > > > wrote: > > > > > On Mon, Mar 07, 2016 at 08:39:47AM -0700, Ian Lepore wrote: > > > > Is there no way to prevent the panic other than making the unwind > data > > > > be present? Why can't the kernel be fixed to cope with the missing > > > > data in some gentler way during a transition period? Perhaps > valid-but > > > > -fake data could be generated if necessary? Being unable to get a > > > > stack traceback through a loaded module would be a small price to pay > > > > for trouble-free updgrades. > > > > > > It is practically impossible to recover from partially-loaded object > file' > > > module. The loader workaround currently only affects HEAD and since > the > > > MFC was done, 10.3 should be safe. We always required lastest stable > > > for the jump to next major branch. > > > > > > What could be done is demoting the panics (there are several, besides > > > the one which was triggered) to a message and refusing to load the > > > affected module. OTOH, if the reaction would be a message and not > panic, > > > it definitely go ignored for quite some time. > > > > > > > The new loader could also pass in some version or cookie in the metadata > > that says it is the new one. The kernel could examine this and issue a > > warning, > > on amd64 / i386, that module linking may be incomplete and you'll need to > > upgrade your /boot/loader if you encounter a crash. > This is absolute useless kernel bloat. Kernel should provide an execution > environment for user programs, and not lecture users about proper system > configuration. On the other hand, the kernel and the boot loader have a protocol they both implement. When one side implements it wrong, the other side should detect it if it is easy to do so. > > Could the kernel detect that a .eh_frame module was loaded and ignore it > > in "safe mode"? Perhaps combined with the new boot-loader cookie, this > > would be an automatic way to not mysteriously crash. > Why should kernel ignore loaded .eh_frame ? I do not see any use for > other part of the suggestion at all. To clarify, kernel paniced because > some (required but currently not utilized) part of the binary module was > not loaded. Not ignore eh_frame, just modules that have eh_frame and potentially bad relocations. Or, you could pre-scan the relocations and only fail when the module actually has them. But if you make the linker pancis into warnings instead, then that would likely also be OK. > Alternatively, is there a switch to clang 3.8 that says 'Don't generate > the > > new > > relocation, use the old one instead" which would also be safe and allow a > > less-bumpy transition? > > > > Finally, would the partially loaded module stop at the first bad > relocation, > > or would it do them all and just skip the bad ones? Is the data from this > > relocation > > used all the time, or just when we're doing a stack unwind for an > exception > > or a backtrace? > Practically, we could ignore that relocations and still load the module, > but this is only because we know what the scope of the relocations is. > For some arbitrary situation with the same detected missed place for > relocations, loader cannot know is it safe or not. > True. However, this is a well-known case. > The problem is fixed and does not deserve nuking of all computers in > the world, which was an equivalent of some other suggestions how to > handle that. Most of the suggestions come to extreme which is not > deserved. > > What could be useful, as I noted already, is to demote the panics from > kernel linker to warnings. I intended to work on this. That would fit the bill for what I'm interested in this stuff for. Normally, we load the new kernel with new boot loader in my company's upgrade process. There are times, however, when we'll wind up loading the new kernel with the old boot loader (but more commonly vice-versa). Having some indication of the error would be quite useful in this scenario so we know we need to do something else. Warner From owner-svn-src-all@freebsd.org Mon Mar 7 17:34:18 2016 Return-Path: Delivered-To: svn-src-all@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 7528CAC2BDB; Mon, 7 Mar 2016 17:34:18 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D53D2E56; Mon, 7 Mar 2016 17:34:17 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id u27HYAhu035619 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Mon, 7 Mar 2016 19:34:10 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua u27HYAhu035619 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id u27HYAO3035618; Mon, 7 Mar 2016 19:34:10 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 7 Mar 2016 19:34:10 +0200 From: Konstantin Belousov To: Warner Losh Cc: Ian Lepore , Dimitry Andric , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r296428 - head/sys/boot/common Message-ID: <20160307173410.GL67250@kib.kiev.ua> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> <20160307165156.GK67250@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 17:34:18 -0000 On Mon, Mar 07, 2016 at 10:04:59AM -0700, Warner Losh wrote: > On Mon, Mar 7, 2016 at 9:51 AM, Konstantin Belousov > wrote: > > > On Mon, Mar 07, 2016 at 09:28:13AM -0700, Warner Losh wrote: > > > On Mon, Mar 7, 2016 at 8:52 AM, Konstantin Belousov > > > > > wrote: > > > > > > > On Mon, Mar 07, 2016 at 08:39:47AM -0700, Ian Lepore wrote: > > > > > Is there no way to prevent the panic other than making the unwind > > data > > > > > be present? Why can't the kernel be fixed to cope with the missing > > > > > data in some gentler way during a transition period? Perhaps > > valid-but > > > > > -fake data could be generated if necessary? Being unable to get a > > > > > stack traceback through a loaded module would be a small price to pay > > > > > for trouble-free updgrades. > > > > > > > > It is practically impossible to recover from partially-loaded object > > file' > > > > module. The loader workaround currently only affects HEAD and since > > the > > > > MFC was done, 10.3 should be safe. We always required lastest stable > > > > for the jump to next major branch. > > > > > > > > What could be done is demoting the panics (there are several, besides > > > > the one which was triggered) to a message and refusing to load the > > > > affected module. OTOH, if the reaction would be a message and not > > panic, > > > > it definitely go ignored for quite some time. > > > > > > > > > > The new loader could also pass in some version or cookie in the metadata > > > that says it is the new one. The kernel could examine this and issue a > > > warning, > > > on amd64 / i386, that module linking may be incomplete and you'll need to > > > upgrade your /boot/loader if you encounter a crash. > > This is absolute useless kernel bloat. Kernel should provide an execution > > environment for user programs, and not lecture users about proper system > > configuration. > > > On the other hand, the kernel and the boot loader have a protocol they > both implement. When one side implements it wrong, the other side should > detect it if it is easy to do so. > > > > > Could the kernel detect that a .eh_frame module was loaded and ignore it > > > in "safe mode"? Perhaps combined with the new boot-loader cookie, this > > > would be an automatic way to not mysteriously crash. > > Why should kernel ignore loaded .eh_frame ? I do not see any use for > > other part of the suggestion at all. To clarify, kernel paniced because > > some (required but currently not utilized) part of the binary module was > > not loaded. > > > Not ignore eh_frame, just modules that have eh_frame and potentially bad > relocations. Or, you could pre-scan the relocations and only fail when the > module actually has them. But if you make the linker pancis into warnings > instead, then that would likely also be OK. > > > Alternatively, is there a switch to clang 3.8 that says 'Don't generate > > the > > > new > > > relocation, use the old one instead" which would also be safe and allow a > > > less-bumpy transition? > > > > > > Finally, would the partially loaded module stop at the first bad > > relocation, > > > or would it do them all and just skip the bad ones? Is the data from this > > > relocation > > > used all the time, or just when we're doing a stack unwind for an > > exception > > > or a backtrace? > > Practically, we could ignore that relocations and still load the module, > > but this is only because we know what the scope of the relocations is. > > For some arbitrary situation with the same detected missed place for > > relocations, loader cannot know is it safe or not. > > > > True. However, this is a well-known case. There is no way to distinguish well-known case against some other case. > > > > The problem is fixed and does not deserve nuking of all computers in > > the world, which was an equivalent of some other suggestions how to > > handle that. Most of the suggestions come to extreme which is not > > deserved. > > > > What could be useful, as I noted already, is to demote the panics from > > kernel linker to warnings. I intended to work on this. > > > That would fit the bill for what I'm interested in this stuff for. Normally, > we load the new kernel with new boot loader in my company's > upgrade process. There are times, however, when we'll wind up > loading the new kernel with the old boot loader (but more commonly > vice-versa). Having some indication of the error would be quite useful > in this scenario so we know we need to do something else. With the patch attached, and old pxeloader, I get Preloaded elf obj module "/boot/kernel/aesni.ko" at 0xffffffff80e20478. kldload: aesni.ko: lost base for reltab during boot, and then the only consequence is aesni.ko not loaded. The system booted multiuser. The error handling is not ideal, some stuff could leak with the patch. But the same is true for existing error return pathes as well, so I do not consider this a stopper. diff --git a/sys/kern/link_elf_obj.c b/sys/kern/link_elf_obj.c index dfbcdfe..457278d 100644 --- a/sys/kern/link_elf_obj.c +++ b/sys/kern/link_elf_obj.c @@ -140,7 +140,7 @@ static int link_elf_each_function_name(linker_file_t, static int link_elf_each_function_nameval(linker_file_t, linker_function_nameval_callback_t, void *); -static void link_elf_reloc_local(linker_file_t); +static int link_elf_reloc_local(linker_file_t); static long link_elf_symtab_get(linker_file_t, const Elf_Sym **); static long link_elf_strtab_get(linker_file_t, caddr_t *); @@ -405,15 +405,26 @@ link_elf_link_preload(linker_class_t cls, const char *filename, break; } } - if (pb != ef->nprogtab) - panic("lost progbits"); - if (rl != ef->nreltab) - panic("lost reltab"); - if (ra != ef->nrelatab) - panic("lost relatab"); + if (pb != ef->nprogtab) { + printf("%s: lost progbits\n", filename); + error = ENOEXEC; + goto out; + } + if (rl != ef->nreltab) { + printf("%s: lost reltab\n", filename); + error = ENOEXEC; + goto out; + } + if (ra != ef->nrelatab) { + printf("%s: lost relatab\n", filename); + error = ENOEXEC; + goto out; + } /* Local intra-module relocations */ - link_elf_reloc_local(lf); + error = link_elf_reloc_local(lf); + if (error != 0) + goto out; *result = lf; return (0); @@ -634,8 +645,11 @@ link_elf_load_file(linker_class_t cls, const char *filename, ef->relatab = malloc(ef->nrelatab * sizeof(*ef->relatab), M_LINKER, M_WAITOK | M_ZERO); - if (symtabindex == -1) - panic("lost symbol table index"); + if (symtabindex == -1) { + link_elf_error(filename, "lost symbol table index"); + error = ENOEXEC; + goto out; + } /* Allocate space for and load the symbol table */ ef->ddbsymcnt = shdr[symtabindex].sh_size / sizeof(Elf_Sym); ef->ddbsymtab = malloc(shdr[symtabindex].sh_size, M_LINKER, M_WAITOK); @@ -650,8 +664,11 @@ link_elf_load_file(linker_class_t cls, const char *filename, goto out; } - if (symstrindex == -1) - panic("lost symbol string index"); + if (symstrindex == -1) { + link_elf_error(filename, "lost symbol string index"); + error = ENOEXEC; + goto out; + } /* Allocate space for and load the symbol strings */ ef->ddbstrcnt = shdr[symstrindex].sh_size; ef->ddbstrtab = malloc(shdr[symstrindex].sh_size, M_LINKER, M_WAITOK); @@ -884,19 +901,34 @@ link_elf_load_file(linker_class_t cls, const char *filename, break; } } - if (pb != ef->nprogtab) - panic("lost progbits"); - if (rl != ef->nreltab) - panic("lost reltab"); - if (ra != ef->nrelatab) - panic("lost relatab"); - if (mapbase != (vm_offset_t)ef->address + mapsize) - panic("mapbase 0x%lx != address %p + mapsize 0x%lx (0x%lx)\n", - (u_long)mapbase, ef->address, (u_long)mapsize, + if (pb != ef->nprogtab) { + link_elf_error(filename, "lost progbits"); + error = ENOEXEC; + goto out; + } + if (rl != ef->nreltab) { + link_elf_error(filename, "lost reltab"); + error = ENOEXEC; + goto out; + } + if (ra != ef->nrelatab) { + link_elf_error(filename, "lost relatab"); + error = ENOEXEC; + goto out; + } + if (mapbase != (vm_offset_t)ef->address + mapsize) { + printf( + "%s: mapbase 0x%lx != address %p + mapsize 0x%lx (0x%lx)\n", + filename, (u_long)mapbase, ef->address, (u_long)mapsize, (u_long)(vm_offset_t)ef->address + mapsize); + error = ENOMEM; + goto out; + } /* Local intra-module relocations */ - link_elf_reloc_local(lf); + error = link_elf_reloc_local(lf); + if (error != 0) + goto out; /* Pull in dependencies */ VOP_UNLOCK(nd.ni_vp, 0); @@ -1034,12 +1066,16 @@ relocate_file(elf_file_t ef) /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nreltab; i++) { rel = ef->reltab[i].rel; - if (rel == NULL) - panic("lost a reltab!"); + if (rel == NULL) { + link_elf_error(ef->lf.filename, "lost a reltab!"); + return (ENOEXEC); + } rellim = rel + ef->reltab[i].nrel; base = findbase(ef, ef->reltab[i].sec); - if (base == 0) - panic("lost base for reltab"); + if (base == 0) { + link_elf_error(ef->lf.filename, "lost base for reltab"); + return (ENOEXEC); + } for ( ; rel < rellim; rel++) { symidx = ELF_R_SYM(rel->r_info); if (symidx >= ef->ddbsymcnt) @@ -1053,7 +1089,7 @@ relocate_file(elf_file_t ef) symname = symbol_name(ef, rel->r_info); printf("link_elf_obj: symbol %s undefined\n", symname); - return ENOENT; + return (ENOENT); } } } @@ -1061,12 +1097,17 @@ relocate_file(elf_file_t ef) /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrelatab; i++) { rela = ef->relatab[i].rela; - if (rela == NULL) - panic("lost a relatab!"); + if (rela == NULL) { + link_elf_error(ef->lf.filename, "lost a relatab!"); + return (ENOEXEC); + } relalim = rela + ef->relatab[i].nrela; base = findbase(ef, ef->relatab[i].sec); - if (base == 0) - panic("lost base for relatab"); + if (base == 0) { + link_elf_error(ef->lf.filename, + "lost base for relatab"); + return (ENOEXEC); + } for ( ; rela < relalim; rela++) { symidx = ELF_R_SYM(rela->r_info); if (symidx >= ef->ddbsymcnt) @@ -1080,7 +1121,7 @@ relocate_file(elf_file_t ef) symname = symbol_name(ef, rela->r_info); printf("link_elf_obj: symbol %s undefined\n", symname); - return ENOENT; + return (ENOENT); } } } @@ -1092,7 +1133,7 @@ relocate_file(elf_file_t ef) */ elf_obj_cleanup_globals_cache(ef); - return 0; + return (0); } static int @@ -1375,7 +1416,7 @@ link_elf_fix_link_set(elf_file_t ef) } } -static void +static int link_elf_reloc_local(linker_file_t lf) { elf_file_t ef = (elf_file_t)lf; @@ -1393,12 +1434,16 @@ link_elf_reloc_local(linker_file_t lf) /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nreltab; i++) { rel = ef->reltab[i].rel; - if (rel == NULL) - panic("lost a reltab!"); + if (rel == NULL) { + link_elf_error(ef->lf.filename, "lost a reltab"); + return (ENOEXEC); + } rellim = rel + ef->reltab[i].nrel; base = findbase(ef, ef->reltab[i].sec); - if (base == 0) - panic("lost base for reltab"); + if (base == 0) { + link_elf_error(ef->lf.filename, "lost base for reltab"); + return (ENOEXEC); + } for ( ; rel < rellim; rel++) { symidx = ELF_R_SYM(rel->r_info); if (symidx >= ef->ddbsymcnt) @@ -1415,12 +1460,16 @@ link_elf_reloc_local(linker_file_t lf) /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrelatab; i++) { rela = ef->relatab[i].rela; - if (rela == NULL) - panic("lost a relatab!"); + if (rela == NULL) { + link_elf_error(ef->lf.filename, "lost a relatab!"); + return (ENOEXEC); + } relalim = rela + ef->relatab[i].nrela; base = findbase(ef, ef->relatab[i].sec); - if (base == 0) - panic("lost base for relatab"); + if (base == 0) { + link_elf_error(ef->lf.filename, "lost base for reltab"); + return (ENOEXEC); + } for ( ; rela < relalim; rela++) { symidx = ELF_R_SYM(rela->r_info); if (symidx >= ef->ddbsymcnt) @@ -1433,6 +1482,7 @@ link_elf_reloc_local(linker_file_t lf) elf_obj_lookup); } } + return (0); } static long From owner-svn-src-all@freebsd.org Mon Mar 7 17:42:05 2016 Return-Path: Delivered-To: svn-src-all@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 AF3FAAC2EEE; Mon, 7 Mar 2016 17:42:05 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6E81A34D; Mon, 7 Mar 2016 17:42:05 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:7b8:3a7::db5:de5b:7cb6:ee3c] (unknown [IPv6:2001:7b8:3a7:0:db5:de5b:7cb6:ee3c]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id DB73B3E34D; Mon, 7 Mar 2016 18:41:56 +0100 (CET) Subject: Re: svn commit: r296428 - head/sys/boot/common Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_B5F18951-30F7-490B-8516-4CC09CE44D4B"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.6b2 (ebbf3ef) From: Dimitry Andric In-Reply-To: Date: Mon, 7 Mar 2016 18:41:49 +0100 Cc: Konstantin Belousov , Ian Lepore , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Message-Id: References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> To: Warner Losh X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 17:42:05 -0000 --Apple-Mail=_B5F18951-30F7-490B-8516-4CC09CE44D4B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 07 Mar 2016, at 17:28, Warner Losh wrote: ... > Alternatively, is there a switch to clang 3.8 that says 'Don't = generate the new > relocation, use the old one instead" which would also be safe and = allow a > less-bumpy transition? On amd64, we actually compile source files for the kernel with -fno-asynchronous-unwind-tables, which is the flag that ensures object files do not end up with a .eh_frame section, because the compiler will refrain from inserting CFI directives into the assembler. However, this only affects C source files, and we have a number of hand-written assembler sources in the tree, with CFI directives in them. These will always result in .eh_frame sections, unless there is another assembler-specific flag of suppressing that. -Dimitry --Apple-Mail=_B5F18951-30F7-490B-8516-4CC09CE44D4B Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.29 iEYEARECAAYFAlbdvWQACgkQsF6jCi4glqPyhACg4rfv1EjG41J0A5YAJBJmqUcC fy4AniNkkS4bi3YjixoLZZRCLGvpWTL1 =EsXH -----END PGP SIGNATURE----- --Apple-Mail=_B5F18951-30F7-490B-8516-4CC09CE44D4B-- From owner-svn-src-all@freebsd.org Mon Mar 7 18:23:23 2016 Return-Path: Delivered-To: svn-src-all@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 D3B31AC3EEB; Mon, 7 Mar 2016 18:23:23 +0000 (UTC) (envelope-from jlooney@juniper.net) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0114.outbound.protection.outlook.com [157.56.111.114]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 53A43264; Mon, 7 Mar 2016 18:23:22 +0000 (UTC) (envelope-from jlooney@juniper.net) Received: from BN3PR0501MB1345.namprd05.prod.outlook.com (10.160.183.22) by BN3PR0501MB1348.namprd05.prod.outlook.com (10.160.183.25) with Microsoft SMTP Server (TLS) id 15.1.427.16; Mon, 7 Mar 2016 18:23:15 +0000 Received: from BN3PR0501MB1345.namprd05.prod.outlook.com ([10.160.183.22]) by BN3PR0501MB1345.namprd05.prod.outlook.com ([10.160.183.22]) with mapi id 15.01.0427.019; Mon, 7 Mar 2016 18:23:15 +0000 From: Jonathan Looney To: Warner Losh , Bryan Drewery CC: Ed Maste , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r296387 - head Thread-Topic: svn commit: r296387 - head Thread-Index: AQHRdi9nn5WtOiIQykqCZGsKtNGYE59JfX+AgAAScgCABGytgA== Date: Mon, 7 Mar 2016 18:23:14 +0000 Message-ID: References: <201603041603.u24G3F3V033038@repo.freebsd.org> <56D9BB1D.7040300@FreeBSD.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.6.1.160122 authentication-results: bsdimp.com; dkim=none (message not signed) header.d=none;bsdimp.com; dmarc=none action=none header.from=juniper.net; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [66.129.241.11] x-ms-office365-filtering-correlation-id: f407e903-177e-4c7c-402d-08d346b58c8e x-microsoft-exchange-diagnostics: 1; BN3PR0501MB1348; 5:n/znSmCV9gvfR6AVwV4uwPhbKXXNLHhfDQ4ZqBWYnWXQbwC1E7D06yRGHrQQU07+bHpbJsvikya6O1er0KOo+vNyv/8SVotRAnZXYCObhY9vtdudFLcvIg/71X2t/4OobfKUCl2A3hhnFfXJHLOv4Q==; 24:diaXQW30o6jo3DmpkH2Jc955osB05uqBcCpx/vIRnsauqy2nMLZ3eJsU/tblRpUEMnEX3mSMBO+ggR0wyFrhmxLVES3aW9Lu3qjkaV8XVrw= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0501MB1348; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001); SRVR:BN3PR0501MB1348; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0501MB1348; x-forefront-prvs: 087474FBFA x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(377454003)(24454002)(77096005)(5001770100001)(189998001)(5002640100001)(92566002)(4001350100001)(3280700002)(2906002)(3660700001)(10400500002)(99286002)(11100500001)(86362001)(106116001)(586003)(36756003)(5008740100001)(3846002)(66066001)(1220700001)(19580395003)(40100003)(1096002)(19580405001)(5004730100002)(122556002)(50986999)(2950100001)(54356999)(76176999)(2900100001)(83506001)(81166005)(87936001)(102836003)(4326007)(6116002); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0501MB1348; H:BN3PR0501MB1345.namprd05.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; spamdiagnosticoutput: 1:23 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-ID: <2DB38DD033E8B84792339D500AB56527@namprd05.prod.outlook.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Mar 2016 18:23:14.8967 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0501MB1348 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 18:23:24 -0000 On Fri, Mar 4, 2016 at 12:49 AM, Warner Losh wrote: > It's trivial so worth having. We should discuss what our "oldest > supported upgrade" release should be as currently it is 8.1. >=20 > We put it to 8.1 based on Juniper wanted it for their operations. > Normally we'd set this closer to 9.0 or something. If Juniper > no longer needs it, we should move up to 9.0 since that's typically > what we've done in the past at this point in the release cycle. I don't think Juniper cares about this anymore. Even if we do, I'm not sure why 8.1 would be the release we would choose (at least, at this point). Jonathan From owner-svn-src-all@freebsd.org Mon Mar 7 18:32:13 2016 Return-Path: Delivered-To: svn-src-all@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 9B4C6AC31C3; Mon, 7 Mar 2016 18:32:13 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6D5DD930; Mon, 7 Mar 2016 18:32:13 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27IWCfb023677; Mon, 7 Mar 2016 18:32:12 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27IWC3A023676; Mon, 7 Mar 2016 18:32:12 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603071832.u27IWC3A023676@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Mon, 7 Mar 2016 18:32:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296466 - head/tools/tools/nanobsd/embedded X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 18:32:13 -0000 Author: imp Date: Mon Mar 7 18:32:12 2016 New Revision: 296466 URL: https://svnweb.freebsd.org/changeset/base/296466 Log: Don't install debug symbols onto embedded images... Modified: head/tools/tools/nanobsd/embedded/common Modified: head/tools/tools/nanobsd/embedded/common ============================================================================== --- head/tools/tools/nanobsd/embedded/common Mon Mar 7 16:22:11 2016 (r296465) +++ head/tools/tools/nanobsd/embedded/common Mon Mar 7 18:32:12 2016 (r296466) @@ -167,6 +167,8 @@ WITHOUT_SHAREDOCS=true WITHOUT_SYSCONS=true WITHOUT_LIB32=true WITHOUT_TESTS=true +WITHOUT_DEBUG_FILES=t +WITHOUT_KERNEL_SYMBOLS=t " CONF_INSTALL="$CONF_BUILD INSTALL_NODEBUG=t @@ -320,6 +322,7 @@ create_diskimage_mbr ( ) ( -o ${out} ;; esac + rm -f ${out}.xz xz -9 --keep ${out} ) > ${NANO_LOG}/_.di 2>&1 ) From owner-svn-src-all@freebsd.org Mon Mar 7 18:44:08 2016 Return-Path: Delivered-To: svn-src-all@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 4891EAC3697; Mon, 7 Mar 2016 18:44:08 +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 0BDB5F85; Mon, 7 Mar 2016 18:44:07 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27Ii7Dp026876; Mon, 7 Mar 2016 18:44:07 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27Ii7Ip026875; Mon, 7 Mar 2016 18:44:07 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603071844.u27Ii7Ip026875@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 7 Mar 2016 18:44:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296467 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 18:44:08 -0000 Author: kib Date: Mon Mar 7 18:44:06 2016 New Revision: 296467 URL: https://svnweb.freebsd.org/changeset/base/296467 Log: Convert all panics from the link_elf_obj kernel linker for object files format into printfs and errors to caller. Some leaks of resources are there, but the same leaks are present in other error pathes. With the change, the kernel at least boots even when module with unexpected or corrupted ELF structure is preloaded. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/sys/kern/link_elf_obj.c Modified: head/sys/kern/link_elf_obj.c ============================================================================== --- head/sys/kern/link_elf_obj.c Mon Mar 7 18:32:12 2016 (r296466) +++ head/sys/kern/link_elf_obj.c Mon Mar 7 18:44:06 2016 (r296467) @@ -140,7 +140,7 @@ static int link_elf_each_function_name(l static int link_elf_each_function_nameval(linker_file_t, linker_function_nameval_callback_t, void *); -static void link_elf_reloc_local(linker_file_t); +static int link_elf_reloc_local(linker_file_t); static long link_elf_symtab_get(linker_file_t, const Elf_Sym **); static long link_elf_strtab_get(linker_file_t, caddr_t *); @@ -405,15 +405,26 @@ link_elf_link_preload(linker_class_t cls break; } } - if (pb != ef->nprogtab) - panic("lost progbits"); - if (rl != ef->nreltab) - panic("lost reltab"); - if (ra != ef->nrelatab) - panic("lost relatab"); + if (pb != ef->nprogtab) { + printf("%s: lost progbits\n", filename); + error = ENOEXEC; + goto out; + } + if (rl != ef->nreltab) { + printf("%s: lost reltab\n", filename); + error = ENOEXEC; + goto out; + } + if (ra != ef->nrelatab) { + printf("%s: lost relatab\n", filename); + error = ENOEXEC; + goto out; + } /* Local intra-module relocations */ - link_elf_reloc_local(lf); + error = link_elf_reloc_local(lf); + if (error != 0) + goto out; *result = lf; return (0); @@ -634,8 +645,11 @@ link_elf_load_file(linker_class_t cls, c ef->relatab = malloc(ef->nrelatab * sizeof(*ef->relatab), M_LINKER, M_WAITOK | M_ZERO); - if (symtabindex == -1) - panic("lost symbol table index"); + if (symtabindex == -1) { + link_elf_error(filename, "lost symbol table index"); + error = ENOEXEC; + goto out; + } /* Allocate space for and load the symbol table */ ef->ddbsymcnt = shdr[symtabindex].sh_size / sizeof(Elf_Sym); ef->ddbsymtab = malloc(shdr[symtabindex].sh_size, M_LINKER, M_WAITOK); @@ -650,8 +664,11 @@ link_elf_load_file(linker_class_t cls, c goto out; } - if (symstrindex == -1) - panic("lost symbol string index"); + if (symstrindex == -1) { + link_elf_error(filename, "lost symbol string index"); + error = ENOEXEC; + goto out; + } /* Allocate space for and load the symbol strings */ ef->ddbstrcnt = shdr[symstrindex].sh_size; ef->ddbstrtab = malloc(shdr[symstrindex].sh_size, M_LINKER, M_WAITOK); @@ -884,19 +901,35 @@ link_elf_load_file(linker_class_t cls, c break; } } - if (pb != ef->nprogtab) - panic("lost progbits"); - if (rl != ef->nreltab) - panic("lost reltab"); - if (ra != ef->nrelatab) - panic("lost relatab"); - if (mapbase != (vm_offset_t)ef->address + mapsize) - panic("mapbase 0x%lx != address %p + mapsize 0x%lx (0x%lx)\n", + if (pb != ef->nprogtab) { + link_elf_error(filename, "lost progbits"); + error = ENOEXEC; + goto out; + } + if (rl != ef->nreltab) { + link_elf_error(filename, "lost reltab"); + error = ENOEXEC; + goto out; + } + if (ra != ef->nrelatab) { + link_elf_error(filename, "lost relatab"); + error = ENOEXEC; + goto out; + } + if (mapbase != (vm_offset_t)ef->address + mapsize) { + printf( + "%s: mapbase 0x%lx != address %p + mapsize 0x%lx (0x%lx)\n", + filename != NULL ? filename : "", (u_long)mapbase, ef->address, (u_long)mapsize, (u_long)(vm_offset_t)ef->address + mapsize); + error = ENOMEM; + goto out; + } /* Local intra-module relocations */ - link_elf_reloc_local(lf); + error = link_elf_reloc_local(lf); + if (error != 0) + goto out; /* Pull in dependencies */ VOP_UNLOCK(nd.ni_vp, 0); @@ -1034,12 +1067,16 @@ relocate_file(elf_file_t ef) /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nreltab; i++) { rel = ef->reltab[i].rel; - if (rel == NULL) - panic("lost a reltab!"); + if (rel == NULL) { + link_elf_error(ef->lf.filename, "lost a reltab!"); + return (ENOEXEC); + } rellim = rel + ef->reltab[i].nrel; base = findbase(ef, ef->reltab[i].sec); - if (base == 0) - panic("lost base for reltab"); + if (base == 0) { + link_elf_error(ef->lf.filename, "lost base for reltab"); + return (ENOEXEC); + } for ( ; rel < rellim; rel++) { symidx = ELF_R_SYM(rel->r_info); if (symidx >= ef->ddbsymcnt) @@ -1053,7 +1090,7 @@ relocate_file(elf_file_t ef) symname = symbol_name(ef, rel->r_info); printf("link_elf_obj: symbol %s undefined\n", symname); - return ENOENT; + return (ENOENT); } } } @@ -1061,12 +1098,17 @@ relocate_file(elf_file_t ef) /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrelatab; i++) { rela = ef->relatab[i].rela; - if (rela == NULL) - panic("lost a relatab!"); + if (rela == NULL) { + link_elf_error(ef->lf.filename, "lost a relatab!"); + return (ENOEXEC); + } relalim = rela + ef->relatab[i].nrela; base = findbase(ef, ef->relatab[i].sec); - if (base == 0) - panic("lost base for relatab"); + if (base == 0) { + link_elf_error(ef->lf.filename, + "lost base for relatab"); + return (ENOEXEC); + } for ( ; rela < relalim; rela++) { symidx = ELF_R_SYM(rela->r_info); if (symidx >= ef->ddbsymcnt) @@ -1080,7 +1122,7 @@ relocate_file(elf_file_t ef) symname = symbol_name(ef, rela->r_info); printf("link_elf_obj: symbol %s undefined\n", symname); - return ENOENT; + return (ENOENT); } } } @@ -1092,7 +1134,7 @@ relocate_file(elf_file_t ef) */ elf_obj_cleanup_globals_cache(ef); - return 0; + return (0); } static int @@ -1375,7 +1417,7 @@ link_elf_fix_link_set(elf_file_t ef) } } -static void +static int link_elf_reloc_local(linker_file_t lf) { elf_file_t ef = (elf_file_t)lf; @@ -1393,12 +1435,16 @@ link_elf_reloc_local(linker_file_t lf) /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nreltab; i++) { rel = ef->reltab[i].rel; - if (rel == NULL) - panic("lost a reltab!"); + if (rel == NULL) { + link_elf_error(ef->lf.filename, "lost a reltab"); + return (ENOEXEC); + } rellim = rel + ef->reltab[i].nrel; base = findbase(ef, ef->reltab[i].sec); - if (base == 0) - panic("lost base for reltab"); + if (base == 0) { + link_elf_error(ef->lf.filename, "lost base for reltab"); + return (ENOEXEC); + } for ( ; rel < rellim; rel++) { symidx = ELF_R_SYM(rel->r_info); if (symidx >= ef->ddbsymcnt) @@ -1415,12 +1461,16 @@ link_elf_reloc_local(linker_file_t lf) /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrelatab; i++) { rela = ef->relatab[i].rela; - if (rela == NULL) - panic("lost a relatab!"); + if (rela == NULL) { + link_elf_error(ef->lf.filename, "lost a relatab!"); + return (ENOEXEC); + } relalim = rela + ef->relatab[i].nrela; base = findbase(ef, ef->relatab[i].sec); - if (base == 0) - panic("lost base for relatab"); + if (base == 0) { + link_elf_error(ef->lf.filename, "lost base for reltab"); + return (ENOEXEC); + } for ( ; rela < relalim; rela++) { symidx = ELF_R_SYM(rela->r_info); if (symidx >= ef->ddbsymcnt) @@ -1433,6 +1483,7 @@ link_elf_reloc_local(linker_file_t lf) elf_obj_lookup); } } + return (0); } static long From owner-svn-src-all@freebsd.org Mon Mar 7 18:50:57 2016 Return-Path: Delivered-To: svn-src-all@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 DB8E7AC3855 for ; Mon, 7 Mar 2016 18:50:57 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from mail-io0-x234.google.com (mail-io0-x234.google.com [IPv6:2607:f8b0:4001:c06::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9FA0E12E5 for ; Mon, 7 Mar 2016 18:50:57 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: by mail-io0-x234.google.com with SMTP id n190so142036506iof.0 for ; Mon, 07 Mar 2016 10:50:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=sender:subject:mime-version:from:in-reply-to:date:cc:message-id :references:to; bh=41770NQdZdEoClaO42o0RJMAFcRKvN4IsUfuFMnRjjw=; b=teEH1+nmHopXeP7Sh4FHdwuQDynwYB2EDu1FDFPrePVKcYch5b9UB29HAaGiC3iYcJ DFgGXwzKCd8ZJCtIMaxi9hQv8dQ9yq8LEXdTQ68Dbr+fQz+D7ol6XfqGs16iZ32fKNJp iSl4kniwUgGzOKOQztUldiweYuqjip8m06h4+iBLjMlDyOXf1Adq5vCqspY5LsDCl+S8 2ONokSsIachDuda6JnJ2hvsHxN2frzXMsq1VQZbM2Sd/uWOekkh4ClK9WZ/g7A7dbjk4 0VgRkuYrsQsbiA29wukuAZ6LnFlySvyBnzasJsTDA3XQR8aY9NU/4EYeHw2dJDfHFHaI xtpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:from:in-reply-to :date:cc:message-id:references:to; bh=41770NQdZdEoClaO42o0RJMAFcRKvN4IsUfuFMnRjjw=; b=UcXOLuhFCMudlDQP3Fr9rblAZrEQKVw9F+jZbf030q/EdDzJ/e3GgFDaaxS3kW8mLY aKDlh4FdFHzr7C4/0W3DQ8p4ZR9QhMneXZGsJhK2DFD2yj5fQ4UrcqM5pkxKKdj+ftSt NaqIGkMPIN/7xt5FDOzb5YLce1CaS9PFvQWm70Zo3ZQjZHv7YXBM6dj2bBDD7deySXtX aBgiZSaL8YocFMQUil43ZIu02P0q3Up8lo2B9Vt1QYzAOzOsWsdbxdsi5X73n63SfVbU cPyF450ns1eQqgUfH7kHAOWj4r3pHprvEz3Qo7be2DG+9CdKWppcYIcZRk9jKdT9pqt2 BKkA== X-Gm-Message-State: AD7BkJKaP0ttgagIyyLxz5s6Zj46LWazkgGlkZCuTze/Pp3Z+TJ8wOqn5gCRkZc7cpqgVw== X-Received: by 10.107.154.79 with SMTP id c76mr22236088ioe.53.1457376656990; Mon, 07 Mar 2016 10:50:56 -0800 (PST) Received: from [172.29.117.33] (63-156-62-129.dia.static.qwest.net. [63.156.62.129]) by smtp.gmail.com with ESMTPSA id w184sm6965243iod.4.2016.03.07.10.50.55 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 07 Mar 2016 10:50:56 -0800 (PST) Sender: Warner Losh Subject: Re: svn commit: r296428 - head/sys/boot/common Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) Content-Type: multipart/signed; boundary="Apple-Mail=_0F3D2FDE-B021-4B5D-A595-A66AF3B5A464"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.5.2 From: Warner Losh In-Reply-To: Date: Mon, 7 Mar 2016 11:50:53 -0700 Cc: src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Message-Id: <10F1E4F3-BE8A-4BC3-AFC3-FB4C3A729B60@bsdimp.com> References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> To: Dimitry Andric X-Mailer: Apple Mail (2.2104) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 18:50:58 -0000 --Apple-Mail=_0F3D2FDE-B021-4B5D-A595-A66AF3B5A464 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 7, 2016, at 10:41 AM, Dimitry Andric wrote: >=20 > On 07 Mar 2016, at 17:28, Warner Losh wrote: > ... >> Alternatively, is there a switch to clang 3.8 that says 'Don't = generate the new >> relocation, use the old one instead" which would also be safe and = allow a >> less-bumpy transition? >=20 > On amd64, we actually compile source files for the kernel with > -fno-asynchronous-unwind-tables, which is the flag that ensures object > files do not end up with a .eh_frame section, because the compiler = will > refrain from inserting CFI directives into the assembler. Excellent. > However, this only affects C source files, and we have a number of > hand-written assembler sources in the tree, with CFI directives in = them. > These will always result in .eh_frame sections, unless there is = another > assembler-specific flag of suppressing that. what are the odds of fixing this? Since the vast majority of assembler = code is going to be in the base kernel. The AESNI stuff is the only exception that I can think of=E2=80=A6 Are the CFI directives so that DTRACE works, or is there some other = reason? Warner --Apple-Mail=_0F3D2FDE-B021-4B5D-A595-A66AF3B5A464 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJW3c2NAAoJEGwc0Sh9sBEAUqwP/1SksK5IiSg25Ui0EpcLfOXs C2j33VzFUxTCnPMERgPW+gs5dHHE8MnMWl2LgDGmPeVtTn9R27wjqliOK1z6laOk DkCvveuvQrodaO43ZcBgqWnkyq4feRAMCq0KDVPG+LDFI++7i8Lhfi+WbmGL+q09 l0AnYMLy7nbQD7zqbIg235MyWxf4fuByrw+jWcGje+LrB/P1TgrwtRkOAuGQX7eh ihxYarEd7XF0+H9r5Byk5aXR33XyKIbJQCIAk7Vismom3YkPhHvPSuDGNpkrBf5L T0KhBNdPF/9x5sQUBOIZ4lMxKEnGoUQPgKvAolJxuDZdMUlHfUYQ+QS9uoAQVD8t ySwd8GO/ngqPk0GmzzDwhGiR9hH3ugbhChkxin70jcCf7mZia0ARvFTlgeTbrl1I MLiKJMm5yUTkhGa5CSXWB9/cH1cBTHHNWksjInZ+KXFjgNBTulzWrA+klSaNMjkH gi2Or/hyMrXX0os8zwJI8SAMuQzfPuBHbRnjhHhcKhrpar/QSa9MIR1201/bF7yN 5Nv4dlCTS+6eXsMBH13PnDtF1CESUiMUBZsJX9gNgqQvHqEwqTig3DhyBHR4yytB rJukKlw/1fczz7wxKDKrS416NxdD1iJ0klGpLYlykNxQb3M41menBps7WGYDMTsM p2SBhZEy8AS2ohgC9D5g =kUVS -----END PGP SIGNATURE----- --Apple-Mail=_0F3D2FDE-B021-4B5D-A595-A66AF3B5A464-- From owner-svn-src-all@freebsd.org Mon Mar 7 18:59:12 2016 Return-Path: Delivered-To: svn-src-all@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 A7A44AC3AFA; Mon, 7 Mar 2016 18:59:12 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6808E177C; Mon, 7 Mar 2016 18:59:12 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:7b8:3a7::db5:de5b:7cb6:ee3c] (unknown [IPv6:2001:7b8:3a7:0:db5:de5b:7cb6:ee3c]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 9F29B3E443; Mon, 7 Mar 2016 19:59:09 +0100 (CET) Subject: Re: svn commit: r296428 - head/sys/boot/common Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_7E485799-7391-4A68-A51D-7CE30DCA1055"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.6b2 (ebbf3ef) From: Dimitry Andric In-Reply-To: <10F1E4F3-BE8A-4BC3-AFC3-FB4C3A729B60@bsdimp.com> Date: Mon, 7 Mar 2016 19:59:05 +0100 Cc: src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Message-Id: References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> <10F1E4F3-BE8A-4BC3-AFC3-FB4C3A729B60@bsdimp.com> To: Warner Losh X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 18:59:12 -0000 --Apple-Mail=_7E485799-7391-4A68-A51D-7CE30DCA1055 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 On 07 Mar 2016, at 19:50, Warner Losh wrote: >=20 >> On Mar 7, 2016, at 10:41 AM, Dimitry Andric wrote: >>=20 >> On 07 Mar 2016, at 17:28, Warner Losh wrote: >> ... >>> Alternatively, is there a switch to clang 3.8 that says 'Don't = generate the new >>> relocation, use the old one instead" which would also be safe and = allow a >>> less-bumpy transition? >>=20 >> On amd64, we actually compile source files for the kernel with >> -fno-asynchronous-unwind-tables, which is the flag that ensures = object >> files do not end up with a .eh_frame section, because the compiler = will >> refrain from inserting CFI directives into the assembler. >=20 > Excellent. >=20 >> However, this only affects C source files, and we have a number of >> hand-written assembler sources in the tree, with CFI directives in = them. >> These will always result in .eh_frame sections, unless there is = another >> assembler-specific flag of suppressing that. >=20 > what are the odds of fixing this? Since the vast majority of assembler = code > is going to be in the base kernel. The AESNI stuff is the only = exception > that I can think of=E2=80=A6 >=20 > Are the CFI directives so that DTRACE works, or is there some other = reason? You could comment out the directives, but these are really the standard way to do unwinding on amd64, without having to follow stack frames 'manually'. It would even be better to drop the -fno-asynchronous-unwind-tables option, and actually start making use of the unwind information in e.g. the kernel debugger, or even for producing crash backtraces. -Dimitry --Apple-Mail=_7E485799-7391-4A68-A51D-7CE30DCA1055 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.29 iEYEARECAAYFAlbdz30ACgkQsF6jCi4glqOcpwCfcewuixxByOa82gFJ2Lwb6w0Y OtwAn2hcKVVUg+6sTshEXAu+FGLkhaIV =9u4l -----END PGP SIGNATURE----- --Apple-Mail=_7E485799-7391-4A68-A51D-7CE30DCA1055-- From owner-svn-src-all@freebsd.org Mon Mar 7 19:02:05 2016 Return-Path: Delivered-To: svn-src-all@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 42F6EAC3C30 for ; Mon, 7 Mar 2016 19:02:05 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from alto.onthenet.com.au (alto.OntheNet.com.au [203.13.68.12]) by mx1.freebsd.org (Postfix) with ESMTP id 04C871B20 for ; Mon, 7 Mar 2016 19:02:04 +0000 (UTC) (envelope-from grehan@freebsd.org) Received: from iredmail.onthenet.com.au (iredmail.onthenet.com.au [203.13.68.150]) by alto.onthenet.com.au (Postfix) with ESMTPS id EAD7920B4BA7 for ; Tue, 8 Mar 2016 05:02:03 +1000 (AEST) Received: from localhost (iredmail.onthenet.com.au [127.0.0.1]) by iredmail.onthenet.com.au (Postfix) with ESMTP id D84822804DA for ; Tue, 8 Mar 2016 05:02:03 +1000 (AEST) X-Amavis-Modified: Mail body modified (using disclaimer) - iredmail.onthenet.com.au Received: from iredmail.onthenet.com.au ([127.0.0.1]) by localhost (iredmail.onthenet.com.au [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id UwQmkG7nuSIK for ; Tue, 8 Mar 2016 05:02:03 +1000 (AEST) Received: from Peters-MacBook-Pro.local (unknown [96.82.80.65]) by iredmail.onthenet.com.au (Postfix) with ESMTPSA id 792012804D6; Tue, 8 Mar 2016 05:02:01 +1000 (AEST) Subject: Re: svn commit: r296428 - head/sys/boot/common To: Warner Losh , Dimitry Andric References: <201603061557.u26FvhMi033982@repo.freebsd.org> <56DCD52F.4010709@freebsd.org> <1457365187.13785.174.camel@freebsd.org> <20160307155217.GJ67250@kib.kiev.ua> <10F1E4F3-BE8A-4BC3-AFC3-FB4C3A729B60@bsdimp.com> Cc: src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" From: Peter Grehan Message-ID: <56DDD027.60705@freebsd.org> Date: Mon, 7 Mar 2016 11:01:59 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <10F1E4F3-BE8A-4BC3-AFC3-FB4C3A729B60@bsdimp.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-CMAE-Score: 0 X-CMAE-Analysis: v=2.1 cv=GfK35VjL c=1 sm=1 tr=0 a=A6CF0fG5TOl4vs6YHvqXgw==:117 a=mwgbnDbW7alINpy3vhoKyg==:17 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=IkcTkHD0fZMA:10 a=7OsogOcEt9IA:10 a=Y-Najdc4IStkzCq8XKgA:9 a=QEXdDO2ut3YA:10 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 19:02:05 -0000 > Are the CFI directives so that DTRACE works, or is there some other reason? It allows gdb to backtrace across exception frames. later, Peter. From owner-svn-src-all@freebsd.org Mon Mar 7 19:14:28 2016 Return-Path: Delivered-To: svn-src-all@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 3835BAC21E6; Mon, 7 Mar 2016 19:14:28 +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 09F592E7; Mon, 7 Mar 2016 19:14:27 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27JERTB035785; Mon, 7 Mar 2016 19:14:27 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27JERwg035784; Mon, 7 Mar 2016 19:14:27 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603071914.u27JERwg035784@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 7 Mar 2016 19:14:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296468 - head/sbin/tunefs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 19:14:28 -0000 Author: emaste Date: Mon Mar 7 19:14:26 2016 New Revision: 296468 URL: https://svnweb.freebsd.org/changeset/base/296468 Log: tunefs: clear the entire previous label when setting a new one strlcpy(3) null terminates but does not zero-fill the buffer, so would leave beind any portion of the previous volume label longer than the new one. Note that tunefs only allows -L args up to a length of MAXVOLLEN-1, so the stored label will be null-terminated (whether or not required by UFS). Reviewed by: imp Sponsored by: The FreeBSD Foundation Modified: head/sbin/tunefs/tunefs.c Modified: head/sbin/tunefs/tunefs.c ============================================================================== --- head/sbin/tunefs/tunefs.c Mon Mar 7 18:44:06 2016 (r296467) +++ head/sbin/tunefs/tunefs.c Mon Mar 7 19:14:26 2016 (r296468) @@ -316,7 +316,7 @@ main(int argc, char *argv[]) } if (Lflag) { name = "volume label"; - strlcpy(sblock.fs_volname, Lvalue, MAXVOLLEN); + strncpy(sblock.fs_volname, Lvalue, MAXVOLLEN); } if (aflag) { name = "POSIX.1e ACLs"; From owner-svn-src-all@freebsd.org Mon Mar 7 19:59:09 2016 Return-Path: Delivered-To: svn-src-all@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 7A103AC3507; Mon, 7 Mar 2016 19:59:09 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 556D0D36; Mon, 7 Mar 2016 19:59:09 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27Jx8Vp049244; Mon, 7 Mar 2016 19:59:08 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27Jx8WY049242; Mon, 7 Mar 2016 19:59:08 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603071959.u27Jx8WY049242@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 7 Mar 2016 19:59:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r296469 - in releng/10.3/sys: boot/common kern X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 19:59:09 -0000 Author: dim Date: Mon Mar 7 19:59:08 2016 New Revision: 296469 URL: https://svnweb.freebsd.org/changeset/base/296469 Log: MFC r296419 (by kib): In the link_elf_obj.c, handle sections of type SHT_AMD64_UNWIND same as SHT_PROGBITS. This is needed after the clang 3.8 import, which generates that type for .eh_frame section, which had SHT_PROGBITS type before. Reported by: Nikolai Lifanov PR: 207729 Tested by: dim (previous version) Sponsored by: The FreeBSD Foundation MFC r296428: Since kernel modules can now contain sections of type SHT_AMD64_UNWIND, the boot loader should not skip over these anymore while loading images. Otherwise the kernel can still panic when it doesn't find the .eh_frame section belonging to the .rela.eh_frame section. Unfortunately this will require installing boot loaders from sys/boot before attempting to boot with a new kernel. Reviewed by: kib Approved by: re (marius) Modified: releng/10.3/sys/boot/common/load_elf_obj.c releng/10.3/sys/kern/link_elf_obj.c Directory Properties: releng/10.3/ (props changed) Modified: releng/10.3/sys/boot/common/load_elf_obj.c ============================================================================== --- releng/10.3/sys/boot/common/load_elf_obj.c Mon Mar 7 19:14:26 2016 (r296468) +++ releng/10.3/sys/boot/common/load_elf_obj.c Mon Mar 7 19:59:08 2016 (r296469) @@ -221,6 +221,9 @@ __elfN(obj_loadimage)(struct preloaded_f switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#if defined(__i386__) || defined(__amd64__) + case SHT_AMD64_UNWIND: +#endif lastaddr = roundup(lastaddr, shdr[i].sh_addralign); shdr[i].sh_addr = (Elf_Addr)lastaddr; lastaddr += shdr[i].sh_size; Modified: releng/10.3/sys/kern/link_elf_obj.c ============================================================================== --- releng/10.3/sys/kern/link_elf_obj.c Mon Mar 7 19:14:26 2016 (r296468) +++ releng/10.3/sys/kern/link_elf_obj.c Mon Mar 7 19:59:08 2016 (r296469) @@ -257,6 +257,9 @@ link_elf_link_preload(linker_class_t cls switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif ef->nprogtab++; break; case SHT_SYMTAB: @@ -327,9 +330,16 @@ link_elf_link_preload(linker_class_t cls switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif ef->progtab[pb].addr = (void *)shdr[i].sh_addr; if (shdr[i].sh_type == SHT_PROGBITS) ef->progtab[pb].name = "<>"; +#ifdef __amd64__ + else if (shdr[i].sh_type == SHT_AMD64_UNWIND) + ef->progtab[pb].name = "<>"; +#endif else ef->progtab[pb].name = "<>"; ef->progtab[pb].size = shdr[i].sh_size; @@ -553,6 +563,9 @@ link_elf_load_file(linker_class_t cls, c switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif ef->nprogtab++; break; case SHT_SYMTAB: @@ -659,6 +672,9 @@ link_elf_load_file(linker_class_t cls, c switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif alignmask = shdr[i].sh_addralign - 1; mapsize += alignmask; mapsize &= ~alignmask; @@ -726,6 +742,9 @@ link_elf_load_file(linker_class_t cls, c switch (shdr[i].sh_type) { case SHT_PROGBITS: case SHT_NOBITS: +#ifdef __amd64__ + case SHT_AMD64_UNWIND: +#endif alignmask = shdr[i].sh_addralign - 1; mapbase += alignmask; mapbase &= ~alignmask; @@ -734,6 +753,10 @@ link_elf_load_file(linker_class_t cls, c ef->shstrtab + shdr[i].sh_name; else if (shdr[i].sh_type == SHT_PROGBITS) ef->progtab[pb].name = "<>"; +#ifdef __amd64__ + else if (shdr[i].sh_type == SHT_AMD64_UNWIND) + ef->progtab[pb].name = "<>"; +#endif else ef->progtab[pb].name = "<>"; if (ef->progtab[pb].name != NULL && @@ -755,7 +778,11 @@ link_elf_load_file(linker_class_t cls, c } ef->progtab[pb].size = shdr[i].sh_size; ef->progtab[pb].sec = i; - if (shdr[i].sh_type == SHT_PROGBITS) { + if (shdr[i].sh_type == SHT_PROGBITS +#ifdef __amd64__ + || shdr[i].sh_type == SHT_AMD64_UNWIND +#endif + ) { error = vn_rdwr(UIO_READ, nd.ni_vp, ef->progtab[pb].addr, shdr[i].sh_size, shdr[i].sh_offset, From owner-svn-src-all@freebsd.org Mon Mar 7 20:35:04 2016 Return-Path: Delivered-To: svn-src-all@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 4C18BAC3C4B for ; Mon, 7 Mar 2016 20:35:04 +0000 (UTC) (envelope-from sobomax@sippysoft.com) Received: from mail-wm0-x235.google.com (mail-wm0-x235.google.com [IPv6:2a00:1450:400c:c09::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DBB33F76 for ; Mon, 7 Mar 2016 20:35:03 +0000 (UTC) (envelope-from sobomax@sippysoft.com) Received: by mail-wm0-x235.google.com with SMTP id p65so1374572wmp.0 for ; Mon, 07 Mar 2016 12:35:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sippysoft-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=vY1BCbosJE0+7gNiERBbwxR73XDyyhmNjM2/Ro32xls=; b=YFPWlHnzX6a+ADY5sQqfnmTHS6NGinmlvvnLNDHsjDlFavuksO9/X0cHFVVtPE1FFR Oc+loIbwcMDm/KffHSQ6QYFCSw+s4L/YGMQnTSEVcQyHQIXgSX0+WOfGuCd7qKN6Z82h 1CtnyOqTrSYaBf40uPoACrih8FolVowjMgopogMADDFRO1i8sQb3xAb/gNA+u01YLvMC CV2PqI37Pe7SJ8mrj4c/QBREYN9NBYhHYSMUaXJz5Ne1EuS2XsyBR/h41KaHnCUmT1AX pzyyQb8Xidfj4jWA6LT/9nThRmi0uVtA8zwqPOkSwO2utCB+bGbtGOj/dJ63udkZB9QN pvAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=vY1BCbosJE0+7gNiERBbwxR73XDyyhmNjM2/Ro32xls=; b=Z5CX1ST8QUV1vc9U+wIt6dJsuuj9ycTJv/a4DXN/GFWP5B0JcWnDvrQ/sFi/HMMvcU e8JmrpIUHHPJTakIgFRdYthzjV6YDNGZmW0aJA5M33tbH9yeHY2HXH3JVG7jD8zgTJTT 8MjoKS9aHBVnhTGZ4gVObPYKT3+TU8ri9XMbQBkASBm3dox013XhKpBU/q5p4H8kFOmx 4LJeR86JtwMA0T9OZLfZR1ZpxpSKEY3y4aKK+1Adg9ZxBt/LaarX/SHTw+9hxXPvz1va OTphSIOFwnDEM0o9ZLVWwZ3FKnUjrhuXcvQRjWtLt+cXLJ3xds3gZlqwmLk/jTvulRDB Zgqw== X-Gm-Message-State: AD7BkJJG5QWkKjco2l1D/6VHHs1DBSroKTwvnsESdMiAk3TtSwk6KNnMnYB509ukzr9HR18f6lz5ggOrQ2pXf6Yi MIME-Version: 1.0 X-Received: by 10.194.227.1 with SMTP id rw1mr24126175wjc.62.1457382901994; Mon, 07 Mar 2016 12:35:01 -0800 (PST) Sender: sobomax@sippysoft.com Received: by 10.28.63.213 with HTTP; Mon, 7 Mar 2016 12:35:01 -0800 (PST) In-Reply-To: <201603071959.u27Jx8WY049242@repo.freebsd.org> References: <201603071959.u27Jx8WY049242@repo.freebsd.org> Date: Mon, 7 Mar 2016 12:35:01 -0800 X-Google-Sender-Auth: usMgkKRl_eQaqTaPPXSMkIeG5aE Message-ID: Subject: Re: svn: releng/10.3/sys: boot/common kern From: Maxim Sobolev To: Dimitry Andric Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 20:35:04 -0000 Is it possible perhaps for the installkernel target to extract the version number from the /boot/loader and warn user or abort operation if that version is known not to support this feature? This would be ultimate anti-foot-shooting safeguard for people who are used to the normal installkernel->reboot->installworld FreeBSD upgrade sequence. -Max On Mon, Mar 7, 2016 at 11:59 AM, Dimitry Andric wrote: > Unfortunately this will require installing boot loaders from sys/boot > before attempting to boot with a new kernel. > From owner-svn-src-all@freebsd.org Mon Mar 7 21:10:20 2016 Return-Path: Delivered-To: svn-src-all@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 F1E76AC2B83; Mon, 7 Mar 2016 21:10:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C38C0264; Mon, 7 Mar 2016 21:10:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27LAJnS073943; Mon, 7 Mar 2016 21:10:19 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27LAJYd073942; Mon, 7 Mar 2016 21:10:19 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603072110.u27LAJYd073942@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Mon, 7 Mar 2016 21:10:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296470 - head/sys/dev/filemon X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 21:10:21 -0000 Author: bdrewery Date: Mon Mar 7 21:10:19 2016 New Revision: 296470 URL: https://svnweb.freebsd.org/changeset/base/296470 Log: Only call bwillwrite() for logging to vnodes, as other fo_write() calls do. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/filemon/filemon_wrapper.c Modified: head/sys/dev/filemon/filemon_wrapper.c ============================================================================== --- head/sys/dev/filemon/filemon_wrapper.c Mon Mar 7 19:59:08 2016 (r296469) +++ head/sys/dev/filemon/filemon_wrapper.c Mon Mar 7 21:10:19 2016 (r296470) @@ -59,7 +59,8 @@ filemon_output(struct filemon *filemon, auio.uio_td = curthread; auio.uio_offset = (off_t) -1; - bwillwrite(); + if (filemon->fp->f_type == DTYPE_VNODE) + bwillwrite(); fo_write(filemon->fp, &auio, curthread->td_ucred, 0, curthread); } From owner-svn-src-all@freebsd.org Mon Mar 7 21:11:37 2016 Return-Path: Delivered-To: svn-src-all@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 06F3CAC2D50; Mon, 7 Mar 2016 21:11:37 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CB60580A; Mon, 7 Mar 2016 21:11:36 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27LBZwD074776; Mon, 7 Mar 2016 21:11:35 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27LBZMC074773; Mon, 7 Mar 2016 21:11:35 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603072111.u27LBZMC074773@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Mon, 7 Mar 2016 21:11:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296471 - in head: sys/dev/cxgbe sys/dev/cxgbe/common tools/tools/cxgbetool X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 21:11:37 -0000 Author: np Date: Mon Mar 7 21:11:35 2016 New Revision: 296471 URL: https://svnweb.freebsd.org/changeset/base/296471 Log: cxgbe(4): Updated register dumps. - Get the list of registers to read during a regdump from the shared code instead of the OS specific code. This follows a similar move internally. The shared code includes the list for T6. - Update cxgbetool to be able to decode T5 VF, T6, and T6 VF register dumps (and catch up with some updates to T4 and T5 register decode). Obtained from: Chelsio Communications Sponsored by: Chelsio Communications Added: head/tools/tools/cxgbetool/reg_defs_t6.c (contents, props changed) Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/cxgbe/t4_main.c head/tools/tools/cxgbetool/cxgbetool.c head/tools/tools/cxgbetool/reg_defs_t4.c head/tools/tools/cxgbetool/reg_defs_t4vf.c head/tools/tools/cxgbetool/reg_defs_t5.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Mon Mar 7 21:10:19 2016 (r296470) +++ head/sys/dev/cxgbe/common/common.h Mon Mar 7 21:11:35 2016 (r296471) @@ -42,6 +42,11 @@ enum { MACADDR_LEN = 12, /* MAC Address length */ }; +enum { + T4_REGMAP_SIZE = (160 * 1024), + T5_REGMAP_SIZE = (332 * 1024), +}; + enum { MEM_EDC0, MEM_EDC1, MEM_MC, MEM_MC0 = MEM_MC, MEM_MC1 }; enum { @@ -510,6 +515,9 @@ int t4_edc_read(struct adapter *adap, in int t4_mem_read(struct adapter *adap, int mtype, u32 addr, u32 size, __be32 *data); +unsigned int t4_get_regs_len(struct adapter *adapter); +void t4_get_regs(struct adapter *adap, u8 *buf, size_t buf_size); + const char *t4_get_port_type_description(enum fw_port_type port_type); void t4_get_port_stats(struct adapter *adap, int idx, struct port_stats *p); void t4_get_port_stats_offset(struct adapter *adap, int idx, Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Mon Mar 7 21:10:19 2016 (r296470) +++ head/sys/dev/cxgbe/common/t4_hw.c Mon Mar 7 21:11:35 2016 (r296471) @@ -525,6 +525,1904 @@ int t4_mem_read(struct adapter *adap, in return 0; } +/** + * t4_get_regs_len - return the size of the chips register set + * @adapter: the adapter + * + * Returns the size of the chip's BAR0 register space. + */ +unsigned int t4_get_regs_len(struct adapter *adapter) +{ + unsigned int chip_version = chip_id(adapter); + + switch (chip_version) { + case CHELSIO_T4: + return T4_REGMAP_SIZE; + + case CHELSIO_T5: + case CHELSIO_T6: + return T5_REGMAP_SIZE; + } + + CH_ERR(adapter, + "Unsupported chip version %d\n", chip_version); + return 0; +} + +/** + * t4_get_regs - read chip registers into provided buffer + * @adap: the adapter + * @buf: register buffer + * @buf_size: size (in bytes) of register buffer + * + * If the provided register buffer isn't large enough for the chip's + * full register range, the register dump will be truncated to the + * register buffer's size. + */ +void t4_get_regs(struct adapter *adap, u8 *buf, size_t buf_size) +{ + static const unsigned int t4_reg_ranges[] = { + 0x1008, 0x1108, + 0x1180, 0x1184, + 0x1190, 0x1194, + 0x11a0, 0x11a4, + 0x11b0, 0x11b4, + 0x11fc, 0x123c, + 0x1300, 0x173c, + 0x1800, 0x18fc, + 0x3000, 0x30d8, + 0x30e0, 0x30e4, + 0x30ec, 0x5910, + 0x5920, 0x5924, + 0x5960, 0x5960, + 0x5968, 0x5968, + 0x5970, 0x5970, + 0x5978, 0x5978, + 0x5980, 0x5980, + 0x5988, 0x5988, + 0x5990, 0x5990, + 0x5998, 0x5998, + 0x59a0, 0x59d4, + 0x5a00, 0x5ae0, + 0x5ae8, 0x5ae8, + 0x5af0, 0x5af0, + 0x5af8, 0x5af8, + 0x6000, 0x6098, + 0x6100, 0x6150, + 0x6200, 0x6208, + 0x6240, 0x6248, + 0x6280, 0x62b0, + 0x62c0, 0x6338, + 0x6370, 0x638c, + 0x6400, 0x643c, + 0x6500, 0x6524, + 0x6a00, 0x6a04, + 0x6a14, 0x6a38, + 0x6a60, 0x6a70, + 0x6a78, 0x6a78, + 0x6b00, 0x6b0c, + 0x6b1c, 0x6b84, + 0x6bf0, 0x6bf8, + 0x6c00, 0x6c0c, + 0x6c1c, 0x6c84, + 0x6cf0, 0x6cf8, + 0x6d00, 0x6d0c, + 0x6d1c, 0x6d84, + 0x6df0, 0x6df8, + 0x6e00, 0x6e0c, + 0x6e1c, 0x6e84, + 0x6ef0, 0x6ef8, + 0x6f00, 0x6f0c, + 0x6f1c, 0x6f84, + 0x6ff0, 0x6ff8, + 0x7000, 0x700c, + 0x701c, 0x7084, + 0x70f0, 0x70f8, + 0x7100, 0x710c, + 0x711c, 0x7184, + 0x71f0, 0x71f8, + 0x7200, 0x720c, + 0x721c, 0x7284, + 0x72f0, 0x72f8, + 0x7300, 0x730c, + 0x731c, 0x7384, + 0x73f0, 0x73f8, + 0x7400, 0x7450, + 0x7500, 0x7530, + 0x7600, 0x760c, + 0x7614, 0x761c, + 0x7680, 0x76cc, + 0x7700, 0x7798, + 0x77c0, 0x77fc, + 0x7900, 0x79fc, + 0x7b00, 0x7b58, + 0x7b60, 0x7b84, + 0x7b8c, 0x7c38, + 0x7d00, 0x7d38, + 0x7d40, 0x7d80, + 0x7d8c, 0x7ddc, + 0x7de4, 0x7e04, + 0x7e10, 0x7e1c, + 0x7e24, 0x7e38, + 0x7e40, 0x7e44, + 0x7e4c, 0x7e78, + 0x7e80, 0x7ea4, + 0x7eac, 0x7edc, + 0x7ee8, 0x7efc, + 0x8dc0, 0x8e04, + 0x8e10, 0x8e1c, + 0x8e30, 0x8e78, + 0x8ea0, 0x8eb8, + 0x8ec0, 0x8f6c, + 0x8fc0, 0x9008, + 0x9010, 0x9058, + 0x9060, 0x9060, + 0x9068, 0x9074, + 0x90fc, 0x90fc, + 0x9400, 0x9408, + 0x9410, 0x9458, + 0x9600, 0x9600, + 0x9608, 0x9638, + 0x9640, 0x96bc, + 0x9800, 0x9808, + 0x9820, 0x983c, + 0x9850, 0x9864, + 0x9c00, 0x9c6c, + 0x9c80, 0x9cec, + 0x9d00, 0x9d6c, + 0x9d80, 0x9dec, + 0x9e00, 0x9e6c, + 0x9e80, 0x9eec, + 0x9f00, 0x9f6c, + 0x9f80, 0x9fec, + 0xd004, 0xd004, + 0xd010, 0xd03c, + 0xdfc0, 0xdfe0, + 0xe000, 0xea7c, + 0xf000, 0x11190, + 0x19040, 0x1906c, + 0x19078, 0x19080, + 0x1908c, 0x190e4, + 0x190f0, 0x190f8, + 0x19100, 0x19110, + 0x19120, 0x19124, + 0x19150, 0x19194, + 0x1919c, 0x191b0, + 0x191d0, 0x191e8, + 0x19238, 0x1924c, + 0x193f8, 0x1943c, + 0x1944c, 0x19474, + 0x19490, 0x194e0, + 0x194f0, 0x194f8, + 0x19800, 0x19c08, + 0x19c10, 0x19c90, + 0x19ca0, 0x19ce4, + 0x19cf0, 0x19d40, + 0x19d50, 0x19d94, + 0x19da0, 0x19de8, + 0x19df0, 0x19e40, + 0x19e50, 0x19e90, + 0x19ea0, 0x19f4c, + 0x1a000, 0x1a004, + 0x1a010, 0x1a06c, + 0x1a0b0, 0x1a0e4, + 0x1a0ec, 0x1a0f4, + 0x1a100, 0x1a108, + 0x1a114, 0x1a120, + 0x1a128, 0x1a130, + 0x1a138, 0x1a138, + 0x1a190, 0x1a1c4, + 0x1a1fc, 0x1a1fc, + 0x1e040, 0x1e04c, + 0x1e284, 0x1e28c, + 0x1e2c0, 0x1e2c0, + 0x1e2e0, 0x1e2e0, + 0x1e300, 0x1e384, + 0x1e3c0, 0x1e3c8, + 0x1e440, 0x1e44c, + 0x1e684, 0x1e68c, + 0x1e6c0, 0x1e6c0, + 0x1e6e0, 0x1e6e0, + 0x1e700, 0x1e784, + 0x1e7c0, 0x1e7c8, + 0x1e840, 0x1e84c, + 0x1ea84, 0x1ea8c, + 0x1eac0, 0x1eac0, + 0x1eae0, 0x1eae0, + 0x1eb00, 0x1eb84, + 0x1ebc0, 0x1ebc8, + 0x1ec40, 0x1ec4c, + 0x1ee84, 0x1ee8c, + 0x1eec0, 0x1eec0, + 0x1eee0, 0x1eee0, + 0x1ef00, 0x1ef84, + 0x1efc0, 0x1efc8, + 0x1f040, 0x1f04c, + 0x1f284, 0x1f28c, + 0x1f2c0, 0x1f2c0, + 0x1f2e0, 0x1f2e0, + 0x1f300, 0x1f384, + 0x1f3c0, 0x1f3c8, + 0x1f440, 0x1f44c, + 0x1f684, 0x1f68c, + 0x1f6c0, 0x1f6c0, + 0x1f6e0, 0x1f6e0, + 0x1f700, 0x1f784, + 0x1f7c0, 0x1f7c8, + 0x1f840, 0x1f84c, + 0x1fa84, 0x1fa8c, + 0x1fac0, 0x1fac0, + 0x1fae0, 0x1fae0, + 0x1fb00, 0x1fb84, + 0x1fbc0, 0x1fbc8, + 0x1fc40, 0x1fc4c, + 0x1fe84, 0x1fe8c, + 0x1fec0, 0x1fec0, + 0x1fee0, 0x1fee0, + 0x1ff00, 0x1ff84, + 0x1ffc0, 0x1ffc8, + 0x20000, 0x2002c, + 0x20100, 0x2013c, + 0x20190, 0x201a0, + 0x201a8, 0x201b8, + 0x201c4, 0x201c8, + 0x20200, 0x20318, + 0x20400, 0x204b4, + 0x204c0, 0x20528, + 0x20540, 0x20614, + 0x21000, 0x21040, + 0x2104c, 0x21060, + 0x210c0, 0x210ec, + 0x21200, 0x21268, + 0x21270, 0x21284, + 0x212fc, 0x21388, + 0x21400, 0x21404, + 0x21500, 0x21500, + 0x21510, 0x21518, + 0x2152c, 0x21530, + 0x2153c, 0x2153c, + 0x21550, 0x21554, + 0x21600, 0x21600, + 0x21608, 0x2161c, + 0x21624, 0x21628, + 0x21630, 0x21634, + 0x2163c, 0x2163c, + 0x21700, 0x2171c, + 0x21780, 0x2178c, + 0x21800, 0x21818, + 0x21820, 0x21828, + 0x21830, 0x21848, + 0x21850, 0x21854, + 0x21860, 0x21868, + 0x21870, 0x21870, + 0x21878, 0x21898, + 0x218a0, 0x218a8, + 0x218b0, 0x218c8, + 0x218d0, 0x218d4, + 0x218e0, 0x218e8, + 0x218f0, 0x218f0, + 0x218f8, 0x21a18, + 0x21a20, 0x21a28, + 0x21a30, 0x21a48, + 0x21a50, 0x21a54, + 0x21a60, 0x21a68, + 0x21a70, 0x21a70, + 0x21a78, 0x21a98, + 0x21aa0, 0x21aa8, + 0x21ab0, 0x21ac8, + 0x21ad0, 0x21ad4, + 0x21ae0, 0x21ae8, + 0x21af0, 0x21af0, + 0x21af8, 0x21c18, + 0x21c20, 0x21c20, + 0x21c28, 0x21c30, + 0x21c38, 0x21c38, + 0x21c80, 0x21c98, + 0x21ca0, 0x21ca8, + 0x21cb0, 0x21cc8, + 0x21cd0, 0x21cd4, + 0x21ce0, 0x21ce8, + 0x21cf0, 0x21cf0, + 0x21cf8, 0x21d7c, + 0x21e00, 0x21e04, + 0x22000, 0x2202c, + 0x22100, 0x2213c, + 0x22190, 0x221a0, + 0x221a8, 0x221b8, + 0x221c4, 0x221c8, + 0x22200, 0x22318, + 0x22400, 0x224b4, + 0x224c0, 0x22528, + 0x22540, 0x22614, + 0x23000, 0x23040, + 0x2304c, 0x23060, + 0x230c0, 0x230ec, + 0x23200, 0x23268, + 0x23270, 0x23284, + 0x232fc, 0x23388, + 0x23400, 0x23404, + 0x23500, 0x23500, + 0x23510, 0x23518, + 0x2352c, 0x23530, + 0x2353c, 0x2353c, + 0x23550, 0x23554, + 0x23600, 0x23600, + 0x23608, 0x2361c, + 0x23624, 0x23628, + 0x23630, 0x23634, + 0x2363c, 0x2363c, + 0x23700, 0x2371c, + 0x23780, 0x2378c, + 0x23800, 0x23818, + 0x23820, 0x23828, + 0x23830, 0x23848, + 0x23850, 0x23854, + 0x23860, 0x23868, + 0x23870, 0x23870, + 0x23878, 0x23898, + 0x238a0, 0x238a8, + 0x238b0, 0x238c8, + 0x238d0, 0x238d4, + 0x238e0, 0x238e8, + 0x238f0, 0x238f0, + 0x238f8, 0x23a18, + 0x23a20, 0x23a28, + 0x23a30, 0x23a48, + 0x23a50, 0x23a54, + 0x23a60, 0x23a68, + 0x23a70, 0x23a70, + 0x23a78, 0x23a98, + 0x23aa0, 0x23aa8, + 0x23ab0, 0x23ac8, + 0x23ad0, 0x23ad4, + 0x23ae0, 0x23ae8, + 0x23af0, 0x23af0, + 0x23af8, 0x23c18, + 0x23c20, 0x23c20, + 0x23c28, 0x23c30, + 0x23c38, 0x23c38, + 0x23c80, 0x23c98, + 0x23ca0, 0x23ca8, + 0x23cb0, 0x23cc8, + 0x23cd0, 0x23cd4, + 0x23ce0, 0x23ce8, + 0x23cf0, 0x23cf0, + 0x23cf8, 0x23d7c, + 0x23e00, 0x23e04, + 0x24000, 0x2402c, + 0x24100, 0x2413c, + 0x24190, 0x241a0, + 0x241a8, 0x241b8, + 0x241c4, 0x241c8, + 0x24200, 0x24318, + 0x24400, 0x244b4, + 0x244c0, 0x24528, + 0x24540, 0x24614, + 0x25000, 0x25040, + 0x2504c, 0x25060, + 0x250c0, 0x250ec, + 0x25200, 0x25268, + 0x25270, 0x25284, + 0x252fc, 0x25388, + 0x25400, 0x25404, + 0x25500, 0x25500, + 0x25510, 0x25518, + 0x2552c, 0x25530, + 0x2553c, 0x2553c, + 0x25550, 0x25554, + 0x25600, 0x25600, + 0x25608, 0x2561c, + 0x25624, 0x25628, + 0x25630, 0x25634, + 0x2563c, 0x2563c, + 0x25700, 0x2571c, + 0x25780, 0x2578c, + 0x25800, 0x25818, + 0x25820, 0x25828, + 0x25830, 0x25848, + 0x25850, 0x25854, + 0x25860, 0x25868, + 0x25870, 0x25870, + 0x25878, 0x25898, + 0x258a0, 0x258a8, + 0x258b0, 0x258c8, + 0x258d0, 0x258d4, + 0x258e0, 0x258e8, + 0x258f0, 0x258f0, + 0x258f8, 0x25a18, + 0x25a20, 0x25a28, + 0x25a30, 0x25a48, + 0x25a50, 0x25a54, + 0x25a60, 0x25a68, + 0x25a70, 0x25a70, + 0x25a78, 0x25a98, + 0x25aa0, 0x25aa8, + 0x25ab0, 0x25ac8, + 0x25ad0, 0x25ad4, + 0x25ae0, 0x25ae8, + 0x25af0, 0x25af0, + 0x25af8, 0x25c18, + 0x25c20, 0x25c20, + 0x25c28, 0x25c30, + 0x25c38, 0x25c38, + 0x25c80, 0x25c98, + 0x25ca0, 0x25ca8, + 0x25cb0, 0x25cc8, + 0x25cd0, 0x25cd4, + 0x25ce0, 0x25ce8, + 0x25cf0, 0x25cf0, + 0x25cf8, 0x25d7c, + 0x25e00, 0x25e04, + 0x26000, 0x2602c, + 0x26100, 0x2613c, + 0x26190, 0x261a0, + 0x261a8, 0x261b8, + 0x261c4, 0x261c8, + 0x26200, 0x26318, + 0x26400, 0x264b4, + 0x264c0, 0x26528, + 0x26540, 0x26614, + 0x27000, 0x27040, + 0x2704c, 0x27060, + 0x270c0, 0x270ec, + 0x27200, 0x27268, + 0x27270, 0x27284, + 0x272fc, 0x27388, + 0x27400, 0x27404, + 0x27500, 0x27500, + 0x27510, 0x27518, + 0x2752c, 0x27530, + 0x2753c, 0x2753c, + 0x27550, 0x27554, + 0x27600, 0x27600, + 0x27608, 0x2761c, + 0x27624, 0x27628, + 0x27630, 0x27634, + 0x2763c, 0x2763c, + 0x27700, 0x2771c, + 0x27780, 0x2778c, + 0x27800, 0x27818, + 0x27820, 0x27828, + 0x27830, 0x27848, + 0x27850, 0x27854, + 0x27860, 0x27868, + 0x27870, 0x27870, + 0x27878, 0x27898, + 0x278a0, 0x278a8, + 0x278b0, 0x278c8, + 0x278d0, 0x278d4, + 0x278e0, 0x278e8, + 0x278f0, 0x278f0, + 0x278f8, 0x27a18, + 0x27a20, 0x27a28, + 0x27a30, 0x27a48, + 0x27a50, 0x27a54, + 0x27a60, 0x27a68, + 0x27a70, 0x27a70, + 0x27a78, 0x27a98, + 0x27aa0, 0x27aa8, + 0x27ab0, 0x27ac8, + 0x27ad0, 0x27ad4, + 0x27ae0, 0x27ae8, + 0x27af0, 0x27af0, + 0x27af8, 0x27c18, + 0x27c20, 0x27c20, + 0x27c28, 0x27c30, + 0x27c38, 0x27c38, + 0x27c80, 0x27c98, + 0x27ca0, 0x27ca8, + 0x27cb0, 0x27cc8, + 0x27cd0, 0x27cd4, + 0x27ce0, 0x27ce8, + 0x27cf0, 0x27cf0, + 0x27cf8, 0x27d7c, + 0x27e00, 0x27e04, + }; + + static const unsigned int t5_reg_ranges[] = { + 0x1008, 0x10c0, + 0x10cc, 0x10f8, + 0x1100, 0x1100, + 0x110c, 0x1148, + 0x1180, 0x1184, + 0x1190, 0x1194, + 0x11a0, 0x11a4, + 0x11b0, 0x11b4, + 0x11fc, 0x123c, + 0x1280, 0x173c, + 0x1800, 0x18fc, + 0x3000, 0x3028, + 0x3060, 0x30b0, + 0x30b8, 0x30d8, + 0x30e0, 0x30fc, + 0x3140, 0x357c, + 0x35a8, 0x35cc, + 0x35ec, 0x35ec, + 0x3600, 0x5624, + 0x56cc, 0x56ec, + 0x56f4, 0x5720, + 0x5728, 0x575c, + 0x580c, 0x5814, + 0x5890, 0x589c, + 0x58a4, 0x58ac, + 0x58b8, 0x58bc, + 0x5940, 0x59c8, + 0x59d0, 0x59dc, + 0x59fc, 0x5a18, + 0x5a60, 0x5a70, + 0x5a80, 0x5a9c, + 0x5b94, 0x5bfc, + 0x6000, 0x6020, + 0x6028, 0x6040, + 0x6058, 0x609c, + 0x60a8, 0x614c, + 0x7700, 0x7798, + 0x77c0, 0x78fc, + 0x7b00, 0x7b58, + 0x7b60, 0x7b84, + 0x7b8c, 0x7c54, + 0x7d00, 0x7d38, + 0x7d40, 0x7d80, + 0x7d8c, 0x7ddc, + 0x7de4, 0x7e04, + 0x7e10, 0x7e1c, + 0x7e24, 0x7e38, + 0x7e40, 0x7e44, + 0x7e4c, 0x7e78, + 0x7e80, 0x7edc, + 0x7ee8, 0x7efc, + 0x8dc0, 0x8de0, + 0x8df8, 0x8e04, + 0x8e10, 0x8e84, + 0x8ea0, 0x8f84, + 0x8fc0, 0x9058, + 0x9060, 0x9060, + 0x9068, 0x90f8, + 0x9400, 0x9408, + 0x9410, 0x9470, + 0x9600, 0x9600, + 0x9608, 0x9638, + 0x9640, 0x96f4, + 0x9800, 0x9808, + 0x9820, 0x983c, + 0x9850, 0x9864, + 0x9c00, 0x9c6c, + 0x9c80, 0x9cec, + 0x9d00, 0x9d6c, + 0x9d80, 0x9dec, + 0x9e00, 0x9e6c, + 0x9e80, 0x9eec, + 0x9f00, 0x9f6c, + 0x9f80, 0xa020, + 0xd004, 0xd004, + 0xd010, 0xd03c, + 0xdfc0, 0xdfe0, + 0xe000, 0x1106c, + 0x11074, 0x11088, + 0x1109c, 0x1117c, + 0x11190, 0x11204, + 0x19040, 0x1906c, + 0x19078, 0x19080, + 0x1908c, 0x190e8, + 0x190f0, 0x190f8, + 0x19100, 0x19110, + 0x19120, 0x19124, + 0x19150, 0x19194, + 0x1919c, 0x191b0, + 0x191d0, 0x191e8, + 0x19238, 0x19290, + 0x193f8, 0x19428, + 0x19430, 0x19444, + 0x1944c, 0x1946c, + 0x19474, 0x19474, + 0x19490, 0x194cc, + 0x194f0, 0x194f8, + 0x19c00, 0x19c08, + 0x19c10, 0x19c60, + 0x19c94, 0x19ce4, + 0x19cf0, 0x19d40, + 0x19d50, 0x19d94, + 0x19da0, 0x19de8, + 0x19df0, 0x19e10, + 0x19e50, 0x19e90, + 0x19ea0, 0x19f24, + 0x19f34, 0x19f34, + 0x19f40, 0x19f50, + 0x19f90, 0x19fb4, + 0x19fc4, 0x19fe4, + 0x1a000, 0x1a004, + 0x1a010, 0x1a06c, + 0x1a0b0, 0x1a0e4, + 0x1a0ec, 0x1a0f8, + 0x1a100, 0x1a108, + 0x1a114, 0x1a120, + 0x1a128, 0x1a130, + 0x1a138, 0x1a138, + 0x1a190, 0x1a1c4, + 0x1a1fc, 0x1a1fc, + 0x1e008, 0x1e00c, + 0x1e040, 0x1e044, + 0x1e04c, 0x1e04c, + 0x1e284, 0x1e290, + 0x1e2c0, 0x1e2c0, + 0x1e2e0, 0x1e2e0, + 0x1e300, 0x1e384, + 0x1e3c0, 0x1e3c8, + 0x1e408, 0x1e40c, + 0x1e440, 0x1e444, + 0x1e44c, 0x1e44c, + 0x1e684, 0x1e690, + 0x1e6c0, 0x1e6c0, + 0x1e6e0, 0x1e6e0, + 0x1e700, 0x1e784, + 0x1e7c0, 0x1e7c8, + 0x1e808, 0x1e80c, + 0x1e840, 0x1e844, + 0x1e84c, 0x1e84c, + 0x1ea84, 0x1ea90, + 0x1eac0, 0x1eac0, + 0x1eae0, 0x1eae0, + 0x1eb00, 0x1eb84, + 0x1ebc0, 0x1ebc8, + 0x1ec08, 0x1ec0c, + 0x1ec40, 0x1ec44, + 0x1ec4c, 0x1ec4c, + 0x1ee84, 0x1ee90, + 0x1eec0, 0x1eec0, + 0x1eee0, 0x1eee0, + 0x1ef00, 0x1ef84, + 0x1efc0, 0x1efc8, + 0x1f008, 0x1f00c, + 0x1f040, 0x1f044, + 0x1f04c, 0x1f04c, + 0x1f284, 0x1f290, + 0x1f2c0, 0x1f2c0, + 0x1f2e0, 0x1f2e0, + 0x1f300, 0x1f384, + 0x1f3c0, 0x1f3c8, + 0x1f408, 0x1f40c, + 0x1f440, 0x1f444, + 0x1f44c, 0x1f44c, + 0x1f684, 0x1f690, + 0x1f6c0, 0x1f6c0, + 0x1f6e0, 0x1f6e0, + 0x1f700, 0x1f784, + 0x1f7c0, 0x1f7c8, + 0x1f808, 0x1f80c, + 0x1f840, 0x1f844, + 0x1f84c, 0x1f84c, + 0x1fa84, 0x1fa90, + 0x1fac0, 0x1fac0, + 0x1fae0, 0x1fae0, + 0x1fb00, 0x1fb84, + 0x1fbc0, 0x1fbc8, + 0x1fc08, 0x1fc0c, + 0x1fc40, 0x1fc44, + 0x1fc4c, 0x1fc4c, + 0x1fe84, 0x1fe90, + 0x1fec0, 0x1fec0, + 0x1fee0, 0x1fee0, + 0x1ff00, 0x1ff84, + 0x1ffc0, 0x1ffc8, + 0x30000, 0x30030, + 0x30038, 0x30038, + 0x30040, 0x30040, + 0x30100, 0x30144, + 0x30190, 0x301a0, + 0x301a8, 0x301b8, + 0x301c4, 0x301c8, + 0x301d0, 0x301d0, + 0x30200, 0x30318, + 0x30400, 0x304b4, + 0x304c0, 0x3052c, + 0x30540, 0x3061c, + 0x30800, 0x30828, + 0x30834, 0x30834, + 0x308c0, 0x30908, + 0x30910, 0x309ac, + 0x30a00, 0x30a14, + 0x30a1c, 0x30a2c, + 0x30a44, 0x30a50, + 0x30a74, 0x30a74, + 0x30a7c, 0x30afc, + 0x30b08, 0x30c24, + 0x30d00, 0x30d00, + 0x30d08, 0x30d14, + 0x30d1c, 0x30d20, + 0x30d3c, 0x30d3c, + 0x30d48, 0x30d50, + 0x31200, 0x3120c, + 0x31220, 0x31220, + 0x31240, 0x31240, + 0x31600, 0x3160c, + 0x31a00, 0x31a1c, + 0x31e00, 0x31e20, + 0x31e38, 0x31e3c, + 0x31e80, 0x31e80, + 0x31e88, 0x31ea8, + 0x31eb0, 0x31eb4, + 0x31ec8, 0x31ed4, + 0x31fb8, 0x32004, + 0x32200, 0x32200, + 0x32208, 0x32240, + 0x32248, 0x32280, + 0x32288, 0x322c0, + 0x322c8, 0x322fc, + 0x32600, 0x32630, + 0x32a00, 0x32abc, + 0x32b00, 0x32b10, + 0x32b20, 0x32b30, + 0x32b40, 0x32b50, + 0x32b60, 0x32b70, + 0x33000, 0x33028, + 0x33030, 0x33048, + 0x33060, 0x33068, + 0x33070, 0x3309c, + 0x330f0, 0x33128, + 0x33130, 0x33148, + 0x33160, 0x33168, + 0x33170, 0x3319c, + 0x331f0, 0x33238, + 0x33240, 0x33240, + 0x33248, 0x33250, + 0x3325c, 0x33264, + 0x33270, 0x332b8, + 0x332c0, 0x332e4, + 0x332f8, 0x33338, + 0x33340, 0x33340, + 0x33348, 0x33350, + 0x3335c, 0x33364, + 0x33370, 0x333b8, + 0x333c0, 0x333e4, + 0x333f8, 0x33428, + 0x33430, 0x33448, + 0x33460, 0x33468, + 0x33470, 0x3349c, + 0x334f0, 0x33528, + 0x33530, 0x33548, + 0x33560, 0x33568, + 0x33570, 0x3359c, + 0x335f0, 0x33638, + 0x33640, 0x33640, + 0x33648, 0x33650, + 0x3365c, 0x33664, + 0x33670, 0x336b8, + 0x336c0, 0x336e4, + 0x336f8, 0x33738, + 0x33740, 0x33740, + 0x33748, 0x33750, + 0x3375c, 0x33764, + 0x33770, 0x337b8, + 0x337c0, 0x337e4, + 0x337f8, 0x337fc, + 0x33814, 0x33814, + 0x3382c, 0x3382c, + 0x33880, 0x3388c, + 0x338e8, 0x338ec, + 0x33900, 0x33928, + 0x33930, 0x33948, + 0x33960, 0x33968, + 0x33970, 0x3399c, + 0x339f0, 0x33a38, + 0x33a40, 0x33a40, + 0x33a48, 0x33a50, + 0x33a5c, 0x33a64, + 0x33a70, 0x33ab8, + 0x33ac0, 0x33ae4, + 0x33af8, 0x33b10, + 0x33b28, 0x33b28, + 0x33b3c, 0x33b50, + 0x33bf0, 0x33c10, + 0x33c28, 0x33c28, + 0x33c3c, 0x33c50, + 0x33cf0, 0x33cfc, + 0x34000, 0x34030, + 0x34038, 0x34038, + 0x34040, 0x34040, + 0x34100, 0x34144, + 0x34190, 0x341a0, + 0x341a8, 0x341b8, + 0x341c4, 0x341c8, + 0x341d0, 0x341d0, + 0x34200, 0x34318, + 0x34400, 0x344b4, + 0x344c0, 0x3452c, + 0x34540, 0x3461c, + 0x34800, 0x34828, + 0x34834, 0x34834, + 0x348c0, 0x34908, + 0x34910, 0x349ac, + 0x34a00, 0x34a14, + 0x34a1c, 0x34a2c, + 0x34a44, 0x34a50, + 0x34a74, 0x34a74, + 0x34a7c, 0x34afc, + 0x34b08, 0x34c24, + 0x34d00, 0x34d00, + 0x34d08, 0x34d14, + 0x34d1c, 0x34d20, + 0x34d3c, 0x34d3c, + 0x34d48, 0x34d50, + 0x35200, 0x3520c, + 0x35220, 0x35220, + 0x35240, 0x35240, + 0x35600, 0x3560c, + 0x35a00, 0x35a1c, + 0x35e00, 0x35e20, + 0x35e38, 0x35e3c, + 0x35e80, 0x35e80, + 0x35e88, 0x35ea8, + 0x35eb0, 0x35eb4, + 0x35ec8, 0x35ed4, + 0x35fb8, 0x36004, + 0x36200, 0x36200, + 0x36208, 0x36240, + 0x36248, 0x36280, + 0x36288, 0x362c0, + 0x362c8, 0x362fc, + 0x36600, 0x36630, + 0x36a00, 0x36abc, + 0x36b00, 0x36b10, + 0x36b20, 0x36b30, + 0x36b40, 0x36b50, + 0x36b60, 0x36b70, + 0x37000, 0x37028, + 0x37030, 0x37048, + 0x37060, 0x37068, + 0x37070, 0x3709c, + 0x370f0, 0x37128, + 0x37130, 0x37148, + 0x37160, 0x37168, + 0x37170, 0x3719c, + 0x371f0, 0x37238, + 0x37240, 0x37240, + 0x37248, 0x37250, + 0x3725c, 0x37264, + 0x37270, 0x372b8, + 0x372c0, 0x372e4, + 0x372f8, 0x37338, + 0x37340, 0x37340, + 0x37348, 0x37350, + 0x3735c, 0x37364, + 0x37370, 0x373b8, + 0x373c0, 0x373e4, + 0x373f8, 0x37428, + 0x37430, 0x37448, + 0x37460, 0x37468, + 0x37470, 0x3749c, + 0x374f0, 0x37528, + 0x37530, 0x37548, + 0x37560, 0x37568, + 0x37570, 0x3759c, + 0x375f0, 0x37638, + 0x37640, 0x37640, + 0x37648, 0x37650, + 0x3765c, 0x37664, + 0x37670, 0x376b8, + 0x376c0, 0x376e4, + 0x376f8, 0x37738, + 0x37740, 0x37740, + 0x37748, 0x37750, + 0x3775c, 0x37764, + 0x37770, 0x377b8, + 0x377c0, 0x377e4, + 0x377f8, 0x377fc, + 0x37814, 0x37814, + 0x3782c, 0x3782c, + 0x37880, 0x3788c, + 0x378e8, 0x378ec, + 0x37900, 0x37928, + 0x37930, 0x37948, + 0x37960, 0x37968, + 0x37970, 0x3799c, + 0x379f0, 0x37a38, + 0x37a40, 0x37a40, + 0x37a48, 0x37a50, + 0x37a5c, 0x37a64, + 0x37a70, 0x37ab8, + 0x37ac0, 0x37ae4, + 0x37af8, 0x37b10, + 0x37b28, 0x37b28, + 0x37b3c, 0x37b50, + 0x37bf0, 0x37c10, + 0x37c28, 0x37c28, + 0x37c3c, 0x37c50, + 0x37cf0, 0x37cfc, + 0x38000, 0x38030, + 0x38038, 0x38038, + 0x38040, 0x38040, + 0x38100, 0x38144, + 0x38190, 0x381a0, + 0x381a8, 0x381b8, + 0x381c4, 0x381c8, + 0x381d0, 0x381d0, + 0x38200, 0x38318, + 0x38400, 0x384b4, + 0x384c0, 0x3852c, + 0x38540, 0x3861c, + 0x38800, 0x38828, + 0x38834, 0x38834, + 0x388c0, 0x38908, + 0x38910, 0x389ac, + 0x38a00, 0x38a14, + 0x38a1c, 0x38a2c, + 0x38a44, 0x38a50, + 0x38a74, 0x38a74, + 0x38a7c, 0x38afc, + 0x38b08, 0x38c24, + 0x38d00, 0x38d00, + 0x38d08, 0x38d14, + 0x38d1c, 0x38d20, + 0x38d3c, 0x38d3c, + 0x38d48, 0x38d50, + 0x39200, 0x3920c, + 0x39220, 0x39220, + 0x39240, 0x39240, + 0x39600, 0x3960c, + 0x39a00, 0x39a1c, + 0x39e00, 0x39e20, + 0x39e38, 0x39e3c, + 0x39e80, 0x39e80, + 0x39e88, 0x39ea8, + 0x39eb0, 0x39eb4, + 0x39ec8, 0x39ed4, + 0x39fb8, 0x3a004, + 0x3a200, 0x3a200, + 0x3a208, 0x3a240, + 0x3a248, 0x3a280, + 0x3a288, 0x3a2c0, + 0x3a2c8, 0x3a2fc, + 0x3a600, 0x3a630, + 0x3aa00, 0x3aabc, + 0x3ab00, 0x3ab10, + 0x3ab20, 0x3ab30, + 0x3ab40, 0x3ab50, + 0x3ab60, 0x3ab70, + 0x3b000, 0x3b028, + 0x3b030, 0x3b048, + 0x3b060, 0x3b068, + 0x3b070, 0x3b09c, + 0x3b0f0, 0x3b128, + 0x3b130, 0x3b148, + 0x3b160, 0x3b168, + 0x3b170, 0x3b19c, + 0x3b1f0, 0x3b238, + 0x3b240, 0x3b240, + 0x3b248, 0x3b250, + 0x3b25c, 0x3b264, + 0x3b270, 0x3b2b8, + 0x3b2c0, 0x3b2e4, + 0x3b2f8, 0x3b338, + 0x3b340, 0x3b340, + 0x3b348, 0x3b350, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Mon Mar 7 21:39:31 2016 Return-Path: Delivered-To: svn-src-all@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 59F58AC38BD; Mon, 7 Mar 2016 21:39:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 12F88881; Mon, 7 Mar 2016 21:39:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27LdUr8083264; Mon, 7 Mar 2016 21:39:30 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27LdTfd083262; Mon, 7 Mar 2016 21:39:29 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603072139.u27LdTfd083262@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Mon, 7 Mar 2016 21:39:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296472 - in head: share/man/man4 sys/dev/filemon X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 21:39:31 -0000 Author: bdrewery Date: Mon Mar 7 21:39:29 2016 New Revision: 296472 URL: https://svnweb.freebsd.org/changeset/base/296472 Log: Require kldunload -f to unload. Code may still be executing from the wrappers at unload time and thus is not generally safe to unload. Converting the wrappers to use EVENTHANDLER(9) will allow this to safely drain on active threads in hooks. More work on EVENTHANDLER(9) is needed first. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/share/man/man4/filemon.4 head/sys/dev/filemon/filemon.c Modified: head/share/man/man4/filemon.4 ============================================================================== --- head/share/man/man4/filemon.4 Mon Mar 7 21:11:35 2016 (r296471) +++ head/share/man/man4/filemon.4 Mon Mar 7 21:39:29 2016 (r296472) @@ -194,3 +194,6 @@ Only children of the set process are log Processes can escape being traced by double forking. This is not seen as a problem as the intended use is build monitoring, which does not make sense to have daemons for. +.Pp +Unloading the module may panic the system, thus requires using +.Ic kldunload -f . Modified: head/sys/dev/filemon/filemon.c ============================================================================== --- head/sys/dev/filemon/filemon.c Mon Mar 7 21:11:35 2016 (r296471) +++ head/sys/dev/filemon/filemon.c Mon Mar 7 21:39:29 2016 (r296472) @@ -68,8 +68,6 @@ extern struct sysentvec elf64_freebsd_sy static d_close_t filemon_close; static d_ioctl_t filemon_ioctl; static d_open_t filemon_open; -static int filemon_unload(void); -static void filemon_load(void *); static struct cdevsw filemon_cdevsw = { .d_version = D_VERSION, @@ -301,6 +299,13 @@ filemon_modevent(module_t mod __unused, error = filemon_unload(); break; + case MOD_QUIESCE: + /* + * The wrapper implementation is unsafe for reliable unload. + * Require forcing an unload. + */ + error = EBUSY; + case MOD_SHUTDOWN: break; From owner-svn-src-all@freebsd.org Mon Mar 7 21:45:26 2016 Return-Path: Delivered-To: svn-src-all@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 20CA2AC3DDC; Mon, 7 Mar 2016 21:45:26 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E65B2DD6; Mon, 7 Mar 2016 21:45:25 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u27LjOXk086107; Mon, 7 Mar 2016 21:45:24 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u27LjOCf086106; Mon, 7 Mar 2016 21:45:24 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603072145.u27LjOCf086106@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Mon, 7 Mar 2016 21:45:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296473 - head/sys/dev/filemon X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2016 21:45:26 -0000 Author: bdrewery Date: Mon Mar 7 21:45:24 2016 New Revision: 296473 URL: https://svnweb.freebsd.org/changeset/base/296473 Log: Add missing break for r296472. This was lost in git rebasing, though it has no functional change. X-MFC-With: r296472 MFC after: 1 week Modified: head/sys/dev/filemon/filemon.c Modified: head/sys/dev/filemon/filemon.c ============================================================================== --- head/sys/dev/filemon/filemon.c Mon Mar 7 21:39:29 2016 (r296472) +++ head/sys/dev/filemon/filemon.c Mon Mar 7 21:45:24 2016 (r296473) @@ -305,6 +305,7 @@ filemon_modevent(module_t mod __unused, * Require forcing an unload. */ error = EBUSY; + break; case MOD_SHUTDOWN: break; From owner-svn-src-all@freebsd.org Tue Mar 8 00:09:35 2016 Return-Path: Delivered-To: svn-src-all@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 CE57EAC2CAE; Tue, 8 Mar 2016 00:09:35 +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 A04363F1; Tue, 8 Mar 2016 00:09:35 +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 u2809YOb029823; Tue, 8 Mar 2016 00:09:34 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2809YBr029821; Tue, 8 Mar 2016 00:09:34 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603080009.u2809YBr029821@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 8 Mar 2016 00:09:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296474 - in head/lib/libc: amd64/sys i386/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 00:09:35 -0000 Author: emaste Date: Tue Mar 8 00:09:34 2016 New Revision: 296474 URL: https://svnweb.freebsd.org/changeset/base/296474 Log: libc/{i386,amd64}: Do not export .cerror when building WITHOUT_SYMVER Further to r240152 (i386) and r240178 (amd64), hide the .cerror symbol so that it is not exported if symbol versioning is not in use. Without this change WITHOUT_SYMVER libc contains .text relocations for .cerror, as described in LLVM PR 26813 (http://llvm.org/pr26813). This is a no-op for the regular build as the symbol version script already controls .cerror visibility. PR: 207712 Submitted by: Rafael Espíndola Reviewed by: jilles, kib Differential Revision: https://reviews.freebsd.org/D5571 Modified: head/lib/libc/amd64/sys/cerror.S head/lib/libc/i386/sys/cerror.S Modified: head/lib/libc/amd64/sys/cerror.S ============================================================================== --- head/lib/libc/amd64/sys/cerror.S Mon Mar 7 21:45:24 2016 (r296473) +++ head/lib/libc/amd64/sys/cerror.S Tue Mar 8 00:09:34 2016 (r296474) @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include "SYS.h" .globl HIDENAME(cerror) + .hidden HIDENAME(cerror) /* * The __error() function is thread aware. For non-threaded Modified: head/lib/libc/i386/sys/cerror.S ============================================================================== --- head/lib/libc/i386/sys/cerror.S Mon Mar 7 21:45:24 2016 (r296473) +++ head/lib/libc/i386/sys/cerror.S Tue Mar 8 00:09:34 2016 (r296474) @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include "SYS.h" .globl HIDENAME(cerror) + .hidden HIDENAME(cerror) /* * The __error() function is thread aware. For non-threaded From owner-svn-src-all@freebsd.org Tue Mar 8 00:14:16 2016 Return-Path: Delivered-To: svn-src-all@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 DC2B8AC2F4A; Tue, 8 Mar 2016 00:14:15 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B7B1AA7C; Tue, 8 Mar 2016 00:14:15 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u280EEvd032659; Tue, 8 Mar 2016 00:14:14 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u280EExB032658; Tue, 8 Mar 2016 00:14:14 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201603080014.u280EExB032658@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 8 Mar 2016 00:14:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296475 - head/sys/cddl/contrib/opensolaris/uts/common/dtrace X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 00:14:16 -0000 Author: markj Date: Tue Mar 8 00:14:14 2016 New Revision: 296475 URL: https://svnweb.freebsd.org/changeset/base/296475 Log: MFV r296306: 6604 harden DIF bounds checking Reviewed by: Alex Wilson Reviewed by: Patrick Mooney Reviewed by: Dan McDonald Approved by: Robert Mustacchi Author: Bryan Cantrill illumos/illumos-gate@1c0cef67dba05c477dba779bc99224693e809a14 MFC after: 2 weeks Modified: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c Tue Mar 8 00:09:34 2016 (r296474) +++ head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c Tue Mar 8 00:14:14 2016 (r296475) @@ -23,7 +23,7 @@ /* * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2015, Joyent, Inc. All rights reserved. + * Copyright (c) 2016, Joyent, Inc. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. */ @@ -678,10 +678,12 @@ dtrace_error(uint32_t *counter) * Use the DTRACE_LOADFUNC macro to define functions for each of loading a * uint8_t, a uint16_t, a uint32_t and a uint64_t. */ +/* BEGIN CSTYLED */ DTRACE_LOADFUNC(8) DTRACE_LOADFUNC(16) DTRACE_LOADFUNC(32) DTRACE_LOADFUNC(64) +/* END CSTYLED */ static int dtrace_inscratch(uintptr_t dest, size_t size, dtrace_mstate_t *mstate) @@ -765,6 +767,7 @@ dtrace_canstore(uint64_t addr, size_t sz uintptr_t base = (uintptr_t)dstate->dtds_base + (dstate->dtds_hashsize * sizeof (dtrace_dynhash_t)); uintptr_t chunkoffs; + dtrace_dynvar_t *dvar; /* * Before we assume that we can store here, we need to make @@ -781,6 +784,8 @@ dtrace_canstore(uint64_t addr, size_t sz * * (3) Not span a chunk boundary * + * (4) Not be in the tuple space of a dynamic variable + * */ if (addr < base) return (0); @@ -793,6 +798,15 @@ dtrace_canstore(uint64_t addr, size_t sz if (chunkoffs + sz > dstate->dtds_chunksize) return (0); + dvar = (dtrace_dynvar_t *)((uintptr_t)addr - chunkoffs); + + if (dvar->dtdv_hashval == DTRACE_DYNHASH_FREE) + return (0); + + if (chunkoffs < sizeof (dtrace_dynvar_t) + + ((dvar->dtdv_tuple.dtt_nkeys - 1) * sizeof (dtrace_key_t))) + return (0); + return (1); } @@ -5632,6 +5646,12 @@ next: ipaddr_t ip4; uint8_t *ptr8, val; + if (!dtrace_canload(tupregs[argi].dttk_value, + sizeof (ipaddr_t), mstate, vstate)) { + regs[rd] = 0; + break; + } + /* * Safely load the IPv4 address. */ @@ -5685,6 +5705,12 @@ next: * just the IPv4 string is returned for inet_ntoa6. */ + if (!dtrace_canload(tupregs[argi].dttk_value, + sizeof (struct in6_addr), mstate, vstate)) { + regs[rd] = 0; + break; + } + /* * Safely load the IPv6 address. */ @@ -6248,6 +6274,7 @@ dtrace_dif_emulate(dtrace_difo_t *difo, ASSERT(id >= DIF_VAR_OTHER_UBASE); id -= DIF_VAR_OTHER_UBASE; + VERIFY(id < vstate->dtvs_nglobals); svar = vstate->dtvs_globals[id]; ASSERT(svar != NULL); v = &svar->dtsv_var; @@ -6339,7 +6366,7 @@ dtrace_dif_emulate(dtrace_difo_t *difo, ASSERT(id >= DIF_VAR_OTHER_UBASE); id -= DIF_VAR_OTHER_UBASE; - ASSERT(id < vstate->dtvs_nlocals); + VERIFY(id < vstate->dtvs_nlocals); ASSERT(vstate->dtvs_locals != NULL); svar = vstate->dtvs_locals[id]; @@ -6417,6 +6444,7 @@ dtrace_dif_emulate(dtrace_difo_t *difo, id = DIF_INSTR_VAR(instr); ASSERT(id >= DIF_VAR_OTHER_UBASE); id -= DIF_VAR_OTHER_UBASE; + VERIFY(id < vstate->dtvs_ntlocals); key = &tupregs[DIF_DTR_NREGS]; key[0].dttk_value = (uint64_t)id; @@ -6530,8 +6558,10 @@ dtrace_dif_emulate(dtrace_difo_t *difo, if (DIF_INSTR_OP(instr) == DIF_OP_LDTAA) { DTRACE_TLS_THRKEY(key[nkeys].dttk_value); key[nkeys++].dttk_size = 0; + VERIFY(id < vstate->dtvs_ntlocals); v = &vstate->dtvs_tlocals[id]; } else { + VERIFY(id < vstate->dtvs_nglobals); v = &vstate->dtvs_globals[id]->dtsv_var; } @@ -6570,8 +6600,10 @@ dtrace_dif_emulate(dtrace_difo_t *difo, if (DIF_INSTR_OP(instr) == DIF_OP_STTAA) { DTRACE_TLS_THRKEY(key[nkeys].dttk_value); key[nkeys++].dttk_size = 0; + VERIFY(id < vstate->dtvs_ntlocals); v = &vstate->dtvs_tlocals[id]; } else { + VERIFY(id < vstate->dtvs_nglobals); v = &vstate->dtvs_globals[id]->dtsv_var; } @@ -9584,6 +9616,7 @@ dtrace_difo_validate(dtrace_difo_t *dp, int (*efunc)(uint_t pc, const char *, ...) = dtrace_difo_err; int kcheckload; uint_t pc; + int maxglobal = -1, maxlocal = -1, maxtlocal = -1; kcheckload = cr == NULL || (vstate->dtvs_state->dts_cred.dcr_visible & DTRACE_CRV_KERNEL) == 0; @@ -9913,6 +9946,9 @@ dtrace_difo_validate(dtrace_difo_t *dp, switch (v->dtdv_scope) { case DIFV_SCOPE_GLOBAL: + if (maxglobal == -1 || ndx > maxglobal) + maxglobal = ndx; + if (ndx < vstate->dtvs_nglobals) { dtrace_statvar_t *svar; @@ -9923,11 +9959,17 @@ dtrace_difo_validate(dtrace_difo_t *dp, break; case DIFV_SCOPE_THREAD: + if (maxtlocal == -1 || ndx > maxtlocal) + maxtlocal = ndx; + if (ndx < vstate->dtvs_ntlocals) existing = &vstate->dtvs_tlocals[ndx]; break; case DIFV_SCOPE_LOCAL: + if (maxlocal == -1 || ndx > maxlocal) + maxlocal = ndx; + if (ndx < vstate->dtvs_nlocals) { dtrace_statvar_t *svar; @@ -9976,6 +10018,37 @@ dtrace_difo_validate(dtrace_difo_t *dp, } } + for (pc = 0; pc < dp->dtdo_len && err == 0; pc++) { + dif_instr_t instr = dp->dtdo_buf[pc]; + + uint_t v = DIF_INSTR_VAR(instr); + uint_t op = DIF_INSTR_OP(instr); + + switch (op) { + case DIF_OP_LDGS: + case DIF_OP_LDGAA: + case DIF_OP_STGS: + case DIF_OP_STGAA: + if (v > DIF_VAR_OTHER_UBASE + maxglobal) + err += efunc(pc, "invalid variable %u\n", v); + break; + case DIF_OP_LDTS: + case DIF_OP_LDTAA: + case DIF_OP_STTS: + case DIF_OP_STTAA: + if (v > DIF_VAR_OTHER_UBASE + maxtlocal) + err += efunc(pc, "invalid variable %u\n", v); + break; + case DIF_OP_LDLS: + case DIF_OP_STLS: + if (v > DIF_VAR_OTHER_UBASE + maxlocal) + err += efunc(pc, "invalid variable %u\n", v); + break; + default: + break; + } + } + return (err); } From owner-svn-src-all@freebsd.org Tue Mar 8 00:16:35 2016 Return-Path: Delivered-To: svn-src-all@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 B2899AC303E; Tue, 8 Mar 2016 00:16:35 +0000 (UTC) (envelope-from rrs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 84490C31; Tue, 8 Mar 2016 00:16:35 +0000 (UTC) (envelope-from rrs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u280GYZq032780; Tue, 8 Mar 2016 00:16:34 GMT (envelope-from rrs@FreeBSD.org) Received: (from rrs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u280GYUr032779; Tue, 8 Mar 2016 00:16:34 GMT (envelope-from rrs@FreeBSD.org) Message-Id: <201603080016.u280GYUr032779@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rrs set sender to rrs@FreeBSD.org using -f From: Randall Stewart Date: Tue, 8 Mar 2016 00:16:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296476 - head/sys/netinet/tcp_stacks X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 00:16:35 -0000 Author: rrs Date: Tue Mar 8 00:16:34 2016 New Revision: 296476 URL: https://svnweb.freebsd.org/changeset/base/296476 Log: Fix a sneaky bug where we were missing an extern to get the rxt threshold.. and thus created our own defaulted to 0 :-( Sponsored by: Netflix Inc Modified: head/sys/netinet/tcp_stacks/fastpath.c Modified: head/sys/netinet/tcp_stacks/fastpath.c ============================================================================== --- head/sys/netinet/tcp_stacks/fastpath.c Tue Mar 8 00:14:14 2016 (r296475) +++ head/sys/netinet/tcp_stacks/fastpath.c Tue Mar 8 00:16:34 2016 (r296476) @@ -124,7 +124,7 @@ __FBSDID("$FreeBSD$"); #include -const int tcprexmtthresh; +extern const int tcprexmtthresh; VNET_DECLARE(int, tcp_autorcvbuf_inc); #define V_tcp_autorcvbuf_inc VNET(tcp_autorcvbuf_inc) From owner-svn-src-all@freebsd.org Tue Mar 8 00:18:48 2016 Return-Path: Delivered-To: svn-src-all@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 1646FAC3157; Tue, 8 Mar 2016 00:18:48 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C24DBDE4; Tue, 8 Mar 2016 00:18:47 +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 u280IkXj032885; Tue, 8 Mar 2016 00:18:46 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u280IkkL032884; Tue, 8 Mar 2016 00:18:46 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201603080018.u280IkkL032884@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 8 Mar 2016 00:18:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296477 - head/sys/cddl/contrib/opensolaris/uts/sparc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 00:18:48 -0000 Author: markj Date: Tue Mar 8 00:18:46 2016 New Revision: 296477 URL: https://svnweb.freebsd.org/changeset/base/296477 Log: Remove the fasttrap implementation for sparc. Other machine-dependent code required for DTrace on sparc is not present in the tree, so there's no point to keeping the fasttrap code. Deleted: head/sys/cddl/contrib/opensolaris/uts/sparc/ From owner-svn-src-all@freebsd.org Tue Mar 8 00:23:58 2016 Return-Path: Delivered-To: svn-src-all@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 60BBFAC339C; Tue, 8 Mar 2016 00:23:58 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2CA2B1306; Tue, 8 Mar 2016 00:23:58 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u280Nvti035832; Tue, 8 Mar 2016 00:23:57 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u280NuSj035823; Tue, 8 Mar 2016 00:23:56 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080023.u280NuSj035823@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 00:23:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296478 - in head/sys/dev/cxgbe: . common iw_cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 00:23:58 -0000 Author: np Date: Tue Mar 8 00:23:56 2016 New Revision: 296478 URL: https://svnweb.freebsd.org/changeset/base/296478 Log: cxgbe(4): Add a struct sge_params to store per-adapter SGE parameters. Move the code that reads all the parameters to t4_init_sge_params in the shared code. Use these per-adapter values instead of globals. Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/cxgbe/iw_cxgbe/device.c head/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h head/sys/dev/cxgbe/iw_cxgbe/qp.c head/sys/dev/cxgbe/t4_main.c head/sys/dev/cxgbe/t4_netmap.c head/sys/dev/cxgbe/t4_sge.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/adapter.h Tue Mar 8 00:23:56 2016 (r296478) @@ -671,13 +671,6 @@ struct sge_nm_txq { #endif struct sge { - int timer_val[SGE_NTIMERS]; - int counter_val[SGE_NCOUNTERS]; - int fl_starve_threshold; - int fl_starve_threshold2; - int eq_s_qpp; - int iq_s_qpp; - int nrxq; /* total # of Ethernet rx queues */ int ntxq; /* total # of Ethernet tx tx queues */ #ifdef TCP_OFFLOAD @@ -710,8 +703,6 @@ struct sge { struct sge_iq **iqmap; /* iq->cntxt_id to iq mapping */ struct sge_eq **eqmap; /* eq->cntxt_id to eq mapping */ - int pad_boundary; - int pack_boundary; int8_t safe_hwidx1; /* may not have room for metadata */ int8_t safe_hwidx2; /* with room for metadata and maybe more */ struct sw_zone_info sw_zone_info[SW_ZONE_SIZES]; Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 00:23:56 2016 (r296478) @@ -219,6 +219,20 @@ struct tp_rdma_stats { u32 rqe_dfr_mod; }; +struct sge_params { + int timer_val[SGE_NTIMERS]; + int counter_val[SGE_NCOUNTERS]; + int fl_starve_threshold; + int fl_starve_threshold2; + int page_shift; + int eq_s_qpp; + int iq_s_qpp; + int spg_len; + int pad_boundary; + int pack_boundary; + int fl_pktshift; +}; + struct tp_params { unsigned int ntxchan; /* # of Tx channels */ unsigned int tre; /* log2 of core clocks per TP tick */ @@ -272,6 +286,7 @@ struct chip_params { }; struct adapter_params { + struct sge_params sge; struct tp_params tp; struct vpd_params vpd; struct pci_params pci; @@ -406,6 +421,14 @@ static inline unsigned int us_to_core_ti return (us * adap->params.vpd.cclk) / 1000; } +static inline unsigned int core_ticks_to_us(const struct adapter *adapter, + unsigned int ticks) +{ + /* add Core Clock / 2 to round ticks to nearest uS */ + return ((ticks * 1000 + adapter->params.vpd.cclk/2) / + adapter->params.vpd.cclk); +} + static inline unsigned int dack_ticks_to_usec(const struct adapter *adap, unsigned int ticks) { @@ -465,6 +488,7 @@ int t4_get_tp_version(struct adapter *ad int t4_check_fw_version(struct adapter *adapter); int t4_init_hw(struct adapter *adapter, u32 fw_params); int t4_prep_adapter(struct adapter *adapter); +int t4_init_sge_params(struct adapter *adapter); int t4_init_tp_params(struct adapter *adap); int t4_filter_field_shift(const struct adapter *adap, int filter_sel); int t4_port_init(struct port_info *p, int mbox, int pf, int vf); Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 00:23:56 2016 (r296478) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2012 Chelsio Communications, Inc. + * Copyright (c) 2012, 2016 Chelsio Communications, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -7633,6 +7633,74 @@ int __devinit t4_prep_adapter(struct ada } /** + * t4_init_sge_params - initialize adap->params.sge + * @adapter: the adapter + * + * Initialize various fields of the adapter's SGE Parameters structure. + */ +int t4_init_sge_params(struct adapter *adapter) +{ + u32 r; + struct sge_params *sp = &adapter->params.sge; + + r = t4_read_reg(adapter, A_SGE_INGRESS_RX_THRESHOLD); + sp->counter_val[0] = G_THRESHOLD_0(r); + sp->counter_val[1] = G_THRESHOLD_1(r); + sp->counter_val[2] = G_THRESHOLD_2(r); + sp->counter_val[3] = G_THRESHOLD_3(r); + + r = t4_read_reg(adapter, A_SGE_TIMER_VALUE_0_AND_1); + sp->timer_val[0] = core_ticks_to_us(adapter, G_TIMERVALUE0(r)); + sp->timer_val[1] = core_ticks_to_us(adapter, G_TIMERVALUE1(r)); + r = t4_read_reg(adapter, A_SGE_TIMER_VALUE_2_AND_3); + sp->timer_val[2] = core_ticks_to_us(adapter, G_TIMERVALUE2(r)); + sp->timer_val[3] = core_ticks_to_us(adapter, G_TIMERVALUE3(r)); + r = t4_read_reg(adapter, A_SGE_TIMER_VALUE_4_AND_5); + sp->timer_val[4] = core_ticks_to_us(adapter, G_TIMERVALUE4(r)); + sp->timer_val[5] = core_ticks_to_us(adapter, G_TIMERVALUE5(r)); + + r = t4_read_reg(adapter, A_SGE_CONM_CTRL); + sp->fl_starve_threshold = G_EGRTHRESHOLD(r) * 2 + 1; + if (is_t4(adapter)) + sp->fl_starve_threshold2 = sp->fl_starve_threshold; + else + sp->fl_starve_threshold2 = G_EGRTHRESHOLDPACKING(r) * 2 + 1; + + /* egress queues: log2 of # of doorbells per BAR2 page */ + r = t4_read_reg(adapter, A_SGE_EGRESS_QUEUES_PER_PAGE_PF); + r >>= S_QUEUESPERPAGEPF0 + + (S_QUEUESPERPAGEPF1 - S_QUEUESPERPAGEPF0) * adapter->pf; + sp->eq_s_qpp = r & M_QUEUESPERPAGEPF0; + + /* ingress queues: log2 of # of doorbells per BAR2 page */ + r = t4_read_reg(adapter, A_SGE_INGRESS_QUEUES_PER_PAGE_PF); + r >>= S_QUEUESPERPAGEPF0 + + (S_QUEUESPERPAGEPF1 - S_QUEUESPERPAGEPF0) * adapter->pf; + sp->iq_s_qpp = r & M_QUEUESPERPAGEPF0; + + r = t4_read_reg(adapter, A_SGE_HOST_PAGE_SIZE); + r >>= S_HOSTPAGESIZEPF0 + + (S_HOSTPAGESIZEPF1 - S_HOSTPAGESIZEPF0) * adapter->pf; + sp->page_shift = (r & M_HOSTPAGESIZEPF0) + 10; + + r = t4_read_reg(adapter, A_SGE_CONTROL); + sp->spg_len = r & F_EGRSTATUSPAGESIZE ? 128 : 64; + sp->fl_pktshift = G_PKTSHIFT(r); + sp->pad_boundary = 1 << (G_INGPADBOUNDARY(r) + 5); + if (is_t4(adapter)) + sp->pack_boundary = sp->pad_boundary; + else { + r = t4_read_reg(adapter, A_SGE_CONTROL2); + if (G_INGPACKBOUNDARY(r) == 0) + sp->pack_boundary = 16; + else + sp->pack_boundary = 1 << (G_INGPACKBOUNDARY(r) + 5); + } + + return 0; +} + +/** * t4_init_tp_params - initialize adap->params.tp * @adap: the adapter * Modified: head/sys/dev/cxgbe/iw_cxgbe/device.c ============================================================================== --- head/sys/dev/cxgbe/iw_cxgbe/device.c Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/iw_cxgbe/device.c Tue Mar 8 00:23:56 2016 (r296478) @@ -45,8 +45,6 @@ __FBSDID("$FreeBSD$"); #ifdef TCP_OFFLOAD #include "iw_cxgbe.h" -int spg_creds = 2; /* Default status page size is 2 credits = 128B */ - void c4iw_release_dev_ucontext(struct c4iw_rdev *rdev, struct c4iw_dev_ucontext *uctx) @@ -89,27 +87,24 @@ static int c4iw_rdev_open(struct c4iw_rdev *rdev) { struct adapter *sc = rdev->adap; + struct sge_params *sp = &sc->params.sge; int rc; c4iw_init_dev_ucontext(rdev, &rdev->uctx); - /* Save the status page size set by if_cxgbe */ - spg_creds = (t4_read_reg(sc, A_SGE_CONTROL) & F_EGRSTATUSPAGESIZE) ? - 2 : 1; - /* XXX: we can probably make this work */ - if (sc->sge.eq_s_qpp > PAGE_SHIFT || sc->sge.iq_s_qpp > PAGE_SHIFT) { + if (sp->eq_s_qpp > PAGE_SHIFT || sp->iq_s_qpp > PAGE_SHIFT) { device_printf(sc->dev, "doorbell density too high (eq %d, iq %d, pg %d).\n", - sc->sge.eq_s_qpp, sc->sge.eq_s_qpp, PAGE_SHIFT); + sp->eq_s_qpp, sp->eq_s_qpp, PAGE_SHIFT); rc = -EINVAL; goto err1; } - rdev->qpshift = PAGE_SHIFT - sc->sge.eq_s_qpp; - rdev->qpmask = (1 << sc->sge.eq_s_qpp) - 1; - rdev->cqshift = PAGE_SHIFT - sc->sge.iq_s_qpp; - rdev->cqmask = (1 << sc->sge.iq_s_qpp) - 1; + rdev->qpshift = PAGE_SHIFT - sp->eq_s_qpp; + rdev->qpmask = (1 << sp->eq_s_qpp) - 1; + rdev->cqshift = PAGE_SHIFT - sp->iq_s_qpp; + rdev->cqmask = (1 << sp->iq_s_qpp) - 1; if (c4iw_num_stags(rdev) == 0) { rc = -EINVAL; Modified: head/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h ============================================================================== --- head/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h Tue Mar 8 00:23:56 2016 (r296478) @@ -1040,5 +1040,4 @@ void your_reg_device(struct c4iw_dev *de #define SGE_CTRLQ_NUM 0 -extern int spg_creds;/* Status Page size in credit units(1 unit = 64) */ #endif Modified: head/sys/dev/cxgbe/iw_cxgbe/qp.c ============================================================================== --- head/sys/dev/cxgbe/iw_cxgbe/qp.c Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/iw_cxgbe/qp.c Tue Mar 8 00:23:56 2016 (r296478) @@ -215,7 +215,8 @@ static int create_qp(struct c4iw_rdev *r res->u.sqrq.op = FW_RI_RES_OP_WRITE; /* eqsize is the number of 64B entries plus the status page size. */ - eqsize = wq->sq.size * T4_SQ_NUM_SLOTS + spg_creds; + eqsize = wq->sq.size * T4_SQ_NUM_SLOTS + + (sc->params.sge.spg_len / EQ_ESIZE); res->u.sqrq.fetchszm_to_iqid = cpu_to_be32( V_FW_RI_RES_WR_HOSTFCMODE(0) | /* no host cidx updates */ @@ -237,7 +238,8 @@ static int create_qp(struct c4iw_rdev *r res->u.sqrq.op = FW_RI_RES_OP_WRITE; /* eqsize is the number of 64B entries plus the status page size. */ - eqsize = wq->rq.size * T4_RQ_NUM_SLOTS + spg_creds ; + eqsize = wq->rq.size * T4_RQ_NUM_SLOTS + + (sc->params.sge.spg_len / EQ_ESIZE); res->u.sqrq.fetchszm_to_iqid = cpu_to_be32( V_FW_RI_RES_WR_HOSTFCMODE(0) | /* no host cidx updates */ V_FW_RI_RES_WR_CPRIO(0) | /* don't keep in chip cache */ Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/t4_main.c Tue Mar 8 00:23:56 2016 (r296478) @@ -4495,13 +4495,13 @@ t4_sysctls(struct adapter *sc) sc->params.vpd.cclk, "core clock frequency (in KHz)"); SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "holdoff_timers", - CTLTYPE_STRING | CTLFLAG_RD, sc->sge.timer_val, - sizeof(sc->sge.timer_val), sysctl_int_array, "A", + CTLTYPE_STRING | CTLFLAG_RD, sc->params.sge.timer_val, + sizeof(sc->params.sge.timer_val), sysctl_int_array, "A", "interrupt holdoff timer values (us)"); SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "holdoff_pkt_counts", - CTLTYPE_STRING | CTLFLAG_RD, sc->sge.counter_val, - sizeof(sc->sge.counter_val), sysctl_int_array, "A", + CTLTYPE_STRING | CTLFLAG_RD, sc->params.sge.counter_val, + sizeof(sc->params.sge.counter_val), sysctl_int_array, "A", "interrupt holdoff packet counter values"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, "nfilters", CTLFLAG_RD, Modified: head/sys/dev/cxgbe/t4_netmap.c ============================================================================== --- head/sys/dev/cxgbe/t4_netmap.c Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/t4_netmap.c Tue Mar 8 00:23:56 2016 (r296478) @@ -56,8 +56,6 @@ __FBSDID("$FreeBSD$"); #include "common/t4_regs_values.h" extern int fl_pad; /* XXXNM */ -extern int spg_len; /* XXXNM */ -extern int fl_pktshift; /* XXXNM */ SYSCTL_NODE(_hw, OID_AUTO, cxgbe, CTLFLAG_RD, 0, "cxgbe netmap parameters"); @@ -285,6 +283,7 @@ alloc_nm_rxq_hwq(struct vi_info *vi, str int rc, cntxt_id, i; __be32 v; struct adapter *sc = vi->pi->adapter; + struct sge_params *sp = &sc->params.sge; struct netmap_adapter *na = NA(vi->ifp); struct fw_iq_cmd c; @@ -293,7 +292,7 @@ alloc_nm_rxq_hwq(struct vi_info *vi, str MPASS(nm_rxq->fl_desc != NULL); bzero(nm_rxq->iq_desc, vi->qsize_rxq * IQ_ESIZE); - bzero(nm_rxq->fl_desc, na->num_rx_desc * EQ_ESIZE + spg_len); + bzero(nm_rxq->fl_desc, na->num_rx_desc * EQ_ESIZE + sp->spg_len); bzero(&c, sizeof(c)); c.op_to_vfn = htobe32(V_FW_CMD_OP(FW_IQ_CMD) | F_FW_CMD_REQUEST | @@ -334,7 +333,7 @@ alloc_nm_rxq_hwq(struct vi_info *vi, str c.fl0dcaen_to_fl0cidxfthresh = htobe16(V_FW_IQ_CMD_FL0FBMIN(X_FETCHBURSTMIN_128B) | V_FW_IQ_CMD_FL0FBMAX(X_FETCHBURSTMAX_512B)); - c.fl0size = htobe16(na->num_rx_desc / 8 + spg_len / EQ_ESIZE); + c.fl0size = htobe16(na->num_rx_desc / 8 + sp->spg_len / EQ_ESIZE); c.fl0addr = htobe64(nm_rxq->fl_ba); rc = -t4_wr_mbox(sc, sc->mbox, &c, sizeof(c), &c); @@ -345,7 +344,7 @@ alloc_nm_rxq_hwq(struct vi_info *vi, str } nm_rxq->iq_cidx = 0; - MPASS(nm_rxq->iq_sidx == vi->qsize_rxq - spg_len / IQ_ESIZE); + MPASS(nm_rxq->iq_sidx == vi->qsize_rxq - sp->spg_len / IQ_ESIZE); nm_rxq->iq_gen = F_RSPD_GEN; nm_rxq->iq_cntxt_id = be16toh(c.iqid); nm_rxq->iq_abs_id = be16toh(c.physiqid); @@ -430,7 +429,7 @@ alloc_nm_txq_hwq(struct vi_info *vi, str MPASS(na != NULL); MPASS(nm_txq->desc != NULL); - len = na->num_tx_desc * EQ_ESIZE + spg_len; + len = na->num_tx_desc * EQ_ESIZE + sc->params.sge.spg_len; bzero(nm_txq->desc, len); bzero(&c, sizeof(c)); @@ -472,7 +471,7 @@ alloc_nm_txq_hwq(struct vi_info *vi, str if (isset(&nm_txq->doorbells, DOORBELL_UDB) || isset(&nm_txq->doorbells, DOORBELL_UDBWC) || isset(&nm_txq->doorbells, DOORBELL_WCWR)) { - uint32_t s_qpp = sc->sge.eq_s_qpp; + uint32_t s_qpp = sc->params.sge.eq_s_qpp; uint32_t mask = (1 << s_qpp) - 1; volatile uint8_t *udb; @@ -1112,7 +1111,7 @@ ncxgbe_attach(device_t dev) na.na_flags = NAF_BDG_MAYSLEEP; /* Netmap doesn't know about the space reserved for the status page. */ - na.num_tx_desc = vi->qsize_txq - spg_len / EQ_ESIZE; + na.num_tx_desc = vi->qsize_txq - sc->params.sge.spg_len / EQ_ESIZE; /* * The freelist's cidx/pidx drives netmap's rx cidx/pidx. So @@ -1220,7 +1219,8 @@ t4_nm_intr(void *arg) (const void *)&d->cpl[0]); break; case CPL_RX_PKT: - ring->slot[fl_cidx].len = G_RSPD_LEN(lq) - fl_pktshift; + ring->slot[fl_cidx].len = G_RSPD_LEN(lq) - + sc->params.sge.fl_pktshift; ring->slot[fl_cidx].flags = kring->nkr_slot_flags; fl_cidx += (lq & F_RSPD_NEWBUF) ? 1 : 0; fl_credits += (lq & F_RSPD_NEWBUF) ? 1 : 0; Modified: head/sys/dev/cxgbe/t4_sge.c ============================================================================== --- head/sys/dev/cxgbe/t4_sge.c Tue Mar 8 00:18:46 2016 (r296477) +++ head/sys/dev/cxgbe/t4_sge.c Tue Mar 8 00:23:56 2016 (r296478) @@ -166,8 +166,8 @@ static struct mbuf *get_fl_payload(struc static int t4_eth_rx(struct sge_iq *, const struct rss_header *, struct mbuf *); static inline void init_iq(struct sge_iq *, struct adapter *, int, int, int); static inline void init_fl(struct adapter *, struct sge_fl *, int, int, char *); -static inline void init_eq(struct sge_eq *, int, int, uint8_t, uint16_t, - char *); +static inline void init_eq(struct adapter *, struct sge_eq *, int, int, uint8_t, + uint16_t, char *); static int alloc_ring(struct adapter *, size_t, bus_dma_tag_t *, bus_dmamap_t *, bus_addr_t *, void **); static int free_ring(struct adapter *, bus_dma_tag_t, bus_dmamap_t, bus_addr_t, @@ -495,7 +495,7 @@ t4_tweak_chip_settings(struct adapter *s static inline int hwsz_ok(struct adapter *sc, int hwsz) { - int mask = fl_pad ? sc->sge.pad_boundary - 1 : 16 - 1; + int mask = fl_pad ? sc->params.sge.pad_boundary - 1 : 16 - 1; return (hwsz >= 64 && (hwsz & mask) == 0); } @@ -507,6 +507,7 @@ int t4_read_chip_settings(struct adapter *sc) { struct sge *s = &sc->sge; + struct sge_params *sp = &sc->params.sge; int i, j, n, rc = 0; uint32_t m, v, r; uint16_t indsz = min(RX_COPY_THRESHOLD - 1, M_INDICATESIZE); @@ -521,36 +522,21 @@ t4_read_chip_settings(struct adapter *sc struct sw_zone_info *swz, *safe_swz; struct hw_buf_info *hwb; - m = V_PKTSHIFT(M_PKTSHIFT) | F_RXPKTCPLMODE | F_EGRSTATUSPAGESIZE; - v = V_PKTSHIFT(fl_pktshift) | F_RXPKTCPLMODE | - V_EGRSTATUSPAGESIZE(spg_len == 128); + t4_init_sge_params(sc); + + m = F_RXPKTCPLMODE; + v = F_RXPKTCPLMODE; r = t4_read_reg(sc, A_SGE_CONTROL); if ((r & m) != v) { device_printf(sc->dev, "invalid SGE_CONTROL(0x%x)\n", r); rc = EINVAL; } - s->pad_boundary = 1 << (G_INGPADBOUNDARY(r) + 5); - - if (is_t4(sc)) - s->pack_boundary = s->pad_boundary; - else { - r = t4_read_reg(sc, A_SGE_CONTROL2); - if (G_INGPACKBOUNDARY(r) == 0) - s->pack_boundary = 16; - else - s->pack_boundary = 1 << (G_INGPACKBOUNDARY(r) + 5); - } - v = V_HOSTPAGESIZEPF0(PAGE_SHIFT - 10) | - V_HOSTPAGESIZEPF1(PAGE_SHIFT - 10) | - V_HOSTPAGESIZEPF2(PAGE_SHIFT - 10) | - V_HOSTPAGESIZEPF3(PAGE_SHIFT - 10) | - V_HOSTPAGESIZEPF4(PAGE_SHIFT - 10) | - V_HOSTPAGESIZEPF5(PAGE_SHIFT - 10) | - V_HOSTPAGESIZEPF6(PAGE_SHIFT - 10) | - V_HOSTPAGESIZEPF7(PAGE_SHIFT - 10); - r = t4_read_reg(sc, A_SGE_HOST_PAGE_SIZE); - if (r != v) { + /* + * If this changes then every single use of PAGE_SHIFT in the driver + * needs to be carefully reviewed for PAGE_SHIFT vs sp->page_shift. + */ + if (sp->page_shift != PAGE_SHIFT) { device_printf(sc->dev, "invalid SGE_HOST_PAGE_SIZE(0x%x)\n", r); rc = EINVAL; } @@ -589,7 +575,7 @@ t4_read_chip_settings(struct adapter *sc if (swz->size < PAGE_SIZE) { MPASS(powerof2(swz->size)); - if (fl_pad && (swz->size % sc->sge.pad_boundary != 0)) + if (fl_pad && (swz->size % sp->pad_boundary != 0)) continue; } @@ -602,7 +588,7 @@ t4_read_chip_settings(struct adapter *sc continue; #ifdef INVARIANTS if (fl_pad) - MPASS(hwb->size % sc->sge.pad_boundary == 0); + MPASS(hwb->size % sp->pad_boundary == 0); #endif hwb->zidx = i; if (head == -1) @@ -653,7 +639,7 @@ t4_read_chip_settings(struct adapter *sc hwb = &s->hw_buf_info[i]; #ifdef INVARIANTS if (fl_pad) - MPASS(hwb->size % sc->sge.pad_boundary == 0); + MPASS(hwb->size % sp->pad_boundary == 0); #endif spare = safe_swz->size - hwb->size; if (spare >= CL_METADATA_SIZE) { @@ -663,22 +649,6 @@ t4_read_chip_settings(struct adapter *sc } } - r = t4_read_reg(sc, A_SGE_INGRESS_RX_THRESHOLD); - s->counter_val[0] = G_THRESHOLD_0(r); - s->counter_val[1] = G_THRESHOLD_1(r); - s->counter_val[2] = G_THRESHOLD_2(r); - s->counter_val[3] = G_THRESHOLD_3(r); - - r = t4_read_reg(sc, A_SGE_TIMER_VALUE_0_AND_1); - s->timer_val[0] = G_TIMERVALUE0(r) / core_ticks_per_usec(sc); - s->timer_val[1] = G_TIMERVALUE1(r) / core_ticks_per_usec(sc); - r = t4_read_reg(sc, A_SGE_TIMER_VALUE_2_AND_3); - s->timer_val[2] = G_TIMERVALUE2(r) / core_ticks_per_usec(sc); - s->timer_val[3] = G_TIMERVALUE3(r) / core_ticks_per_usec(sc); - r = t4_read_reg(sc, A_SGE_TIMER_VALUE_4_AND_5); - s->timer_val[4] = G_TIMERVALUE4(r) / core_ticks_per_usec(sc); - s->timer_val[5] = G_TIMERVALUE5(r) / core_ticks_per_usec(sc); - v = V_HPZ0(0) | V_HPZ1(2) | V_HPZ2(4) | V_HPZ3(6); r = t4_read_reg(sc, A_ULP_RX_TDDP_PSZ); if (r != v) { @@ -702,25 +672,6 @@ t4_read_chip_settings(struct adapter *sc rc = EINVAL; } - r = t4_read_reg(sc, A_SGE_CONM_CTRL); - s->fl_starve_threshold = G_EGRTHRESHOLD(r) * 2 + 1; - if (is_t4(sc)) - s->fl_starve_threshold2 = s->fl_starve_threshold; - else - s->fl_starve_threshold2 = G_EGRTHRESHOLDPACKING(r) * 2 + 1; - - /* egress queues: log2 of # of doorbells per BAR2 page */ - r = t4_read_reg(sc, A_SGE_EGRESS_QUEUES_PER_PAGE_PF); - r >>= S_QUEUESPERPAGEPF0 + - (S_QUEUESPERPAGEPF1 - S_QUEUESPERPAGEPF0) * sc->pf; - s->eq_s_qpp = r & M_QUEUESPERPAGEPF0; - - /* ingress queues: log2 of # of doorbells per BAR2 page */ - r = t4_read_reg(sc, A_SGE_INGRESS_QUEUES_PER_PAGE_PF); - r >>= S_QUEUESPERPAGEPF0 + - (S_QUEUESPERPAGEPF1 - S_QUEUESPERPAGEPF0) * sc->pf; - s->iq_s_qpp = r & M_QUEUESPERPAGEPF0; - t4_init_tp_params(sc); t4_read_mtu_tbl(sc, sc->params.mtus, NULL); @@ -750,25 +701,26 @@ void t4_sge_sysctls(struct adapter *sc, struct sysctl_ctx_list *ctx, struct sysctl_oid_list *children) { + struct sge_params *sp = &sc->params.sge; SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "buffer_sizes", CTLTYPE_STRING | CTLFLAG_RD, &sc->sge, 0, sysctl_bufsizes, "A", "freelist buffer sizes"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, "fl_pktshift", CTLFLAG_RD, - NULL, fl_pktshift, "payload DMA offset in rx buffer (bytes)"); + NULL, sp->fl_pktshift, "payload DMA offset in rx buffer (bytes)"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, "fl_pad", CTLFLAG_RD, - NULL, sc->sge.pad_boundary, "payload pad boundary (bytes)"); + NULL, sp->pad_boundary, "payload pad boundary (bytes)"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, "spg_len", CTLFLAG_RD, - NULL, spg_len, "status page size (bytes)"); + NULL, sp->spg_len, "status page size (bytes)"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, "cong_drop", CTLFLAG_RD, NULL, cong_drop, "congestion drop setting"); SYSCTL_ADD_INT(ctx, children, OID_AUTO, "fl_pack", CTLFLAG_RD, - NULL, sc->sge.pack_boundary, "payload pack boundary (bytes)"); + NULL, sp->pack_boundary, "payload pack boundary (bytes)"); } int @@ -907,8 +859,8 @@ mtu_to_max_payload(struct adapter *sc, i } else { #endif /* large enough even when hw VLAN extraction is disabled */ - payload = fl_pktshift + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + - mtu; + payload = sc->params.sge.fl_pktshift + ETHER_HDR_LEN + + ETHER_VLAN_ENCAP_LEN + mtu; #ifdef TCP_OFFLOAD } #endif @@ -1069,7 +1021,7 @@ t4_setup_vi_queues(struct vi_info *vi) iqid = vi_intr_iq(vi, j)->cntxt_id; snprintf(name, sizeof(name), "%s txq%d", device_get_nameunit(vi->dev), i); - init_eq(&txq->eq, EQ_ETH, vi->qsize_txq, pi->tx_chan, iqid, + init_eq(sc, &txq->eq, EQ_ETH, vi->qsize_txq, pi->tx_chan, iqid, name); rc = alloc_txq(vi, txq, i, oid); @@ -1086,7 +1038,7 @@ t4_setup_vi_queues(struct vi_info *vi) iqid = vi_intr_iq(vi, j)->cntxt_id; snprintf(name, sizeof(name), "%s ofld_txq%d", device_get_nameunit(vi->dev), i); - init_eq(&ofld_txq->eq, EQ_OFLD, vi->qsize_txq, pi->tx_chan, + init_eq(sc, &ofld_txq->eq, EQ_OFLD, vi->qsize_txq, pi->tx_chan, iqid, name); snprintf(name, sizeof(name), "%d", i); @@ -1110,7 +1062,8 @@ t4_setup_vi_queues(struct vi_info *vi) ctrlq = &sc->sge.ctrlq[pi->port_id]; iqid = vi_intr_iq(vi, 0)->cntxt_id; snprintf(name, sizeof(name), "%s ctrlq", device_get_nameunit(vi->dev)); - init_eq(&ctrlq->eq, EQ_CTRL, CTRL_EQ_QSIZE, pi->tx_chan, iqid, name); + init_eq(sc, &ctrlq->eq, EQ_CTRL, CTRL_EQ_QSIZE, pi->tx_chan, iqid, + name); rc = alloc_wrq(sc, vi, ctrlq, oid); done: @@ -1690,6 +1643,7 @@ t4_eth_rx(struct sge_iq *iq, const struc { struct sge_rxq *rxq = iq_to_rxq(iq); struct ifnet *ifp = rxq->ifp; + struct adapter *sc = iq->adapter; const struct cpl_rx_pkt *cpl = (const void *)(rss + 1); #if defined(INET) || defined(INET6) struct lro_ctrl *lro = &rxq->lro; @@ -1704,9 +1658,9 @@ t4_eth_rx(struct sge_iq *iq, const struc KASSERT(m0 != NULL, ("%s: no payload with opcode %02x", __func__, rss->opcode)); - m0->m_pkthdr.len -= fl_pktshift; - m0->m_len -= fl_pktshift; - m0->m_data += fl_pktshift; + m0->m_pkthdr.len -= sc->params.sge.fl_pktshift; + m0->m_len -= sc->params.sge.fl_pktshift; + m0->m_data += sc->params.sge.fl_pktshift; m0->m_pkthdr.rcvif = ifp; M_HASHTYPE_SET(m0, sw_hashtype[rss->hash_type][rss->ipv6]); @@ -2445,7 +2399,7 @@ init_iq(struct sge_iq *iq, struct adapte iq->intr_pktc_idx = pktc_idx; } iq->qsize = roundup2(qsize, 16); /* See FW_IQ_CMD/iqsize */ - iq->sidx = iq->qsize - spg_len / IQ_ESIZE; + iq->sidx = iq->qsize - sc->params.sge.spg_len / IQ_ESIZE; } static inline void @@ -2453,7 +2407,7 @@ init_fl(struct adapter *sc, struct sge_f { fl->qsize = qsize; - fl->sidx = qsize - spg_len / EQ_ESIZE; + fl->sidx = qsize - sc->params.sge.spg_len / EQ_ESIZE; strlcpy(fl->lockname, name, sizeof(fl->lockname)); if (sc->flags & BUF_PACKING_OK && ((!is_t4(sc) && buffer_packing) || /* T5+: enabled unless 0 */ @@ -2464,15 +2418,15 @@ init_fl(struct adapter *sc, struct sge_f } static inline void -init_eq(struct sge_eq *eq, int eqtype, int qsize, uint8_t tx_chan, - uint16_t iqid, char *name) +init_eq(struct adapter *sc, struct sge_eq *eq, int eqtype, int qsize, + uint8_t tx_chan, uint16_t iqid, char *name) { KASSERT(eqtype <= EQ_TYPEMASK, ("%s: bad qtype %d", __func__, eqtype)); eq->flags = eqtype & EQ_TYPEMASK; eq->tx_chan = tx_chan; eq->iqid = iqid; - eq->sidx = qsize - spg_len / EQ_ESIZE; + eq->sidx = qsize - sc->params.sge.spg_len / EQ_ESIZE; strlcpy(eq->lockname, name, sizeof(eq->lockname)); } @@ -2543,6 +2497,7 @@ alloc_iq_fl(struct vi_info *vi, struct s struct fw_iq_cmd c; struct port_info *pi = vi->pi; struct adapter *sc = iq->adapter; + struct sge_params *sp = &sc->params.sge; __be32 v = 0; len = iq->qsize * IQ_ESIZE; @@ -2602,14 +2557,14 @@ alloc_iq_fl(struct vi_info *vi, struct s } if (fl->flags & FL_BUF_PACKING) { - fl->lowat = roundup2(sc->sge.fl_starve_threshold2, 8); - fl->buf_boundary = sc->sge.pack_boundary; + fl->lowat = roundup2(sp->fl_starve_threshold2, 8); + fl->buf_boundary = sp->pack_boundary; } else { - fl->lowat = roundup2(sc->sge.fl_starve_threshold, 8); + fl->lowat = roundup2(sp->fl_starve_threshold, 8); fl->buf_boundary = 16; } - if (fl_pad && fl->buf_boundary < sc->sge.pad_boundary) - fl->buf_boundary = sc->sge.pad_boundary; + if (fl_pad && fl->buf_boundary < sp->pad_boundary) + fl->buf_boundary = sp->pad_boundary; c.iqns_to_fl0congen |= htobe32(V_FW_IQ_CMD_FL0HOSTFCMODE(X_HOSTFCMODE_NONE) | @@ -2667,7 +2622,7 @@ alloc_iq_fl(struct vi_info *vi, struct s qid = fl->cntxt_id; if (isset(&sc->doorbells, DOORBELL_UDB)) { - uint32_t s_qpp = sc->sge.eq_s_qpp; + uint32_t s_qpp = sc->params.sge.eq_s_qpp; uint32_t mask = (1 << s_qpp) - 1; volatile uint8_t *udb; @@ -2856,7 +2811,7 @@ alloc_mgmtq(struct adapter *sc) NULL, "management queue"); snprintf(name, sizeof(name), "%s mgmtq", device_get_nameunit(sc->dev)); - init_eq(&mgmtq->eq, EQ_CTRL, CTRL_EQ_QSIZE, sc->port[0]->tx_chan, + init_eq(sc, &mgmtq->eq, EQ_CTRL, CTRL_EQ_QSIZE, sc->port[0]->tx_chan, sc->sge.fwq.cntxt_id, name); rc = alloc_wrq(sc, NULL, mgmtq, oid); if (rc != 0) { @@ -3041,7 +2996,7 @@ alloc_nm_rxq(struct vi_info *vi, struct if (rc != 0) return (rc); - len = na->num_rx_desc * EQ_ESIZE + spg_len; + len = na->num_rx_desc * EQ_ESIZE + sc->params.sge.spg_len; rc = alloc_ring(sc, len, &nm_rxq->fl_desc_tag, &nm_rxq->fl_desc_map, &nm_rxq->fl_ba, (void **)&nm_rxq->fl_desc); if (rc != 0) @@ -3050,7 +3005,7 @@ alloc_nm_rxq(struct vi_info *vi, struct nm_rxq->vi = vi; nm_rxq->nid = idx; nm_rxq->iq_cidx = 0; - nm_rxq->iq_sidx = vi->qsize_rxq - spg_len / IQ_ESIZE; + nm_rxq->iq_sidx = vi->qsize_rxq - sc->params.sge.spg_len / IQ_ESIZE; nm_rxq->iq_gen = F_RSPD_GEN; nm_rxq->fl_pidx = nm_rxq->fl_cidx = 0; nm_rxq->fl_sidx = na->num_rx_desc; @@ -3116,7 +3071,7 @@ alloc_nm_txq(struct vi_info *vi, struct char name[16]; struct sysctl_oid_list *children = SYSCTL_CHILDREN(oid); - len = na->num_tx_desc * EQ_ESIZE + spg_len; + len = na->num_tx_desc * EQ_ESIZE + sc->params.sge.spg_len; rc = alloc_ring(sc, len, &nm_txq->desc_tag, &nm_txq->desc_map, &nm_txq->ba, (void **)&nm_txq->desc); if (rc) @@ -3164,7 +3119,7 @@ ctrl_eq_alloc(struct adapter *sc, struct { int rc, cntxt_id; struct fw_eq_ctrl_cmd c; - int qsize = eq->sidx + spg_len / EQ_ESIZE; + int qsize = eq->sidx + sc->params.sge.spg_len / EQ_ESIZE; bzero(&c, sizeof(c)); @@ -3208,7 +3163,7 @@ eth_eq_alloc(struct adapter *sc, struct { int rc, cntxt_id; struct fw_eq_eth_cmd c; - int qsize = eq->sidx + spg_len / EQ_ESIZE; + int qsize = eq->sidx + sc->params.sge.spg_len / EQ_ESIZE; bzero(&c, sizeof(c)); @@ -3252,7 +3207,7 @@ ofld_eq_alloc(struct adapter *sc, struct { int rc, cntxt_id; struct fw_eq_ofld_cmd c; - int qsize = eq->sidx + spg_len / EQ_ESIZE; + int qsize = eq->sidx + sc->params.sge.spg_len / EQ_ESIZE; bzero(&c, sizeof(c)); @@ -3298,7 +3253,7 @@ alloc_eq(struct adapter *sc, struct vi_i mtx_init(&eq->eq_lock, eq->lockname, NULL, MTX_DEF); - qsize = eq->sidx + spg_len / EQ_ESIZE; + qsize = eq->sidx + sc->params.sge.spg_len / EQ_ESIZE; len = qsize * EQ_ESIZE; rc = alloc_ring(sc, len, &eq->desc_tag, &eq->desc_map, &eq->ba, (void **)&eq->desc); @@ -3337,7 +3292,7 @@ alloc_eq(struct adapter *sc, struct vi_i if (isset(&eq->doorbells, DOORBELL_UDB) || isset(&eq->doorbells, DOORBELL_UDBWC) || isset(&eq->doorbells, DOORBELL_WCWR)) { - uint32_t s_qpp = sc->sge.eq_s_qpp; + uint32_t s_qpp = sc->params.sge.eq_s_qpp; uint32_t mask = (1 << s_qpp) - 1; volatile uint8_t *udb; @@ -4523,10 +4478,10 @@ done: * Do not inline mbufs if doing so would violate the pad/pack * boundary alignment requirement. */ - if (fl_pad && (MSIZE % sc->sge.pad_boundary) != 0) + if (fl_pad && (MSIZE % sc->params.sge.pad_boundary) != 0) continue; if (fl->flags & FL_BUF_PACKING && - (MSIZE % sc->sge.pack_boundary) != 0) + (MSIZE % sc->params.sge.pack_boundary) != 0) continue; if (spare < CL_METADATA_SIZE + MSIZE) @@ -4612,7 +4567,7 @@ find_safe_refill_source(struct adapter * fl->cll_alt.hwidx = hwidx; fl->cll_alt.zidx = hwb->zidx; if (allow_mbufs_in_cluster && - (fl_pad == 0 || (MSIZE % sc->sge.pad_boundary) == 0)) + (fl_pad == 0 || (MSIZE % sc->params.sge.pad_boundary) == 0)) fl->cll_alt.region1 = ((spare - CL_METADATA_SIZE) / MSIZE) * MSIZE; else fl->cll_alt.region1 = 0; From owner-svn-src-all@freebsd.org Tue Mar 8 00:43:05 2016 Return-Path: Delivered-To: svn-src-all@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 A6748AC3DDB; Tue, 8 Mar 2016 00:43:05 +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 64F90D8; Tue, 8 Mar 2016 00:43:05 +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 u280h4w7042055; Tue, 8 Mar 2016 00:43:04 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u280h46P042051; Tue, 8 Mar 2016 00:43:04 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201603080043.u280h46P042051@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 8 Mar 2016 00:43:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296479 - in head/sys/cddl/contrib/opensolaris/uts: common/dtrace common/sys intel/dtrace powerpc/dtrace X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 00:43:05 -0000 Author: markj Date: Tue Mar 8 00:43:03 2016 New Revision: 296479 URL: https://svnweb.freebsd.org/changeset/base/296479 Log: Fix fasttrap tracepoint locking. Upstream, tracepoints are protected by per-CPU mutexes. An unlinked tracepoint may be freed once all the tracepoint mutexes have been acquired and released - this is done in fasttrap_mod_barrier(). This mechanism was not properly ported: in some places, the proc lock is used in place of a tracepoint lock, and in others the locking is omitted entirely. This change implements tracepoint locking with an rmlock, where the read lock is used in fasttrap probe context. As a side effect, this fixes a recursion on the proc lock when the raise action is used from a userland probe. MFC after: 1 month Modified: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c head/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c head/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c Tue Mar 8 00:23:56 2016 (r296478) +++ head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c Tue Mar 8 00:43:03 2016 (r296479) @@ -63,13 +63,16 @@ #ifndef illumos #include #include +#include #include #include #include + #include #include #include #include + #include #endif @@ -224,7 +227,7 @@ static void fasttrap_thread_dtor(void *, #define FASTTRAP_PROCS_INDEX(pid) ((pid) & fasttrap_procs.fth_mask) #ifndef illumos -static kmutex_t fasttrap_cpuc_pid_lock[MAXCPU]; +struct rmlock fasttrap_tp_lock; static eventhandler_tag fasttrap_thread_dtor_tag; #endif @@ -439,10 +442,15 @@ fasttrap_mod_barrier(uint64_t gen) fasttrap_mod_gen++; +#ifdef illumos CPU_FOREACH(i) { mutex_enter(&fasttrap_cpuc_pid_lock[i]); mutex_exit(&fasttrap_cpuc_pid_lock[i]); } +#else + rm_wlock(&fasttrap_tp_lock); + rm_wunlock(&fasttrap_tp_lock); +#endif } /* @@ -2574,10 +2582,7 @@ fasttrap_load(void) mutex_init(&fasttrap_procs.fth_table[i].ftb_mtx, "processes bucket mtx", MUTEX_DEFAULT, NULL); - CPU_FOREACH(i) { - mutex_init(&fasttrap_cpuc_pid_lock[i], "fasttrap barrier", - MUTEX_DEFAULT, NULL); - } + rm_init(&fasttrap_tp_lock, "fasttrap tracepoint"); /* * This event handler must run before kdtrace_thread_dtor() since it @@ -2710,9 +2715,7 @@ fasttrap_unload(void) #ifndef illumos destroy_dev(fasttrap_cdev); mutex_destroy(&fasttrap_count_mtx); - CPU_FOREACH(i) { - mutex_destroy(&fasttrap_cpuc_pid_lock[i]); - } + rm_destroy(&fasttrap_tp_lock); #endif return (0); Modified: head/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h Tue Mar 8 00:23:56 2016 (r296478) +++ head/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h Tue Mar 8 00:43:03 2016 (r296479) @@ -206,6 +206,10 @@ extern fasttrap_scrspace_t *fasttrap_scr extern dtrace_id_t fasttrap_probe_id; extern fasttrap_hash_t fasttrap_tpoints; +#ifndef illumos +extern struct rmlock fasttrap_tp_lock; +#endif + #define FASTTRAP_TPOINTS_INDEX(pid, pc) \ (((pc) / sizeof (fasttrap_instr_t) + (pid)) & fasttrap_tpoints.fth_mask) Modified: head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c Tue Mar 8 00:23:56 2016 (r296478) +++ head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c Tue Mar 8 00:43:03 2016 (r296479) @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -737,11 +738,13 @@ fasttrap_return_common(struct reg *rp, u fasttrap_id_t *id; #ifdef illumos kmutex_t *pid_mtx; -#endif -#ifdef illumos pid_mtx = &cpu_core[CPU->cpu_id].cpuc_pid_lock; mutex_enter(pid_mtx); +#else + struct rm_priotracker tracker; + + rm_rlock(&fasttrap_tp_lock, &tracker); #endif bucket = &fasttrap_tpoints.fth_table[FASTTRAP_TPOINTS_INDEX(pid, pc)]; @@ -759,6 +762,8 @@ fasttrap_return_common(struct reg *rp, u if (tp == NULL) { #ifdef illumos mutex_exit(pid_mtx); +#else + rm_runlock(&fasttrap_tp_lock, &tracker); #endif return; } @@ -782,6 +787,8 @@ fasttrap_return_common(struct reg *rp, u #ifdef illumos mutex_exit(pid_mtx); +#else + rm_runlock(&fasttrap_tp_lock, &tracker); #endif } @@ -990,6 +997,7 @@ fasttrap_pid_probe(struct reg *rp) { proc_t *p = curproc; #ifndef illumos + struct rm_priotracker tracker; proc_t *pp; #endif uintptr_t pc = rp->r_rip - 1; @@ -1049,8 +1057,7 @@ fasttrap_pid_probe(struct reg *rp) sx_sunlock(&proctree_lock); pp = NULL; - PROC_LOCK(p); - _PHOLD(p); + rm_rlock(&fasttrap_tp_lock, &tracker); #endif bucket = &fasttrap_tpoints.fth_table[FASTTRAP_TPOINTS_INDEX(pid, pc)]; @@ -1073,8 +1080,7 @@ fasttrap_pid_probe(struct reg *rp) #ifdef illumos mutex_exit(pid_mtx); #else - _PRELE(p); - PROC_UNLOCK(p); + rm_runlock(&fasttrap_tp_lock, &tracker); #endif return (-1); } @@ -1200,7 +1206,7 @@ fasttrap_pid_probe(struct reg *rp) #ifdef illumos mutex_exit(pid_mtx); #else - PROC_UNLOCK(p); + rm_runlock(&fasttrap_tp_lock, &tracker); #endif tp = &tp_local; @@ -1813,7 +1819,6 @@ done: #ifndef illumos PROC_LOCK(p); proc_write_regs(curthread, rp); - _PRELE(p); PROC_UNLOCK(p); #endif Modified: head/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c Tue Mar 8 00:23:56 2016 (r296478) +++ head/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c Tue Mar 8 00:43:03 2016 (r296479) @@ -33,6 +33,7 @@ #include #include #include +#include #include #define OP(x) ((x) >> 26) @@ -288,10 +289,12 @@ static void fasttrap_return_common(struct reg *rp, uintptr_t pc, pid_t pid, uintptr_t new_pc) { + struct rm_priotracker tracker; fasttrap_tracepoint_t *tp; fasttrap_bucket_t *bucket; fasttrap_id_t *id; + rm_rlock(&fasttrap_tp_lock, &tracker); bucket = &fasttrap_tpoints.fth_table[FASTTRAP_TPOINTS_INDEX(pid, pc)]; for (tp = bucket->ftb_data; tp != NULL; tp = tp->ftt_next) { @@ -306,6 +309,7 @@ fasttrap_return_common(struct reg *rp, u * is not essential to the correct execution of the process. */ if (tp == NULL) { + rm_runlock(&fasttrap_tp_lock, &tracker); return; } @@ -323,6 +327,7 @@ fasttrap_return_common(struct reg *rp, u pc - id->fti_probe->ftp_faddr, rp->fixreg[3], rp->fixreg[4], 0, 0); } + rm_runlock(&fasttrap_tp_lock, &tracker); } @@ -351,6 +356,7 @@ fasttrap_branch_taken(int bo, int bi, st int fasttrap_pid_probe(struct reg *rp) { + struct rm_priotracker tracker; proc_t *p = curproc; uintptr_t pc = rp->pc; uintptr_t new_pc = 0; @@ -381,8 +387,7 @@ fasttrap_pid_probe(struct reg *rp) curthread->t_dtrace_scrpc = 0; curthread->t_dtrace_astpc = 0; - - PROC_LOCK(p); + rm_rlock(&fasttrap_tp_lock, &tracker); pid = p->p_pid; bucket = &fasttrap_tpoints.fth_table[FASTTRAP_TPOINTS_INDEX(pid, pc)]; @@ -401,7 +406,7 @@ fasttrap_pid_probe(struct reg *rp) * fasttrap_ioctl), or somehow we have mislaid this tracepoint. */ if (tp == NULL) { - PROC_UNLOCK(p); + rm_runlock(&fasttrap_tp_lock, &tracker); return (-1); } @@ -455,7 +460,7 @@ fasttrap_pid_probe(struct reg *rp) * tracepoint again later if we need to light up any return probes. */ tp_local = *tp; - PROC_UNLOCK(p); + rm_runlock(&fasttrap_tp_lock, &tracker); tp = &tp_local; /* From owner-svn-src-all@freebsd.org Tue Mar 8 00:46:05 2016 Return-Path: Delivered-To: svn-src-all@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 22566AC3F06; Tue, 8 Mar 2016 00:46:05 +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 E9149305; Tue, 8 Mar 2016 00:46:04 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u280k3lL042213; Tue, 8 Mar 2016 00:46:03 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u280k3GR042212; Tue, 8 Mar 2016 00:46:03 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201603080046.u280k3GR042212@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Tue, 8 Mar 2016 00:46:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296480 - head/sys/cddl/dev/dtrace X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 00:46:05 -0000 Author: markj Date: Tue Mar 8 00:46:03 2016 New Revision: 296480 URL: https://svnweb.freebsd.org/changeset/base/296480 Log: Fix a couple of silly mistakes in r291962. - Handle the case where no DOF helper is provided. This occurs with the currently-unused DTRACEHIOC_ADD ioctl. - Fix some checks that prevented the loading DOF in the (non-default) lazyload mode. Modified: head/sys/cddl/dev/dtrace/dtrace_ioctl.c Modified: head/sys/cddl/dev/dtrace/dtrace_ioctl.c ============================================================================== --- head/sys/cddl/dev/dtrace/dtrace_ioctl.c Tue Mar 8 00:43:03 2016 (r296479) +++ head/sys/cddl/dev/dtrace/dtrace_ioctl.c Tue Mar 8 00:46:03 2016 (r296480) @@ -47,14 +47,14 @@ dtrace_ioctl_helper(struct cdev *dev, u_ /* FALLTHROUGH */ case DTRACEHIOC_ADD: p = curproc; - if (p->p_pid == dhp->dofhp_pid) { + if (dhp == NULL || p->p_pid == dhp->dofhp_pid) { dof = dtrace_dof_copyin((uintptr_t)addr, &rval); } else { p = pfind(dhp->dofhp_pid); if (p == NULL) return (EINVAL); if (!P_SHOULDSTOP(p) || - (p->p_flag & P_TRACED|P_WEXIT) == 0 || + (p->p_flag & (P_TRACED | P_WEXIT)) != P_TRACED || p->p_pptr != curproc) { PROC_UNLOCK(p); return (EINVAL); From owner-svn-src-all@freebsd.org Tue Mar 8 01:03:58 2016 Return-Path: Delivered-To: svn-src-all@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 A5F98AC756A; Tue, 8 Mar 2016 01:03:58 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (mx3.absolight.net [IPv6:2a01:678:2:100::25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "plouf.absolight.net", Issuer "CAcert Class 3 Root" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 48804EB; Tue, 8 Mar 2016 01:03:58 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (localhost [127.0.0.1]) by prod2.absolight.net (Postfix) with ESMTP id A79B7BDC86; Tue, 8 Mar 2016 02:03:56 +0100 (CET) Received: from atuin.in.mat.cc (atuin.in.mat.cc [79.143.241.205]) by prod2.absolight.net (Postfix) with ESMTPA id 88F0ABDC5C; Tue, 8 Mar 2016 02:03:56 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by atuin.in.mat.cc (Postfix) with ESMTP id D530E556ED40; Tue, 8 Mar 2016 02:03:55 +0100 (CET) Date: Tue, 08 Mar 2016 01:29:08 +0100 From: Mathieu Arnold To: Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Message-ID: <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> In-Reply-To: <201603071622.u27GMC4a082792@repo.freebsd.org> References: <201603071622.u27GMC4a082792@repo.freebsd.org> X-Mailer: Mulberry/4.0.8 (Mac OS X) Resent-Date: Tue, 08 Mar 2016 02:03:55 +0100 Resent-From: Mathieu Arnold Resent-To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... Resent-Message-ID: <3E8D6BE289BB1473CB05C5AC@atuin.in.mat.cc> X-Resent-Mailer: Mulberry/4.0.8 (Mac OS X) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="==========F3F259B14CEEF0504AFA==========" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 01:03:58 -0000 --==========F3F259B14CEEF0504AFA========== Content-Type: multipart/signed; MICALG=pgp-sha1; PROTOCOL="application/pgp-signature"; boundary="==========F945FF3FFE45EA9C5335==========" --==========F945FF3FFE45EA9C5335========== Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline +--On 7 mars 2016 16:22:12 +0000 Xin LI wrote: | Author: delphij | Date: Mon Mar 7 16:22:11 2016 | New Revision: 296465 | URL: https://svnweb.freebsd.org/changeset/base/296465 | | Log: | Fix multiple OpenSSL vulnerabilities. | | Security: FreeBSD-SA-16:12.openssl | Approved by: so After that, poudriere bulk fails with: [00:00:07] ====>> Creating pkgng repository Creating repository in /tmp/packages: 100% Packing files for repository: 0%Child process pid=50970 terminated abnormally: Segmentation fault: 11 [00:00:08] ====>> Cleaning up 9amd64-pkgng-default: removed 9amd64-pkgng-default-n: removed pkg-static is the one doing the segfault... -- Mathieu Arnold --==========F945FF3FFE45EA9C5335========== Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQJ8BAEBCgBmBQJW3hzUXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzQUI2OTc4OUQyRUQxMjEwNjQ0MEJBNUIz QTQ1MTZGMzUxODNDRTQ4AAoJEDpFFvNRg85IVyoP/2FtzDH0dvaCgODLq8ZXPSDk iv9qK4VL85w5w/oiTa89rXOm+bmidUfJwLMVLKPDr4OLsm3Wp6YoT63z16do/Bh5 eiSYxLMLV9MKsAEI+Nbw20IFvWNsqmQMp0THIsMrN0l4Wo4hLwGOriQsIxLMInSx gilSke7yGrKE08LbTcSCy3gb5rIsKjX3yyy+g5wZ+Yww7OPMY62huwVjppT7+/Xg fPJhzzoZsvzYw0fBoze59AyWnRlU9vypXlnDA3wOyYgRks6gI/xjeEwsYcli7524 Kg2QFmSHQgPBaQ+MoLH0Ur0GbJRga/yCIvq9FscXPF39JgkyuPjbW5UamzhRhZtx IXqu5yzLQWe8P+hRcKcnmo/ZEyaqOdFTSsbnh7fOYVcMis4l9uR+36A6UP8bSTWD X4eU3Z2ERekBXYzg5ap77UmJtQXKAXw10lLa/OA/hovrbS7Z5uD1z9oyTH/QCXH+ Ghw0LZm9qgIeV4OUAZ7AiMli3SSo3qloTOe0W17/M0LZJeNvTbxn7RRpdF0vDN6S uQpzqrB8R1LZF5fNGtYBIE1qDIrIKyZNhcaGyqlUT2CzNi3jfCzLYmys5YckXCUK a/2T4SaHPmvC0A98DNZOwvhKMbrcGs6kMsErwcHGmDcCbtZYEiSdiPGfWc1MszcM WpyzW+oI7LwhrNvB2y8m =HBlK -----END PGP SIGNATURE----- --==========F945FF3FFE45EA9C5335==========-- --==========F3F259B14CEEF0504AFA========== Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQJ8BAEBCgBmBQJW3iT7XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzQUI2OTc4OUQyRUQxMjEwNjQ0MEJBNUIz QTQ1MTZGMzUxODNDRTQ4AAoJEDpFFvNRg85IJDwP+waA/6MXJ9Rwlbz+emIKB4vT bmmGV9vO/PdEsqeG2JNO5SJnT7cOm/s1rGxidQemdQbw8cXrfvlisC4Cb3dJUCsc PTxwU9fJCF4P6OU5XyWHT638CtqGIqRO4NlXScPnM5dVIytGYQflybr/YW0Nt2fQ g+nEmeBptuIDQFucT607B2X4YpiCIp2STJjfs55F2uJ/pVC/VLH1sb3kbyLYdmxg J+93IBdW9WY/k4S5a+jpQrMCGvSFxhdwS4Rp3pMgYYlWjSK0qCFGrDc6LGJBjcA1 qYOVdylesPTvB2AIvfzY/llTV2gMhzOJFT3U5K2wmwN7XA7eVMy/9Ydl6CersRQ8 ul3bLhqo9JpjvA42BHf9cZRCXpICU6gDqG/FS0Db20ZZ4Q9jXiGAQPCUgJT2xvOz NzYKlaOA4nCUj5NjMmp/Qd/b7FUjt0+pvGsDBRzGajORdsXKgxHELUPh/tjH+sV2 C3gWw1xpROvP5F6WCnRWsKKGF/loVpb1rA8w9lE4luwBrkmQLG4rNk8R8fx610g7 tKvpcYXrhWdR81VM09ty9tci3uJ7h10P6syjSKA4fS7m6vY5ZCZPsgQ531whKBz+ XSw9eER6sBV3628h4KmXv9vW0pRuuOKNjhpSfm+3C9B4gNHai4Mjaet6wzI9kJ+Q XnGGk0G4i4yH3vSXNehi =vfXJ -----END PGP SIGNATURE----- --==========F3F259B14CEEF0504AFA==========-- From owner-svn-src-all@freebsd.org Tue Mar 8 02:04:07 2016 Return-Path: Delivered-To: svn-src-all@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 200E5AC3AE9; Tue, 8 Mar 2016 02:04:07 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B1C257D8; Tue, 8 Mar 2016 02:04:06 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28245n8067747; Tue, 8 Mar 2016 02:04:05 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28245eF067741; Tue, 8 Mar 2016 02:04:05 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080204.u28245eF067741@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 02:04:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296481 - in head: sys/dev/cxgbe sys/dev/cxgbe/common tools/tools/cxgbetool X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 02:04:07 -0000 Author: np Date: Tue Mar 8 02:04:05 2016 New Revision: 296481 URL: https://svnweb.freebsd.org/changeset/base/296481 Log: cxgbe(4): Overhaul the shared code that deals with the chip's TP block, which is responsible for filtering and RSS. Add the ability to use filters that match on PF/VF (aka "VNIC id") while here. This is mutually exclusive with filtering on outer VLAN tag with Q-in-Q. Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/cxgbe/t4_ioctl.h head/sys/dev/cxgbe/t4_main.c head/tools/tools/cxgbetool/cxgbetool.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Tue Mar 8 00:46:03 2016 (r296480) +++ head/sys/dev/cxgbe/adapter.h Tue Mar 8 02:04:05 2016 (r296481) @@ -1026,6 +1026,17 @@ tx_resume_threshold(struct sge_eq *eq) return (eq->sidx / 4); } +static inline int +t4_use_ldst(struct adapter *sc) +{ + +#ifdef notyet + return (sc->flags & FW_OK || !sc->use_bd); +#else + return (0); +#endif +} + /* t4_main.c */ int t4_os_find_pci_capability(struct adapter *, int); int t4_os_pci_save_state(struct adapter *); Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 00:46:03 2016 (r296480) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 02:04:05 2016 (r296481) @@ -234,17 +234,25 @@ struct sge_params { }; struct tp_params { - unsigned int ntxchan; /* # of Tx channels */ unsigned int tre; /* log2 of core clocks per TP tick */ unsigned int dack_re; /* DACK timer resolution */ unsigned int la_mask; /* what events are recorded by TP LA */ unsigned short tx_modq[MAX_NCHAN]; /* channel to modulation queue map */ + uint32_t vlan_pri_map; uint32_t ingress_config; - int8_t vlan_shift; - int8_t vnic_shift; + uint32_t rx_pkt_encap; + + int8_t fcoe_shift; int8_t port_shift; + int8_t vnic_shift; + int8_t vlan_shift; + int8_t tos_shift; int8_t protocol_shift; + int8_t ethertype_shift; + int8_t macmatch_shift; + int8_t matchtype_shift; + int8_t frag_shift; }; struct vpd_params { @@ -492,7 +500,6 @@ int t4_init_sge_params(struct adapter *a int t4_init_tp_params(struct adapter *adap); int t4_filter_field_shift(const struct adapter *adap, int filter_sel); int t4_port_init(struct port_info *p, int mbox, int pf, int vf); -int t4_reinit_adapter(struct adapter *adap); void t4_fatal_err(struct adapter *adapter); int t4_set_trace_filter(struct adapter *adapter, const struct trace_params *tp, int filter_index, int enable); @@ -505,8 +512,10 @@ int t4_config_glbl_rss(struct adapter *a int t4_config_vi_rss(struct adapter *adapter, int mbox, unsigned int viid, unsigned int flags, unsigned int defq); int t4_read_rss(struct adapter *adapter, u16 *entries); +void t4_fw_tp_pio_rw(struct adapter *adap, u32 *vals, unsigned int nregs, + unsigned int start_index, unsigned int rw); void t4_read_rss_key(struct adapter *adapter, u32 *key); -void t4_write_rss_key(struct adapter *adap, const u32 *key, int idx); +void t4_write_rss_key(struct adapter *adap, u32 *key, int idx); void t4_read_rss_pf_config(struct adapter *adapter, unsigned int index, u32 *valp); void t4_write_rss_pf_config(struct adapter *adapter, unsigned int index, u32 val); void t4_read_rss_vf_config(struct adapter *adapter, unsigned int index, Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 00:46:03 2016 (r296480) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 02:04:05 2016 (r296481) @@ -4867,6 +4867,42 @@ int t4_read_rss(struct adapter *adapter, } /** + * t4_fw_tp_pio_rw - Access TP PIO through LDST + * @adap: the adapter + * @vals: where the indirect register values are stored/written + * @nregs: how many indirect registers to read/write + * @start_idx: index of first indirect register to read/write + * @rw: Read (1) or Write (0) + * + * Access TP PIO registers through LDST + */ +void t4_fw_tp_pio_rw(struct adapter *adap, u32 *vals, unsigned int nregs, + unsigned int start_index, unsigned int rw) +{ + int ret, i; + int cmd = FW_LDST_ADDRSPC_TP_PIO; + struct fw_ldst_cmd c; + + for (i = 0 ; i < nregs; i++) { + memset(&c, 0, sizeof(c)); + c.op_to_addrspace = cpu_to_be32(V_FW_CMD_OP(FW_LDST_CMD) | + F_FW_CMD_REQUEST | + (rw ? F_FW_CMD_READ : + F_FW_CMD_WRITE) | + V_FW_LDST_CMD_ADDRSPACE(cmd)); + c.cycles_to_len16 = cpu_to_be32(FW_LEN16(c)); + + c.u.addrval.addr = cpu_to_be32(start_index + i); + c.u.addrval.val = rw ? 0 : cpu_to_be32(vals[i]); + ret = t4_wr_mbox(adap, adap->mbox, &c, sizeof(c), &c); + if (ret == 0) { + if (rw) + vals[i] = be32_to_cpu(c.u.addrval.val); + } + } +} + +/** * t4_read_rss_key - read the global RSS key * @adap: the adapter * @key: 10-entry array holding the 320-bit RSS key @@ -4875,8 +4911,11 @@ int t4_read_rss(struct adapter *adapter, */ void t4_read_rss_key(struct adapter *adap, u32 *key) { - t4_read_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, key, 10, - A_TP_RSS_SECRET_KEY0); + if (t4_use_ldst(adap)) + t4_fw_tp_pio_rw(adap, key, 10, A_TP_RSS_SECRET_KEY0, 1); + else + t4_read_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, key, 10, + A_TP_RSS_SECRET_KEY0); } /** @@ -4889,13 +4928,35 @@ void t4_read_rss_key(struct adapter *ada * 0..15 the corresponding entry in the RSS key table is written, * otherwise the global RSS key is written. */ -void t4_write_rss_key(struct adapter *adap, const u32 *key, int idx) +void t4_write_rss_key(struct adapter *adap, u32 *key, int idx) { - t4_write_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, key, 10, - A_TP_RSS_SECRET_KEY0); - if (idx >= 0 && idx < 16) - t4_write_reg(adap, A_TP_RSS_CONFIG_VRT, - V_KEYWRADDR(idx) | F_KEYWREN); + u8 rss_key_addr_cnt = 16; + u32 vrt = t4_read_reg(adap, A_TP_RSS_CONFIG_VRT); + + /* + * T6 and later: for KeyMode 3 (per-vf and per-vf scramble), + * allows access to key addresses 16-63 by using KeyWrAddrX + * as index[5:4](upper 2) into key table + */ + if ((chip_id(adap) > CHELSIO_T5) && + (vrt & F_KEYEXTEND) && (G_KEYMODE(vrt) == 3)) + rss_key_addr_cnt = 32; + + if (t4_use_ldst(adap)) + t4_fw_tp_pio_rw(adap, key, 10, A_TP_RSS_SECRET_KEY0, 0); + else + t4_write_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, key, 10, + A_TP_RSS_SECRET_KEY0); + + if (idx >= 0 && idx < rss_key_addr_cnt) { + if (rss_key_addr_cnt > 16) + t4_write_reg(adap, A_TP_RSS_CONFIG_VRT, + V_KEYWRADDRX(idx >> 4) | + V_T6_VFWRADDR(idx) | F_KEYWREN); + else + t4_write_reg(adap, A_TP_RSS_CONFIG_VRT, + V_KEYWRADDR(idx) | F_KEYWREN); + } } /** @@ -4907,10 +4968,15 @@ void t4_write_rss_key(struct adapter *ad * Reads the PF RSS Configuration Table at the specified index and returns * the value found there. */ -void t4_read_rss_pf_config(struct adapter *adapter, unsigned int index, u32 *valp) +void t4_read_rss_pf_config(struct adapter *adapter, unsigned int index, + u32 *valp) { - t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - valp, 1, A_TP_RSS_PF0_CONFIG + index); + if (t4_use_ldst(adapter)) + t4_fw_tp_pio_rw(adapter, valp, 1, + A_TP_RSS_PF0_CONFIG + index, 1); + else + t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + valp, 1, A_TP_RSS_PF0_CONFIG + index); } /** @@ -4922,10 +4988,15 @@ void t4_read_rss_pf_config(struct adapte * Writes the PF RSS Configuration Table at the specified index with the * specified value. */ -void t4_write_rss_pf_config(struct adapter *adapter, unsigned int index, u32 val) +void t4_write_rss_pf_config(struct adapter *adapter, unsigned int index, + u32 val) { - t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &val, 1, A_TP_RSS_PF0_CONFIG + index); + if (t4_use_ldst(adapter)) + t4_fw_tp_pio_rw(adapter, &val, 1, + A_TP_RSS_PF0_CONFIG + index, 0); + else + t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &val, 1, A_TP_RSS_PF0_CONFIG + index); } /** @@ -4941,28 +5012,40 @@ void t4_write_rss_pf_config(struct adapt void t4_read_rss_vf_config(struct adapter *adapter, unsigned int index, u32 *vfl, u32 *vfh) { - u32 vrt; + u32 vrt, mask, data; + if (chip_id(adapter) <= CHELSIO_T5) { + mask = V_VFWRADDR(M_VFWRADDR); + data = V_VFWRADDR(index); + } else { + mask = V_T6_VFWRADDR(M_T6_VFWRADDR); + data = V_T6_VFWRADDR(index); + } /* * Request that the index'th VF Table values be read into VFL/VFH. */ vrt = t4_read_reg(adapter, A_TP_RSS_CONFIG_VRT); - vrt &= ~(F_VFRDRG | V_VFWRADDR(M_VFWRADDR) | F_VFWREN | F_KEYWREN); - vrt |= V_VFWRADDR(index) | F_VFRDEN; + vrt &= ~(F_VFRDRG | F_VFWREN | F_KEYWREN | mask); + vrt |= data | F_VFRDEN; t4_write_reg(adapter, A_TP_RSS_CONFIG_VRT, vrt); /* * Grab the VFL/VFH values ... */ - t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - vfl, 1, A_TP_RSS_VFL_CONFIG); - t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - vfh, 1, A_TP_RSS_VFH_CONFIG); + if (t4_use_ldst(adapter)) { + t4_fw_tp_pio_rw(adapter, vfl, 1, A_TP_RSS_VFL_CONFIG, 1); + t4_fw_tp_pio_rw(adapter, vfh, 1, A_TP_RSS_VFH_CONFIG, 1); + } else { + t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + vfl, 1, A_TP_RSS_VFL_CONFIG); + t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + vfh, 1, A_TP_RSS_VFH_CONFIG); + } } /** * t4_write_rss_vf_config - write VF RSS Configuration Table - * + * * @adapter: the adapter * @index: the entry in the VF RSS table to write * @vfl: the VFL to store @@ -4974,22 +5057,35 @@ void t4_read_rss_vf_config(struct adapte void t4_write_rss_vf_config(struct adapter *adapter, unsigned int index, u32 vfl, u32 vfh) { - u32 vrt; + u32 vrt, mask, data; + + if (chip_id(adapter) <= CHELSIO_T5) { + mask = V_VFWRADDR(M_VFWRADDR); + data = V_VFWRADDR(index); + } else { + mask = V_T6_VFWRADDR(M_T6_VFWRADDR); + data = V_T6_VFWRADDR(index); + } /* * Load up VFL/VFH with the values to be written ... */ - t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &vfl, 1, A_TP_RSS_VFL_CONFIG); - t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &vfh, 1, A_TP_RSS_VFH_CONFIG); + if (t4_use_ldst(adapter)) { + t4_fw_tp_pio_rw(adapter, &vfl, 1, A_TP_RSS_VFL_CONFIG, 0); + t4_fw_tp_pio_rw(adapter, &vfh, 1, A_TP_RSS_VFH_CONFIG, 0); + } else { + t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &vfl, 1, A_TP_RSS_VFL_CONFIG); + t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &vfh, 1, A_TP_RSS_VFH_CONFIG); + } /* * Write the VFL/VFH into the VF Table at index'th location. */ vrt = t4_read_reg(adapter, A_TP_RSS_CONFIG_VRT); - vrt &= ~(F_VFRDRG | F_VFRDEN | V_VFWRADDR(M_VFWRADDR) | F_KEYWREN); - vrt |= V_VFWRADDR(index) | F_VFWREN; + vrt &= ~(F_VFRDRG | F_VFWREN | F_KEYWREN | mask); + vrt |= data | F_VFRDEN; t4_write_reg(adapter, A_TP_RSS_CONFIG_VRT, vrt); } @@ -5003,8 +5099,11 @@ u32 t4_read_rss_pf_map(struct adapter *a { u32 pfmap; - t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &pfmap, 1, A_TP_RSS_PF_MAP); + if (t4_use_ldst(adapter)) + t4_fw_tp_pio_rw(adapter, &pfmap, 1, A_TP_RSS_PF_MAP, 1); + else + t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &pfmap, 1, A_TP_RSS_PF_MAP); return pfmap; } @@ -5017,8 +5116,11 @@ u32 t4_read_rss_pf_map(struct adapter *a */ void t4_write_rss_pf_map(struct adapter *adapter, u32 pfmap) { - t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &pfmap, 1, A_TP_RSS_PF_MAP); + if (t4_use_ldst(adapter)) + t4_fw_tp_pio_rw(adapter, &pfmap, 1, A_TP_RSS_PF_MAP, 0); + else + t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &pfmap, 1, A_TP_RSS_PF_MAP); } /** @@ -5031,8 +5133,11 @@ u32 t4_read_rss_pf_mask(struct adapter * { u32 pfmask; - t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &pfmask, 1, A_TP_RSS_PF_MSK); + if (t4_use_ldst(adapter)) + t4_fw_tp_pio_rw(adapter, &pfmask, 1, A_TP_RSS_PF_MSK, 1); + else + t4_read_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &pfmask, 1, A_TP_RSS_PF_MSK); return pfmask; } @@ -5045,61 +5150,11 @@ u32 t4_read_rss_pf_mask(struct adapter * */ void t4_write_rss_pf_mask(struct adapter *adapter, u32 pfmask) { - t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &pfmask, 1, A_TP_RSS_PF_MSK); -} - -static void refresh_vlan_pri_map(struct adapter *adap) -{ - - t4_read_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &adap->params.tp.vlan_pri_map, 1, - A_TP_VLAN_PRI_MAP); - - /* - * Now that we have TP_VLAN_PRI_MAP cached, we can calculate the field - * shift positions of several elements of the Compressed Filter Tuple - * for this adapter which we need frequently ... - */ - adap->params.tp.vlan_shift = t4_filter_field_shift(adap, F_VLAN); - adap->params.tp.vnic_shift = t4_filter_field_shift(adap, F_VNIC_ID); - adap->params.tp.port_shift = t4_filter_field_shift(adap, F_PORT); - adap->params.tp.protocol_shift = t4_filter_field_shift(adap, F_PROTOCOL); - - /* - * If TP_INGRESS_CONFIG.VNID == 0, then TP_VLAN_PRI_MAP.VNIC_ID - * represents the presense of an Outer VLAN instead of a VNIC ID. - */ - if ((adap->params.tp.ingress_config & F_VNIC) == 0) - adap->params.tp.vnic_shift = -1; -} - -/** - * t4_set_filter_mode - configure the optional components of filter tuples - * @adap: the adapter - * @mode_map: a bitmap selcting which optional filter components to enable - * - * Sets the filter mode by selecting the optional components to enable - * in filter tuples. Returns 0 on success and a negative error if the - * requested mode needs more bits than are available for optional - * components. - */ -int t4_set_filter_mode(struct adapter *adap, unsigned int mode_map) -{ - static u8 width[] = { 1, 3, 17, 17, 8, 8, 16, 9, 3, 1 }; - - int i, nbits = 0; - - for (i = S_FCOE; i <= S_FRAGMENTATION; i++) - if (mode_map & (1 << i)) - nbits += width[i]; - if (nbits > FILTER_OPT_LEN) - return -EINVAL; - t4_write_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, &mode_map, 1, - A_TP_VLAN_PRI_MAP); - refresh_vlan_pri_map(adap); - - return 0; + if (t4_use_ldst(adapter)) + t4_fw_tp_pio_rw(adapter, &pfmask, 1, A_TP_RSS_PF_MSK, 0); + else + t4_write_indirect(adapter, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &pfmask, 1, A_TP_RSS_PF_MSK); } /** @@ -7700,41 +7755,91 @@ int t4_init_sge_params(struct adapter *a return 0; } +/* + * Read and cache the adapter's compressed filter mode and ingress config. + */ +static void read_filter_mode_and_ingress_config(struct adapter *adap) +{ + struct tp_params *tpp = &adap->params.tp; + + if (t4_use_ldst(adap)) { + t4_fw_tp_pio_rw(adap, &tpp->vlan_pri_map, 1, + A_TP_VLAN_PRI_MAP, 1); + t4_fw_tp_pio_rw(adap, &tpp->ingress_config, 1, + A_TP_INGRESS_CONFIG, 1); + } else { + t4_read_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &tpp->vlan_pri_map, 1, A_TP_VLAN_PRI_MAP); + t4_read_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, + &tpp->ingress_config, 1, A_TP_INGRESS_CONFIG); + } + + /* + * Now that we have TP_VLAN_PRI_MAP cached, we can calculate the field + * shift positions of several elements of the Compressed Filter Tuple + * for this adapter which we need frequently ... + */ + tpp->fcoe_shift = t4_filter_field_shift(adap, F_FCOE); + tpp->port_shift = t4_filter_field_shift(adap, F_PORT); + tpp->vnic_shift = t4_filter_field_shift(adap, F_VNIC_ID); + tpp->vlan_shift = t4_filter_field_shift(adap, F_VLAN); + tpp->tos_shift = t4_filter_field_shift(adap, F_TOS); + tpp->protocol_shift = t4_filter_field_shift(adap, F_PROTOCOL); + tpp->ethertype_shift = t4_filter_field_shift(adap, F_ETHERTYPE); + tpp->macmatch_shift = t4_filter_field_shift(adap, F_MACMATCH); + tpp->matchtype_shift = t4_filter_field_shift(adap, F_MPSHITTYPE); + tpp->frag_shift = t4_filter_field_shift(adap, F_FRAGMENTATION); + + /* + * If TP_INGRESS_CONFIG.VNID == 0, then TP_VLAN_PRI_MAP.VNIC_ID + * represents the presense of an Outer VLAN instead of a VNIC ID. + */ + if ((tpp->ingress_config & F_VNIC) == 0) + tpp->vnic_shift = -1; +} + /** - * t4_init_tp_params - initialize adap->params.tp - * @adap: the adapter + * t4_init_tp_params - initialize adap->params.tp + * @adap: the adapter * - * Initialize various fields of the adapter's TP Parameters structure. + * Initialize various fields of the adapter's TP Parameters structure. */ -int __devinit t4_init_tp_params(struct adapter *adap) +int t4_init_tp_params(struct adapter *adap) { int chan; u32 v; + struct tp_params *tpp = &adap->params.tp; v = t4_read_reg(adap, A_TP_TIMER_RESOLUTION); - adap->params.tp.tre = G_TIMERRESOLUTION(v); - adap->params.tp.dack_re = G_DELAYEDACKRESOLUTION(v); + tpp->tre = G_TIMERRESOLUTION(v); + tpp->dack_re = G_DELAYEDACKRESOLUTION(v); /* MODQ_REQ_MAP defaults to setting queues 0-3 to chan 0-3 */ for (chan = 0; chan < MAX_NCHAN; chan++) - adap->params.tp.tx_modq[chan] = chan; + tpp->tx_modq[chan] = chan; - t4_read_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, - &adap->params.tp.ingress_config, 1, - A_TP_INGRESS_CONFIG); - refresh_vlan_pri_map(adap); + read_filter_mode_and_ingress_config(adap); + + /* + * For T6, cache the adapter's compressed error vector + * and passing outer header info for encapsulated packets. + */ + if (chip_id(adap) > CHELSIO_T5) { + v = t4_read_reg(adap, A_TP_OUT_CONFIG); + tpp->rx_pkt_encap = (v & F_CRXPKTENC) ? 1 : 0; + } return 0; } /** - * t4_filter_field_shift - calculate filter field shift - * @adap: the adapter - * @filter_sel: the desired field (from TP_VLAN_PRI_MAP bits) - * - * Return the shift position of a filter field within the Compressed - * Filter Tuple. The filter field is specified via its selection bit - * within TP_VLAN_PRI_MAL (filter mode). E.g. F_VLAN. + * t4_filter_field_shift - calculate filter field shift + * @adap: the adapter + * @filter_sel: the desired field (from TP_VLAN_PRI_MAP bits) + * + * Return the shift position of a filter field within the Compressed + * Filter Tuple. The filter field is specified via its selection bit + * within TP_VLAN_PRI_MAL (filter mode). E.g. F_VLAN. */ int t4_filter_field_shift(const struct adapter *adap, int filter_sel) { @@ -7746,18 +7851,38 @@ int t4_filter_field_shift(const struct a return -1; for (sel = 1, field_shift = 0; sel < filter_sel; sel <<= 1) { - switch (filter_mode & sel) { - case F_FCOE: field_shift += W_FT_FCOE; break; - case F_PORT: field_shift += W_FT_PORT; break; - case F_VNIC_ID: field_shift += W_FT_VNIC_ID; break; - case F_VLAN: field_shift += W_FT_VLAN; break; - case F_TOS: field_shift += W_FT_TOS; break; - case F_PROTOCOL: field_shift += W_FT_PROTOCOL; break; - case F_ETHERTYPE: field_shift += W_FT_ETHERTYPE; break; - case F_MACMATCH: field_shift += W_FT_MACMATCH; break; - case F_MPSHITTYPE: field_shift += W_FT_MPSHITTYPE; break; - case F_FRAGMENTATION: field_shift += W_FT_FRAGMENTATION; break; - } + switch (filter_mode & sel) { + case F_FCOE: + field_shift += W_FT_FCOE; + break; + case F_PORT: + field_shift += W_FT_PORT; + break; + case F_VNIC_ID: + field_shift += W_FT_VNIC_ID; + break; + case F_VLAN: + field_shift += W_FT_VLAN; + break; + case F_TOS: + field_shift += W_FT_TOS; + break; + case F_PROTOCOL: + field_shift += W_FT_PROTOCOL; + break; + case F_ETHERTYPE: + field_shift += W_FT_ETHERTYPE; + break; + case F_MACMATCH: + field_shift += W_FT_MACMATCH; + break; + case F_MPSHITTYPE: + field_shift += W_FT_MPSHITTYPE; + break; + case F_FRAGMENTATION: + field_shift += W_FT_FRAGMENTATION; + break; + } } return field_shift; } @@ -7822,6 +7947,37 @@ int __devinit t4_port_init(struct port_i return 0; } +/** + * t4_set_filter_mode - configure the optional components of filter tuples + * @adap: the adapter + * @mode_map: a bitmap selcting which optional filter components to enable + * + * Sets the filter mode by selecting the optional components to enable + * in filter tuples. Returns 0 on success and a negative error if the + * requested mode needs more bits than are available for optional + * components. + */ +int t4_set_filter_mode(struct adapter *adap, unsigned int mode_map) +{ + static u8 width[] = { 1, 3, 17, 17, 8, 8, 16, 9, 3, 1 }; + + int i, nbits = 0; + + for (i = S_FCOE; i <= S_FRAGMENTATION; i++) + if (mode_map & (1 << i)) + nbits += width[i]; + if (nbits > FILTER_OPT_LEN) + return -EINVAL; + if (t4_use_ldst(adap)) + t4_fw_tp_pio_rw(adap, &mode_map, 1, A_TP_VLAN_PRI_MAP, 0); + else + t4_write_indirect(adap, A_TP_PIO_ADDR, A_TP_PIO_DATA, &mode_map, + 1, A_TP_VLAN_PRI_MAP); + read_filter_mode_and_ingress_config(adap); + + return 0; +} + int t4_sched_config(struct adapter *adapter, int type, int minmaxen, int sleep_ok) { Modified: head/sys/dev/cxgbe/t4_ioctl.h ============================================================================== --- head/sys/dev/cxgbe/t4_ioctl.h Tue Mar 8 00:46:03 2016 (r296480) +++ head/sys/dev/cxgbe/t4_ioctl.h Tue Mar 8 02:04:05 2016 (r296481) @@ -105,6 +105,12 @@ struct t4_i2c_data { #define T4_FILTER_MPS_HIT_TYPE 0x4000 /* MPS match type */ #define T4_FILTER_IP_FRAGMENT 0x8000 /* IP fragment */ +#define T4_FILTER_IC_VNIC 0x80000000 /* TP Ingress Config's F_VNIC + bit. It indicates whether + T4_FILTER_VNIC bit means VNIC + id (PF/VF) or outer VLAN. + 0 = oVLAN, 1 = VNIC */ + /* Filter action */ enum { FILTER_PASS = 0, /* default */ @@ -154,7 +160,7 @@ struct t4_filter_tuple { * is used to select the global mode and all filters are limited to the * set of fields allowed by the global mode. */ - uint16_t vnic; /* VNIC id or outer VLAN tag */ + uint16_t vnic; /* VNIC id (PF/VF) or outer VLAN tag */ uint16_t vlan; /* VLAN tag */ uint16_t ethtype; /* Ethernet type */ uint8_t tos; /* TOS/Traffic Type */ @@ -165,7 +171,8 @@ struct t4_filter_tuple { uint32_t frag:1; /* fragmentation extension header */ uint32_t macidx:9; /* exact match MAC index */ uint32_t vlan_vld:1; /* VLAN valid */ - uint32_t vnic_vld:1; /* VNIC id/outer VLAN tag valid */ + uint32_t ovlan_vld:1; /* outer VLAN tag valid, value in "vnic" */ + uint32_t pfvf_vld:1; /* VNIC id (PF/VF) valid, value in "vnic" */ }; struct t4_filter_specification { Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Tue Mar 8 00:46:03 2016 (r296480) +++ head/sys/dev/cxgbe/t4_main.c Tue Mar 8 02:04:05 2016 (r296481) @@ -476,9 +476,11 @@ static int sysctl_tx_rate(SYSCTL_HANDLER static int sysctl_ulprx_la(SYSCTL_HANDLER_ARGS); static int sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS); #endif -static uint32_t fconf_to_mode(uint32_t); +static uint32_t fconf_iconf_to_mode(uint32_t, uint32_t); static uint32_t mode_to_fconf(uint32_t); -static uint32_t fspec_to_fconf(struct t4_filter_specification *); +static uint32_t mode_to_iconf(uint32_t); +static int check_fspec_against_fconf_iconf(struct adapter *, + struct t4_filter_specification *); static int get_filter_mode(struct adapter *, uint32_t *); static int set_filter_mode(struct adapter *, uint32_t); static inline uint64_t get_filter_hits(struct adapter *, uint32_t); @@ -3917,7 +3919,7 @@ vi_full_init(struct vi_info *vi) for (i = 0; i < nitems(rss_key); i++) { rss_key[i] = htobe32(raw_rss_key[nitems(rss_key) - 1 - i]); } - t4_write_rss_key(sc, (void *)&rss_key[0], -1); + t4_write_rss_key(sc, &rss_key[0], -1); #endif rss = malloc(vi->rss_size * sizeof (*rss), M_CXGBE, M_ZERO | M_WAITOK); for (i = 0; i < vi->rss_size;) { @@ -7210,7 +7212,7 @@ sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS) #endif static uint32_t -fconf_to_mode(uint32_t fconf) +fconf_iconf_to_mode(uint32_t fconf, uint32_t iconf) { uint32_t mode; @@ -7238,8 +7240,11 @@ fconf_to_mode(uint32_t fconf) if (fconf & F_VLAN) mode |= T4_FILTER_VLAN; - if (fconf & F_VNIC_ID) + if (fconf & F_VNIC_ID) { mode |= T4_FILTER_VNIC; + if (iconf & F_VNIC) + mode |= T4_FILTER_IC_VNIC; + } if (fconf & F_PORT) mode |= T4_FILTER_PORT; @@ -7289,8 +7294,18 @@ mode_to_fconf(uint32_t mode) } static uint32_t -fspec_to_fconf(struct t4_filter_specification *fs) +mode_to_iconf(uint32_t mode) +{ + + if (mode & T4_FILTER_IC_VNIC) + return (F_VNIC); + return (0); +} + +static int check_fspec_against_fconf_iconf(struct adapter *sc, + struct t4_filter_specification *fs) { + struct tp_params *tpp = &sc->params.tp; uint32_t fconf = 0; if (fs->val.frag || fs->mask.frag) @@ -7314,8 +7329,17 @@ fspec_to_fconf(struct t4_filter_specific if (fs->val.vlan_vld || fs->mask.vlan_vld) fconf |= F_VLAN; - if (fs->val.vnic_vld || fs->mask.vnic_vld) + if (fs->val.ovlan_vld || fs->mask.ovlan_vld) { fconf |= F_VNIC_ID; + if (tpp->ingress_config & F_VNIC) + return (EINVAL); + } + + if (fs->val.pfvf_vld || fs->mask.pfvf_vld) { + fconf |= F_VNIC_ID; + if ((tpp->ingress_config & F_VNIC) == 0) + return (EINVAL); + } if (fs->val.iport || fs->mask.iport) fconf |= F_PORT; @@ -7323,41 +7347,45 @@ fspec_to_fconf(struct t4_filter_specific if (fs->val.fcoe || fs->mask.fcoe) fconf |= F_FCOE; - return (fconf); + if ((tpp->vlan_pri_map | fconf) != tpp->vlan_pri_map) + return (E2BIG); + + return (0); } static int get_filter_mode(struct adapter *sc, uint32_t *mode) { - int rc; - uint32_t fconf; + struct tp_params *tpp = &sc->params.tp; - rc = begin_synchronized_op(sc, NULL, HOLD_LOCK | SLEEP_OK | INTR_OK, - "t4getfm"); - if (rc) - return (rc); - - t4_read_indirect(sc, A_TP_PIO_ADDR, A_TP_PIO_DATA, &fconf, 1, - A_TP_VLAN_PRI_MAP); - - if (sc->params.tp.vlan_pri_map != fconf) { - log(LOG_WARNING, "%s: cached filter mode out of sync %x %x.\n", - device_get_nameunit(sc->dev), sc->params.tp.vlan_pri_map, - fconf); - } - - *mode = fconf_to_mode(fconf); + /* + * We trust the cached values of the relevant TP registers. This means + * things work reliably only if writes to those registers are always via + * t4_set_filter_mode. + */ + *mode = fconf_iconf_to_mode(tpp->vlan_pri_map, tpp->ingress_config); - end_synchronized_op(sc, LOCK_HELD); return (0); } static int set_filter_mode(struct adapter *sc, uint32_t mode) { - uint32_t fconf; + struct tp_params *tpp = &sc->params.tp; + uint32_t fconf, iconf; int rc; + iconf = mode_to_iconf(mode); + if ((iconf ^ tpp->ingress_config) & F_VNIC) { + /* + * For now we just complain if A_TP_INGRESS_CONFIG is not + * already set to the correct value for the requested filter + * mode. It's not clear if it's safe to write to this register + * on the fly. (And we trust the cached value of the register). + */ + return (EBUSY); + } + fconf = mode_to_fconf(mode); rc = begin_synchronized_op(sc, NULL, HOLD_LOCK | SLEEP_OK | INTR_OK, @@ -7390,6 +7418,7 @@ get_filter_hits(struct adapter *sc, uint uint64_t hits; memwin_info(sc, 0, &mw_base, NULL); + off = position_memwin(sc, 0, tcb_base + (fid + sc->tids.ftid_base) * TCB_SIZE); if (is_t4(sc)) { @@ -7471,12 +7500,10 @@ set_filter(struct adapter *sc, struct t4 goto done; } - /* Validate against the global filter mode */ - if ((sc->params.tp.vlan_pri_map | fspec_to_fconf(&t->fs)) != - sc->params.tp.vlan_pri_map) { - rc = E2BIG; + /* Validate against the global filter mode and ingress config */ + rc = check_fspec_against_fconf_iconf(sc, &t->fs); + if (rc != 0) goto done; - } if (t->fs.action == FILTER_SWITCH && t->fs.eport >= nports) { rc = EINVAL; @@ -7639,7 +7666,7 @@ set_filter_wr(struct adapter *sc, int fi { struct filter_entry *f = &sc->tids.ftid_tab[fidx]; struct fw_filter_wr *fwr; - unsigned int ftid; + unsigned int ftid, vnic_vld, vnic_vld_mask; struct wrq_cookie cookie; ASSERT_SYNCHRONIZED_OP(sc); @@ -7657,6 +7684,18 @@ set_filter_wr(struct adapter *sc, int fi } } + /* Already validated against fconf, iconf */ + MPASS((f->fs.val.pfvf_vld & f->fs.val.ovlan_vld) == 0); + MPASS((f->fs.mask.pfvf_vld & f->fs.mask.ovlan_vld) == 0); + if (f->fs.val.pfvf_vld || f->fs.val.ovlan_vld) + vnic_vld = 1; + else + vnic_vld = 0; + if (f->fs.mask.pfvf_vld || f->fs.mask.ovlan_vld) + vnic_vld_mask = 1; + else + vnic_vld_mask = 0; + ftid = sc->tids.ftid_base + fidx; fwr = start_wrq_wr(&sc->sge.mgmtq, howmany(sizeof(*fwr), 16), &cookie); @@ -7694,9 +7733,9 @@ set_filter_wr(struct adapter *sc, int fi (V_FW_FILTER_WR_FRAG(f->fs.val.frag) | V_FW_FILTER_WR_FRAGM(f->fs.mask.frag) | V_FW_FILTER_WR_IVLAN_VLD(f->fs.val.vlan_vld) | - V_FW_FILTER_WR_OVLAN_VLD(f->fs.val.vnic_vld) | + V_FW_FILTER_WR_OVLAN_VLD(vnic_vld) | V_FW_FILTER_WR_IVLAN_VLDM(f->fs.mask.vlan_vld) | - V_FW_FILTER_WR_OVLAN_VLDM(f->fs.mask.vnic_vld)); + V_FW_FILTER_WR_OVLAN_VLDM(vnic_vld_mask)); fwr->smac_sel = 0; fwr->rx_chan_rx_rpl_iq = htobe16(V_FW_FILTER_WR_RX_CHAN(0) | V_FW_FILTER_WR_RX_RPL_IQ(sc->sge.fwq.abs_id)); Modified: head/tools/tools/cxgbetool/cxgbetool.c ============================================================================== --- head/tools/tools/cxgbetool/cxgbetool.c Tue Mar 8 00:46:03 2016 (r296480) +++ head/tools/tools/cxgbetool/cxgbetool.c Tue Mar 8 02:04:05 2016 (r296481) @@ -532,7 +532,10 @@ do_show_info_header(uint32_t mode) break; case T4_FILTER_VNIC: - printf(" vld:VNIC"); + if (mode & T4_FILTER_IC_VNIC) + printf(" VFvld:PF:VF"); + else + printf(" vld:oVLAN"); break; case T4_FILTER_VLAN: @@ -789,11 +792,19 @@ do_show_one_filter_info(struct t4_filter break; case T4_FILTER_VNIC: - printf(" %1d:%1x:%02x/%1d:%1x:%02x", - t->fs.val.vnic_vld, (t->fs.val.vnic >> 7) & 0x7, - t->fs.val.vnic & 0x7f, t->fs.mask.vnic_vld, - (t->fs.mask.vnic >> 7) & 0x7, - t->fs.mask.vnic & 0x7f); + if (mode & T4_FILTER_IC_VNIC) { + printf(" %1d:%1x:%02x/%1d:%1x:%02x", + t->fs.val.pfvf_vld, + (t->fs.val.vnic >> 13) & 0x7, + t->fs.val.vnic & 0x1fff, + t->fs.mask.pfvf_vld, + (t->fs.mask.vnic >> 13) & 0x7, + t->fs.mask.vnic & 0x1fff); + } else { + printf(" %1d:%04x/%1d:%04x", + t->fs.val.ovlan_vld, t->fs.val.vnic, + t->fs.mask.ovlan_vld, t->fs.mask.vnic); + } break; case T4_FILTER_VLAN: @@ -971,8 +982,12 @@ get_filter_mode(void) if (mode & T4_FILTER_VLAN) printf("vlan "); - if (mode & T4_FILTER_VNIC) - printf("vnic/ovlan "); + if (mode & T4_FILTER_VNIC) { + if (mode & T4_FILTER_IC_VNIC) + printf("vnic_id "); + else + printf("ovlan "); + } if (mode & T4_FILTER_PORT) printf("iport "); @@ -989,6 +1004,7 @@ static int set_filter_mode(int argc, const char *argv[]) { uint32_t mode = 0; + int vnic = 0, ovlan = 0; for (; argc; argc--, argv++) { if (!strcmp(argv[0], "frag")) @@ -1012,9 +1028,16 @@ set_filter_mode(int argc, const char *ar if (!strcmp(argv[0], "vlan")) mode |= T4_FILTER_VLAN; - if (!strcmp(argv[0], "ovlan") || - !strcmp(argv[0], "vnic")) + if (!strcmp(argv[0], "ovlan")) { + mode |= T4_FILTER_VNIC; + ovlan++; + } + + if (!strcmp(argv[0], "vnic_id")) { mode |= T4_FILTER_VNIC; + mode |= T4_FILTER_IC_VNIC; + vnic++; + } if (!strcmp(argv[0], "iport")) mode |= T4_FILTER_PORT; @@ -1023,6 +1046,11 @@ set_filter_mode(int argc, const char *ar mode |= T4_FILTER_FCoE; } + if (vnic > 0 && ovlan > 0) { + warnx("\"vnic_id\" and \"ovlan\" are mutually exclusive."); + return (EINVAL); + } + return doit(CHELSIO_T4_SET_FILTER_MODE, &mode); } @@ -1081,18 +1109,27 @@ set_filter(uint32_t idx, int argc, const } else if (!parse_val_mask("ovlan", args, &val, &mask)) { t.fs.val.vnic = val; t.fs.mask.vnic = mask; - t.fs.val.vnic_vld = 1; - t.fs.mask.vnic_vld = 1; - } else if (!parse_val_mask("vnic", args, &val, &mask)) { - t.fs.val.vnic = val; - t.fs.mask.vnic = mask; - t.fs.val.vnic_vld = 1; - t.fs.mask.vnic_vld = 1; + t.fs.val.ovlan_vld = 1; + t.fs.mask.ovlan_vld = 1; } else if (!parse_val_mask("ivlan", args, &val, &mask)) { t.fs.val.vlan = val; t.fs.mask.vlan = mask; t.fs.val.vlan_vld = 1; t.fs.mask.vlan_vld = 1; + } else if (!parse_val_mask("pf", args, &val, &mask)) { + t.fs.val.vnic &= 0x1fff; + t.fs.val.vnic |= (val & 0x7) << 13; + t.fs.mask.vnic &= 0x1fff; + t.fs.mask.vnic |= (mask & 0x7) << 13; + t.fs.val.pfvf_vld = 1; + t.fs.mask.pfvf_vld = 1; + } else if (!parse_val_mask("vf", args, &val, &mask)) { + t.fs.val.vnic &= 0xe000; + t.fs.val.vnic |= val & 0x1fff; + t.fs.mask.vnic &= 0xe000; + t.fs.mask.vnic |= mask & 0x1fff; + t.fs.val.pfvf_vld = 1; + t.fs.mask.pfvf_vld = 1; } else if (!parse_val_mask("tos", args, &val, &mask)) { t.fs.val.tos = val; t.fs.mask.tos = mask; @@ -1228,6 +1265,10 @@ set_filter(uint32_t idx, int argc, const " action \"drop\" or \"switch\""); return (EINVAL); } + if (t.fs.val.ovlan_vld && t.fs.val.pfvf_vld) { + warnx("ovlan and vnic_id (pf/vf) are mutually exclusive"); + return (EINVAL); + } t.fs.type = (af == AF_INET6 ? 1 : 0); /* default IPv4 */ return doit(CHELSIO_T4_SET_FILTER, &t); From owner-svn-src-all@freebsd.org Tue Mar 8 02:44:33 2016 Return-Path: Delivered-To: svn-src-all@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 DEA73AC2AAC; Tue, 8 Mar 2016 02:44:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A991DD14; Tue, 8 Mar 2016 02:44:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u282iWO3079804; Tue, 8 Mar 2016 02:44:32 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u282iWEW079801; Tue, 8 Mar 2016 02:44:32 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080244.u282iWEW079801@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 02:44:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296485 - in head/sys/dev/cxgbe: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 02:44:34 -0000 Author: np Date: Tue Mar 8 02:44:32 2016 New Revision: 296485 URL: https://svnweb.freebsd.org/changeset/base/296485 Log: cxgbe(4): Update the interrupt handlers for hardware errors. Obtained from: Chelsio Communications Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 02:34:37 2016 (r296484) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 02:44:32 2016 (r296485) @@ -32,6 +32,9 @@ #include "t4_hw.h" +#define GLBL_INTR_MASK (F_CIM | F_MPS | F_PL | F_PCIE | F_MC0 | F_EDC0 | \ + F_EDC1 | F_LE | F_TP | F_MA | F_PM_TX | F_PM_RX | F_ULP_RX | \ + F_CPL_SWITCH | F_SGE | F_ULP_TX) enum { MAX_NPORTS = 4, /* max # of ports */ @@ -501,6 +504,8 @@ int t4_init_tp_params(struct adapter *ad int t4_filter_field_shift(const struct adapter *adap, int filter_sel); int t4_port_init(struct port_info *p, int mbox, int pf, int vf); void t4_fatal_err(struct adapter *adapter); +void t4_db_full(struct adapter *adapter); +void t4_db_dropped(struct adapter *adapter); int t4_set_trace_filter(struct adapter *adapter, const struct trace_params *tp, int filter_index, int enable); void t4_get_trace_filter(struct adapter *adapter, struct trace_params *tp, Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 02:34:37 2016 (r296484) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 02:44:32 2016 (r296485) @@ -344,6 +344,43 @@ int t4_wr_mbox_meat(struct adapter *adap return -ETIMEDOUT; } +static int t4_edc_err_read(struct adapter *adap, int idx) +{ + u32 edc_ecc_err_addr_reg; + u32 edc_bist_status_rdata_reg; + + if (is_t4(adap)) { + CH_WARN(adap, "%s: T4 NOT supported.\n", __func__); + return 0; + } + if (idx != 0 && idx != 1) { + CH_WARN(adap, "%s: idx %d NOT supported.\n", __func__, idx); + return 0; + } + + edc_ecc_err_addr_reg = EDC_T5_REG(A_EDC_H_ECC_ERR_ADDR, idx); + edc_bist_status_rdata_reg = EDC_T5_REG(A_EDC_H_BIST_STATUS_RDATA, idx); + + CH_WARN(adap, + "edc%d err addr 0x%x: 0x%x.\n", + idx, edc_ecc_err_addr_reg, + t4_read_reg(adap, edc_ecc_err_addr_reg)); + CH_WARN(adap, + "bist: 0x%x, status %llx %llx %llx %llx %llx %llx %llx %llx %llx.\n", + edc_bist_status_rdata_reg, + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 8), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 16), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 24), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 32), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 40), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 48), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 56), + (unsigned long long)t4_read_reg64(adap, edc_bist_status_rdata_reg + 64)); + + return 0; +} + /** * t4_mc_read - read from MC through backdoor accesses * @adap: the adapter @@ -3867,11 +3904,14 @@ int t4_restart_aneg(struct adapter *adap return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); } +typedef void (*int_handler_t)(struct adapter *adap); + struct intr_info { - unsigned int mask; /* bits to check in interrupt status */ - const char *msg; /* message to print or NULL */ - short stat_idx; /* stat counter to increment or -1 */ - unsigned short fatal; /* whether the condition reported is fatal */ + unsigned int mask; /* bits to check in interrupt status */ + const char *msg; /* message to print or NULL */ + short stat_idx; /* stat counter to increment or -1 */ + unsigned short fatal; /* whether the condition reported is fatal */ + int_handler_t int_handler; /* platform-specific int handler */ }; /** @@ -3882,7 +3922,7 @@ struct intr_info { * * A table driven interrupt handler that applies a set of masks to an * interrupt status word and performs the corresponding actions if the - * interrupts described by the mask have occured. The actions include + * interrupts described by the mask have occurred. The actions include * optionally emitting a warning or alert message. The table is terminated * by an entry specifying mask 0. Returns the number of fatal interrupt * conditions. @@ -3899,15 +3939,17 @@ static int t4_handle_intr_status(struct continue; if (acts->fatal) { fatal++; - CH_ALERT(adapter, "%s (0x%x)\n", - acts->msg, status & acts->mask); + CH_ALERT(adapter, "%s (0x%x)\n", acts->msg, + status & acts->mask); } else if (acts->msg) - CH_WARN_RATELIMIT(adapter, "%s (0x%x)\n", - acts->msg, status & acts->mask); + CH_WARN_RATELIMIT(adapter, "%s (0x%x)\n", acts->msg, + status & acts->mask); + if (acts->int_handler) + acts->int_handler(adapter); mask |= acts->mask; } status &= mask; - if (status) /* clear processed interrupts */ + if (status) /* clear processed interrupts */ t4_write_reg(adapter, reg, status); return fatal; } @@ -3917,7 +3959,7 @@ static int t4_handle_intr_status(struct */ static void pcie_intr_handler(struct adapter *adapter) { - static struct intr_info sysbus_intr_info[] = { + static const struct intr_info sysbus_intr_info[] = { { F_RNPP, "RXNP array parity error", -1, 1 }, { F_RPCP, "RXPC array parity error", -1, 1 }, { F_RCIP, "RXCIF array parity error", -1, 1 }, @@ -3925,7 +3967,7 @@ static void pcie_intr_handler(struct ada { F_RFTP, "RXFT array parity error", -1, 1 }, { 0 } }; - static struct intr_info pcie_port_intr_info[] = { + static const struct intr_info pcie_port_intr_info[] = { { F_TPCP, "TXPC array parity error", -1, 1 }, { F_TNPP, "TXNP array parity error", -1, 1 }, { F_TFTP, "TXFT array parity error", -1, 1 }, @@ -3937,7 +3979,7 @@ static void pcie_intr_handler(struct ada { F_TDUE, "Tx uncorrectable data error", -1, 1 }, { 0 } }; - static struct intr_info pcie_intr_info[] = { + static const struct intr_info pcie_intr_info[] = { { F_MSIADDRLPERR, "MSI AddrL parity error", -1, 1 }, { F_MSIADDRHPERR, "MSI AddrH parity error", -1, 1 }, { F_MSIDATAPERR, "MSI data parity error", -1, 1 }, @@ -3972,7 +4014,7 @@ static void pcie_intr_handler(struct ada { 0 } }; - static struct intr_info t5_pcie_intr_info[] = { + static const struct intr_info t5_pcie_intr_info[] = { { F_MSTGRPPERR, "Master Response Read Queue parity error", -1, 1 }, { F_MSTTIMEOUTPERR, "Master Timeout FIFO parity error", -1, 1 }, @@ -4017,13 +4059,13 @@ static void pcie_intr_handler(struct ada if (is_t4(adapter)) fat = t4_handle_intr_status(adapter, - A_PCIE_CORE_UTL_SYSTEM_BUS_AGENT_STATUS, - sysbus_intr_info) + - t4_handle_intr_status(adapter, - A_PCIE_CORE_UTL_PCI_EXPRESS_PORT_STATUS, - pcie_port_intr_info) + - t4_handle_intr_status(adapter, A_PCIE_INT_CAUSE, - pcie_intr_info); + A_PCIE_CORE_UTL_SYSTEM_BUS_AGENT_STATUS, + sysbus_intr_info) + + t4_handle_intr_status(adapter, + A_PCIE_CORE_UTL_PCI_EXPRESS_PORT_STATUS, + pcie_port_intr_info) + + t4_handle_intr_status(adapter, A_PCIE_INT_CAUSE, + pcie_intr_info); else fat = t4_handle_intr_status(adapter, A_PCIE_INT_CAUSE, t5_pcie_intr_info); @@ -4036,7 +4078,7 @@ static void pcie_intr_handler(struct ada */ static void tp_intr_handler(struct adapter *adapter) { - static struct intr_info tp_intr_info[] = { + static const struct intr_info tp_intr_info[] = { { 0x3fffffff, "TP parity error", -1, 1 }, { F_FLMTXFLSTEMPTY, "TP out of Tx pages", -1, 1 }, { 0 } @@ -4054,13 +4096,13 @@ static void sge_intr_handler(struct adap u64 v; u32 err; - static struct intr_info sge_intr_info[] = { + static const struct intr_info sge_intr_info[] = { { F_ERR_CPL_EXCEED_IQE_SIZE, "SGE received CPL exceeding IQE size", -1, 1 }, { F_ERR_INVALID_CIDX_INC, "SGE GTS CIDX increment too large", -1, 0 }, { F_ERR_CPL_OPCODE_0, "SGE received 0-length CPL", -1, 0 }, - { F_ERR_DROPPED_DB, "SGE doorbell dropped", -1, 0 }, + { F_DBFIFO_LP_INT, NULL, -1, 0, t4_db_full }, { F_ERR_DATA_CPL_ON_HIGH_QID1 | F_ERR_DATA_CPL_ON_HIGH_QID0, "SGE IQID > 1023 received CPL for FL", -1, 0 }, { F_ERR_BAD_DB_PIDX3, "SGE DBP 3 pidx increment too large", -1, @@ -4073,23 +4115,47 @@ static void sge_intr_handler(struct adap 0 }, { F_ERR_ING_CTXT_PRIO, "SGE too many priority ingress contexts", -1, 0 }, - { F_ERR_EGR_CTXT_PRIO, - "SGE too many priority egress contexts", -1, 0 }, { F_INGRESS_SIZE_ERR, "SGE illegal ingress QID", -1, 0 }, { F_EGRESS_SIZE_ERR, "SGE illegal egress QID", -1, 0 }, { 0 } }; + static const struct intr_info t4t5_sge_intr_info[] = { + { F_ERR_DROPPED_DB, NULL, -1, 0, t4_db_dropped }, + { F_DBFIFO_HP_INT, NULL, -1, 0, t4_db_full }, + { F_ERR_EGR_CTXT_PRIO, + "SGE too many priority egress contexts", -1, 0 }, + { 0 } + }; + + /* + * For now, treat below interrupts as fatal so that we disable SGE and + * get better debug */ + static const struct intr_info t6_sge_intr_info[] = { + { F_ERR_PCIE_ERROR0 | F_ERR_PCIE_ERROR1, + "SGE PCIe error for a DBP thread", -1, 1 }, + { F_FATAL_WRE_LEN, + "SGE Actual WRE packet is less than advertized length", + -1, 1 }, + { 0 } + }; + v = (u64)t4_read_reg(adapter, A_SGE_INT_CAUSE1) | - ((u64)t4_read_reg(adapter, A_SGE_INT_CAUSE2) << 32); + ((u64)t4_read_reg(adapter, A_SGE_INT_CAUSE2) << 32); if (v) { CH_ALERT(adapter, "SGE parity error (%#llx)\n", - (unsigned long long)v); + (unsigned long long)v); t4_write_reg(adapter, A_SGE_INT_CAUSE1, v); t4_write_reg(adapter, A_SGE_INT_CAUSE2, v >> 32); } v |= t4_handle_intr_status(adapter, A_SGE_INT_CAUSE3, sge_intr_info); + if (chip_id(adapter) <= CHELSIO_T5) + v |= t4_handle_intr_status(adapter, A_SGE_INT_CAUSE3, + t4t5_sge_intr_info); + else + v |= t4_handle_intr_status(adapter, A_SGE_INT_CAUSE3, + t6_sge_intr_info); err = t4_read_reg(adapter, A_SGE_ERROR_STATS); if (err & F_ERROR_QID_VALID) { @@ -4114,7 +4180,7 @@ static void sge_intr_handler(struct adap */ static void cim_intr_handler(struct adapter *adapter) { - static struct intr_info cim_intr_info[] = { + static const struct intr_info cim_intr_info[] = { { F_PREFDROPINT, "CIM control register prefetch drop", -1, 1 }, { CIM_OBQ_INTR, "CIM OBQ parity error", -1, 1 }, { CIM_IBQ_INTR, "CIM IBQ parity error", -1, 1 }, @@ -4124,7 +4190,7 @@ static void cim_intr_handler(struct adap { F_TIEQOUTPARERRINT, "CIM TIEQ incoming parity error", -1, 1 }, { 0 } }; - static struct intr_info cim_upintr_info[] = { + static const struct intr_info cim_upintr_info[] = { { F_RSVDSPACEINT, "CIM reserved space access", -1, 1 }, { F_ILLTRANSINT, "CIM illegal transaction", -1, 1 }, { F_ILLWRINT, "CIM illegal write", -1, 1 }, @@ -4173,7 +4239,7 @@ static void cim_intr_handler(struct adap */ static void ulprx_intr_handler(struct adapter *adapter) { - static struct intr_info ulprx_intr_info[] = { + static const struct intr_info ulprx_intr_info[] = { { F_CAUSE_CTX_1, "ULPRX channel 1 context error", -1, 1 }, { F_CAUSE_CTX_0, "ULPRX channel 0 context error", -1, 1 }, { 0x7fffff, "ULPRX parity error", -1, 1 }, @@ -4189,7 +4255,7 @@ static void ulprx_intr_handler(struct ad */ static void ulptx_intr_handler(struct adapter *adapter) { - static struct intr_info ulptx_intr_info[] = { + static const struct intr_info ulptx_intr_info[] = { { F_PBL_BOUND_ERR_CH3, "ULPTX channel 3 PBL out of bounds", -1, 0 }, { F_PBL_BOUND_ERR_CH2, "ULPTX channel 2 PBL out of bounds", -1, @@ -4211,7 +4277,7 @@ static void ulptx_intr_handler(struct ad */ static void pmtx_intr_handler(struct adapter *adapter) { - static struct intr_info pmtx_intr_info[] = { + static const struct intr_info pmtx_intr_info[] = { { F_PCMD_LEN_OVFL0, "PMTX channel 0 pcmd too large", -1, 1 }, { F_PCMD_LEN_OVFL1, "PMTX channel 1 pcmd too large", -1, 1 }, { F_PCMD_LEN_OVFL2, "PMTX channel 2 pcmd too large", -1, 1 }, @@ -4234,7 +4300,7 @@ static void pmtx_intr_handler(struct ada */ static void pmrx_intr_handler(struct adapter *adapter) { - static struct intr_info pmrx_intr_info[] = { + static const struct intr_info pmrx_intr_info[] = { { F_ZERO_E_CMD_ERROR, "PMRX 0-length pcmd", -1, 1 }, { 0x3ffff0, "PMRX framing error", -1, 1 }, { F_OCSPI_PAR_ERROR, "PMRX ocspi parity error", -1, 1 }, @@ -4254,7 +4320,7 @@ static void pmrx_intr_handler(struct ada */ static void cplsw_intr_handler(struct adapter *adapter) { - static struct intr_info cplsw_intr_info[] = { + static const struct intr_info cplsw_intr_info[] = { { F_CIM_OP_MAP_PERR, "CPLSW CIM op_map parity error", -1, 1 }, { F_CIM_OVFL_ERROR, "CPLSW CIM overflow", -1, 1 }, { F_TP_FRAMING_ERROR, "CPLSW TP framing error", -1, 1 }, @@ -4273,7 +4339,8 @@ static void cplsw_intr_handler(struct ad */ static void le_intr_handler(struct adapter *adap) { - static struct intr_info le_intr_info[] = { + unsigned int chip_ver = chip_id(adap); + static const struct intr_info le_intr_info[] = { { F_LIPMISS, "LE LIP miss", -1, 0 }, { F_LIP0, "LE 0 LIP error", -1, 0 }, { F_PARITYERR, "LE parity error", -1, 1 }, @@ -4282,7 +4349,18 @@ static void le_intr_handler(struct adapt { 0 } }; - if (t4_handle_intr_status(adap, A_LE_DB_INT_CAUSE, le_intr_info)) + static const struct intr_info t6_le_intr_info[] = { + { F_T6_LIPMISS, "LE LIP miss", -1, 0 }, + { F_T6_LIP0, "LE 0 LIP error", -1, 0 }, + { F_TCAMINTPERR, "LE parity error", -1, 1 }, + { F_T6_UNKNOWNCMD, "LE unknown command", -1, 1 }, + { F_SSRAMINTPERR, "LE request queue parity error", -1, 1 }, + { 0 } + }; + + if (t4_handle_intr_status(adap, A_LE_DB_INT_CAUSE, + (chip_ver <= CHELSIO_T5) ? + le_intr_info : t6_le_intr_info)) t4_fatal_err(adap); } @@ -4291,11 +4369,11 @@ static void le_intr_handler(struct adapt */ static void mps_intr_handler(struct adapter *adapter) { - static struct intr_info mps_rx_intr_info[] = { + static const struct intr_info mps_rx_intr_info[] = { { 0xffffff, "MPS Rx parity error", -1, 1 }, { 0 } }; - static struct intr_info mps_tx_intr_info[] = { + static const struct intr_info mps_tx_intr_info[] = { { V_TPFIFO(M_TPFIFO), "MPS Tx TP FIFO parity error", -1, 1 }, { F_NCSIFIFO, "MPS Tx NC-SI FIFO parity error", -1, 1 }, { V_TXDATAFIFO(M_TXDATAFIFO), "MPS Tx data FIFO parity error", @@ -4307,26 +4385,26 @@ static void mps_intr_handler(struct adap { F_FRMERR, "MPS Tx framing error", -1, 1 }, { 0 } }; - static struct intr_info mps_trc_intr_info[] = { + static const struct intr_info mps_trc_intr_info[] = { { V_FILTMEM(M_FILTMEM), "MPS TRC filter parity error", -1, 1 }, { V_PKTFIFO(M_PKTFIFO), "MPS TRC packet FIFO parity error", -1, 1 }, { F_MISCPERR, "MPS TRC misc parity error", -1, 1 }, { 0 } }; - static struct intr_info mps_stat_sram_intr_info[] = { + static const struct intr_info mps_stat_sram_intr_info[] = { { 0x1fffff, "MPS statistics SRAM parity error", -1, 1 }, { 0 } }; - static struct intr_info mps_stat_tx_intr_info[] = { + static const struct intr_info mps_stat_tx_intr_info[] = { { 0xfffff, "MPS statistics Tx FIFO parity error", -1, 1 }, { 0 } }; - static struct intr_info mps_stat_rx_intr_info[] = { + static const struct intr_info mps_stat_rx_intr_info[] = { { 0xffffff, "MPS statistics Rx FIFO parity error", -1, 1 }, { 0 } }; - static struct intr_info mps_cls_intr_info[] = { + static const struct intr_info mps_cls_intr_info[] = { { F_MATCHSRAM, "MPS match SRAM parity error", -1, 1 }, { F_MATCHTCAM, "MPS match TCAM parity error", -1, 1 }, { F_HASHSRAM, "MPS hash SRAM parity error", -1, 1 }, @@ -4351,26 +4429,27 @@ static void mps_intr_handler(struct adap mps_cls_intr_info); t4_write_reg(adapter, A_MPS_INT_CAUSE, 0); - t4_read_reg(adapter, A_MPS_INT_CAUSE); /* flush */ + t4_read_reg(adapter, A_MPS_INT_CAUSE); /* flush */ if (fat) t4_fatal_err(adapter); } -#define MEM_INT_MASK (F_PERR_INT_CAUSE | F_ECC_CE_INT_CAUSE | F_ECC_UE_INT_CAUSE) +#define MEM_INT_MASK (F_PERR_INT_CAUSE | F_ECC_CE_INT_CAUSE | \ + F_ECC_UE_INT_CAUSE) /* * EDC/MC interrupt handler. */ static void mem_intr_handler(struct adapter *adapter, int idx) { - static const char name[3][5] = { "EDC0", "EDC1", "MC" }; + static const char name[4][7] = { "EDC0", "EDC1", "MC/MC0", "MC1" }; unsigned int addr, cnt_addr, v; if (idx <= MEM_EDC1) { addr = EDC_REG(A_EDC_INT_CAUSE, idx); cnt_addr = EDC_REG(A_EDC_ECC_STATUS, idx); - } else { + } else if (idx == MEM_MC) { if (is_t4(adapter)) { addr = A_MC_INT_CAUSE; cnt_addr = A_MC_ECC_STATUS; @@ -4378,22 +4457,28 @@ static void mem_intr_handler(struct adap addr = A_MC_P_INT_CAUSE; cnt_addr = A_MC_P_ECC_STATUS; } + } else { + addr = MC_REG(A_MC_P_INT_CAUSE, 1); + cnt_addr = MC_REG(A_MC_P_ECC_STATUS, 1); } v = t4_read_reg(adapter, addr) & MEM_INT_MASK; if (v & F_PERR_INT_CAUSE) - CH_ALERT(adapter, "%s FIFO parity error\n", name[idx]); + CH_ALERT(adapter, "%s FIFO parity error\n", + name[idx]); if (v & F_ECC_CE_INT_CAUSE) { u32 cnt = G_ECC_CECNT(t4_read_reg(adapter, cnt_addr)); + t4_edc_err_read(adapter, idx); + t4_write_reg(adapter, cnt_addr, V_ECC_CECNT(M_ECC_CECNT)); CH_WARN_RATELIMIT(adapter, "%u %s correctable ECC data error%s\n", cnt, name[idx], cnt > 1 ? "s" : ""); } if (v & F_ECC_UE_INT_CAUSE) - CH_ALERT(adapter, "%s uncorrectable ECC data error\n", - name[idx]); + CH_ALERT(adapter, + "%s uncorrectable ECC data error\n", name[idx]); t4_write_reg(adapter, addr, v); if (v & (F_PERR_INT_CAUSE | F_ECC_UE_INT_CAUSE)) @@ -4408,19 +4493,21 @@ static void ma_intr_handler(struct adapt u32 v, status = t4_read_reg(adapter, A_MA_INT_CAUSE); if (status & F_MEM_PERR_INT_CAUSE) { - CH_ALERT(adapter, "MA parity error, parity status %#x\n", - t4_read_reg(adapter, A_MA_PARITY_ERROR_STATUS1)); + CH_ALERT(adapter, + "MA parity error, parity status %#x\n", + t4_read_reg(adapter, A_MA_PARITY_ERROR_STATUS1)); if (is_t5(adapter)) CH_ALERT(adapter, - "MA parity error, parity status %#x\n", - t4_read_reg(adapter, - A_MA_PARITY_ERROR_STATUS2)); + "MA parity error, parity status %#x\n", + t4_read_reg(adapter, + A_MA_PARITY_ERROR_STATUS2)); } if (status & F_MEM_WRAP_INT_CAUSE) { v = t4_read_reg(adapter, A_MA_INT_WRAP_STATUS); - CH_ALERT(adapter, "MA address wrap-around error by client %u to" - " address %#x\n", G_MEM_WRAP_CLIENT_NUM(v), - G_MEM_WRAP_ADDRESS(v) << 4); + CH_ALERT(adapter, "MA address wrap-around error by " + "client %u to address %#x\n", + G_MEM_WRAP_CLIENT_NUM(v), + G_MEM_WRAP_ADDRESS(v) << 4); } t4_write_reg(adapter, A_MA_INT_CAUSE, status); t4_fatal_err(adapter); @@ -4431,7 +4518,7 @@ static void ma_intr_handler(struct adapt */ static void smb_intr_handler(struct adapter *adap) { - static struct intr_info smb_intr_info[] = { + static const struct intr_info smb_intr_info[] = { { F_MSTTXFIFOPARINT, "SMB master Tx FIFO parity error", -1, 1 }, { F_MSTRXFIFOPARINT, "SMB master Rx FIFO parity error", -1, 1 }, { F_SLVFIFOPARINT, "SMB slave FIFO parity error", -1, 1 }, @@ -4447,7 +4534,7 @@ static void smb_intr_handler(struct adap */ static void ncsi_intr_handler(struct adapter *adap) { - static struct intr_info ncsi_intr_info[] = { + static const struct intr_info ncsi_intr_info[] = { { F_CIM_DM_PRTY_ERR, "NC-SI CIM parity error", -1, 1 }, { F_MPS_DM_PRTY_ERR, "NC-SI MPS parity error", -1, 1 }, { F_TXFIFO_PRTY_ERR, "NC-SI Tx FIFO parity error", -1, 1 }, @@ -4472,14 +4559,17 @@ static void xgmac_intr_handler(struct ad int_cause_reg = T5_PORT_REG(port, A_MAC_PORT_INT_CAUSE); v = t4_read_reg(adap, int_cause_reg); + v &= (F_TXFIFO_PRTY_ERR | F_RXFIFO_PRTY_ERR); if (!v) return; if (v & F_TXFIFO_PRTY_ERR) - CH_ALERT(adap, "XGMAC %d Tx FIFO parity error\n", port); + CH_ALERT(adap, "XGMAC %d Tx FIFO parity error\n", + port); if (v & F_RXFIFO_PRTY_ERR) - CH_ALERT(adap, "XGMAC %d Rx FIFO parity error\n", port); + CH_ALERT(adap, "XGMAC %d Rx FIFO parity error\n", + port); t4_write_reg(adap, int_cause_reg, v); t4_fatal_err(adap); } @@ -4489,27 +4579,24 @@ static void xgmac_intr_handler(struct ad */ static void pl_intr_handler(struct adapter *adap) { - static struct intr_info pl_intr_info[] = { + static const struct intr_info pl_intr_info[] = { { F_FATALPERR, "Fatal parity error", -1, 1 }, { F_PERRVFID, "PL VFID_MAP parity error", -1, 1 }, { 0 } }; - static struct intr_info t5_pl_intr_info[] = { - { F_PL_BUSPERR, "PL bus parity error", -1, 1 }, + static const struct intr_info t5_pl_intr_info[] = { { F_FATALPERR, "Fatal parity error", -1, 1 }, { 0 } }; if (t4_handle_intr_status(adap, A_PL_PL_INT_CAUSE, - is_t4(adap) ? pl_intr_info : t5_pl_intr_info)) + is_t4(adap) ? + pl_intr_info : t5_pl_intr_info)) t4_fatal_err(adap); } #define PF_INTR_MASK (F_PFSW | F_PFCIM) -#define GLBL_INTR_MASK (F_CIM | F_MPS | F_PL | F_PCIE | F_MC | F_EDC0 | \ - F_EDC1 | F_LE | F_TP | F_MA | F_PM_TX | F_PM_RX | F_ULP_RX | \ - F_CPL_SWITCH | F_SGE | F_ULP_TX) /** * t4_slow_intr_handler - control path interrupt handler @@ -4535,18 +4622,20 @@ int t4_slow_intr_handler(struct adapter pl_intr_handler(adapter); if (cause & F_SMB) smb_intr_handler(adapter); - if (cause & F_XGMAC0) + if (cause & F_MAC0) xgmac_intr_handler(adapter, 0); - if (cause & F_XGMAC1) + if (cause & F_MAC1) xgmac_intr_handler(adapter, 1); - if (cause & F_XGMAC_KR0) + if (cause & F_MAC2) xgmac_intr_handler(adapter, 2); - if (cause & F_XGMAC_KR1) + if (cause & F_MAC3) xgmac_intr_handler(adapter, 3); if (cause & F_PCIE) pcie_intr_handler(adapter); - if (cause & F_MC) + if (cause & F_MC0) mem_intr_handler(adapter, MEM_MC); + if (is_t5(adapter) && (cause & F_MC1)) + mem_intr_handler(adapter, MEM_MC1); if (cause & F_EDC0) mem_intr_handler(adapter, MEM_EDC0); if (cause & F_EDC1) @@ -4572,7 +4661,7 @@ int t4_slow_intr_handler(struct adapter /* Clear the interrupts just processed for which we are the master. */ t4_write_reg(adapter, A_PL_INT_CAUSE, cause & GLBL_INTR_MASK); - (void) t4_read_reg(adapter, A_PL_INT_CAUSE); /* flush */ + (void)t4_read_reg(adapter, A_PL_INT_CAUSE); /* flush */ return 1; } @@ -4591,16 +4680,23 @@ int t4_slow_intr_handler(struct adapter */ void t4_intr_enable(struct adapter *adapter) { - u32 pf = G_SOURCEPF(t4_read_reg(adapter, A_PL_WHOAMI)); + u32 val = 0; + u32 whoami = t4_read_reg(adapter, A_PL_WHOAMI); + u32 pf = (chip_id(adapter) <= CHELSIO_T5 + ? G_SOURCEPF(whoami) + : G_T6_SOURCEPF(whoami)); + if (chip_id(adapter) <= CHELSIO_T5) + val = F_ERR_DROPPED_DB | F_ERR_EGR_CTXT_PRIO | F_DBFIFO_HP_INT; + else + val = F_ERR_PCIE_ERROR0 | F_ERR_PCIE_ERROR1 | F_FATAL_WRE_LEN; t4_write_reg(adapter, A_SGE_INT_ENABLE3, F_ERR_CPL_EXCEED_IQE_SIZE | F_ERR_INVALID_CIDX_INC | F_ERR_CPL_OPCODE_0 | - F_ERR_DROPPED_DB | F_ERR_DATA_CPL_ON_HIGH_QID1 | + F_ERR_DATA_CPL_ON_HIGH_QID1 | F_INGRESS_SIZE_ERR | F_ERR_DATA_CPL_ON_HIGH_QID0 | F_ERR_BAD_DB_PIDX3 | F_ERR_BAD_DB_PIDX2 | F_ERR_BAD_DB_PIDX1 | F_ERR_BAD_DB_PIDX0 | F_ERR_ING_CTXT_PRIO | - F_ERR_EGR_CTXT_PRIO | F_INGRESS_SIZE_ERR | - F_EGRESS_SIZE_ERR); + F_DBFIFO_LP_INT | F_EGRESS_SIZE_ERR | val); t4_write_reg(adapter, MYPF_REG(A_PL_PF_INT_ENABLE), PF_INTR_MASK); t4_set_reg_field(adapter, A_PL_INT_MAP0, 0, 1 << pf); } @@ -4615,7 +4711,10 @@ void t4_intr_enable(struct adapter *adap */ void t4_intr_disable(struct adapter *adapter) { - u32 pf = G_SOURCEPF(t4_read_reg(adapter, A_PL_WHOAMI)); + u32 whoami = t4_read_reg(adapter, A_PL_WHOAMI); + u32 pf = (chip_id(adapter) <= CHELSIO_T5 + ? G_SOURCEPF(whoami) + : G_T6_SOURCEPF(whoami)); t4_write_reg(adapter, MYPF_REG(A_PL_PF_INT_ENABLE), 0); t4_set_reg_field(adapter, A_PL_INT_MAP0, 1 << pf, 0); Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Tue Mar 8 02:34:37 2016 (r296484) +++ head/sys/dev/cxgbe/t4_main.c Tue Mar 8 02:44:32 2016 (r296485) @@ -8491,6 +8491,20 @@ t4_ioctl(struct cdev *dev, unsigned long return (rc); } +void +t4_db_full(struct adapter *sc) +{ + + CXGBE_UNIMPLEMENTED(__func__); +} + +void +t4_db_dropped(struct adapter *sc) +{ + + CXGBE_UNIMPLEMENTED(__func__); +} + #ifdef TCP_OFFLOAD void t4_iscsi_init(struct adapter *sc, u_int tag_mask, const u_int *pgsz_order) From owner-svn-src-all@freebsd.org Tue Mar 8 06:15:33 2016 Return-Path: Delivered-To: svn-src-all@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 EA598AC313E; Tue, 8 Mar 2016 06:15:32 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from anubis.delphij.net (anubis.delphij.net [IPv6:2001:470:1:117::25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "anubis.delphij.net", Issuer "StartCom Class 1 DV Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C9BAABA7; Tue, 8 Mar 2016 06:15:32 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from Xins-MBP.home.us.delphij.net (unknown [IPv6:2601:646:8f00:8a91:942e:de68:b2b8:eee5]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by anubis.delphij.net (Postfix) with ESMTPSA id 4D89FB6FA; Mon, 7 Mar 2016 22:15:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=delphij.net; s=anubis; t=1457417732; x=1457432132; bh=xEr8GK9mCgrj38LYG5lsqF0KXe1rosUTIam0dEUQspw=; h=Subject:To:References:From:Date:In-Reply-To; b=rfoSkFa3NVcl0PzdTaj1wE7MBjOk3eeuCisujoAWmfZSpImJzos5kaRoMlFk88uid +UEABxigDzLzaaJ0SztHvbXmnLKAtGtJMgKDFCJVpKZjsK1Vb2PPvauwoCgMgmU/K+ 2EcG/wZ89G413uQ6VTVICo+sFx2osDTyc08qUleU= Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... To: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> From: Xin Li Message-ID: <56DE6DFD.4020300@delphij.net> Date: Mon, 7 Mar 2016 22:15:25 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="UQnql2exfmWJPJB2qKsmCqsrrLP3R2bIn" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 06:15:33 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --UQnql2exfmWJPJB2qKsmCqsrrLP3R2bIn Content-Type: multipart/mixed; boundary="BPMUvGiHw06MSR6aTaC07PSHeE0N1t5wq" From: Xin Li To: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Message-ID: <56DE6DFD.4020300@delphij.net> Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> In-Reply-To: <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> --BPMUvGiHw06MSR6aTaC07PSHeE0N1t5wq Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 3/7/16 16:29, Mathieu Arnold wrote: > +--On 7 mars 2016 16:22:12 +0000 Xin LI wrote: > | Author: delphij > | Date: Mon Mar 7 16:22:11 2016 > | New Revision: 296465 > | URL: https://svnweb.freebsd.org/changeset/base/296465 > |=20 > | Log: > | Fix multiple OpenSSL vulnerabilities. > | =20 > | Security: FreeBSD-SA-16:12.openssl > | Approved by: so >=20 > After that, poudriere bulk fails with: >=20 > [00:00:07] =3D=3D=3D=3D>> Creating pkgng repository > Creating repository in /tmp/packages: 100% > Packing files for repository: 0%Child process pid=3D50970 terminated > abnormally: Segmentation fault: 11 > [00:00:08] =3D=3D=3D=3D>> Cleaning up > 9amd64-pkgng-default: removed > 9amd64-pkgng-default-n: removed >=20 > pkg-static is the one doing the segfault... I can't seem to be able to reproduce this, what ports are you trying to bulk? (Also note that after doing poudriere jail -u, the bulk seems to have rebuilt pkg, I'm not sure if that matters, but it's possible, do I need to explicitly specify something to avoid this?). Cheers, --BPMUvGiHw06MSR6aTaC07PSHeE0N1t5wq-- --UQnql2exfmWJPJB2qKsmCqsrrLP3R2bIn Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJW3m4DAAoJEJW2GBstM+nstxMQAKd6ppHUvoEIEV92BnvrIBMv DnZJJ5CqUTondssMgQ9d1NT7244eiJMzDM3oCi46l8SEwthRnQxVDySKtzq+t1Pl P4Bq4HQa5EJcS9qeO/KyoUIYD1HN3fkPiXyMd2ie0vFOKPomR+0rMvSCnTKB9RI7 1s67b7f3R39Qju30rQ9mi8Q7sy6rIBZD7fpBAz5AOG+PzVxCTLHt76RjYlG5xVmc K90byfIHsoZsgw0FeXLBO0GGKNAUljo7GWVL0d9b32kEZiwtXN8VsKw6MGvsAA3c qhoZdXWiIqPAnfSbwjVvSt4ghCWlH12wYI/6jL6rNA3yipGL6BRDSA18gpI817iF 3Qv65uI73gWZ8Pp94WmOFa5lEKlUAbbB9lzALWkcL4ONvSVIhO5H00J+UutRyATy nF1nZeH9re6nuULJToCUnd76MmaVAm920pO105K6jMXUPXxI5QetXvViFFgaEnvG pSf3kY3l+i9uI7l+YO/NJNQBa52I4vC4o0DDmoIhRSsaK24RLQQg6CCFEH/TIwjb ryTPdL+hK/ORCSNUqNDWNqLQpVSnEvnU4PKt7ODoJ0kxc3vSUkQRjzXQ8pj9Mtc/ WqQLxD2sZlY8HeghmxsYsvrhaxHeKcBY1uoYmNxkK7BI80TnIWBB8esXcZ8xmlKK 8tpvvLS3mt+5kPNTJmlm =vzZ5 -----END PGP SIGNATURE----- --UQnql2exfmWJPJB2qKsmCqsrrLP3R2bIn-- From owner-svn-src-all@freebsd.org Tue Mar 8 06:27:49 2016 Return-Path: Delivered-To: svn-src-all@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 2E431AC3402; Tue, 8 Mar 2016 06:27:49 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 07E11F76; Tue, 8 Mar 2016 06:27:48 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u286Rm3v046279; Tue, 8 Mar 2016 06:27:48 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u286Rlvl046277; Tue, 8 Mar 2016 06:27:47 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080627.u286Rlvl046277@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 06:27:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296488 - head/sys/dev/cxgbe/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 06:27:49 -0000 Author: np Date: Tue Mar 8 06:27:47 2016 New Revision: 296488 URL: https://svnweb.freebsd.org/changeset/base/296488 Log: cxgbe(4): Updates to mailbox routines in the shared code. Obtained from: Chelsio Communications Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 03:02:08 2016 (r296487) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 06:27:47 2016 (r296488) @@ -448,9 +448,19 @@ static inline unsigned int dack_ticks_to void t4_set_reg_field(struct adapter *adap, unsigned int addr, u32 mask, u32 val); +int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox, const void *cmd, + int size, void *rpl, bool sleep_ok, int timeout); int t4_wr_mbox_meat(struct adapter *adap, int mbox, const void *cmd, int size, void *rpl, bool sleep_ok); +static inline int t4_wr_mbox_timeout(struct adapter *adap, int mbox, + const void *cmd, int size, void *rpl, + int timeout) +{ + return t4_wr_mbox_meat_timeout(adap, mbox, cmd, size, rpl, true, + timeout); +} + static inline int t4_wr_mbox(struct adapter *adap, int mbox, const void *cmd, int size, void *rpl) { Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 03:02:08 2016 (r296487) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 06:27:47 2016 (r296488) @@ -211,7 +211,7 @@ static void t4_report_fw_error(struct ad pcie_fw = t4_read_reg(adap, A_PCIE_FW); if (pcie_fw & F_PCIE_FW_ERR) CH_ERR(adap, "Firmware reports adapter error: %s\n", - reason[G_PCIE_FW_EVAL(pcie_fw)]); + reason[G_PCIE_FW_EVAL(pcie_fw)]); } /* @@ -227,25 +227,27 @@ static void get_mbox_rpl(struct adapter /* * Handle a FW assertion reported in a mailbox. */ -static void fw_asrt(struct adapter *adap, u32 mbox_addr) +static void fw_asrt(struct adapter *adap, struct fw_debug_cmd *asrt) { - struct fw_debug_cmd asrt; - - get_mbox_rpl(adap, (__be64 *)&asrt, sizeof(asrt) / 8, mbox_addr); - CH_ALERT(adap, "FW assertion at %.16s:%u, val0 %#x, val1 %#x\n", - asrt.u.assert.filename_0_7, ntohl(asrt.u.assert.line), - ntohl(asrt.u.assert.x), ntohl(asrt.u.assert.y)); + CH_ALERT(adap, + "FW assertion at %.16s:%u, val0 %#x, val1 %#x\n", + asrt->u.assert.filename_0_7, + be32_to_cpu(asrt->u.assert.line), + be32_to_cpu(asrt->u.assert.x), + be32_to_cpu(asrt->u.assert.y)); } #define X_CIM_PF_NOACCESS 0xeeeeeeee /** - * t4_wr_mbox_meat - send a command to FW through the given mailbox + * t4_wr_mbox_meat_timeout - send a command to FW through the given mailbox * @adap: the adapter * @mbox: index of the mailbox to use * @cmd: the command to write * @size: command length in bytes * @rpl: where to optionally store the reply * @sleep_ok: if true we may sleep while awaiting command completion + * @timeout: time to wait for command to finish before timing out + * (negative implies @sleep_ok=false) * * Sends the given command to FW through the selected mailbox and waits * for the FW to execute the command. If @rpl is not %NULL it is used to @@ -254,14 +256,17 @@ static void fw_asrt(struct adapter *adap * INITIALIZE can take a considerable amount of time to execute. * @sleep_ok determines whether we may sleep while awaiting the response. * If sleeping is allowed we use progressive backoff otherwise we spin. + * Note that passing in a negative @timeout is an alternate mechanism + * for specifying @sleep_ok=false. This is useful when a higher level + * interface allows for specification of @timeout but not @sleep_ok ... * * The return value is 0 on success or a negative errno on failure. A * failure can happen either because we are not able to execute the * command or FW executes it but signals an error. In the latter case * the return value is the error code indicated by FW (negated). */ -int t4_wr_mbox_meat(struct adapter *adap, int mbox, const void *cmd, int size, - void *rpl, bool sleep_ok) +int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox, const void *cmd, + int size, void *rpl, bool sleep_ok, int timeout) { /* * We delay in small increments at first in an effort to maintain @@ -271,43 +276,97 @@ int t4_wr_mbox_meat(struct adapter *adap static const int delay[] = { 1, 1, 3, 5, 10, 10, 20, 50, 100 }; - u32 v; u64 res; - int i, ms, delay_idx; + int i, ms, delay_idx, ret; const __be64 *p = cmd; u32 data_reg = PF_REG(mbox, A_CIM_PF_MAILBOX_DATA); u32 ctl_reg = PF_REG(mbox, A_CIM_PF_MAILBOX_CTRL); + u32 ctl; + __be64 cmd_rpl[MBOX_LEN/8]; + u32 pcie_fw; if ((size & 15) || size > MBOX_LEN) return -EINVAL; - v = G_MBOWNER(t4_read_reg(adap, ctl_reg)); - for (i = 0; v == X_MBOWNER_NONE && i < 3; i++) - v = G_MBOWNER(t4_read_reg(adap, ctl_reg)); + /* + * If we have a negative timeout, that implies that we can't sleep. + */ + if (timeout < 0) { + sleep_ok = false; + timeout = -timeout; + } - if (v != X_MBOWNER_PL) - return v ? -EBUSY : -ETIMEDOUT; + /* + * Attempt to gain access to the mailbox. + */ + for (i = 0; i < 4; i++) { + ctl = t4_read_reg(adap, ctl_reg); + v = G_MBOWNER(ctl); + if (v != X_MBOWNER_NONE) + break; + } + + /* + * If we were unable to gain access, dequeue ourselves from the + * mailbox atomic access list and report the error to our caller. + */ + if (v != X_MBOWNER_PL) { + t4_report_fw_error(adap); + ret = (v == X_MBOWNER_FW) ? -EBUSY : -ETIMEDOUT; + return ret; + } + + /* + * If we gain ownership of the mailbox and there's a "valid" message + * in it, this is likely an asynchronous error message from the + * firmware. So we'll report that and then proceed on with attempting + * to issue our own command ... which may well fail if the error + * presaged the firmware crashing ... + */ + if (ctl & F_MBMSGVALID) { + CH_ERR(adap, "found VALID command in mbox %u: " + "%llx %llx %llx %llx %llx %llx %llx %llx\n", mbox, + (unsigned long long)t4_read_reg64(adap, data_reg), + (unsigned long long)t4_read_reg64(adap, data_reg + 8), + (unsigned long long)t4_read_reg64(adap, data_reg + 16), + (unsigned long long)t4_read_reg64(adap, data_reg + 24), + (unsigned long long)t4_read_reg64(adap, data_reg + 32), + (unsigned long long)t4_read_reg64(adap, data_reg + 40), + (unsigned long long)t4_read_reg64(adap, data_reg + 48), + (unsigned long long)t4_read_reg64(adap, data_reg + 56)); + } + /* + * Copy in the new mailbox command and send it on its way ... + */ for (i = 0; i < size; i += 8, p++) t4_write_reg64(adap, data_reg + i, be64_to_cpu(*p)); CH_DUMP_MBOX(adap, mbox, data_reg); t4_write_reg(adap, ctl_reg, F_MBMSGVALID | V_MBOWNER(X_MBOWNER_FW)); - t4_read_reg(adap, ctl_reg); /* flush write */ + t4_read_reg(adap, ctl_reg); /* flush write */ delay_idx = 0; ms = delay[0]; - for (i = 0; i < FW_CMD_MAX_TIMEOUT; i += ms) { + /* + * Loop waiting for the reply; bail out if we time out or the firmware + * reports an error. + */ + for (i = 0; + !((pcie_fw = t4_read_reg(adap, A_PCIE_FW)) & F_PCIE_FW_ERR) && + i < timeout; + i += ms) { if (sleep_ok) { ms = delay[delay_idx]; /* last element may repeat */ if (delay_idx < ARRAY_SIZE(delay) - 1) delay_idx++; msleep(ms); - } else + } else { mdelay(ms); + } v = t4_read_reg(adap, ctl_reg); if (v == X_CIM_PF_NOACCESS) @@ -319,15 +378,20 @@ int t4_wr_mbox_meat(struct adapter *adap continue; } + /* + * Retrieve the command reply and release the mailbox. + */ + get_mbox_rpl(adap, cmd_rpl, size/8, data_reg); + t4_write_reg(adap, ctl_reg, V_MBOWNER(X_MBOWNER_NONE)); + CH_DUMP_MBOX(adap, mbox, data_reg); - res = t4_read_reg64(adap, data_reg); + res = be64_to_cpu(cmd_rpl[0]); if (G_FW_CMD_OP(res >> 32) == FW_DEBUG_CMD) { - fw_asrt(adap, data_reg); + fw_asrt(adap, (struct fw_debug_cmd *)cmd_rpl); res = V_FW_CMD_RETVAL(EIO); } else if (rpl) - get_mbox_rpl(adap, rpl, size / 8, data_reg); - t4_write_reg(adap, ctl_reg, V_MBOWNER(X_MBOWNER_NONE)); + memcpy(rpl, cmd_rpl, size); return -G_FW_CMD_RETVAL((int)res); } } @@ -337,11 +401,21 @@ int t4_wr_mbox_meat(struct adapter *adap * the error and also check to see if the firmware reported any * errors ... */ + ret = (pcie_fw & F_PCIE_FW_ERR) ? -ENXIO : -ETIMEDOUT; CH_ERR(adap, "command %#x in mailbox %d timed out\n", *(const u8 *)cmd, mbox); - if (t4_read_reg(adap, A_PCIE_FW) & F_PCIE_FW_ERR) - t4_report_fw_error(adap); - return -ETIMEDOUT; + + t4_report_fw_error(adap); + t4_fatal_err(adap); + return ret; +} + +int t4_wr_mbox_meat(struct adapter *adap, int mbox, const void *cmd, int size, + void *rpl, bool sleep_ok) +{ + return t4_wr_mbox_meat_timeout(adap, mbox, cmd, size, rpl, + sleep_ok, FW_CMD_MAX_TIMEOUT); + } static int t4_edc_err_read(struct adapter *adap, int idx) From owner-svn-src-all@freebsd.org Tue Mar 8 07:48:57 2016 Return-Path: Delivered-To: svn-src-all@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 52609AC31B3; Tue, 8 Mar 2016 07:48:57 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1C28C3A4; Tue, 8 Mar 2016 07:48:57 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u287mu8I070822; Tue, 8 Mar 2016 07:48:56 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u287muuq070817; Tue, 8 Mar 2016 07:48:56 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080748.u287muuq070817@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 07:48:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296489 - in head/sys/dev/cxgbe: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 07:48:57 -0000 Author: np Date: Tue Mar 8 07:48:55 2016 New Revision: 296489 URL: https://svnweb.freebsd.org/changeset/base/296489 Log: cxgbe(4): Updates to the shared routines that deal with the serial EEPROM, flash, and VPD. Obtained from: Chelsio Communications Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/cxgbe/osdep.h head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Tue Mar 8 06:27:47 2016 (r296488) +++ head/sys/dev/cxgbe/adapter.h Tue Mar 8 07:48:55 2016 (r296489) @@ -734,6 +734,8 @@ struct adapter { unsigned int pf; unsigned int mbox; + unsigned int vpd_busy; + unsigned int vpd_flag; /* Interrupt information */ int intr_type; Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 06:27:47 2016 (r296488) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 07:48:55 2016 (r296489) @@ -499,20 +499,24 @@ int t4_eeprom_ptov(unsigned int phys_add int t4_seeprom_wp(struct adapter *adapter, int enable); int t4_read_flash(struct adapter *adapter, unsigned int addr, unsigned int nwords, u32 *data, int byte_oriented); +int t4_write_flash(struct adapter *adapter, unsigned int addr, + unsigned int n, const u8 *data, int byte_oriented); int t4_load_fw(struct adapter *adapter, const u8 *fw_data, unsigned int size); +int t4_load_bootcfg(struct adapter *adapter, const u8 *cfg_data, unsigned int size); int t4_load_boot(struct adapter *adap, u8 *boot_data, unsigned int boot_addr, unsigned int size); +int t4_flash_erase_sectors(struct adapter *adapter, int start, int end); int t4_flash_cfg_addr(struct adapter *adapter); int t4_load_cfg(struct adapter *adapter, const u8 *cfg_data, unsigned int size); int t4_get_fw_version(struct adapter *adapter, u32 *vers); int t4_get_tp_version(struct adapter *adapter, u32 *vers); int t4_check_fw_version(struct adapter *adapter); int t4_init_hw(struct adapter *adapter, u32 fw_params); -int t4_prep_adapter(struct adapter *adapter); +int t4_prep_adapter(struct adapter *adapter, u8 *buf); int t4_init_sge_params(struct adapter *adapter); int t4_init_tp_params(struct adapter *adap); int t4_filter_field_shift(const struct adapter *adap, int filter_sel); -int t4_port_init(struct port_info *p, int mbox, int pf, int vf); +int t4_port_init(struct adapter *adap, int mbox, int pf, int vf, int port_id); void t4_fatal_err(struct adapter *adapter); void t4_db_full(struct adapter *adapter); void t4_db_dropped(struct adapter *adapter); @@ -557,6 +561,7 @@ int t4_cim_read_la(struct adapter *adap, void t4_cim_read_pif_la(struct adapter *adap, u32 *pif_req, u32 *pif_rsp, unsigned int *pif_req_wrptr, unsigned int *pif_rsp_wrptr); void t4_cim_read_ma_la(struct adapter *adap, u32 *ma_req, u32 *ma_rsp); +int t4_get_flash_params(struct adapter *adapter); int t4_mc_read(struct adapter *adap, int idx, u32 addr, __be32 *data, u64 *parity); int t4_edc_read(struct adapter *adap, int idx, u32 addr, __be32 *data, u64 *parity); Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 06:27:47 2016 (r296488) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 07:48:55 2016 (r296489) @@ -2536,7 +2536,7 @@ void t4_get_regs(struct adapter *adap, u /* * Partial EEPROM Vital Product Data structure. Includes only the ID and - * VPD-R header. + * VPD-R sections. */ struct t4_vpd_hdr { u8 id_tag; @@ -2549,14 +2549,65 @@ struct t4_vpd_hdr { /* * EEPROM reads take a few tens of us while writes can take a bit over 5 ms. */ -#define EEPROM_MAX_RD_POLL 40 -#define EEPROM_MAX_WR_POLL 6 -#define EEPROM_STAT_ADDR 0x7bfc -#define VPD_BASE 0x400 -#define VPD_BASE_OLD 0 -#define VPD_LEN 1024 +#define EEPROM_DELAY 10 /* 10us per poll spin */ +#define EEPROM_MAX_POLL 5000 /* x 5000 == 50ms */ + +#define EEPROM_STAT_ADDR 0x7bfc +#define VPD_BASE 0x400 +#define VPD_BASE_OLD 0 +#define VPD_LEN 1024 #define VPD_INFO_FLD_HDR_SIZE 3 -#define CHELSIO_VPD_UNIQUE_ID 0x82 +#define CHELSIO_VPD_UNIQUE_ID 0x82 + +/* + * Small utility function to wait till any outstanding VPD Access is complete. + * We have a per-adapter state variable "VPD Busy" to indicate when we have a + * VPD Access in flight. This allows us to handle the problem of having a + * previous VPD Access time out and prevent an attempt to inject a new VPD + * Request before any in-flight VPD reguest has completed. + */ +static int t4_seeprom_wait(struct adapter *adapter) +{ + unsigned int base = adapter->params.pci.vpd_cap_addr; + int max_poll; + + /* + * If no VPD Access is in flight, we can just return success right + * away. + */ + if (!adapter->vpd_busy) + return 0; + + /* + * Poll the VPD Capability Address/Flag register waiting for it + * to indicate that the operation is complete. + */ + max_poll = EEPROM_MAX_POLL; + do { + u16 val; + + udelay(EEPROM_DELAY); + t4_os_pci_read_cfg2(adapter, base + PCI_VPD_ADDR, &val); + + /* + * If the operation is complete, mark the VPD as no longer + * busy and return success. + */ + if ((val & PCI_VPD_ADDR_F) == adapter->vpd_flag) { + adapter->vpd_busy = 0; + return 0; + } + } while (--max_poll); + + /* + * Failure! Note that we leave the VPD Busy status set in order to + * avoid pushing a new VPD Access request into the VPD Capability till + * the current operation eventually succeeds. It's a bug to issue a + * new request when an existing request is in flight and will result + * in corrupt hardware state. + */ + return -ETIMEDOUT; +} /** * t4_seeprom_read - read a serial EEPROM location @@ -2570,23 +2621,44 @@ struct t4_vpd_hdr { */ int t4_seeprom_read(struct adapter *adapter, u32 addr, u32 *data) { - u16 val; - int attempts = EEPROM_MAX_RD_POLL; unsigned int base = adapter->params.pci.vpd_cap_addr; + int ret; + /* + * VPD Accesses must alway be 4-byte aligned! + */ if (addr >= EEPROMVSIZE || (addr & 3)) return -EINVAL; - t4_os_pci_write_cfg2(adapter, base + PCI_VPD_ADDR, (u16)addr); - do { - udelay(10); - t4_os_pci_read_cfg2(adapter, base + PCI_VPD_ADDR, &val); - } while (!(val & PCI_VPD_ADDR_F) && --attempts); + /* + * Wait for any previous operation which may still be in flight to + * complete. + */ + ret = t4_seeprom_wait(adapter); + if (ret) { + CH_ERR(adapter, "VPD still busy from previous operation\n"); + return ret; + } - if (!(val & PCI_VPD_ADDR_F)) { - CH_ERR(adapter, "reading EEPROM address 0x%x failed\n", addr); - return -EIO; + /* + * Issue our new VPD Read request, mark the VPD as being busy and wait + * for our request to complete. If it doesn't complete, note the + * error and return it to our caller. Note that we do not reset the + * VPD Busy status! + */ + t4_os_pci_write_cfg2(adapter, base + PCI_VPD_ADDR, (u16)addr); + adapter->vpd_busy = 1; + adapter->vpd_flag = PCI_VPD_ADDR_F; + ret = t4_seeprom_wait(adapter); + if (ret) { + CH_ERR(adapter, "VPD read of address %#x failed\n", addr); + return ret; } + + /* + * Grab the returned data, swizzle it into our endianess and + * return success. + */ t4_os_pci_read_cfg4(adapter, base + PCI_VPD_DATA, data); *data = le32_to_cpu(*data); return 0; @@ -2604,26 +2676,59 @@ int t4_seeprom_read(struct adapter *adap */ int t4_seeprom_write(struct adapter *adapter, u32 addr, u32 data) { - u16 val; - int attempts = EEPROM_MAX_WR_POLL; unsigned int base = adapter->params.pci.vpd_cap_addr; + int ret; + u32 stats_reg; + int max_poll; + /* + * VPD Accesses must alway be 4-byte aligned! + */ if (addr >= EEPROMVSIZE || (addr & 3)) return -EINVAL; + /* + * Wait for any previous operation which may still be in flight to + * complete. + */ + ret = t4_seeprom_wait(adapter); + if (ret) { + CH_ERR(adapter, "VPD still busy from previous operation\n"); + return ret; + } + + /* + * Issue our new VPD Read request, mark the VPD as being busy and wait + * for our request to complete. If it doesn't complete, note the + * error and return it to our caller. Note that we do not reset the + * VPD Busy status! + */ t4_os_pci_write_cfg4(adapter, base + PCI_VPD_DATA, cpu_to_le32(data)); t4_os_pci_write_cfg2(adapter, base + PCI_VPD_ADDR, (u16)addr | PCI_VPD_ADDR_F); + adapter->vpd_busy = 1; + adapter->vpd_flag = 0; + ret = t4_seeprom_wait(adapter); + if (ret) { + CH_ERR(adapter, "VPD write of address %#x failed\n", addr); + return ret; + } + + /* + * Reset PCI_VPD_DATA register after a transaction and wait for our + * request to complete. If it doesn't complete, return error. + */ + t4_os_pci_write_cfg4(adapter, base + PCI_VPD_DATA, 0); + max_poll = EEPROM_MAX_POLL; do { - msleep(1); - t4_os_pci_read_cfg2(adapter, base + PCI_VPD_ADDR, &val); - } while ((val & PCI_VPD_ADDR_F) && --attempts); + udelay(EEPROM_DELAY); + t4_seeprom_read(adapter, EEPROM_STAT_ADDR, &stats_reg); + } while ((stats_reg & 0x1) && --max_poll); + if (!max_poll) + return -ETIMEDOUT; - if (val & PCI_VPD_ADDR_F) { - CH_ERR(adapter, "write to EEPROM address 0x%x failed\n", addr); - return -EIO; - } + /* Return success! */ return 0; } @@ -2672,33 +2777,33 @@ int t4_seeprom_wp(struct adapter *adapte * get_vpd_keyword_val - Locates an information field keyword in the VPD * @v: Pointer to buffered vpd data structure * @kw: The keyword to search for - * + * * Returns the value of the information field keyword or * -ENOENT otherwise. */ static int get_vpd_keyword_val(const struct t4_vpd_hdr *v, const char *kw) { - int i; - unsigned int offset , len; - const u8 *buf = &v->id_tag; - const u8 *vpdr_len = &v->vpdr_tag; - offset = sizeof(struct t4_vpd_hdr); - len = (u16)vpdr_len[1] + ((u16)vpdr_len[2] << 8); - - if (len + sizeof(struct t4_vpd_hdr) > VPD_LEN) { - return -ENOENT; - } - - for (i = offset; i + VPD_INFO_FLD_HDR_SIZE <= offset + len;) { - if(memcmp(buf + i , kw , 2) == 0){ - i += VPD_INFO_FLD_HDR_SIZE; - return i; - } + int i; + unsigned int offset , len; + const u8 *buf = (const u8 *)v; + const u8 *vpdr_len = &v->vpdr_len[0]; + offset = sizeof(struct t4_vpd_hdr); + len = (u16)vpdr_len[0] + ((u16)vpdr_len[1] << 8); + + if (len + sizeof(struct t4_vpd_hdr) > VPD_LEN) { + return -ENOENT; + } + + for (i = offset; i + VPD_INFO_FLD_HDR_SIZE <= offset + len;) { + if(memcmp(buf + i , kw , 2) == 0){ + i += VPD_INFO_FLD_HDR_SIZE; + return i; + } - i += VPD_INFO_FLD_HDR_SIZE + buf[i+2]; - } + i += VPD_INFO_FLD_HDR_SIZE + buf[i+2]; + } - return -ENOENT; + return -ENOENT; } @@ -2706,14 +2811,16 @@ static int get_vpd_keyword_val(const str * get_vpd_params - read VPD parameters from VPD EEPROM * @adapter: adapter to read * @p: where to store the parameters + * @vpd: caller provided temporary space to read the VPD into * * Reads card parameters stored in VPD EEPROM. */ -static int get_vpd_params(struct adapter *adapter, struct vpd_params *p) +static int get_vpd_params(struct adapter *adapter, struct vpd_params *p, + u8 *vpd) { int i, ret, addr; int ec, sn, pn, na; - u8 vpd[VPD_LEN], csum; + u8 csum; const struct t4_vpd_hdr *v; /* @@ -2721,31 +2828,43 @@ static int get_vpd_params(struct adapter * it at 0. */ ret = t4_seeprom_read(adapter, VPD_BASE, (u32 *)(vpd)); + if (ret) + return (ret); + + /* + * The VPD shall have a unique identifier specified by the PCI SIG. + * For chelsio adapters, the identifier is 0x82. The first byte of a VPD + * shall be CHELSIO_VPD_UNIQUE_ID (0x82). The VPD programming software + * is expected to automatically put this entry at the + * beginning of the VPD. + */ addr = *vpd == CHELSIO_VPD_UNIQUE_ID ? VPD_BASE : VPD_BASE_OLD; - for (i = 0; i < sizeof(vpd); i += 4) { + for (i = 0; i < VPD_LEN; i += 4) { ret = t4_seeprom_read(adapter, addr + i, (u32 *)(vpd + i)); if (ret) return ret; } v = (const struct t4_vpd_hdr *)vpd; - + #define FIND_VPD_KW(var,name) do { \ var = get_vpd_keyword_val(v , name); \ if (var < 0) { \ CH_ERR(adapter, "missing VPD keyword " name "\n"); \ return -EINVAL; \ } \ -} while (0) +} while (0) FIND_VPD_KW(i, "RV"); for (csum = 0; i >= 0; i--) csum += vpd[i]; if (csum) { - CH_ERR(adapter, "corrupted VPD EEPROM, actual csum %u\n", csum); + CH_ERR(adapter, + "corrupted VPD EEPROM, actual csum %u\n", csum); return -EINVAL; } + FIND_VPD_KW(ec, "EC"); FIND_VPD_KW(sn, "SN"); FIND_VPD_KW(pn, "PN"); @@ -2771,16 +2890,16 @@ static int get_vpd_params(struct adapter /* serial flash and firmware constants and flash config file constants */ enum { - SF_ATTEMPTS = 10, /* max retries for SF operations */ + SF_ATTEMPTS = 10, /* max retries for SF operations */ /* flash command opcodes */ - SF_PROG_PAGE = 2, /* program page */ - SF_WR_DISABLE = 4, /* disable writes */ - SF_RD_STATUS = 5, /* read status register */ - SF_WR_ENABLE = 6, /* enable writes */ - SF_RD_DATA_FAST = 0xb, /* read flash */ - SF_RD_ID = 0x9f, /* read ID */ - SF_ERASE_SECTOR = 0xd8, /* erase sector */ + SF_PROG_PAGE = 2, /* program page */ + SF_WR_DISABLE = 4, /* disable writes */ + SF_RD_STATUS = 5, /* read status register */ + SF_WR_ENABLE = 6, /* enable writes */ + SF_RD_DATA_FAST = 0xb, /* read flash */ + SF_RD_ID = 0x9f, /* read ID */ + SF_ERASE_SECTOR = 0xd8, /* erase sector */ }; /** @@ -2874,7 +2993,7 @@ static int flash_wait_op(struct adapter * Read the specified number of 32-bit words from the serial flash. * If @byte_oriented is set the read data is stored as a byte array * (i.e., big-endian), otherwise as 32-bit words in the platform's - * natural endianess. + * natural endianness. */ int t4_read_flash(struct adapter *adapter, unsigned int addr, unsigned int nwords, u32 *data, int byte_oriented) @@ -2897,7 +3016,7 @@ int t4_read_flash(struct adapter *adapte if (ret) return ret; if (byte_oriented) - *data = htonl(*data); + *data = (__force __u32)(cpu_to_be32(*data)); } return 0; } @@ -2912,10 +3031,10 @@ int t4_read_flash(struct adapter *adapte * * Writes up to a page of data (256 bytes) to the serial flash starting * at the given address. All the data must be written to the same page. - * If @byte_oriented is set the write data is stored as byte stream + * If @byte_oriented is set the write data is stored as byte stream * (i.e. matches what on disk), otherwise in big-endian. */ -static int t4_write_flash(struct adapter *adapter, unsigned int addr, +int t4_write_flash(struct adapter *adapter, unsigned int addr, unsigned int n, const u8 *data, int byte_oriented) { int ret; @@ -2937,7 +3056,7 @@ static int t4_write_flash(struct adapter val = (val << 8) + *data++; if (!byte_oriented) - val = htonl(val); + val = cpu_to_be32(val); ret = sf1_write(adapter, c, c != left, 1, val); if (ret) @@ -2956,8 +3075,9 @@ static int t4_write_flash(struct adapter return ret; if (memcmp(data - n, (u8 *)buf + offset, n)) { - CH_ERR(adapter, "failed to correctly write the flash page " - "at %#x\n", addr); + CH_ERR(adapter, + "failed to correctly write the flash page at %#x\n", + addr); return -EIO; } return 0; @@ -3057,17 +3177,21 @@ int t4_check_fw_version(struct adapter * * * Erases the sectors in the given inclusive range. */ -static int t4_flash_erase_sectors(struct adapter *adapter, int start, int end) +int t4_flash_erase_sectors(struct adapter *adapter, int start, int end) { int ret = 0; + if (end >= adapter->params.sf_nsec) + return -EINVAL; + while (start <= end) { if ((ret = sf1_write(adapter, 1, 0, 1, SF_WR_ENABLE)) != 0 || (ret = sf1_write(adapter, 4, 0, 1, SF_ERASE_SECTOR | (start << 8))) != 0 || (ret = flash_wait_op(adapter, 14, 500)) != 0) { - CH_ERR(adapter, "erase of flash sector %d failed, " - "error %d\n", start, ret); + CH_ERR(adapter, + "erase of flash sector %d failed, error %d\n", + start, ret); break; } start++; @@ -3096,66 +3220,6 @@ int t4_flash_cfg_addr(struct adapter *ad return FLASH_CFG_START; } -/** - * t4_load_cfg - download config file - * @adap: the adapter - * @cfg_data: the cfg text file to write - * @size: text file size - * - * Write the supplied config text file to the card's serial flash. - */ -int t4_load_cfg(struct adapter *adap, const u8 *cfg_data, unsigned int size) -{ - int ret, i, n, cfg_addr; - unsigned int addr; - unsigned int flash_cfg_start_sec; - unsigned int sf_sec_size = adap->params.sf_size / adap->params.sf_nsec; - - cfg_addr = t4_flash_cfg_addr(adap); - if (cfg_addr < 0) - return cfg_addr; - - addr = cfg_addr; - flash_cfg_start_sec = addr / SF_SEC_SIZE; - - if (size > FLASH_CFG_MAX_SIZE) { - CH_ERR(adap, "cfg file too large, max is %u bytes\n", - FLASH_CFG_MAX_SIZE); - return -EFBIG; - } - - i = DIV_ROUND_UP(FLASH_CFG_MAX_SIZE, /* # of sectors spanned */ - sf_sec_size); - ret = t4_flash_erase_sectors(adap, flash_cfg_start_sec, - flash_cfg_start_sec + i - 1); - /* - * If size == 0 then we're simply erasing the FLASH sectors associated - * with the on-adapter Firmware Configuration File. - */ - if (ret || size == 0) - goto out; - - /* this will write to the flash up to SF_PAGE_SIZE at a time */ - for (i = 0; i< size; i+= SF_PAGE_SIZE) { - if ( (size - i) < SF_PAGE_SIZE) - n = size - i; - else - n = SF_PAGE_SIZE; - ret = t4_write_flash(adap, addr, n, cfg_data, 1); - if (ret) - goto out; - - addr += SF_PAGE_SIZE; - cfg_data += SF_PAGE_SIZE; - } - -out: - if (ret) - CH_ERR(adap, "config file %s failed %d\n", - (size == 0 ? "clear" : "download"), ret); - return ret; -} - /** * t4_load_fw - download firmware @@ -3254,341 +3318,64 @@ out: return ret; } -/* BIOS boot headers */ -typedef struct pci_expansion_rom_header { - u8 signature[2]; /* ROM Signature. Should be 0xaa55 */ - u8 reserved[22]; /* Reserved per processor Architecture data */ - u8 pcir_offset[2]; /* Offset to PCI Data Structure */ -} pci_exp_rom_header_t; /* PCI_EXPANSION_ROM_HEADER */ - -/* Legacy PCI Expansion ROM Header */ -typedef struct legacy_pci_expansion_rom_header { - u8 signature[2]; /* ROM Signature. Should be 0xaa55 */ - u8 size512; /* Current Image Size in units of 512 bytes */ - u8 initentry_point[4]; - u8 cksum; /* Checksum computed on the entire Image */ - u8 reserved[16]; /* Reserved */ - u8 pcir_offset[2]; /* Offset to PCI Data Struture */ -} legacy_pci_exp_rom_header_t; /* LEGACY_PCI_EXPANSION_ROM_HEADER */ - -/* EFI PCI Expansion ROM Header */ -typedef struct efi_pci_expansion_rom_header { - u8 signature[2]; // ROM signature. The value 0xaa55 - u8 initialization_size[2]; /* Units 512. Includes this header */ - u8 efi_signature[4]; /* Signature from EFI image header. 0x0EF1 */ - u8 efi_subsystem[2]; /* Subsystem value for EFI image header */ - u8 efi_machine_type[2]; /* Machine type from EFI image header */ - u8 compression_type[2]; /* Compression type. */ - /* - * Compression type definition - * 0x0: uncompressed - * 0x1: Compressed - * 0x2-0xFFFF: Reserved - */ - u8 reserved[8]; /* Reserved */ - u8 efi_image_header_offset[2]; /* Offset to EFI Image */ - u8 pcir_offset[2]; /* Offset to PCI Data Structure */ -} efi_pci_exp_rom_header_t; /* EFI PCI Expansion ROM Header */ - -/* PCI Data Structure Format */ -typedef struct pcir_data_structure { /* PCI Data Structure */ - u8 signature[4]; /* Signature. The string "PCIR" */ - u8 vendor_id[2]; /* Vendor Identification */ - u8 device_id[2]; /* Device Identification */ - u8 vital_product[2]; /* Pointer to Vital Product Data */ - u8 length[2]; /* PCIR Data Structure Length */ - u8 revision; /* PCIR Data Structure Revision */ - u8 class_code[3]; /* Class Code */ - u8 image_length[2]; /* Image Length. Multiple of 512B */ - u8 code_revision[2]; /* Revision Level of Code/Data */ - u8 code_type; /* Code Type. */ - /* - * PCI Expansion ROM Code Types - * 0x00: Intel IA-32, PC-AT compatible. Legacy - * 0x01: Open Firmware standard for PCI. FCODE - * 0x02: Hewlett-Packard PA RISC. HP reserved - * 0x03: EFI Image. EFI - * 0x04-0xFF: Reserved. - */ - u8 indicator; /* Indicator. Identifies the last image in the ROM */ - u8 reserved[2]; /* Reserved */ -} pcir_data_t; /* PCI__DATA_STRUCTURE */ +/** + * t4_read_cimq_cfg - read CIM queue configuration + * @adap: the adapter + * @base: holds the queue base addresses in bytes + * @size: holds the queue sizes in bytes + * @thres: holds the queue full thresholds in bytes + * + * Returns the current configuration of the CIM queues, starting with + * the IBQs, then the OBQs. + */ +void t4_read_cimq_cfg(struct adapter *adap, u16 *base, u16 *size, u16 *thres) +{ + unsigned int i, v; -/* BOOT constants */ -enum { - BOOT_FLASH_BOOT_ADDR = 0x0,/* start address of boot image in flash */ - BOOT_SIGNATURE = 0xaa55, /* signature of BIOS boot ROM */ - BOOT_SIZE_INC = 512, /* image size measured in 512B chunks */ - BOOT_MIN_SIZE = sizeof(pci_exp_rom_header_t), /* basic header */ - BOOT_MAX_SIZE = 1024*BOOT_SIZE_INC, /* 1 byte * length increment */ - VENDOR_ID = 0x1425, /* Vendor ID */ - PCIR_SIGNATURE = 0x52494350 /* PCIR signature */ -}; + for (i = 0; i < CIM_NUM_IBQ; i++) { + t4_write_reg(adap, A_CIM_QUEUE_CONFIG_REF, F_IBQSELECT | + V_QUENUMSELECT(i)); + v = t4_read_reg(adap, A_CIM_QUEUE_CONFIG_CTRL); + *base++ = G_CIMQBASE(v) * 256; /* value is in 256-byte units */ + *size++ = G_CIMQSIZE(v) * 256; /* value is in 256-byte units */ + *thres++ = G_QUEFULLTHRSH(v) * 8; /* 8-byte unit */ + } + for (i = 0; i < adap->chip_params->cim_num_obq; i++) { + t4_write_reg(adap, A_CIM_QUEUE_CONFIG_REF, F_OBQSELECT | + V_QUENUMSELECT(i)); + v = t4_read_reg(adap, A_CIM_QUEUE_CONFIG_CTRL); + *base++ = G_CIMQBASE(v) * 256; /* value is in 256-byte units */ + *size++ = G_CIMQSIZE(v) * 256; /* value is in 256-byte units */ + } +} -/* - * modify_device_id - Modifies the device ID of the Boot BIOS image - * @adatper: the device ID to write. - * @boot_data: the boot image to modify. +/** + * t4_read_cim_ibq - read the contents of a CIM inbound queue + * @adap: the adapter + * @qid: the queue index + * @data: where to store the queue contents + * @n: capacity of @data in 32-bit words * - * Write the supplied device ID to the boot BIOS image. + * Reads the contents of the selected CIM queue starting at address 0 up + * to the capacity of @data. @n must be a multiple of 4. Returns < 0 on + * error and the number of 32-bit words actually read on success. */ -static void modify_device_id(int device_id, u8 *boot_data) +int t4_read_cim_ibq(struct adapter *adap, unsigned int qid, u32 *data, size_t n) { - legacy_pci_exp_rom_header_t *header; - pcir_data_t *pcir_header; - u32 cur_header = 0; + int i, err; + unsigned int addr; + const unsigned int nwords = CIM_IBQ_SIZE * 4; - /* - * Loop through all chained images and change the device ID's - */ - while (1) { - header = (legacy_pci_exp_rom_header_t *) &boot_data[cur_header]; - pcir_header = (pcir_data_t *) &boot_data[cur_header + - le16_to_cpu(*(u16*)header->pcir_offset)]; + if (qid > 5 || (n & 3)) + return -EINVAL; + + addr = qid * nwords; + if (n > nwords) + n = nwords; - /* - * Only modify the Device ID if code type is Legacy or HP. - * 0x00: Okay to modify - * 0x01: FCODE. Do not be modify - * 0x03: Okay to modify - * 0x04-0xFF: Do not modify - */ - if (pcir_header->code_type == 0x00) { - u8 csum = 0; - int i; - - /* - * Modify Device ID to match current adatper - */ - *(u16*) pcir_header->device_id = device_id; - - /* - * Set checksum temporarily to 0. - * We will recalculate it later. - */ - header->cksum = 0x0; - - /* - * Calculate and update checksum - */ - for (i = 0; i < (header->size512 * 512); i++) - csum += (u8)boot_data[cur_header + i]; - - /* - * Invert summed value to create the checksum - * Writing new checksum value directly to the boot data - */ - boot_data[cur_header + 7] = -csum; - - } else if (pcir_header->code_type == 0x03) { - - /* - * Modify Device ID to match current adatper - */ - *(u16*) pcir_header->device_id = device_id; - - } - - - /* - * Check indicator element to identify if this is the last - * image in the ROM. - */ - if (pcir_header->indicator & 0x80) - break; - - /* - * Move header pointer up to the next image in the ROM. - */ - cur_header += header->size512 * 512; - } -} - -/* - * t4_load_boot - download boot flash - * @adapter: the adapter - * @boot_data: the boot image to write - * @boot_addr: offset in flash to write boot_data - * @size: image size - * - * Write the supplied boot image to the card's serial flash. - * The boot image has the following sections: a 28-byte header and the - * boot image. - */ -int t4_load_boot(struct adapter *adap, u8 *boot_data, - unsigned int boot_addr, unsigned int size) -{ - pci_exp_rom_header_t *header; - int pcir_offset ; - pcir_data_t *pcir_header; - int ret, addr; - uint16_t device_id; - unsigned int i; - unsigned int boot_sector = boot_addr * 1024; - unsigned int sf_sec_size = adap->params.sf_size / adap->params.sf_nsec; - - /* - * Make sure the boot image does not encroach on the firmware region - */ - if ((boot_sector + size) >> 16 > FLASH_FW_START_SEC) { - CH_ERR(adap, "boot image encroaching on firmware region\n"); - return -EFBIG; - } - - /* - * Number of sectors spanned - */ - i = DIV_ROUND_UP(size ? size : FLASH_BOOTCFG_MAX_SIZE, - sf_sec_size); - ret = t4_flash_erase_sectors(adap, boot_sector >> 16, - (boot_sector >> 16) + i - 1); - - /* - * If size == 0 then we're simply erasing the FLASH sectors associated - * with the on-adapter option ROM file - */ - if (ret || (size == 0)) - goto out; - - /* Get boot header */ - header = (pci_exp_rom_header_t *)boot_data; - pcir_offset = le16_to_cpu(*(u16 *)header->pcir_offset); - /* PCIR Data Structure */ - pcir_header = (pcir_data_t *) &boot_data[pcir_offset]; - - /* - * Perform some primitive sanity testing to avoid accidentally - * writing garbage over the boot sectors. We ought to check for - * more but it's not worth it for now ... - */ - if (size < BOOT_MIN_SIZE || size > BOOT_MAX_SIZE) { - CH_ERR(adap, "boot image too small/large\n"); - return -EFBIG; - } - - /* - * Check BOOT ROM header signature - */ - if (le16_to_cpu(*(u16*)header->signature) != BOOT_SIGNATURE ) { - CH_ERR(adap, "Boot image missing signature\n"); - return -EINVAL; - } - - /* - * Check PCI header signature - */ - if (le32_to_cpu(*(u32*)pcir_header->signature) != PCIR_SIGNATURE) { - CH_ERR(adap, "PCI header missing signature\n"); - return -EINVAL; - } - - /* - * Check Vendor ID matches Chelsio ID - */ - if (le16_to_cpu(*(u16*)pcir_header->vendor_id) != VENDOR_ID) { - CH_ERR(adap, "Vendor ID missing signature\n"); - return -EINVAL; - } - - /* - * Retrieve adapter's device ID - */ - t4_os_pci_read_cfg2(adap, PCI_DEVICE_ID, &device_id); - /* Want to deal with PF 0 so I strip off PF 4 indicator */ - device_id = (device_id & 0xff) | 0x4000; - - /* - * Check PCIE Device ID - */ - if (le16_to_cpu(*(u16*)pcir_header->device_id) != device_id) { - /* - * Change the device ID in the Boot BIOS image to match - * the Device ID of the current adapter. - */ - modify_device_id(device_id, boot_data); - } - - /* - * Skip over the first SF_PAGE_SIZE worth of data and write it after - * we finish copying the rest of the boot image. This will ensure - * that the BIOS boot header will only be written if the boot image - * was written in full. - */ - addr = boot_sector; - for (size -= SF_PAGE_SIZE; size; size -= SF_PAGE_SIZE) { - addr += SF_PAGE_SIZE; - boot_data += SF_PAGE_SIZE; - ret = t4_write_flash(adap, addr, SF_PAGE_SIZE, boot_data, 0); - if (ret) - goto out; - } - - ret = t4_write_flash(adap, boot_sector, SF_PAGE_SIZE, boot_data, 0); - -out: - if (ret) - CH_ERR(adap, "boot image download failed, error %d\n", ret); - return ret; -} - -/** - * t4_read_cimq_cfg - read CIM queue configuration - * @adap: the adapter - * @base: holds the queue base addresses in bytes - * @size: holds the queue sizes in bytes - * @thres: holds the queue full thresholds in bytes - * - * Returns the current configuration of the CIM queues, starting with - * the IBQs, then the OBQs. - */ -void t4_read_cimq_cfg(struct adapter *adap, u16 *base, u16 *size, u16 *thres) -{ - unsigned int i, v; - - for (i = 0; i < CIM_NUM_IBQ; i++) { - t4_write_reg(adap, A_CIM_QUEUE_CONFIG_REF, F_IBQSELECT | - V_QUENUMSELECT(i)); - v = t4_read_reg(adap, A_CIM_QUEUE_CONFIG_CTRL); - *base++ = G_CIMQBASE(v) * 256; /* value is in 256-byte units */ - *size++ = G_CIMQSIZE(v) * 256; /* value is in 256-byte units */ - *thres++ = G_QUEFULLTHRSH(v) * 8; /* 8-byte unit */ - } - for (i = 0; i < adap->chip_params->cim_num_obq; i++) { - t4_write_reg(adap, A_CIM_QUEUE_CONFIG_REF, F_OBQSELECT | - V_QUENUMSELECT(i)); - v = t4_read_reg(adap, A_CIM_QUEUE_CONFIG_CTRL); - *base++ = G_CIMQBASE(v) * 256; /* value is in 256-byte units */ - *size++ = G_CIMQSIZE(v) * 256; /* value is in 256-byte units */ - } -} - -/** - * t4_read_cim_ibq - read the contents of a CIM inbound queue - * @adap: the adapter - * @qid: the queue index - * @data: where to store the queue contents - * @n: capacity of @data in 32-bit words - * - * Reads the contents of the selected CIM queue starting at address 0 up - * to the capacity of @data. @n must be a multiple of 4. Returns < 0 on - * error and the number of 32-bit words actually read on success. - */ -int t4_read_cim_ibq(struct adapter *adap, unsigned int qid, u32 *data, size_t n) -{ - int i, err; - unsigned int addr; - const unsigned int nwords = CIM_IBQ_SIZE * 4; - - if (qid > 5 || (n & 3)) - return -EINVAL; - - addr = qid * nwords; - if (n > nwords) - n = nwords; - - for (i = 0; i < n; i++, addr++) { - t4_write_reg(adap, A_CIM_IBQ_DBG_CFG, V_IBQDBGADDR(addr) | - F_IBQDBGEN); + for (i = 0; i < n; i++, addr++) { + t4_write_reg(adap, A_CIM_IBQ_DBG_CFG, V_IBQDBGADDR(addr) | + F_IBQDBGEN); /* * It might take 3-10ms before the IBQ debug read access is * allowed. Wait for 1 Sec with a delay of 1 usec. @@ -6029,7 +5816,7 @@ void t4_pmrx_get_stats(struct adapter *a } /** - * get_mps_bg_map - return the buffer groups associated with a port + * t4_get_mps_bg_map - return the buffer groups associated with a port * @adap: the adapter * @idx: the port index * @@ -6037,7 +5824,7 @@ void t4_pmrx_get_stats(struct adapter *a * with the given port. Bit i is set if buffer group i is used by the * port. */ -static unsigned int get_mps_bg_map(struct adapter *adap, int idx) +static unsigned int t4_get_mps_bg_map(struct adapter *adap, int idx) { u32 n = G_NUMPORTS(t4_read_reg(adap, A_MPS_CMN_CTL)); @@ -6110,7 +5897,7 @@ void t4_get_port_stats_offset(struct ada */ void t4_get_port_stats(struct adapter *adap, int idx, struct port_stats *p) { - u32 bgmap = get_mps_bg_map(adap, idx); + u32 bgmap = t4_get_mps_bg_map(adap, idx); #define GET_STAT(name) \ t4_read_reg64(adap, \ @@ -6193,7 +5980,7 @@ void t4_get_port_stats(struct adapter *a void t4_clr_port_stats(struct adapter *adap, int idx) { unsigned int i; - u32 bgmap = get_mps_bg_map(adap, idx); + u32 bgmap = t4_get_mps_bg_map(adap, idx); u32 port_base_addr; if (is_t4(adap)) @@ -6226,7 +6013,7 @@ void t4_clr_port_stats(struct adapter *a */ void t4_get_lb_stats(struct adapter *adap, int idx, struct lb_port_stats *p) { - u32 bgmap = get_mps_bg_map(adap, idx); + u32 bgmap = t4_get_mps_bg_map(adap, idx); #define GET_STAT(name) \ t4_read_reg64(adap, \ @@ -7702,21 +7489,43 @@ static void __devinit init_link_config(s } } -static int __devinit get_flash_params(struct adapter *adapter) +struct flash_desc { + u32 vendor_and_model_id; + u32 size_mb; +}; + +int t4_get_flash_params(struct adapter *adapter) { + /* + * Table for non-Numonix supported flash parts. Numonix parts are left + * to the preexisting well-tested code. All flash parts have 64KB + * sectors. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Tue Mar 8 08:13:39 2016 Return-Path: Delivered-To: svn-src-all@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 84E5AAC3E71; Tue, 8 Mar 2016 08:13:39 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6053C2CE; Tue, 8 Mar 2016 08:13:39 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u288Dc2q079659; Tue, 8 Mar 2016 08:13:38 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u288Dca5079656; Tue, 8 Mar 2016 08:13:38 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080813.u288Dca5079656@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 08:13:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296490 - in head/sys/dev/cxgbe: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 08:13:39 -0000 Author: np Date: Tue Mar 8 08:13:37 2016 New Revision: 296490 URL: https://svnweb.freebsd.org/changeset/base/296490 Log: cxgbe(4): Remove __devinit and SPEED_ as part of catch up with internal shared code. Obtained from: Chelsio Communications Modified: head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/cxgbe/osdep.h head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 07:48:55 2016 (r296489) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 08:13:37 2016 (r296490) @@ -5359,7 +5359,7 @@ void t4_tp_wr_bits_indirect(struct adapt * * Initialize the congestion control parameters. */ -static void __devinit init_cong_ctrl(unsigned short *a, unsigned short *b) +static void init_cong_ctrl(unsigned short *a, unsigned short *b) { a[0] = a[1] = a[2] = a[3] = a[4] = a[5] = a[6] = a[7] = a[8] = 1; a[9] = 2; @@ -7400,13 +7400,13 @@ int t4_handle_fw_rpl(struct adapter *ada if (stat & F_FW_PORT_CMD_TXPAUSE) fc |= PAUSE_TX; if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_100M)) - speed = SPEED_100; + speed = 100; else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_1G)) - speed = SPEED_1000; + speed = 1000; else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_10G)) - speed = SPEED_10000; + speed = 10000; else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_40G)) - speed = SPEED_40000; + speed = 40000; for_each_port(adap, i) { pi = adap2pinfo(adap, i); @@ -7450,7 +7450,7 @@ int t4_handle_fw_rpl(struct adapter *ada * Determines a card's PCI mode and associated parameters, such as speed * and width. */ -static void __devinit get_pci_mode(struct adapter *adapter, +static void get_pci_mode(struct adapter *adapter, struct pci_params *p) { u16 val; @@ -7472,8 +7472,7 @@ static void __devinit get_pci_mode(struc * Initializes the SW state maintained for each link, including the link's * capabilities and default speed/flow-control/autonegotiation settings. */ -static void __devinit init_link_config(struct link_config *lc, - unsigned int caps) +static void init_link_config(struct link_config *lc, unsigned int caps) { lc->supported = caps; lc->requested_speed = 0; @@ -7546,7 +7545,7 @@ int t4_get_flash_params(struct adapter * return 0; } -static void __devinit set_pcie_completion_timeout(struct adapter *adapter, +static void set_pcie_completion_timeout(struct adapter *adapter, u8 range) { u16 val; Modified: head/sys/dev/cxgbe/osdep.h ============================================================================== --- head/sys/dev/cxgbe/osdep.h Tue Mar 8 07:48:55 2016 (r296489) +++ head/sys/dev/cxgbe/osdep.h Tue Mar 8 08:13:37 2016 (r296490) @@ -85,16 +85,15 @@ typedef boolean_t bool; #define mdelay(x) DELAY((x) * 1000) #define udelay(x) DELAY(x) -#define __devinit #define simple_strtoul strtoul #define DIV_ROUND_UP(x, y) howmany(x, y) #define ARRAY_SIZE(x) nitems(x) #define container_of(p, s, f) ((s *)(((uint8_t *)(p)) - offsetof(s, f))) -#define swab16(x) bswap16(x) -#define swab32(x) bswap32(x) -#define swab64(x) bswap64(x) +#define swab16(x) bswap16(x) +#define swab32(x) bswap32(x) +#define swab64(x) bswap64(x) #define le16_to_cpu(x) le16toh(x) #define le32_to_cpu(x) le32toh(x) #define le64_to_cpu(x) le64toh(x) @@ -108,11 +107,6 @@ typedef boolean_t bool; #define cpu_to_be32(x) htobe32(x) #define cpu_to_be64(x) htobe64(x) -#define SPEED_10 10 -#define SPEED_100 100 -#define SPEED_1000 1000 -#define SPEED_10000 10000 -#define SPEED_40000 40000 #define DUPLEX_HALF 0 #define DUPLEX_FULL 1 #define AUTONEG_DISABLE 0 Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Tue Mar 8 07:48:55 2016 (r296489) +++ head/sys/dev/cxgbe/t4_main.c Tue Mar 8 08:13:37 2016 (r296490) @@ -1783,13 +1783,13 @@ cxgbe_media_status(struct ifnet *ifp, st return; ifmr->ifm_active = IFM_ETHER | IFM_FDX; - if (speed == SPEED_10000) + if (speed == 10000) ifmr->ifm_active |= IFM_10G_T; - else if (speed == SPEED_1000) + else if (speed == 1000) ifmr->ifm_active |= IFM_1000_T; - else if (speed == SPEED_100) + else if (speed == 100) ifmr->ifm_active |= IFM_100_TX; - else if (speed == SPEED_10) + else if (speed == 10) ifmr->ifm_active |= IFM_10_T; else KASSERT(0, ("%s: link up but speed unknown (%u)", __func__, From owner-svn-src-all@freebsd.org Tue Mar 8 08:39:55 2016 Return-Path: Delivered-To: svn-src-all@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 37ABFAC197B; Tue, 8 Mar 2016 08:39:55 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ED82D265; Tue, 8 Mar 2016 08:39:54 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u288dr1o086196; Tue, 8 Mar 2016 08:39:53 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u288drge086194; Tue, 8 Mar 2016 08:39:53 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080839.u288drge086194@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 08:39:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296491 - head/sys/dev/cxgbe/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 08:39:55 -0000 Author: np Date: Tue Mar 8 08:39:53 2016 New Revision: 296491 URL: https://svnweb.freebsd.org/changeset/base/296491 Log: cxgbe(4): Updates to shared routines that get/set various parameters via the firmware. Obtained from: Chelsio Communications Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 08:13:37 2016 (r296490) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 08:39:53 2016 (r296491) @@ -625,6 +625,13 @@ int t4_fw_initialize(struct adapter *ada int t4_query_params(struct adapter *adap, unsigned int mbox, unsigned int pf, unsigned int vf, unsigned int nparams, const u32 *params, u32 *val); +int t4_query_params_rw(struct adapter *adap, unsigned int mbox, unsigned int pf, + unsigned int vf, unsigned int nparams, const u32 *params, + u32 *val, int rw); +int t4_set_params_timeout(struct adapter *adap, unsigned int mbox, + unsigned int pf, unsigned int vf, + unsigned int nparams, const u32 *params, + const u32 *val, int timeout); int t4_set_params(struct adapter *adap, unsigned int mbox, unsigned int pf, unsigned int vf, unsigned int nparams, const u32 *params, const u32 *val); @@ -653,6 +660,8 @@ int t4_change_mac(struct adapter *adap, int idx, const u8 *addr, bool persist, bool add_smt); int t4_set_addr_hash(struct adapter *adap, unsigned int mbox, unsigned int viid, bool ucast, u64 vec, bool sleep_ok); +int t4_enable_vi_params(struct adapter *adap, unsigned int mbox, + unsigned int viid, bool rx_en, bool tx_en, bool dcb_en); int t4_enable_vi(struct adapter *adap, unsigned int mbox, unsigned int viid, bool rx_en, bool tx_en); int t4_identify_port(struct adapter *adap, unsigned int mbox, unsigned int viid, Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 08:13:37 2016 (r296490) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 08:39:53 2016 (r296491) @@ -6775,7 +6775,7 @@ int t4_fw_initialize(struct adapter *ada } /** - * t4_query_params - query FW or device parameters + * t4_query_params_rw - query FW or device parameters * @adap: the adapter * @mbox: mailbox to use for the FW command * @pf: the PF @@ -6783,13 +6783,14 @@ int t4_fw_initialize(struct adapter *ada * @nparams: the number of parameters * @params: the parameter names * @val: the parameter values + * @rw: Write and read flag * * Reads the value of FW or device parameters. Up to 7 parameters can be * queried at once. */ -int t4_query_params(struct adapter *adap, unsigned int mbox, unsigned int pf, - unsigned int vf, unsigned int nparams, const u32 *params, - u32 *val) +int t4_query_params_rw(struct adapter *adap, unsigned int mbox, unsigned int pf, + unsigned int vf, unsigned int nparams, const u32 *params, + u32 *val, int rw) { int i, ret; struct fw_params_cmd c; @@ -6799,21 +6800,73 @@ int t4_query_params(struct adapter *adap return -EINVAL; memset(&c, 0, sizeof(c)); - c.op_to_vfn = htonl(V_FW_CMD_OP(FW_PARAMS_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_READ | V_FW_PARAMS_CMD_PFN(pf) | - V_FW_PARAMS_CMD_VFN(vf)); - c.retval_len16 = htonl(FW_LEN16(c)); - - for (i = 0; i < nparams; i++, p += 2, params++) - *p = htonl(*params); + c.op_to_vfn = cpu_to_be32(V_FW_CMD_OP(FW_PARAMS_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_READ | + V_FW_PARAMS_CMD_PFN(pf) | + V_FW_PARAMS_CMD_VFN(vf)); + c.retval_len16 = cpu_to_be32(FW_LEN16(c)); + + for (i = 0; i < nparams; i++) { + *p++ = cpu_to_be32(*params++); + if (rw) + *p = cpu_to_be32(*(val + i)); + p++; + } ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c); if (ret == 0) for (i = 0, p = &c.param[0].val; i < nparams; i++, p += 2) - *val++ = ntohl(*p); + *val++ = be32_to_cpu(*p); return ret; } +int t4_query_params(struct adapter *adap, unsigned int mbox, unsigned int pf, + unsigned int vf, unsigned int nparams, const u32 *params, + u32 *val) +{ + return t4_query_params_rw(adap, mbox, pf, vf, nparams, params, val, 0); +} + +/** + * t4_set_params_timeout - sets FW or device parameters + * @adap: the adapter + * @mbox: mailbox to use for the FW command + * @pf: the PF + * @vf: the VF + * @nparams: the number of parameters + * @params: the parameter names + * @val: the parameter values + * @timeout: the timeout time + * + * Sets the value of FW or device parameters. Up to 7 parameters can be + * specified at once. + */ +int t4_set_params_timeout(struct adapter *adap, unsigned int mbox, + unsigned int pf, unsigned int vf, + unsigned int nparams, const u32 *params, + const u32 *val, int timeout) +{ + struct fw_params_cmd c; + __be32 *p = &c.param[0].mnem; + + if (nparams > 7) + return -EINVAL; + + memset(&c, 0, sizeof(c)); + c.op_to_vfn = cpu_to_be32(V_FW_CMD_OP(FW_PARAMS_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_WRITE | + V_FW_PARAMS_CMD_PFN(pf) | + V_FW_PARAMS_CMD_VFN(vf)); + c.retval_len16 = cpu_to_be32(FW_LEN16(c)); + + while (nparams--) { + *p++ = cpu_to_be32(*params++); + *p++ = cpu_to_be32(*val++); + } + + return t4_wr_mbox_timeout(adap, mbox, &c, sizeof(c), NULL, timeout); +} + /** * t4_set_params - sets FW or device parameters * @adap: the adapter @@ -6831,26 +6884,8 @@ int t4_set_params(struct adapter *adap, unsigned int vf, unsigned int nparams, const u32 *params, const u32 *val) { - struct fw_params_cmd c; - __be32 *p = &c.param[0].mnem; - - if (nparams > 7) - return -EINVAL; - - memset(&c, 0, sizeof(c)); - c.op_to_vfn = htonl(V_FW_CMD_OP(FW_PARAMS_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_WRITE | V_FW_PARAMS_CMD_PFN(pf) | - V_FW_PARAMS_CMD_VFN(vf)); - c.retval_len16 = htonl(FW_LEN16(c)); - - while (nparams--) { - *p++ = htonl(*params); - params++; - *p++ = htonl(*val); - val++; - } - - return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); + return t4_set_params_timeout(adap, mbox, pf, vf, nparams, params, val, + FW_CMD_MAX_TIMEOUT); } /** @@ -7225,6 +7260,34 @@ int t4_set_addr_hash(struct adapter *ada } /** + * t4_enable_vi_params - enable/disable a virtual interface + * @adap: the adapter + * @mbox: mailbox to use for the FW command + * @viid: the VI id + * @rx_en: 1=enable Rx, 0=disable Rx + * @tx_en: 1=enable Tx, 0=disable Tx + * @dcb_en: 1=enable delivery of Data Center Bridging messages. + * + * Enables/disables a virtual interface. Note that setting DCB Enable + * only makes sense when enabling a Virtual Interface ... + */ +int t4_enable_vi_params(struct adapter *adap, unsigned int mbox, + unsigned int viid, bool rx_en, bool tx_en, bool dcb_en) +{ + struct fw_vi_enable_cmd c; + + memset(&c, 0, sizeof(c)); + c.op_to_viid = cpu_to_be32(V_FW_CMD_OP(FW_VI_ENABLE_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_EXEC | + V_FW_VI_ENABLE_CMD_VIID(viid)); + c.ien_to_len16 = cpu_to_be32(V_FW_VI_ENABLE_CMD_IEN(rx_en) | + V_FW_VI_ENABLE_CMD_EEN(tx_en) | + V_FW_VI_ENABLE_CMD_DCB_INFO(dcb_en) | + FW_LEN16(c)); + return t4_wr_mbox_ns(adap, mbox, &c, sizeof(c), NULL); +} + +/** * t4_enable_vi - enable/disable a virtual interface * @adap: the adapter * @mbox: mailbox to use for the FW command @@ -7232,19 +7295,13 @@ int t4_set_addr_hash(struct adapter *ada * @rx_en: 1=enable Rx, 0=disable Rx * @tx_en: 1=enable Tx, 0=disable Tx * - * Enables/disables a virtual interface. + * Enables/disables a virtual interface. Note that setting DCB Enable + * only makes sense when enabling a Virtual Interface ... */ int t4_enable_vi(struct adapter *adap, unsigned int mbox, unsigned int viid, bool rx_en, bool tx_en) { - struct fw_vi_enable_cmd c; - - memset(&c, 0, sizeof(c)); - c.op_to_viid = htonl(V_FW_CMD_OP(FW_VI_ENABLE_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_EXEC | V_FW_VI_ENABLE_CMD_VIID(viid)); - c.ien_to_len16 = htonl(V_FW_VI_ENABLE_CMD_IEN(rx_en) | - V_FW_VI_ENABLE_CMD_EEN(tx_en) | FW_LEN16(c)); - return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); + return t4_enable_vi_params(adap, mbox, viid, rx_en, tx_en, 0); } /** From owner-svn-src-all@freebsd.org Tue Mar 8 08:57:55 2016 Return-Path: Delivered-To: svn-src-all@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 376E1AC23F7; Tue, 8 Mar 2016 08:57:55 +0000 (UTC) (envelope-from sgalabov@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 09F7ACD; Tue, 8 Mar 2016 08:57:54 +0000 (UTC) (envelope-from sgalabov@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u288vsX8092375; Tue, 8 Mar 2016 08:57:54 GMT (envelope-from sgalabov@FreeBSD.org) Received: (from sgalabov@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u288vsRj092374; Tue, 8 Mar 2016 08:57:54 GMT (envelope-from sgalabov@FreeBSD.org) Message-Id: <201603080857.u288vsRj092374@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sgalabov set sender to sgalabov@FreeBSD.org using -f From: Stanislav Galabov Date: Tue, 8 Mar 2016 08:57:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296492 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 08:57:55 -0000 Author: sgalabov Date: Tue Mar 8 08:57:53 2016 New Revision: 296492 URL: https://svnweb.freebsd.org/changeset/base/296492 Log: Add MIPS_INTRNG to sys/conf/options.mips This was somehow missed in the commit of https://reviews.freebsd.org/D5182 although it was in the original diff submitted for review. Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D5568 Modified: head/sys/conf/options.mips Modified: head/sys/conf/options.mips ============================================================================== --- head/sys/conf/options.mips Tue Mar 8 08:39:53 2016 (r296491) +++ head/sys/conf/options.mips Tue Mar 8 08:57:53 2016 (r296492) @@ -140,3 +140,8 @@ RT305X_USE_UART opt_rt305x.h # Options that affect the pmap. # PV_STATS opt_pmap.h + +# +# Options to use INTRNG code +# +MIPS_INTRNG opt_global.h From owner-svn-src-all@freebsd.org Tue Mar 8 08:59:36 2016 Return-Path: Delivered-To: svn-src-all@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 268AFAC24F3; Tue, 8 Mar 2016 08:59:36 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DCB99302; Tue, 8 Mar 2016 08:59:35 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u288xYNL092477; Tue, 8 Mar 2016 08:59:34 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u288xYNL092474; Tue, 8 Mar 2016 08:59:34 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080859.u288xYNL092474@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 08:59:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296493 - in head/sys/dev/cxgbe: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 08:59:36 -0000 Author: np Date: Tue Mar 8 08:59:34 2016 New Revision: 296493 URL: https://svnweb.freebsd.org/changeset/base/296493 Log: cxgbe(4): Use t4_link_down_rc_str in shared code to decode the reason the link is down, instead of doing it in OS specific code. Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 08:57:53 2016 (r296492) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 08:59:34 2016 (r296493) @@ -692,6 +692,7 @@ int t4_sge_ctxt_rd(struct adapter *adap, int t4_sge_ctxt_rd_bd(struct adapter *adap, unsigned int cid, enum ctxt_type ctype, u32 *data); int t4_sge_ctxt_flush(struct adapter *adap, unsigned int mbox); +const char *t4_link_down_rc_str(unsigned char link_down_rc); int t4_handle_fw_rpl(struct adapter *adap, const __be64 *rpl); int t4_fwaddrspace_write(struct adapter *adap, unsigned int mbox, u32 addr, u32 val); int t4_sched_config(struct adapter *adapter, int type, int minmaxen, Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 08:57:53 2016 (r296492) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 08:59:34 2016 (r296493) @@ -7430,6 +7430,31 @@ int t4_ofld_eq_free(struct adapter *adap } /** + * t4_link_down_rc_str - return a string for a Link Down Reason Code + * @link_down_rc: Link Down Reason Code + * + * Returns a string representation of the Link Down Reason Code. + */ +const char *t4_link_down_rc_str(unsigned char link_down_rc) +{ + static const char *reason[] = { + "Link Down", + "Remote Fault", + "Auto-negotiation Failure", + "Reserved3", + "Insufficient Airflow", + "Unable To Determine Reason", + "No RX Signal Detected", + "Reserved7", + }; + + if (link_down_rc >= ARRAY_SIZE(reason)) + return "Bad Reason Code"; + + return reason[link_down_rc]; +} + +/** * t4_handle_fw_rpl - process a FW reply message * @adap: the adapter * @rpl: start of the FW message Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Tue Mar 8 08:57:53 2016 (r296492) +++ head/sys/dev/cxgbe/t4_main.c Tue Mar 8 08:59:34 2016 (r296493) @@ -6020,10 +6020,6 @@ sysctl_linkdnrc(SYSCTL_HANDLER_ARGS) int rc = 0; struct port_info *pi = arg1; struct sbuf *sb; - static const char *linkdnreasons[] = { - "non-specific", "remote fault", "autoneg failed", "reserved3", - "PHY overheated", "unknown", "rx los", "reserved7" - }; rc = sysctl_wire_old_buffer(req, 0); if (rc != 0) @@ -6034,10 +6030,8 @@ sysctl_linkdnrc(SYSCTL_HANDLER_ARGS) if (pi->linkdnrc < 0) sbuf_printf(sb, "n/a"); - else if (pi->linkdnrc < nitems(linkdnreasons)) - sbuf_printf(sb, "%s", linkdnreasons[pi->linkdnrc]); else - sbuf_printf(sb, "%d", pi->linkdnrc); + sbuf_printf(sb, "%s", t4_link_down_rc_str(pi->linkdnrc)); rc = sbuf_finish(sb); sbuf_delete(sb); From owner-svn-src-all@freebsd.org Tue Mar 8 09:14:45 2016 Return-Path: Delivered-To: svn-src-all@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 A1C62AC2CF1; Tue, 8 Mar 2016 09:14:45 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (mx3.absolight.net [IPv6:2a01:678:2:100::25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "plouf.absolight.net", Issuer "CAcert Class 3 Root" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 6131BC7A; Tue, 8 Mar 2016 09:14:45 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (localhost [127.0.0.1]) by prod2.absolight.net (Postfix) with ESMTP id 19644BDCF8; Tue, 8 Mar 2016 10:14:43 +0100 (CET) Received: from atuin.in.mat.cc (atuin.in.mat.cc [79.143.241.205]) by prod2.absolight.net (Postfix) with ESMTPA id 0F04CBDCC5; Tue, 8 Mar 2016 10:14:43 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by atuin.in.mat.cc (Postfix) with ESMTP id D8AF05575564; Tue, 8 Mar 2016 10:14:42 +0100 (CET) Date: Tue, 08 Mar 2016 10:14:42 +0100 From: Mathieu Arnold To: Xin Li , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... Message-ID: In-Reply-To: <56DE6DFD.4020300@delphij.net> References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DE6DFD.4020300@delphij.net> X-Mailer: Mulberry/4.0.8 (Mac OS X) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="==========BF5E6054615BDE6251FB==========" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 09:14:45 -0000 --==========BF5E6054615BDE6251FB========== Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline +--On 7 mars 2016 22:15:25 -0800 Xin Li wrote: | | | On 3/7/16 16:29, Mathieu Arnold wrote: |> +--On 7 mars 2016 16:22:12 +0000 Xin LI wrote: |> | Author: delphij |> | Date: Mon Mar 7 16:22:11 2016 |> | New Revision: 296465 |> | URL: https://svnweb.freebsd.org/changeset/base/296465 |> | |> | Log: |> | Fix multiple OpenSSL vulnerabilities. |> | |> | Security: FreeBSD-SA-16:12.openssl |> | Approved by: so |> |> After that, poudriere bulk fails with: |> |> [00:00:07] ====>> Creating pkgng repository |> Creating repository in /tmp/packages: 100% |> Packing files for repository: 0%Child process pid=50970 terminated |> abnormally: Segmentation fault: 11 |> [00:00:08] ====>> Cleaning up |> 9amd64-pkgng-default: removed |> 9amd64-pkgng-default-n: removed |> |> pkg-static is the one doing the segfault... | | I can't seem to be able to reproduce this, what ports are you trying to | bulk? (Also note that after doing poudriere jail -u, the bulk seems to | have rebuilt pkg, I'm not sure if that matters, but it's possible, do I | need to explicitly specify something to avoid this?). Well, I was doing a bulk with dns/bind99 dns/bind910, it did rebuild everything needed by them because of the SA, and then pkg crashed while building the repository. -- Mathieu Arnold --==========BF5E6054615BDE6251FB========== Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQJ8BAEBCgBmBQJW3pgCXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzQUI2OTc4OUQyRUQxMjEwNjQ0MEJBNUIz QTQ1MTZGMzUxODNDRTQ4AAoJEDpFFvNRg85IX+YP/3xsZlGuQiLxEtaoyzTYlcz+ dQ+n9Xlq7oN7GqNgJvvunf93bgyxzOqikOriaYlEvJK7ahZ9zrsQ5w5AAvT2gHwy poJHYUPf0GFpNJ5y/885buCNUgxL2OxqiHKCcf6vLz8Z+YEKc6zHvHTT/i74qBvR EPI4fjZnL+IBJdi+YKQHgKAHtjSQmKdomEMX6+OiKMfFKIrS4mAfqySGbfNX0TA3 G6R8ubzTOgkpn5bzh1Kl+vygI4PtOsvrpmdd0mQSqCbuDifYsWeM6v7c7sYwb1tv 801t8Ud5UZChivG76KTFTXwJ4BosYJe++X91NTIi5IGhsTLgFt8fqbDgWvcxARsY 2dguO1cwxpBotYtVTSkwgQHZSxdXwZrvV0g02mjC7VG68iZK0hK3fepBG6QhAupi xW4tO7L9T1di2fxgkYDqLWFE6cUX2xSwOl86C+ADuhD3mqpoUR+puiqtAJR0s28y L+1xINm3Odcdpz2QEOOZX1Ftikm2K7p1FtamT3qCk4wmBc1+w1+7zYiX+7KdfNc1 Uu0ADXs90HBn1oBd2Tu43mYsRQDdZzMnpdGfwVrev9mAu9mWZ1DBlMT7C9aMGxxY BD2jYwO3Sz6jEgkNHMHHAbH2CyZd3uBdS+hYcK+isDOY/qobfc1XHrkzyLfTkb4j /2yii3gtotX0yFjOcL7D =1aif -----END PGP SIGNATURE----- --==========BF5E6054615BDE6251FB==========-- From owner-svn-src-all@freebsd.org Tue Mar 8 09:34:58 2016 Return-Path: Delivered-To: svn-src-all@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 0A16FAC36BA; Tue, 8 Mar 2016 09:34:58 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CF56D8A8; Tue, 8 Mar 2016 09:34:57 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u289YuGc004541; Tue, 8 Mar 2016 09:34:56 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u289YunV004539; Tue, 8 Mar 2016 09:34:56 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080934.u289YunV004539@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 09:34:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296494 - head/sys/dev/cxgbe/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 09:34:58 -0000 Author: np Date: Tue Mar 8 09:34:56 2016 New Revision: 296494 URL: https://svnweb.freebsd.org/changeset/base/296494 Log: cxgbe(4): Many new functions in the shared code, unused at this time. Obtained from: Chelsio Communications Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 08:59:34 2016 (r296493) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 09:34:56 2016 (r296494) @@ -338,6 +338,18 @@ struct adapter_params { #define CHELSIO_T5 0x5 #define CHELSIO_T6 0x6 +/* + * State needed to monitor the forward progress of SGE Ingress DMA activities + * and possible hangs. + */ +struct sge_idma_monitor_state { + unsigned int idma_1s_thresh; /* 1s threshold in Core Clock ticks */ + unsigned int idma_stalled[2]; /* synthesized stalled timers in HZ */ + unsigned int idma_state[2]; /* IDMA Hang detect state */ + unsigned int idma_qid[2]; /* IDMA Hung Ingress Queue ID */ + unsigned int idma_warn[2]; /* time to warning in HZ */ +}; + struct trace_params { u32 data[TRACE_LEN / 4]; u32 mask[TRACE_LEN / 4]; @@ -502,6 +514,8 @@ int t4_read_flash(struct adapter *adapte int t4_write_flash(struct adapter *adapter, unsigned int addr, unsigned int n, const u8 *data, int byte_oriented); int t4_load_fw(struct adapter *adapter, const u8 *fw_data, unsigned int size); +int t4_fwcache(struct adapter *adap, enum fw_params_param_dev_fwcache op); +int t5_fw_init_extern_mem(struct adapter *adap); int t4_load_bootcfg(struct adapter *adapter, const u8 *cfg_data, unsigned int size); int t4_load_boot(struct adapter *adap, u8 *boot_data, unsigned int boot_addr, unsigned int size); @@ -510,9 +524,12 @@ int t4_flash_cfg_addr(struct adapter *ad int t4_load_cfg(struct adapter *adapter, const u8 *cfg_data, unsigned int size); int t4_get_fw_version(struct adapter *adapter, u32 *vers); int t4_get_tp_version(struct adapter *adapter, u32 *vers); +int t4_get_exprom_version(struct adapter *adapter, u32 *vers); int t4_check_fw_version(struct adapter *adapter); int t4_init_hw(struct adapter *adapter, u32 fw_params); int t4_prep_adapter(struct adapter *adapter, u8 *buf); +int t4_shutdown_adapter(struct adapter *adapter); +int t4_init_devlog_params(struct adapter *adapter, int fw_attach); int t4_init_sge_params(struct adapter *adapter); int t4_init_tp_params(struct adapter *adap); int t4_filter_field_shift(const struct adapter *adap, int filter_sel); @@ -562,11 +579,18 @@ void t4_cim_read_pif_la(struct adapter * unsigned int *pif_req_wrptr, unsigned int *pif_rsp_wrptr); void t4_cim_read_ma_la(struct adapter *adap, u32 *ma_req, u32 *ma_rsp); int t4_get_flash_params(struct adapter *adapter); + +u32 t4_read_pcie_cfg4(struct adapter *adap, int reg, int drv_fw_attach); int t4_mc_read(struct adapter *adap, int idx, u32 addr, __be32 *data, u64 *parity); int t4_edc_read(struct adapter *adap, int idx, u32 addr, __be32 *data, u64 *parity); int t4_mem_read(struct adapter *adap, int mtype, u32 addr, u32 size, __be32 *data); +void t4_idma_monitor_init(struct adapter *adapter, + struct sge_idma_monitor_state *idma); +void t4_idma_monitor(struct adapter *adapter, + struct sge_idma_monitor_state *idma, + int hz, int ticks); unsigned int t4_get_regs_len(struct adapter *adapter); void t4_get_regs(struct adapter *adap, u8 *buf, size_t buf_size); @@ -678,6 +702,9 @@ int t4_i2c_wr(struct adapter *adap, unsi int port, unsigned int devid, unsigned int offset, unsigned int len, u8 *buf); +int t4_iq_stop(struct adapter *adap, unsigned int mbox, unsigned int pf, + unsigned int vf, unsigned int iqtype, unsigned int iqid, + unsigned int fl0id, unsigned int fl1id); int t4_iq_free(struct adapter *adap, unsigned int mbox, unsigned int pf, unsigned int vf, unsigned int iqtype, unsigned int iqid, unsigned int fl0id, unsigned int fl1id); @@ -701,4 +728,10 @@ int t4_sched_params(struct adapter *adap int rateunit, int ratemode, int channel, int cl, int minrate, int maxrate, int weight, int pktsize, int sleep_ok); +int t4_config_watchdog(struct adapter *adapter, unsigned int mbox, + unsigned int pf, unsigned int vf, + unsigned int timeout, unsigned int action); +int t4_get_devlog_level(struct adapter *adapter, unsigned int *level); +int t4_set_devlog_level(struct adapter *adapter, unsigned int level); +void t4_sge_decode_idma_state(struct adapter *adapter, int state); #endif /* __CHELSIO_COMMON_H */ Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 08:59:34 2016 (r296493) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 09:34:56 2016 (r296494) @@ -636,6 +636,56 @@ int t4_mem_read(struct adapter *adap, in return 0; } +/* + * Return the specified PCI-E Configuration Space register from our Physical + * Function. We try first via a Firmware LDST Command (if fw_attach != 0) + * since we prefer to let the firmware own all of these registers, but if that + * fails we go for it directly ourselves. + */ +u32 t4_read_pcie_cfg4(struct adapter *adap, int reg, int drv_fw_attach) +{ + + /* + * If fw_attach != 0, construct and send the Firmware LDST Command to + * retrieve the specified PCI-E Configuration Space register. + */ + if (drv_fw_attach != 0) { + struct fw_ldst_cmd ldst_cmd; + int ret; + + memset(&ldst_cmd, 0, sizeof(ldst_cmd)); + ldst_cmd.op_to_addrspace = + cpu_to_be32(V_FW_CMD_OP(FW_LDST_CMD) | + F_FW_CMD_REQUEST | + F_FW_CMD_READ | + V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_FUNC_PCIE)); + ldst_cmd.cycles_to_len16 = cpu_to_be32(FW_LEN16(ldst_cmd)); + ldst_cmd.u.pcie.select_naccess = V_FW_LDST_CMD_NACCESS(1); + ldst_cmd.u.pcie.ctrl_to_fn = + (F_FW_LDST_CMD_LC | V_FW_LDST_CMD_FN(adap->pf)); + ldst_cmd.u.pcie.r = reg; + + /* + * If the LDST Command succeeds, return the result, otherwise + * fall through to reading it directly ourselves ... + */ + ret = t4_wr_mbox(adap, adap->mbox, &ldst_cmd, sizeof(ldst_cmd), + &ldst_cmd); + if (ret == 0) + return be32_to_cpu(ldst_cmd.u.pcie.data[0]); + + CH_WARN(adap, "Firmware failed to return " + "Configuration Space register %d, err = %d\n", + reg, -ret); + } + + /* + * Read the desired Configuration Space register via the PCI-E + * Backdoor mechanism. + */ + return t4_hw_pci_read_cfg4(adap, reg); +} + /** * t4_get_regs_len - return the size of the chips register set * @adapter: the adapter @@ -3116,6 +3166,43 @@ int t4_get_tp_version(struct adapter *ad } /** + * t4_get_exprom_version - return the Expansion ROM version (if any) + * @adapter: the adapter + * @vers: where to place the version + * + * Reads the Expansion ROM header from FLASH and returns the version + * number (if present) through the @vers return value pointer. We return + * this in the Firmware Version Format since it's convenient. Return + * 0 on success, -ENOENT if no Expansion ROM is present. + */ +int t4_get_exprom_version(struct adapter *adap, u32 *vers) +{ + struct exprom_header { + unsigned char hdr_arr[16]; /* must start with 0x55aa */ + unsigned char hdr_ver[4]; /* Expansion ROM version */ + } *hdr; + u32 exprom_header_buf[DIV_ROUND_UP(sizeof(struct exprom_header), + sizeof(u32))]; + int ret; + + ret = t4_read_flash(adap, FLASH_EXP_ROM_START, + ARRAY_SIZE(exprom_header_buf), exprom_header_buf, + 0); + if (ret) + return ret; + + hdr = (struct exprom_header *)exprom_header_buf; + if (hdr->hdr_arr[0] != 0x55 || hdr->hdr_arr[1] != 0xaa) + return -ENOENT; + + *vers = (V_FW_HDR_FW_VER_MAJOR(hdr->hdr_ver[0]) | + V_FW_HDR_FW_VER_MINOR(hdr->hdr_ver[1]) | + V_FW_HDR_FW_VER_MICRO(hdr->hdr_ver[2]) | + V_FW_HDR_FW_VER_BUILD(hdr->hdr_ver[3])); + return 0; +} + +/** * t4_check_fw_version - check if the FW is compatible with this driver * @adapter: the adapter * @@ -3319,6 +3406,30 @@ out: } /** + * t4_fwcache - firmware cache operation + * @adap: the adapter + * @op : the operation (flush or flush and invalidate) + */ +int t4_fwcache(struct adapter *adap, enum fw_params_param_dev_fwcache op) +{ + struct fw_params_cmd c; + + memset(&c, 0, sizeof(c)); + c.op_to_vfn = + cpu_to_be32(V_FW_CMD_OP(FW_PARAMS_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_WRITE | + V_FW_PARAMS_CMD_PFN(adap->pf) | + V_FW_PARAMS_CMD_VFN(0)); + c.retval_len16 = cpu_to_be32(FW_LEN16(c)); + c.param[0].mnem = + cpu_to_be32(V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DEV) | + V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_DEV_FWCACHE)); + c.param[0].val = (__force __be32)op; + + return t4_wr_mbox(adap, adap->mbox, &c, sizeof(c), NULL); +} + +/** * t4_read_cimq_cfg - read CIM queue configuration * @adap: the adapter * @base: holds the queue base addresses in bytes @@ -6251,6 +6362,163 @@ int t4_mdio_wr(struct adapter *adap, uns } /** + * + * t4_sge_decode_idma_state - decode the idma state + * @adap: the adapter + * @state: the state idma is stuck in + */ +void t4_sge_decode_idma_state(struct adapter *adapter, int state) +{ + static const char * const t4_decode[] = { + "IDMA_IDLE", + "IDMA_PUSH_MORE_CPL_FIFO", + "IDMA_PUSH_CPL_MSG_HEADER_TO_FIFO", + "Not used", + "IDMA_PHYSADDR_SEND_PCIEHDR", + "IDMA_PHYSADDR_SEND_PAYLOAD_FIRST", + "IDMA_PHYSADDR_SEND_PAYLOAD", + "IDMA_SEND_FIFO_TO_IMSG", + "IDMA_FL_REQ_DATA_FL_PREP", + "IDMA_FL_REQ_DATA_FL", + "IDMA_FL_DROP", + "IDMA_FL_H_REQ_HEADER_FL", + "IDMA_FL_H_SEND_PCIEHDR", + "IDMA_FL_H_PUSH_CPL_FIFO", + "IDMA_FL_H_SEND_CPL", + "IDMA_FL_H_SEND_IP_HDR_FIRST", + "IDMA_FL_H_SEND_IP_HDR", + "IDMA_FL_H_REQ_NEXT_HEADER_FL", + "IDMA_FL_H_SEND_NEXT_PCIEHDR", + "IDMA_FL_H_SEND_IP_HDR_PADDING", + "IDMA_FL_D_SEND_PCIEHDR", + "IDMA_FL_D_SEND_CPL_AND_IP_HDR", + "IDMA_FL_D_REQ_NEXT_DATA_FL", + "IDMA_FL_SEND_PCIEHDR", + "IDMA_FL_PUSH_CPL_FIFO", + "IDMA_FL_SEND_CPL", + "IDMA_FL_SEND_PAYLOAD_FIRST", + "IDMA_FL_SEND_PAYLOAD", + "IDMA_FL_REQ_NEXT_DATA_FL", + "IDMA_FL_SEND_NEXT_PCIEHDR", + "IDMA_FL_SEND_PADDING", + "IDMA_FL_SEND_COMPLETION_TO_IMSG", + "IDMA_FL_SEND_FIFO_TO_IMSG", + "IDMA_FL_REQ_DATAFL_DONE", + "IDMA_FL_REQ_HEADERFL_DONE", + }; + static const char * const t5_decode[] = { + "IDMA_IDLE", + "IDMA_ALMOST_IDLE", + "IDMA_PUSH_MORE_CPL_FIFO", + "IDMA_PUSH_CPL_MSG_HEADER_TO_FIFO", + "IDMA_SGEFLRFLUSH_SEND_PCIEHDR", + "IDMA_PHYSADDR_SEND_PCIEHDR", + "IDMA_PHYSADDR_SEND_PAYLOAD_FIRST", + "IDMA_PHYSADDR_SEND_PAYLOAD", + "IDMA_SEND_FIFO_TO_IMSG", + "IDMA_FL_REQ_DATA_FL", + "IDMA_FL_DROP", + "IDMA_FL_DROP_SEND_INC", + "IDMA_FL_H_REQ_HEADER_FL", + "IDMA_FL_H_SEND_PCIEHDR", + "IDMA_FL_H_PUSH_CPL_FIFO", + "IDMA_FL_H_SEND_CPL", + "IDMA_FL_H_SEND_IP_HDR_FIRST", + "IDMA_FL_H_SEND_IP_HDR", + "IDMA_FL_H_REQ_NEXT_HEADER_FL", + "IDMA_FL_H_SEND_NEXT_PCIEHDR", + "IDMA_FL_H_SEND_IP_HDR_PADDING", + "IDMA_FL_D_SEND_PCIEHDR", + "IDMA_FL_D_SEND_CPL_AND_IP_HDR", + "IDMA_FL_D_REQ_NEXT_DATA_FL", + "IDMA_FL_SEND_PCIEHDR", + "IDMA_FL_PUSH_CPL_FIFO", + "IDMA_FL_SEND_CPL", + "IDMA_FL_SEND_PAYLOAD_FIRST", + "IDMA_FL_SEND_PAYLOAD", + "IDMA_FL_REQ_NEXT_DATA_FL", + "IDMA_FL_SEND_NEXT_PCIEHDR", + "IDMA_FL_SEND_PADDING", + "IDMA_FL_SEND_COMPLETION_TO_IMSG", + }; + static const char * const t6_decode[] = { + "IDMA_IDLE", + "IDMA_PUSH_MORE_CPL_FIFO", + "IDMA_PUSH_CPL_MSG_HEADER_TO_FIFO", + "IDMA_SGEFLRFLUSH_SEND_PCIEHDR", + "IDMA_PHYSADDR_SEND_PCIEHDR", + "IDMA_PHYSADDR_SEND_PAYLOAD_FIRST", + "IDMA_PHYSADDR_SEND_PAYLOAD", + "IDMA_FL_REQ_DATA_FL", + "IDMA_FL_DROP", + "IDMA_FL_DROP_SEND_INC", + "IDMA_FL_H_REQ_HEADER_FL", + "IDMA_FL_H_SEND_PCIEHDR", + "IDMA_FL_H_PUSH_CPL_FIFO", + "IDMA_FL_H_SEND_CPL", + "IDMA_FL_H_SEND_IP_HDR_FIRST", + "IDMA_FL_H_SEND_IP_HDR", + "IDMA_FL_H_REQ_NEXT_HEADER_FL", + "IDMA_FL_H_SEND_NEXT_PCIEHDR", + "IDMA_FL_H_SEND_IP_HDR_PADDING", + "IDMA_FL_D_SEND_PCIEHDR", + "IDMA_FL_D_SEND_CPL_AND_IP_HDR", + "IDMA_FL_D_REQ_NEXT_DATA_FL", + "IDMA_FL_SEND_PCIEHDR", + "IDMA_FL_PUSH_CPL_FIFO", + "IDMA_FL_SEND_CPL", + "IDMA_FL_SEND_PAYLOAD_FIRST", + "IDMA_FL_SEND_PAYLOAD", + "IDMA_FL_REQ_NEXT_DATA_FL", + "IDMA_FL_SEND_NEXT_PCIEHDR", + "IDMA_FL_SEND_PADDING", + "IDMA_FL_SEND_COMPLETION_TO_IMSG", + }; + static const u32 sge_regs[] = { + A_SGE_DEBUG_DATA_LOW_INDEX_2, + A_SGE_DEBUG_DATA_LOW_INDEX_3, + A_SGE_DEBUG_DATA_HIGH_INDEX_10, + }; + const char * const *sge_idma_decode; + int sge_idma_decode_nstates; + int i; + unsigned int chip_version = chip_id(adapter); + + /* Select the right set of decode strings to dump depending on the + * adapter chip type. + */ + switch (chip_version) { + case CHELSIO_T4: + sge_idma_decode = (const char * const *)t4_decode; + sge_idma_decode_nstates = ARRAY_SIZE(t4_decode); + break; + + case CHELSIO_T5: + sge_idma_decode = (const char * const *)t5_decode; + sge_idma_decode_nstates = ARRAY_SIZE(t5_decode); + break; + + case CHELSIO_T6: + sge_idma_decode = (const char * const *)t6_decode; + sge_idma_decode_nstates = ARRAY_SIZE(t6_decode); + break; + + default: + CH_ERR(adapter, "Unsupported chip version %d\n", chip_version); + return; + } + + if (state < sge_idma_decode_nstates) + CH_WARN(adapter, "idma state %s\n", sge_idma_decode[state]); + else + CH_WARN(adapter, "idma state %d unknown\n", state); + + for (i = 0; i < ARRAY_SIZE(sge_regs); i++) + CH_WARN(adapter, "SGE register %#x value %#x\n", + sge_regs[i], t4_read_reg(adapter, sge_regs[i])); +} + +/** * t4_i2c_rd - read I2C data from adapter * @adap: the adapter * @port: Port number if per-port device; <0 if not @@ -7327,6 +7595,39 @@ int t4_identify_port(struct adapter *ada } /** + * t4_iq_stop - stop an ingress queue and its FLs + * @adap: the adapter + * @mbox: mailbox to use for the FW command + * @pf: the PF owning the queues + * @vf: the VF owning the queues + * @iqtype: the ingress queue type (FW_IQ_TYPE_FL_INT_CAP, etc.) + * @iqid: ingress queue id + * @fl0id: FL0 queue id or 0xffff if no attached FL0 + * @fl1id: FL1 queue id or 0xffff if no attached FL1 + * + * Stops an ingress queue and its associated FLs, if any. This causes + * any current or future data/messages destined for these queues to be + * tossed. + */ +int t4_iq_stop(struct adapter *adap, unsigned int mbox, unsigned int pf, + unsigned int vf, unsigned int iqtype, unsigned int iqid, + unsigned int fl0id, unsigned int fl1id) +{ + struct fw_iq_cmd c; + + memset(&c, 0, sizeof(c)); + c.op_to_vfn = cpu_to_be32(V_FW_CMD_OP(FW_IQ_CMD) | F_FW_CMD_REQUEST | + F_FW_CMD_EXEC | V_FW_IQ_CMD_PFN(pf) | + V_FW_IQ_CMD_VFN(vf)); + c.alloc_to_len16 = cpu_to_be32(F_FW_IQ_CMD_IQSTOP | FW_LEN16(c)); + c.type_to_iqandstindex = cpu_to_be32(V_FW_IQ_CMD_TYPE(iqtype)); + c.iqid = cpu_to_be16(iqid); + c.fl0id = cpu_to_be16(fl0id); + c.fl1id = cpu_to_be16(fl1id); + return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); +} + +/** * t4_iq_free - free an ingress queue and its FLs * @adap: the adapter * @mbox: mailbox to use for the FW command @@ -7761,6 +8062,106 @@ int t4_prep_adapter(struct adapter *adap } /** + * t4_shutdown_adapter - shut down adapter, host & wire + * @adapter: the adapter + * + * Perform an emergency shutdown of the adapter and stop it from + * continuing any further communication on the ports or DMA to the + * host. This is typically used when the adapter and/or firmware + * have crashed and we want to prevent any further accidental + * communication with the rest of the world. This will also force + * the port Link Status to go down -- if register writes work -- + * which should help our peers figure out that we're down. + */ +int t4_shutdown_adapter(struct adapter *adapter) +{ + int port; + + t4_intr_disable(adapter); + t4_write_reg(adapter, A_DBG_GPIO_EN, 0); + for_each_port(adapter, port) { + u32 a_port_cfg = PORT_REG(port, + is_t4(adapter) + ? A_XGMAC_PORT_CFG + : A_MAC_PORT_CFG); + + t4_write_reg(adapter, a_port_cfg, + t4_read_reg(adapter, a_port_cfg) + & ~V_SIGNAL_DET(1)); + } + t4_set_reg_field(adapter, A_SGE_CONTROL, F_GLOBALENABLE, 0); + + return 0; +} + +/** + * t4_init_devlog_params - initialize adapter->params.devlog + * @adap: the adapter + * @fw_attach: whether we can talk to the firmware + * + * Initialize various fields of the adapter's Firmware Device Log + * Parameters structure. + */ +int t4_init_devlog_params(struct adapter *adap, int fw_attach) +{ + struct devlog_params *dparams = &adap->params.devlog; + u32 pf_dparams; + unsigned int devlog_meminfo; + struct fw_devlog_cmd devlog_cmd; + int ret; + + /* If we're dealing with newer firmware, the Device Log Paramerters + * are stored in a designated register which allows us to access the + * Device Log even if we can't talk to the firmware. + */ + pf_dparams = + t4_read_reg(adap, PCIE_FW_REG(A_PCIE_FW_PF, PCIE_FW_PF_DEVLOG)); + if (pf_dparams) { + unsigned int nentries, nentries128; + + dparams->memtype = G_PCIE_FW_PF_DEVLOG_MEMTYPE(pf_dparams); + dparams->start = G_PCIE_FW_PF_DEVLOG_ADDR16(pf_dparams) << 4; + + nentries128 = G_PCIE_FW_PF_DEVLOG_NENTRIES128(pf_dparams); + nentries = (nentries128 + 1) * 128; + dparams->size = nentries * sizeof(struct fw_devlog_e); + + return 0; + } + + /* + * For any failing returns ... + */ + memset(dparams, 0, sizeof *dparams); + + /* + * If we can't talk to the firmware, there's really nothing we can do + * at this point. + */ + if (!fw_attach) + return -ENXIO; + + /* Otherwise, ask the firmware for it's Device Log Parameters. + */ + memset(&devlog_cmd, 0, sizeof devlog_cmd); + devlog_cmd.op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_DEVLOG_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_READ); + devlog_cmd.retval_len16 = cpu_to_be32(FW_LEN16(devlog_cmd)); + ret = t4_wr_mbox(adap, adap->mbox, &devlog_cmd, sizeof(devlog_cmd), + &devlog_cmd); + if (ret) + return ret; + + devlog_meminfo = + be32_to_cpu(devlog_cmd.memtype_devlog_memaddr16_devlog); + dparams->memtype = G_FW_DEVLOG_CMD_MEMTYPE_DEVLOG(devlog_meminfo); + dparams->start = G_FW_DEVLOG_CMD_MEMADDR16_DEVLOG(devlog_meminfo) << 4; + dparams->size = be32_to_cpu(devlog_cmd.memsize_devlog); + + return 0; +} + +/** * t4_init_sge_params - initialize adap->params.sge * @adapter: the adapter * @@ -8020,6 +8421,156 @@ int t4_port_init(struct adapter *adap, i return 0; } +/* + * SGE Hung Ingress DMA Warning Threshold time and Warning Repeat Rate (in + * seconds). If we find one of the SGE Ingress DMA State Machines in the same + * state for more than the Warning Threshold then we'll issue a warning about + * a potential hang. We'll repeat the warning as the SGE Ingress DMA Channel + * appears to be hung every Warning Repeat second till the situation clears. + * If the situation clears, we'll note that as well. + */ +#define SGE_IDMA_WARN_THRESH 1 +#define SGE_IDMA_WARN_REPEAT 300 + +/** + * t4_idma_monitor_init - initialize SGE Ingress DMA Monitor + * @adapter: the adapter + * @idma: the adapter IDMA Monitor state + * + * Initialize the state of an SGE Ingress DMA Monitor. + */ +void t4_idma_monitor_init(struct adapter *adapter, + struct sge_idma_monitor_state *idma) +{ + /* Initialize the state variables for detecting an SGE Ingress DMA + * hang. The SGE has internal counters which count up on each clock + * tick whenever the SGE finds its Ingress DMA State Engines in the + * same state they were on the previous clock tick. The clock used is + * the Core Clock so we have a limit on the maximum "time" they can + * record; typically a very small number of seconds. For instance, + * with a 600MHz Core Clock, we can only count up to a bit more than + * 7s. So we'll synthesize a larger counter in order to not run the + * risk of having the "timers" overflow and give us the flexibility to + * maintain a Hung SGE State Machine of our own which operates across + * a longer time frame. + */ + idma->idma_1s_thresh = core_ticks_per_usec(adapter) * 1000000; /* 1s */ + idma->idma_stalled[0] = idma->idma_stalled[1] = 0; +} + +/** + * t4_idma_monitor - monitor SGE Ingress DMA state + * @adapter: the adapter + * @idma: the adapter IDMA Monitor state + * @hz: number of ticks/second + * @ticks: number of ticks since the last IDMA Monitor call + */ +void t4_idma_monitor(struct adapter *adapter, + struct sge_idma_monitor_state *idma, + int hz, int ticks) +{ + int i, idma_same_state_cnt[2]; + + /* Read the SGE Debug Ingress DMA Same State Count registers. These + * are counters inside the SGE which count up on each clock when the + * SGE finds its Ingress DMA State Engines in the same states they + * were in the previous clock. The counters will peg out at + * 0xffffffff without wrapping around so once they pass the 1s + * threshold they'll stay above that till the IDMA state changes. + */ + t4_write_reg(adapter, A_SGE_DEBUG_INDEX, 13); + idma_same_state_cnt[0] = t4_read_reg(adapter, A_SGE_DEBUG_DATA_HIGH); + idma_same_state_cnt[1] = t4_read_reg(adapter, A_SGE_DEBUG_DATA_LOW); + + for (i = 0; i < 2; i++) { + u32 debug0, debug11; + + /* If the Ingress DMA Same State Counter ("timer") is less + * than 1s, then we can reset our synthesized Stall Timer and + * continue. If we have previously emitted warnings about a + * potential stalled Ingress Queue, issue a note indicating + * that the Ingress Queue has resumed forward progress. + */ + if (idma_same_state_cnt[i] < idma->idma_1s_thresh) { + if (idma->idma_stalled[i] >= SGE_IDMA_WARN_THRESH*hz) + CH_WARN(adapter, "SGE idma%d, queue %u, " + "resumed after %d seconds\n", + i, idma->idma_qid[i], + idma->idma_stalled[i]/hz); + idma->idma_stalled[i] = 0; + continue; + } + + /* Synthesize an SGE Ingress DMA Same State Timer in the Hz + * domain. The first time we get here it'll be because we + * passed the 1s Threshold; each additional time it'll be + * because the RX Timer Callback is being fired on its regular + * schedule. + * + * If the stall is below our Potential Hung Ingress Queue + * Warning Threshold, continue. + */ + if (idma->idma_stalled[i] == 0) { + idma->idma_stalled[i] = hz; + idma->idma_warn[i] = 0; + } else { + idma->idma_stalled[i] += ticks; + idma->idma_warn[i] -= ticks; + } + + if (idma->idma_stalled[i] < SGE_IDMA_WARN_THRESH*hz) + continue; + + /* We'll issue a warning every SGE_IDMA_WARN_REPEAT seconds. + */ + if (idma->idma_warn[i] > 0) + continue; + idma->idma_warn[i] = SGE_IDMA_WARN_REPEAT*hz; + + /* Read and save the SGE IDMA State and Queue ID information. + * We do this every time in case it changes across time ... + * can't be too careful ... + */ + t4_write_reg(adapter, A_SGE_DEBUG_INDEX, 0); + debug0 = t4_read_reg(adapter, A_SGE_DEBUG_DATA_LOW); + idma->idma_state[i] = (debug0 >> (i * 9)) & 0x3f; + + t4_write_reg(adapter, A_SGE_DEBUG_INDEX, 11); + debug11 = t4_read_reg(adapter, A_SGE_DEBUG_DATA_LOW); + idma->idma_qid[i] = (debug11 >> (i * 16)) & 0xffff; + + CH_WARN(adapter, "SGE idma%u, queue %u, potentially stuck in " + " state %u for %d seconds (debug0=%#x, debug11=%#x)\n", + i, idma->idma_qid[i], idma->idma_state[i], + idma->idma_stalled[i]/hz, + debug0, debug11); + t4_sge_decode_idma_state(adapter, idma->idma_state[i]); + } +} + +/** + * t5_fw_init_extern_mem - initialize the external memory + * @adap: the adapter + * + * Initializes the external memory on T5. + */ +int t5_fw_init_extern_mem(struct adapter *adap) +{ + u32 params[1], val[1]; + int ret; + + if (!is_t5(adap)) + return 0; + + val[0] = 0xff; /* Initialize all MCs */ + params[0] = (V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DEV) | + V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_DEV_MCINIT)); + ret = t4_set_params_timeout(adap, adap->mbox, adap->pf, 0, 1, params, val, + FW_CMD_MAX_TIMEOUT); + + return ret; +} + /* BIOS boot headers */ typedef struct pci_expansion_rom_header { u8 signature[2]; /* ROM Signature. Should be 0xaa55 */ @@ -8454,3 +9005,78 @@ int t4_sched_params(struct adapter *adap return t4_wr_mbox_meat(adapter,adapter->mbox, &cmd, sizeof(cmd), NULL, sleep_ok); } + +/* + * t4_config_watchdog - configure (enable/disable) a watchdog timer + * @adapter: the adapter + * @mbox: mailbox to use for the FW command + * @pf: the PF owning the queue + * @vf: the VF owning the queue + * @timeout: watchdog timeout in ms + * @action: watchdog timer / action + * + * There are separate watchdog timers for each possible watchdog + * action. Configure one of the watchdog timers by setting a non-zero + * timeout. Disable a watchdog timer by using a timeout of zero. + */ +int t4_config_watchdog(struct adapter *adapter, unsigned int mbox, + unsigned int pf, unsigned int vf, + unsigned int timeout, unsigned int action) +{ + struct fw_watchdog_cmd wdog; + unsigned int ticks; + + /* + * The watchdog command expects a timeout in units of 10ms so we need + * to convert it here (via rounding) and force a minimum of one 10ms + * "tick" if the timeout is non-zero but the convertion results in 0 + * ticks. + */ + ticks = (timeout + 5)/10; + if (timeout && !ticks) + ticks = 1; + + memset(&wdog, 0, sizeof wdog); + wdog.op_to_vfn = cpu_to_be32(V_FW_CMD_OP(FW_WATCHDOG_CMD) | + F_FW_CMD_REQUEST | + F_FW_CMD_WRITE | + V_FW_PARAMS_CMD_PFN(pf) | + V_FW_PARAMS_CMD_VFN(vf)); + wdog.retval_len16 = cpu_to_be32(FW_LEN16(wdog)); + wdog.timeout = cpu_to_be32(ticks); + wdog.action = cpu_to_be32(action); + + return t4_wr_mbox(adapter, mbox, &wdog, sizeof wdog, NULL); +} + +int t4_get_devlog_level(struct adapter *adapter, unsigned int *level) +{ + struct fw_devlog_cmd devlog_cmd; + int ret; + + memset(&devlog_cmd, 0, sizeof(devlog_cmd)); + devlog_cmd.op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_DEVLOG_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_READ); + devlog_cmd.retval_len16 = cpu_to_be32(FW_LEN16(devlog_cmd)); + ret = t4_wr_mbox(adapter, adapter->mbox, &devlog_cmd, + sizeof(devlog_cmd), &devlog_cmd); + if (ret) + return ret; + + *level = devlog_cmd.level; + return 0; +} + +int t4_set_devlog_level(struct adapter *adapter, unsigned int level) +{ + struct fw_devlog_cmd devlog_cmd; + + memset(&devlog_cmd, 0, sizeof(devlog_cmd)); + devlog_cmd.op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_DEVLOG_CMD) | + F_FW_CMD_REQUEST | + F_FW_CMD_WRITE); + devlog_cmd.level = level; + devlog_cmd.retval_len16 = cpu_to_be32(FW_LEN16(devlog_cmd)); + return t4_wr_mbox(adapter, adapter->mbox, &devlog_cmd, + sizeof(devlog_cmd), &devlog_cmd); +} From owner-svn-src-all@freebsd.org Tue Mar 8 09:40:46 2016 Return-Path: Delivered-To: svn-src-all@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 6E2D7AC3923; Tue, 8 Mar 2016 09:40:46 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3FEEAB2B; Tue, 8 Mar 2016 09:40:46 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u289ejP2004774; Tue, 8 Mar 2016 09:40:45 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u289ejB8004773; Tue, 8 Mar 2016 09:40:45 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603080940.u289ejB8004773@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 09:40:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296495 - head/sys/dev/cxgbe/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 09:40:46 -0000 Author: np Date: Tue Mar 8 09:40:45 2016 New Revision: 296495 URL: https://svnweb.freebsd.org/changeset/base/296495 Log: cxgbe(4): Fix t4_tp_get_rdma_stats. Modified: head/sys/dev/cxgbe/common/t4_hw.c Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 09:34:56 2016 (r296494) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 09:40:45 2016 (r296495) @@ -5340,7 +5340,7 @@ void t4_tp_get_cpl_stats(struct adapter */ void t4_tp_get_rdma_stats(struct adapter *adap, struct tp_rdma_stats *st) { - t4_read_indirect(adap, A_TP_MIB_INDEX, A_TP_MIB_DATA, &st->rqe_dfr_mod, + t4_read_indirect(adap, A_TP_MIB_INDEX, A_TP_MIB_DATA, &st->rqe_dfr_pkt, 2, A_TP_MIB_RQE_DFR_PKT); } From owner-svn-src-all@freebsd.org Tue Mar 8 10:07:42 2016 Return-Path: Delivered-To: svn-src-all@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 4B728AC789E; Tue, 8 Mar 2016 10:07:42 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 22E51673; Tue, 8 Mar 2016 10:07:42 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28A7fvR013482; Tue, 8 Mar 2016 10:07:41 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28A7fMM013480; Tue, 8 Mar 2016 10:07:41 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603081007.u28A7fMM013480@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 10:07:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296496 - head/sys/dev/cxgbe/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 10:07:42 -0000 Author: np Date: Tue Mar 8 10:07:40 2016 New Revision: 296496 URL: https://svnweb.freebsd.org/changeset/base/296496 Log: cxgbe(4): Minor updates to the shared routines that deal with firmware images. Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/common/t4_hw.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Tue Mar 8 09:40:45 2016 (r296495) +++ head/sys/dev/cxgbe/common/common.h Tue Mar 8 10:07:40 2016 (r296496) @@ -525,7 +525,6 @@ int t4_load_cfg(struct adapter *adapter, int t4_get_fw_version(struct adapter *adapter, u32 *vers); int t4_get_tp_version(struct adapter *adapter, u32 *vers); int t4_get_exprom_version(struct adapter *adapter, u32 *vers); -int t4_check_fw_version(struct adapter *adapter); int t4_init_hw(struct adapter *adapter, u32 fw_params); int t4_prep_adapter(struct adapter *adapter, u8 *buf); int t4_shutdown_adapter(struct adapter *adapter); Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 09:40:45 2016 (r296495) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 10:07:40 2016 (r296496) @@ -3146,8 +3146,8 @@ unlock: */ int t4_get_fw_version(struct adapter *adapter, u32 *vers) { - return t4_read_flash(adapter, - FLASH_FW_START + offsetof(struct fw_hdr, fw_ver), 1, + return t4_read_flash(adapter, FLASH_FW_START + + offsetof(struct fw_hdr, fw_ver), 1, vers, 0); } @@ -3160,8 +3160,8 @@ int t4_get_fw_version(struct adapter *ad */ int t4_get_tp_version(struct adapter *adapter, u32 *vers) { - return t4_read_flash(adapter, FLASH_FW_START + offsetof(struct fw_hdr, - tp_microcode_ver), + return t4_read_flash(adapter, FLASH_FW_START + + offsetof(struct fw_hdr, tp_microcode_ver), 1, vers, 0); } @@ -3203,60 +3203,6 @@ int t4_get_exprom_version(struct adapter } /** - * t4_check_fw_version - check if the FW is compatible with this driver - * @adapter: the adapter - * - * Checks if an adapter's FW is compatible with the driver. Returns 0 - * if there's exact match, a negative error if the version could not be - * read or there's a major version mismatch, and a positive value if the - * expected major version is found but there's a minor version mismatch. - */ -int t4_check_fw_version(struct adapter *adapter) -{ - int ret, major, minor, micro; - int exp_major, exp_minor, exp_micro; - - ret = t4_get_fw_version(adapter, &adapter->params.fw_vers); - if (!ret) - ret = t4_get_tp_version(adapter, &adapter->params.tp_vers); - if (ret) - return ret; - - major = G_FW_HDR_FW_VER_MAJOR(adapter->params.fw_vers); - minor = G_FW_HDR_FW_VER_MINOR(adapter->params.fw_vers); - micro = G_FW_HDR_FW_VER_MICRO(adapter->params.fw_vers); - - switch (chip_id(adapter)) { - case CHELSIO_T4: - exp_major = T4FW_VERSION_MAJOR; - exp_minor = T4FW_VERSION_MINOR; - exp_micro = T4FW_VERSION_MICRO; - break; - case CHELSIO_T5: - exp_major = T5FW_VERSION_MAJOR; - exp_minor = T5FW_VERSION_MINOR; - exp_micro = T5FW_VERSION_MICRO; - break; - default: - CH_ERR(adapter, "Unsupported chip type, %x\n", - chip_id(adapter)); - return -EINVAL; - } - - if (major != exp_major) { /* major mismatch - fail */ - CH_ERR(adapter, "card FW has major version %u, driver wants " - "%u\n", major, exp_major); - return -EINVAL; - } - - if (minor == exp_minor && micro == exp_micro) - return 0; /* perfect match */ - - /* Minor/micro version mismatch. Report it but often it's OK. */ - return 1; -} - -/** * t4_flash_erase_sectors - erase a range of flash sectors * @adapter: the adapter * @start: the first sector to erase @@ -3307,6 +3253,29 @@ int t4_flash_cfg_addr(struct adapter *ad return FLASH_CFG_START; } +/* + * Return TRUE if the specified firmware matches the adapter. I.e. T4 + * firmware for T4 adapters, T5 firmware for T5 adapters, etc. We go ahead + * and emit an error message for mismatched firmware to save our caller the + * effort ... + */ +static int t4_fw_matches_chip(struct adapter *adap, + const struct fw_hdr *hdr) +{ + /* + * The expression below will return FALSE for any unsupported adapter + * which will keep us "honest" in the future ... + */ + if ((is_t4(adap) && hdr->chip == FW_HDR_CHIP_T4) || + (is_t5(adap) && hdr->chip == FW_HDR_CHIP_T5) || + (is_t6(adap) && hdr->chip == FW_HDR_CHIP_T6)) + return 1; + + CH_ERR(adap, + "FW image (%d) is not suitable for this adapter (%d)\n", + hdr->chip, chip_id(adap)); + return 0; +} /** * t4_load_fw - download firmware @@ -3338,40 +3307,39 @@ int t4_load_fw(struct adapter *adap, con fw_start = FLASH_FW_START; fw_size = FLASH_FW_MAX_SIZE; } + if (!size) { CH_ERR(adap, "FW image has no data\n"); return -EINVAL; } if (size & 511) { - CH_ERR(adap, "FW image size not multiple of 512 bytes\n"); + CH_ERR(adap, + "FW image size not multiple of 512 bytes\n"); return -EINVAL; } - if (ntohs(hdr->len512) * 512 != size) { - CH_ERR(adap, "FW image size differs from size in FW header\n"); + if ((unsigned int) be16_to_cpu(hdr->len512) * 512 != size) { + CH_ERR(adap, + "FW image size differs from size in FW header\n"); return -EINVAL; } if (size > fw_size) { - CH_ERR(adap, "FW image too large, max is %u bytes\n", fw_size); + CH_ERR(adap, "FW image too large, max is %u bytes\n", + fw_size); return -EFBIG; } - if ((is_t4(adap) && hdr->chip != FW_HDR_CHIP_T4) || - (is_t5(adap) && hdr->chip != FW_HDR_CHIP_T5)) { - CH_ERR(adap, - "FW image (%d) is not suitable for this adapter (%d)\n", - hdr->chip, chip_id(adap)); + if (!t4_fw_matches_chip(adap, hdr)) return -EINVAL; - } for (csum = 0, i = 0; i < size / sizeof(csum); i++) - csum += ntohl(p[i]); + csum += be32_to_cpu(p[i]); if (csum != 0xffffffff) { - CH_ERR(adap, "corrupted firmware image, checksum %#x\n", - csum); + CH_ERR(adap, + "corrupted firmware image, checksum %#x\n", csum); return -EINVAL; } - i = DIV_ROUND_UP(size, sf_sec_size); /* # of sectors spanned */ + i = DIV_ROUND_UP(size, sf_sec_size); /* # of sectors spanned */ ret = t4_flash_erase_sectors(adap, fw_start_sec, fw_start_sec + i - 1); if (ret) goto out; @@ -3382,7 +3350,7 @@ int t4_load_fw(struct adapter *adap, con * first page with a bad version. */ memcpy(first_page, fw_data, SF_PAGE_SIZE); - ((struct fw_hdr *)first_page)->fw_ver = htonl(0xffffffff); + ((struct fw_hdr *)first_page)->fw_ver = cpu_to_be32(0xffffffff); ret = t4_write_flash(adap, fw_start, SF_PAGE_SIZE, first_page, 1); if (ret) goto out; @@ -3401,7 +3369,8 @@ int t4_load_fw(struct adapter *adap, con sizeof(hdr->fw_ver), (const u8 *)&hdr->fw_ver, 1); out: if (ret) - CH_ERR(adap, "firmware download failed, error %d\n", ret); + CH_ERR(adap, "firmware download failed, error %d\n", + ret); return ret; } @@ -6712,11 +6681,11 @@ int t4_fw_hello(struct adapter *adap, un retry: memset(&c, 0, sizeof(c)); INIT_CMD(c, HELLO, WRITE); - c.err_to_clearinit = htonl( + c.err_to_clearinit = cpu_to_be32( V_FW_HELLO_CMD_MASTERDIS(master == MASTER_CANT) | V_FW_HELLO_CMD_MASTERFORCE(master == MASTER_MUST) | - V_FW_HELLO_CMD_MBMASTER(master == MASTER_MUST ? mbox : - M_FW_HELLO_CMD_MBMASTER) | + V_FW_HELLO_CMD_MBMASTER(master == MASTER_MUST ? + mbox : M_FW_HELLO_CMD_MBMASTER) | V_FW_HELLO_CMD_MBASYNCNOT(evt_mbox) | V_FW_HELLO_CMD_STAGE(FW_HELLO_CMD_STAGE_OS) | F_FW_HELLO_CMD_CLEARINIT); @@ -6737,7 +6706,7 @@ retry: return ret; } - v = ntohl(c.err_to_clearinit); + v = be32_to_cpu(c.err_to_clearinit); master_mbox = G_FW_HELLO_CMD_MBMASTER(v); if (state) { if (v & F_FW_HELLO_CMD_ERR) @@ -6849,7 +6818,7 @@ int t4_fw_reset(struct adapter *adap, un memset(&c, 0, sizeof(c)); INIT_CMD(c, RESET, WRITE); - c.val = htonl(reset); + c.val = cpu_to_be32(reset); return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); } @@ -6882,8 +6851,8 @@ int t4_fw_halt(struct adapter *adap, uns memset(&c, 0, sizeof(c)); INIT_CMD(c, RESET, WRITE); - c.val = htonl(F_PIORST | F_PIORSTMODE); - c.halt_pkd = htonl(F_FW_RESET_CMD_HALT); + c.val = cpu_to_be32(F_PIORST | F_PIORSTMODE); + c.halt_pkd = cpu_to_be32(F_FW_RESET_CMD_HALT); ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); } @@ -6902,7 +6871,8 @@ int t4_fw_halt(struct adapter *adap, uns */ if (ret == 0 || force) { t4_set_reg_field(adap, A_CIM_BOOT_CFG, F_UPCRST, F_UPCRST); - t4_set_reg_field(adap, A_PCIE_FW, F_PCIE_FW_HALT, F_PCIE_FW_HALT); + t4_set_reg_field(adap, A_PCIE_FW, F_PCIE_FW_HALT, + F_PCIE_FW_HALT); } /* @@ -7000,9 +6970,13 @@ int t4_fw_upgrade(struct adapter *adap, const u8 *fw_data, unsigned int size, int force) { const struct fw_hdr *fw_hdr = (const struct fw_hdr *)fw_data; - unsigned int bootstrap = ntohl(fw_hdr->magic) == FW_HDR_MAGIC_BOOTSTRAP; + unsigned int bootstrap = + be32_to_cpu(fw_hdr->magic) == FW_HDR_MAGIC_BOOTSTRAP; int reset, ret; + if (!t4_fw_matches_chip(adap, fw_hdr)) + return -EINVAL; + if (!bootstrap) { ret = t4_fw_halt(adap, mbox, force); if (ret < 0 && !force) @@ -7021,7 +6995,7 @@ int t4_fw_upgrade(struct adapter *adap, * the newly loaded firmware will handle this right by checking * its header flags to see if it advertises the capability. */ - reset = ((ntohl(fw_hdr->flags) & FW_HDR_FLAGS_RESET_HALT) == 0); + reset = ((be32_to_cpu(fw_hdr->flags) & FW_HDR_FLAGS_RESET_HALT) == 0); return t4_fw_restart(adap, mbox, reset); } From owner-svn-src-all@freebsd.org Tue Mar 8 10:10:37 2016 Return-Path: Delivered-To: svn-src-all@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 22156AC7B16; Tue, 8 Mar 2016 10:10:37 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 1409D8D7; Tue, 8 Mar 2016 10:10:37 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from FreeBSD.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by freefall.freebsd.org (Postfix) with ESMTP id 6E05F188C; Tue, 8 Mar 2016 10:10:36 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Date: Tue, 8 Mar 2016 10:10:34 +0000 From: Glen Barber To: Randall Stewart Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296476 - head/sys/netinet/tcp_stacks Message-ID: <20160308101034.GO1531@FreeBSD.org> References: <201603080016.u280GYUr032779@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="DMLl6fZPX8o7hGmc" Content-Disposition: inline In-Reply-To: <201603080016.u280GYUr032779@repo.freebsd.org> X-Operating-System: FreeBSD 11.0-CURRENT amd64 X-SCUD-Definition: Sudden Completely Unexpected Dataloss X-SULE-Definition: Sudden Unexpected Learning Event X-PEKBAC-Definition: Problem Exists, Keyboard Between Admin/Computer User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 10:10:37 -0000 --DMLl6fZPX8o7hGmc Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Mar 08, 2016 at 12:16:34AM +0000, Randall Stewart wrote: > Author: rrs > Date: Tue Mar 8 00:16:34 2016 > New Revision: 296476 > URL: https://svnweb.freebsd.org/changeset/base/296476 >=20 > Log: > Fix a sneaky bug where we were missing an extern > to get the rxt threshold.. and thus created our own defaulted to 0 :-( > =20 This appears to break gcc build. cc1: warnings being treated as errors /usr/src/sys/modules/tcp/fastpath/../../../netinet/tcp_stacks/fastpath.c:1= 27: warning: redundant redeclaration of 'tcprexmtthresh' [-Wredundant-decls] /usr/src/sys/netinet/cc/cc.h:60: warning: previous declaration of 'tcprexm= tthresh' was here --- fastpath.o --- *** [fastpath.o] Error code 1 Glen --DMLl6fZPX8o7hGmc Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJW3qUVAAoJEAMUWKVHj+KTKNsP/3CdhO1U3atnyIcGoGfduRCB luxj8XMf2Dk3lxLlwbcjylN54JzUAy7++DmbbU93fNaViTDMyLFkqbFq8Jv6Xw/l V34GMoJarcCKqyi2nrq7k7hPB68NTdt/zaqx69KSldrmbXqj3q/UD0ZVVxEekhm6 HDHM0OArEyarRlDVVxIl1ekyn5sUrj2KuFhNN1qZqxzJpcvhZ9GDsblgZhomLtaN d9HtVRnyqTUnom7DxhjWc3NqAgvWcE5Wb7gNykyCImbgYov90CbrVaSbKImo01Ay XI0T1kQLjEx1K1JmTnZIRF2td8Pt/Sf9gteUe9HWh4q6XN6dCzoJzRtp8SgysDJH sv0LzfQNj757FA3nd6obIFTxiXx5zrgAP/lF/qg287jMXVQrw3VJIca+O/g9t43C SupaNEz7v/UxWtlQRRR21sWqiCVVehQ+0wPQ/8mUdcYkYHUburlH52GCkxdPCXNT TY+N8qZkWH85+KgGDVzEl31qLcVD+Uf5CHp0BavwrgiGS8d3N+cffvB+WCdueRKT Xx8o7aqi71XLhR0AU+VGIoaG8OkCrcjjDqLEd327F+hpMHw1YyYsFmZDAE7CMgIK 6eZXhm945Byp8fN/7+nTZqPlkWFT8ra2D1AYrMer3z1fItQwwoGc8qy4Eymdy4rd k+r09oqZPBpNIJUfsjPo =NZRm -----END PGP SIGNATURE----- --DMLl6fZPX8o7hGmc-- From owner-svn-src-all@freebsd.org Tue Mar 8 11:04:09 2016 Return-Path: Delivered-To: svn-src-all@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 9116DAC34EA; Tue, 8 Mar 2016 11:04:09 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 627A4AC8; Tue, 8 Mar 2016 11:04:09 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28B48fl031765; Tue, 8 Mar 2016 11:04:08 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28B48tW031764; Tue, 8 Mar 2016 11:04:08 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201603081104.u28B48tW031764@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Tue, 8 Mar 2016 11:04:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296497 - head/share/man/man5 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 11:04:09 -0000 Author: trasz Date: Tue Mar 8 11:04:08 2016 New Revision: 296497 URL: https://svnweb.freebsd.org/changeset/base/296497 Log: Mention resolvconf(8) in resolv.conf(5). MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/share/man/man5/resolver.5 Modified: head/share/man/man5/resolver.5 ============================================================================== --- head/share/man/man5/resolver.5 Tue Mar 8 10:07:40 2016 (r296496) +++ head/share/man/man5/resolver.5 Tue Mar 8 11:04:08 2016 (r296497) @@ -218,7 +218,8 @@ resides in .Sh SEE ALSO .Xr gethostbyname 3 , .Xr resolver 3 , -.Xr hostname 7 +.Xr hostname 7 , +.Xr resolvconf 8 .Rs .%T "Name Server Operations Guide for BIND" .Re From owner-svn-src-all@freebsd.org Tue Mar 8 14:38:08 2016 Return-Path: Delivered-To: svn-src-all@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 3B45EAC7367; Tue, 8 Mar 2016 14:38:08 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0BBA7F5F; Tue, 8 Mar 2016 14:38:07 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28Ec7rB096170; Tue, 8 Mar 2016 14:38:07 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28Ec75O096169; Tue, 8 Mar 2016 14:38:07 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201603081438.u28Ec75O096169@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Tue, 8 Mar 2016 14:38:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296498 - stable/10/usr.bin/mail X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 14:38:08 -0000 Author: pfg Date: Tue Mar 8 14:38:06 2016 New Revision: 296498 URL: https://svnweb.freebsd.org/changeset/base/296498 Log: MFC r295675: Fix "naive" use of ftell(3). Secure coding practices, FIO19-C. Modified: stable/10/usr.bin/mail/def.h Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.bin/mail/def.h ============================================================================== --- stable/10/usr.bin/mail/def.h Tue Mar 8 11:04:08 2016 (r296497) +++ stable/10/usr.bin/mail/def.h Tue Mar 8 14:38:06 2016 (r296498) @@ -270,5 +270,5 @@ struct ignoretab { */ #define trunc(stream) { \ (void)fflush(stream); \ - (void)ftruncate(fileno(stream), (off_t)ftell(stream)); \ + (void)ftruncate(fileno(stream), ftello(stream)); \ } From owner-svn-src-all@freebsd.org Tue Mar 8 14:39:01 2016 Return-Path: Delivered-To: svn-src-all@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 9A855AC7406; Tue, 8 Mar 2016 14:39:01 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6BAA6250; Tue, 8 Mar 2016 14:39:01 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28Ed0mH096401; Tue, 8 Mar 2016 14:39:00 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28Ed0Cr096400; Tue, 8 Mar 2016 14:39:00 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201603081439.u28Ed0Cr096400@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Tue, 8 Mar 2016 14:39:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296499 - stable/9/usr.bin/mail X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 14:39:01 -0000 Author: pfg Date: Tue Mar 8 14:39:00 2016 New Revision: 296499 URL: https://svnweb.freebsd.org/changeset/base/296499 Log: MFC r295675: Fix "naive" use of ftell(3). Secure coding practices, FIO19-C. Modified: stable/9/usr.bin/mail/def.h Directory Properties: stable/9/usr.bin/mail/ (props changed) Modified: stable/9/usr.bin/mail/def.h ============================================================================== --- stable/9/usr.bin/mail/def.h Tue Mar 8 14:38:06 2016 (r296498) +++ stable/9/usr.bin/mail/def.h Tue Mar 8 14:39:00 2016 (r296499) @@ -270,5 +270,5 @@ struct ignoretab { */ #define trunc(stream) { \ (void)fflush(stream); \ - (void)ftruncate(fileno(stream), (off_t)ftell(stream)); \ + (void)ftruncate(fileno(stream), ftello(stream)); \ } From owner-svn-src-all@freebsd.org Tue Mar 8 14:55:53 2016 Return-Path: Delivered-To: svn-src-all@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 E0606AC7C16; Tue, 8 Mar 2016 14:55:52 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7EA4AF39; Tue, 8 Mar 2016 14:55:52 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28Etpje002727; Tue, 8 Mar 2016 14:55:51 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28EtofX002715; Tue, 8 Mar 2016 14:55:50 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201603081455.u28EtofX002715@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Tue, 8 Mar 2016 14:55:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296500 - in vendor/NetBSD/libedit: 2016-02-27 dist dist/TEST dist/readline X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 14:55:53 -0000 Author: pfg Date: Tue Mar 8 14:55:50 2016 New Revision: 296500 URL: https://svnweb.freebsd.org/changeset/base/296500 Log: Rollback to libedit 2016-01-16. This synks us back with current and will make it easier to cherry-pick fixes. While here, disable keyword expansion as recommended by the Subversion Primer. Deleted: vendor/NetBSD/libedit/2016-02-27/ Modified: vendor/NetBSD/libedit/dist/Makefile vendor/NetBSD/libedit/dist/TEST/Makefile vendor/NetBSD/libedit/dist/TEST/rl1.c vendor/NetBSD/libedit/dist/TEST/tc1.c vendor/NetBSD/libedit/dist/TEST/wtc1.c vendor/NetBSD/libedit/dist/chared.c vendor/NetBSD/libedit/dist/chared.h vendor/NetBSD/libedit/dist/chartype.c vendor/NetBSD/libedit/dist/chartype.h vendor/NetBSD/libedit/dist/common.c vendor/NetBSD/libedit/dist/config.h vendor/NetBSD/libedit/dist/editline.3 vendor/NetBSD/libedit/dist/el.c vendor/NetBSD/libedit/dist/el.h vendor/NetBSD/libedit/dist/eln.c vendor/NetBSD/libedit/dist/emacs.c vendor/NetBSD/libedit/dist/filecomplete.c vendor/NetBSD/libedit/dist/hist.c vendor/NetBSD/libedit/dist/hist.h vendor/NetBSD/libedit/dist/histedit.h vendor/NetBSD/libedit/dist/history.c vendor/NetBSD/libedit/dist/keymacro.c vendor/NetBSD/libedit/dist/makelist vendor/NetBSD/libedit/dist/map.c vendor/NetBSD/libedit/dist/parse.c vendor/NetBSD/libedit/dist/prompt.c vendor/NetBSD/libedit/dist/prompt.h vendor/NetBSD/libedit/dist/read.c vendor/NetBSD/libedit/dist/read.h vendor/NetBSD/libedit/dist/readline.c vendor/NetBSD/libedit/dist/readline/Makefile vendor/NetBSD/libedit/dist/readline/readline.h vendor/NetBSD/libedit/dist/refresh.c vendor/NetBSD/libedit/dist/refresh.h vendor/NetBSD/libedit/dist/search.c vendor/NetBSD/libedit/dist/search.h vendor/NetBSD/libedit/dist/sig.c vendor/NetBSD/libedit/dist/sig.h vendor/NetBSD/libedit/dist/sys.h vendor/NetBSD/libedit/dist/terminal.c vendor/NetBSD/libedit/dist/terminal.h vendor/NetBSD/libedit/dist/tokenizer.c vendor/NetBSD/libedit/dist/tty.c vendor/NetBSD/libedit/dist/tty.h vendor/NetBSD/libedit/dist/vi.c Modified: vendor/NetBSD/libedit/dist/Makefile ============================================================================== --- vendor/NetBSD/libedit/dist/Makefile Tue Mar 8 14:39:00 2016 (r296499) +++ vendor/NetBSD/libedit/dist/Makefile Tue Mar 8 14:55:50 2016 (r296500) @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.55 2016/02/24 14:25:38 christos Exp $ +# $NetBSD: Makefile,v 1.53 2015/01/29 20:30:02 joerg Exp $ # @(#)Makefile 8.1 (Berkeley) 6/4/93 USE_SHLIBDIR= yes @@ -15,7 +15,7 @@ COPTS+= -Wunused-parameter CWARNFLAGS.gcc+= -Wconversion CWARNFLAGS.clang+= -Wno-cast-qual -OSRCS= chared.c common.c el.c eln.c emacs.c fcns.c filecomplete.c help.c \ +OSRCS= chared.c common.c el.c emacs.c fcns.c filecomplete.c help.c \ hist.c keymacro.c map.c chartype.c \ parse.c prompt.c read.c refresh.c search.c sig.c terminal.c tty.c vi.c @@ -37,6 +37,7 @@ MLINKS= editline.3 el_init.3 editline.3 SRCS= editline.c readline.c tokenizer.c history.c .if ${WIDECHAR} == "yes" +OSRCS += eln.c SRCS += tokenizern.c historyn.c CLEANFILES+=tokenizern.c.tmp tokenizern.c historyn.c.tmp historyn.c CPPFLAGS+=-DWIDECHAR @@ -51,12 +52,12 @@ CLEANFILES+=editline.c CLEANFILES+=common.h.tmp editline.c.tmp emacs.h.tmp fcns.c.tmp fcns.h.tmp CLEANFILES+=help.c.tmp help.h.tmp vi.h.tmp tc1.o tc1 CLEANFILES+=tokenizern.c.tmp tokenizern.c tokenizerw.c.tmp tokenizerw.c -CPPFLAGS+=-I. -I${LIBEDITDIR} +CPPFLAGS+=-I. -I${LIBEDITDIR} CPPFLAGS+=-I. -I${.CURDIR} CPPFLAGS+=#-DDEBUG_TTY -DDEBUG_KEY -DDEBUG_READ -DDEBUG -DDEBUG_REFRESH CPPFLAGS+=#-DDEBUG_PASTE -DDEBUG_EDIT -AHDR=vi.h emacs.h common.h +AHDR=vi.h emacs.h common.h ASRC=${LIBEDITDIR}/vi.c ${LIBEDITDIR}/emacs.c ${LIBEDITDIR}/common.c DPSRCS+= ${AHDR} fcns.h help.h fcns.c help.c @@ -119,7 +120,7 @@ historyn.c: makelist Makefile tc1.o: ${LIBEDITDIR}/TEST/tc1.c -tc1: libedit.a tc1.o +tc1: libedit.a tc1.o ${_MKTARGET_LINK} ${CC} ${LDFLAGS} ${.ALLSRC} -o ${.TARGET} libedit.a ${LDADD} -ltermlib Modified: vendor/NetBSD/libedit/dist/TEST/Makefile ============================================================================== --- vendor/NetBSD/libedit/dist/TEST/Makefile Tue Mar 8 14:39:00 2016 (r296499) +++ vendor/NetBSD/libedit/dist/TEST/Makefile Tue Mar 8 14:55:50 2016 (r296500) @@ -1,6 +1,4 @@ -# $NetBSD: Makefile,v 1.6 2016/02/15 21:38:07 christos Exp $ - -WIDECHAR ?= yes +# $NetBSD: Makefile,v 1.5 2010/02/03 15:34:43 roy Exp $ NOMAN=1 PROG=wtc1 @@ -8,10 +6,6 @@ CPPFLAGS=-I${.CURDIR}/.. LDADD+=-ledit -ltermlib DPADD+=${LIBEDIT} ${LIBTERMLIB} -.if "${WIDECHAR}" == "yes" -CPPFLAGS+=-DWIDECHAR -.endif - .ifdef DEBUG CPPFLAGS+=-DDEBUG .endif Modified: vendor/NetBSD/libedit/dist/TEST/rl1.c ============================================================================== --- vendor/NetBSD/libedit/dist/TEST/rl1.c Tue Mar 8 14:39:00 2016 (r296499) +++ vendor/NetBSD/libedit/dist/TEST/rl1.c Tue Mar 8 14:55:50 2016 (r296500) @@ -1,4 +1,4 @@ -/* $NetBSD: rl1.c,v 1.1 2010/09/16 20:08:51 christos Exp $ */ +/* $NetBSD: rl1.c,v 1.2 2016/02/29 00:54:19 christos Exp $ */ /*- * Copyright (c) 2010 The NetBSD Foundation, Inc. @@ -15,13 +15,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -38,7 +31,7 @@ #include #if !defined(lint) -__RCSID("$NetBSD: rl1.c,v 1.1 2010/09/16 20:08:51 christos Exp $"); +__RCSID("$NetBSD: rl1.c,v 1.2 2016/02/29 00:54:19 christos Exp $"); #endif /* not lint */ /* Modified: vendor/NetBSD/libedit/dist/TEST/tc1.c ============================================================================== --- vendor/NetBSD/libedit/dist/TEST/tc1.c Tue Mar 8 14:39:00 2016 (r296499) +++ vendor/NetBSD/libedit/dist/TEST/tc1.c Tue Mar 8 14:55:50 2016 (r296500) @@ -1,4 +1,4 @@ -/* $NetBSD: tc1.c,v 1.7 2016/02/17 19:47:49 christos Exp $ */ +/* $NetBSD: tc1.c,v 1.6 2014/06/18 20:12:15 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -42,22 +42,22 @@ __COPYRIGHT("@(#) Copyright (c) 1992, 19 #if 0 static char sccsid[] = "@(#)test.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: tc1.c,v 1.7 2016/02/17 19:47:49 christos Exp $"); +__RCSID("$NetBSD: tc1.c,v 1.6 2014/06/18 20:12:15 christos Exp $"); #endif #endif /* not lint && not SCCSID */ /* * test.c: A little test program */ +#include +#include +#include #include #include -#include -#include -#include -#include #include -#include #include +#include +#include #include "histedit.h" @@ -157,7 +157,7 @@ main(int argc, char *argv[]) /* Add a user-defined function */ el_set(el, EL_ADDFN, "ed-complete", "Complete argument", complete); - /* Bind tab to it */ + /* Bind tab to it */ el_set(el, EL_BIND, "^I", "ed-complete", NULL); /* Modified: vendor/NetBSD/libedit/dist/TEST/wtc1.c ============================================================================== --- vendor/NetBSD/libedit/dist/TEST/wtc1.c Tue Mar 8 14:39:00 2016 (r296499) +++ vendor/NetBSD/libedit/dist/TEST/wtc1.c Tue Mar 8 14:55:50 2016 (r296500) @@ -1,14 +1,14 @@ +#include +#include +#include #include +#include #include +#include +#include #include -#include #include #include -#include -#include -#include -#include -#include #include "../histedit.h" Modified: vendor/NetBSD/libedit/dist/chared.c ============================================================================== --- vendor/NetBSD/libedit/dist/chared.c Tue Mar 8 14:39:00 2016 (r296499) +++ vendor/NetBSD/libedit/dist/chared.c Tue Mar 8 14:55:50 2016 (r296500) @@ -1,4 +1,4 @@ -/* $NetBSD: chared.c,v 1.49 2016/02/24 14:29:21 christos Exp $ */ +/* $NetBSD: chared.c,v 1.40 2014/06/18 18:12:28 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,19 +37,15 @@ #if 0 static char sccsid[] = "@(#)chared.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: chared.c,v 1.49 2016/02/24 14:29:21 christos Exp $"); +__RCSID("$NetBSD: chared.c,v 1.40 2014/06/18 18:12:28 christos Exp $"); #endif #endif /* not lint && not SCCSID */ /* * chared.c: Character editor utilities */ -#include #include -#include - #include "el.h" -#include "common.h" private void ch__clearmacro (EditLine *); @@ -203,7 +199,7 @@ c_delbefore1(EditLine *el) * Return if p is part of a word according to emacs */ protected int -ce__isword(wint_t p) +ce__isword(Int p) { return Isalnum(p) || Strchr(STR("*?_-.[]~="), p) != NULL; } @@ -213,7 +209,7 @@ ce__isword(wint_t p) * Return if p is part of a word according to vi */ protected int -cv__isword(wint_t p) +cv__isword(Int p) { if (Isalnum(p) || p == '_') return 1; @@ -227,7 +223,7 @@ cv__isword(wint_t p) * Return if p is part of a big word according to vi */ protected int -cv__isWord(wint_t p) +cv__isWord(Int p) { return !Isspace(p); } @@ -237,7 +233,7 @@ cv__isWord(wint_t p) * Find the previous word */ protected Char * -c__prev_word(Char *p, Char *low, int n, int (*wtest)(wint_t)) +c__prev_word(Char *p, Char *low, int n, int (*wtest)(Int)) { p--; @@ -261,7 +257,7 @@ c__prev_word(Char *p, Char *low, int n, * Find the next word */ protected Char * -c__next_word(Char *p, Char *high, int n, int (*wtest)(wint_t)) +c__next_word(Char *p, Char *high, int n, int (*wtest)(Int)) { while (n--) { while ((p < high) && !(*wtest)(*p)) @@ -279,7 +275,7 @@ c__next_word(Char *p, Char *high, int n, * Find the next word vi style */ protected Char * -cv_next_word(EditLine *el, Char *p, Char *high, int n, int (*wtest)(wint_t)) +cv_next_word(EditLine *el, Char *p, Char *high, int n, int (*wtest)(Int)) { int test; @@ -308,7 +304,7 @@ cv_next_word(EditLine *el, Char *p, Char * Find the previous word vi style */ protected Char * -cv_prev_word(Char *p, Char *low, int n, int (*wtest)(wint_t)) +cv_prev_word(Char *p, Char *low, int n, int (*wtest)(Int)) { int test; @@ -372,7 +368,7 @@ cv_delfini(EditLine *el) * Go to the end of this word according to vi */ protected Char * -cv__endword(Char *p, Char *high, int n, int (*wtest)(wint_t)) +cv__endword(Char *p, Char *high, int n, int (*wtest)(Int)) { int test; @@ -526,7 +522,7 @@ ch_enlargebufs(EditLine *el, size_t addl /* zero the newly added memory, leave old data in */ (void) memset(&newbuffer[sz], 0, (newsz - sz) * sizeof(*newbuffer)); - + oldbuf = el->el_line.buffer; el->el_line.buffer = newbuffer; @@ -575,7 +571,7 @@ ch_enlargebufs(EditLine *el, size_t addl el->el_chared.c_redo.lim = newbuffer + (el->el_chared.c_redo.lim - el->el_chared.c_redo.buf); el->el_chared.c_redo.buf = newbuffer; - + if (!hist_enlargebuf(el, sz, newsz)) return 0; @@ -675,9 +671,9 @@ out: protected int c_gets(EditLine *el, Char *buf, const Char *prompt) { - wchar_t wch; + Char ch; ssize_t len; - Char *cp = el->el_line.buffer, ch; + Char *cp = el->el_line.buffer; if (prompt) { len = (ssize_t)Strlen(prompt); @@ -692,28 +688,26 @@ c_gets(EditLine *el, Char *buf, const Ch el->el_line.lastchar = cp + 1; re_refresh(el); - if (el_wgetc(el, &wch) != 1) { + if (FUN(el,getc)(el, &ch) != 1) { ed_end_of_file(el, 0); len = -1; break; } - ch = (Char)wch; switch (ch) { - case L'\b': /* Delete and backspace */ + case 0010: /* Delete and backspace */ case 0177: if (len == 0) { len = -1; break; } - len--; cp--; continue; case 0033: /* ESC */ - case L'\r': /* Newline */ - case L'\n': + case '\r': /* Newline */ + case '\n': buf[len] = ch; break; Modified: vendor/NetBSD/libedit/dist/chared.h ============================================================================== --- vendor/NetBSD/libedit/dist/chared.h Tue Mar 8 14:39:00 2016 (r296499) +++ vendor/NetBSD/libedit/dist/chared.h Tue Mar 8 14:55:50 2016 (r296500) @@ -1,4 +1,4 @@ -/* $NetBSD: chared.h,v 1.27 2016/02/16 22:53:14 christos Exp $ */ +/* $NetBSD: chared.h,v 1.22 2014/06/18 18:12:28 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -40,6 +40,11 @@ #ifndef _h_el_chared #define _h_el_chared +#include +#include + +#include "histedit.h" + #define EL_MAXMACRO 10 /* @@ -134,18 +139,24 @@ typedef struct el_chared_t { #define MODE_REPLACE 1 #define MODE_REPLACE_1 2 +#include "common.h" +#include "vi.h" +#include "emacs.h" +#include "search.h" +#include "fcns.h" + -protected int cv__isword(wint_t); -protected int cv__isWord(wint_t); +protected int cv__isword(Int); +protected int cv__isWord(Int); protected void cv_delfini(EditLine *); -protected Char *cv__endword(Char *, Char *, int, int (*)(wint_t)); -protected int ce__isword(wint_t); +protected Char *cv__endword(Char *, Char *, int, int (*)(Int)); +protected int ce__isword(Int); protected void cv_undo(EditLine *); protected void cv_yank(EditLine *, const Char *, int); -protected Char *cv_next_word(EditLine*, Char *, Char *, int, int (*)(wint_t)); -protected Char *cv_prev_word(Char *, Char *, int, int (*)(wint_t)); -protected Char *c__next_word(Char *, Char *, int, int (*)(wint_t)); -protected Char *c__prev_word(Char *, Char *, int, int (*)(wint_t)); +protected Char *cv_next_word(EditLine*, Char *, Char *, int, int (*)(Int)); +protected Char *cv_prev_word(Char *, Char *, int, int (*)(Int)); +protected Char *c__next_word(Char *, Char *, int, int (*)(Int)); +protected Char *c__prev_word(Char *, Char *, int, int (*)(Int)); protected void c_insert(EditLine *, int); protected void c_delbefore(EditLine *, int); protected void c_delbefore1(EditLine *); Modified: vendor/NetBSD/libedit/dist/chartype.c ============================================================================== --- vendor/NetBSD/libedit/dist/chartype.c Tue Mar 8 14:39:00 2016 (r296499) +++ vendor/NetBSD/libedit/dist/chartype.c Tue Mar 8 14:55:50 2016 (r296500) @@ -1,4 +1,4 @@ -/* $NetBSD: chartype.c,v 1.23 2016/02/28 23:02:24 christos Exp $ */ +/* $NetBSD: chartype.c,v 1.12 2015/02/22 02:16:19 christos Exp $ */ /*- * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -12,6 +12,13 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -31,14 +38,10 @@ */ #include "config.h" #if !defined(lint) && !defined(SCCSID) -__RCSID("$NetBSD: chartype.c,v 1.23 2016/02/28 23:02:24 christos Exp $"); +__RCSID("$NetBSD: chartype.c,v 1.12 2015/02/22 02:16:19 christos Exp $"); #endif /* not lint && not SCCSID */ - -#include -#include -#include - #include "el.h" +#include #define CT_BUFSIZ ((size_t)1024) @@ -69,7 +72,7 @@ ct_conv_wbuff_resize(ct_buffer_t *conv, { void *p; - if (wsize <= conv->wsize) + if (wsize <= conv->wsize) return 0; conv->wsize = wsize; @@ -207,28 +210,6 @@ ct_encode_char(char *dst, size_t len, Ch } return l; } - -size_t -ct_mbrtowc(wchar_t *wc, const char *s, size_t n) -{ - mbstate_t mbs; - /* This only works because UTF-8 is stateless */ - memset(&mbs, 0, sizeof(mbs)); - return mbrtowc(wc, s, n, &mbs); -} - -#else - -size_t -ct_mbrtowc(wchar_t *wc, const char *s, size_t n) - if (s == NULL) - return 0; - if (n == 0) - return (size_t)-2; - if (wc != NULL) - *wc = *s; - return *s != '\0'; -} #endif protected const Char * @@ -352,7 +333,7 @@ ct_visual_char(Char *dst, size_t len, Ch return c > 0xffff ? 8 : 7; #else *dst++ = '\\'; -#define tooctaldigit(v) (Char)((v) + '0') +#define tooctaldigit(v) ((v) + '0') *dst++ = tooctaldigit(((unsigned int) c >> 6) & 0x7); *dst++ = tooctaldigit(((unsigned int) c >> 3) & 0x7); *dst++ = tooctaldigit(((unsigned int) c ) & 0x7); Modified: vendor/NetBSD/libedit/dist/chartype.h ============================================================================== --- vendor/NetBSD/libedit/dist/chartype.h Tue Mar 8 14:39:00 2016 (r296499) +++ vendor/NetBSD/libedit/dist/chartype.h Tue Mar 8 14:55:50 2016 (r296500) @@ -1,4 +1,4 @@ -/* $NetBSD: chartype.h,v 1.23 2016/02/24 17:20:01 christos Exp $ */ +/* $NetBSD: chartype.h,v 1.15 2015/05/17 13:14:41 christos Exp $ */ /*- * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -37,6 +37,7 @@ #define _h_chartype_f + #ifdef WIDECHAR /* Ideally we should also test the value of the define to see if it @@ -59,18 +60,21 @@ #warning Build environment does not support non-BMP characters #endif -#define ct_wctob wctob +#define ct_mbtowc mbtowc +#define ct_mbtowc_reset mbtowc(0,0,(size_t)0) #define ct_wctomb wctomb #define ct_wctomb_reset wctomb(0,0) #define ct_wcstombs wcstombs #define ct_mbstowcs mbstowcs #define Char wchar_t +#define Int wint_t #define FUN(prefix,rest) prefix ## _w ## rest #define FUNW(type) type ## _w #define TYPE(type) type ## W +#define FCHAR "%lc" #define FSTR "%ls" -#define STR(x) L ## x +#define STR(x) L ## x #define UC(c) c #define Isalpha(x) iswalpha(x) #define Isalnum(x) iswalnum(x) @@ -111,18 +115,21 @@ Width(wchar_t c) #else /* NARROW */ -#define ct_wctob(w) ((int)(w)) +#define ct_mbtowc error +#define ct_mbtowc_reset #define ct_wctomb error -#define ct_wctomb_reset +#define ct_wctomb_reset #define ct_wcstombs(a, b, c) (strncpy(a, b, c), strlen(a)) #define ct_mbstowcs(a, b, c) (strncpy(a, b, c), strlen(a)) #define Char char +#define Int int #define FUN(prefix,rest) prefix ## _ ## rest #define FUNW(type) type #define TYPE(type) type +#define FCHAR "%c" #define FSTR "%s" -#define STR(x) x +#define STR(x) x #define UC(c) (unsigned char)(c) #define Isalpha(x) isalpha((unsigned char)x) @@ -211,7 +218,7 @@ protected size_t ct_enc_width(Char); #define VISUAL_WIDTH_MAX ((size_t)8) /* The terminal is thought of in terms of X columns by Y lines. In the cases - * where a wide character takes up more than one column, the adjacent + * where a wide character takes up more than one column, the adjacent * occupied column entries will contain this faux character. */ #define MB_FILL_CHAR ((Char)-1) @@ -243,7 +250,5 @@ protected const Char *ct_visual_string(c protected int ct_chr_class(Char c); #endif -size_t ct_mbrtowc(wchar_t *, const char *, size_t); - #endif /* _chartype_f */ Modified: vendor/NetBSD/libedit/dist/common.c ============================================================================== --- vendor/NetBSD/libedit/dist/common.c Tue Mar 8 14:39:00 2016 (r296499) +++ vendor/NetBSD/libedit/dist/common.c Tue Mar 8 14:55:50 2016 (r296500) @@ -1,4 +1,4 @@ -/* $NetBSD: common.c,v 1.39 2016/02/24 14:25:38 christos Exp $ */ +/* $NetBSD: common.c,v 1.29 2012/03/24 20:08:43 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -37,20 +37,14 @@ #if 0 static char sccsid[] = "@(#)common.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: common.c,v 1.39 2016/02/24 14:25:38 christos Exp $"); +__RCSID("$NetBSD: common.c,v 1.29 2012/03/24 20:08:43 christos Exp $"); #endif #endif /* not lint && not SCCSID */ /* * common.c: Common Editor functions */ -#include -#include - #include "el.h" -#include "common.h" -#include "parse.h" -#include "vi.h" /* ed_end_of_file(): * Indicate end of file @@ -58,7 +52,7 @@ __RCSID("$NetBSD: common.c,v 1.39 2016/0 */ protected el_action_t /*ARGSUSED*/ -ed_end_of_file(EditLine *el, wint_t c __attribute__((__unused__))) +ed_end_of_file(EditLine *el, Int c __attribute__((__unused__))) { re_goto_bottom(el); @@ -72,7 +66,7 @@ ed_end_of_file(EditLine *el, wint_t c __ * Insert a character [bound to all insert keys] */ protected el_action_t -ed_insert(EditLine *el, wint_t c) +ed_insert(EditLine *el, Int c) { int count = el->el_state.argument; @@ -91,14 +85,14 @@ ed_insert(EditLine *el, wint_t c) || el->el_line.cursor >= el->el_line.lastchar) c_insert(el, 1); - *el->el_line.cursor++ = (Char)c; + *el->el_line.cursor++ = c; re_fastaddc(el); /* fast refresh for one char. */ } else { if (el->el_state.inputmode != MODE_REPLACE_1) c_insert(el, el->el_state.argument); while (count-- && el->el_line.cursor < el->el_line.lastchar) - *el->el_line.cursor++ = (Char)c; + *el->el_line.cursor++ = c; re_refresh(el); } @@ -115,7 +109,7 @@ ed_insert(EditLine *el, wint_t c) */ protected el_action_t /*ARGSUSED*/ -ed_delete_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) +ed_delete_prev_word(EditLine *el, Int c __attribute__((__unused__))) { Char *cp, *p, *kp; @@ -143,7 +137,7 @@ ed_delete_prev_word(EditLine *el, wint_t */ protected el_action_t /*ARGSUSED*/ -ed_delete_next_char(EditLine *el, wint_t c __attribute__((__unused__))) +ed_delete_next_char(EditLine *el, Int c __attribute__((__unused__))) { #ifdef DEBUG_EDIT #define EL el->el_line @@ -190,7 +184,7 @@ ed_delete_next_char(EditLine *el, wint_t */ protected el_action_t /*ARGSUSED*/ -ed_kill_line(EditLine *el, wint_t c __attribute__((__unused__))) +ed_kill_line(EditLine *el, Int c __attribute__((__unused__))) { Char *kp, *cp; @@ -211,7 +205,7 @@ ed_kill_line(EditLine *el, wint_t c __at */ protected el_action_t /*ARGSUSED*/ -ed_move_to_end(EditLine *el, wint_t c __attribute__((__unused__))) +ed_move_to_end(EditLine *el, Int c __attribute__((__unused__))) { el->el_line.cursor = el->el_line.lastchar; @@ -234,7 +228,7 @@ ed_move_to_end(EditLine *el, wint_t c __ */ protected el_action_t /*ARGSUSED*/ -ed_move_to_beg(EditLine *el, wint_t c __attribute__((__unused__))) +ed_move_to_beg(EditLine *el, Int c __attribute__((__unused__))) { el->el_line.cursor = el->el_line.buffer; @@ -257,7 +251,7 @@ ed_move_to_beg(EditLine *el, wint_t c __ * [^T] [^T] */ protected el_action_t -ed_transpose_chars(EditLine *el, wint_t c) +ed_transpose_chars(EditLine *el, Int c) { if (el->el_line.cursor < el->el_line.lastchar) { @@ -270,7 +264,7 @@ ed_transpose_chars(EditLine *el, wint_t /* must have at least two chars entered */ c = el->el_line.cursor[-2]; el->el_line.cursor[-2] = el->el_line.cursor[-1]; - el->el_line.cursor[-1] = (Char)c; + el->el_line.cursor[-1] = c; return CC_REFRESH; } else return CC_ERROR; @@ -283,7 +277,7 @@ ed_transpose_chars(EditLine *el, wint_t */ protected el_action_t /*ARGSUSED*/ -ed_next_char(EditLine *el, wint_t c __attribute__((__unused__))) +ed_next_char(EditLine *el, Int c __attribute__((__unused__))) { Char *lim = el->el_line.lastchar; @@ -312,7 +306,7 @@ ed_next_char(EditLine *el, wint_t c __at */ protected el_action_t /*ARGSUSED*/ -ed_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) +ed_prev_word(EditLine *el, Int c __attribute__((__unused__))) { if (el->el_line.cursor == el->el_line.buffer) @@ -338,7 +332,7 @@ ed_prev_word(EditLine *el, wint_t c __at */ protected el_action_t /*ARGSUSED*/ -ed_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) +ed_prev_char(EditLine *el, Int c __attribute__((__unused__))) { if (el->el_line.cursor > el->el_line.buffer) { @@ -362,12 +356,14 @@ ed_prev_char(EditLine *el, wint_t c __at * [^V] [^V] */ protected el_action_t -ed_quoted_insert(EditLine *el, wint_t c) +ed_quoted_insert(EditLine *el, Int c) { int num; + Char tc; tty_quotemode(el); - num = el_wgetc(el, &c); + num = FUN(el,getc)(el, &tc); + c = tc; tty_noquotemode(el); if (num == 1) return ed_insert(el, c); @@ -380,7 +376,7 @@ ed_quoted_insert(EditLine *el, wint_t c) * Adds to argument or enters a digit */ protected el_action_t -ed_digit(EditLine *el, wint_t c) +ed_digit(EditLine *el, Int c) { if (!Isdigit(c)) @@ -408,7 +404,7 @@ ed_digit(EditLine *el, wint_t c) * For ESC-n */ protected el_action_t -ed_argument_digit(EditLine *el, wint_t c) +ed_argument_digit(EditLine *el, Int c) { if (!Isdigit(c)) @@ -434,7 +430,7 @@ ed_argument_digit(EditLine *el, wint_t c protected el_action_t /*ARGSUSED*/ ed_unassigned(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) + Int c __attribute__((__unused__))) { return CC_ERROR; @@ -451,8 +447,8 @@ ed_unassigned(EditLine *el __attribute__ */ protected el_action_t /*ARGSUSED*/ -ed_tty_sigint(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_sigint(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -465,8 +461,8 @@ ed_tty_sigint(EditLine *el __attribute__ */ protected el_action_t /*ARGSUSED*/ -ed_tty_dsusp(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_dsusp(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -479,8 +475,8 @@ ed_tty_dsusp(EditLine *el __attribute__( */ protected el_action_t /*ARGSUSED*/ -ed_tty_flush_output(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_flush_output(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -493,8 +489,8 @@ ed_tty_flush_output(EditLine *el __attri */ protected el_action_t /*ARGSUSED*/ -ed_tty_sigquit(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_sigquit(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -507,8 +503,8 @@ ed_tty_sigquit(EditLine *el __attribute_ */ protected el_action_t /*ARGSUSED*/ -ed_tty_sigtstp(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_sigtstp(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -521,8 +517,8 @@ ed_tty_sigtstp(EditLine *el __attribute_ */ protected el_action_t /*ARGSUSED*/ -ed_tty_stop_output(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_stop_output(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -535,8 +531,8 @@ ed_tty_stop_output(EditLine *el __attrib */ protected el_action_t /*ARGSUSED*/ -ed_tty_start_output(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_tty_start_output(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -549,7 +545,7 @@ ed_tty_start_output(EditLine *el __attri */ protected el_action_t /*ARGSUSED*/ -ed_newline(EditLine *el, wint_t c __attribute__((__unused__))) +ed_newline(EditLine *el, Int c __attribute__((__unused__))) { re_goto_bottom(el); @@ -565,7 +561,7 @@ ed_newline(EditLine *el, wint_t c __attr */ protected el_action_t /*ARGSUSED*/ -ed_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) +ed_delete_prev_char(EditLine *el, Int c __attribute__((__unused__))) { if (el->el_line.cursor <= el->el_line.buffer) @@ -585,7 +581,7 @@ ed_delete_prev_char(EditLine *el, wint_t */ protected el_action_t /*ARGSUSED*/ -ed_clear_screen(EditLine *el, wint_t c __attribute__((__unused__))) +ed_clear_screen(EditLine *el, Int c __attribute__((__unused__))) { terminal_clear_screen(el); /* clear the whole real screen */ @@ -600,8 +596,8 @@ ed_clear_screen(EditLine *el, wint_t c _ */ protected el_action_t /*ARGSUSED*/ -ed_redisplay(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_redisplay(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_REDISPLAY; @@ -614,7 +610,7 @@ ed_redisplay(EditLine *el __attribute__( */ protected el_action_t /*ARGSUSED*/ -ed_start_over(EditLine *el, wint_t c __attribute__((__unused__))) +ed_start_over(EditLine *el, Int c __attribute__((__unused__))) { ch_reset(el, 0); @@ -628,8 +624,8 @@ ed_start_over(EditLine *el, wint_t c __a */ protected el_action_t /*ARGSUSED*/ -ed_sequence_lead_in(EditLine *el __attribute__((__unused__)), - wint_t c __attribute__((__unused__))) +ed_sequence_lead_in(EditLine *el __attribute__((__unused__)), + Int c __attribute__((__unused__))) { return CC_NORM; @@ -642,7 +638,7 @@ ed_sequence_lead_in(EditLine *el __attri */ protected el_action_t /*ARGSUSED*/ -ed_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) +ed_prev_history(EditLine *el, Int c __attribute__((__unused__))) { char beep = 0; int sv_event = el->el_history.eventno; @@ -662,6 +658,7 @@ ed_prev_history(EditLine *el, wint_t c _ if (hist_get(el) == CC_ERROR) { if (el->el_map.type == MAP_VI) { el->el_history.eventno = sv_event; + } beep = 1; /* el->el_history.eventno was fixed by first call */ @@ -679,7 +676,7 @@ ed_prev_history(EditLine *el, wint_t c _ */ protected el_action_t /*ARGSUSED*/ -ed_next_history(EditLine *el, wint_t c __attribute__((__unused__))) +ed_next_history(EditLine *el, Int c __attribute__((__unused__))) { el_action_t beep = CC_REFRESH, rval; @@ -706,11 +703,11 @@ ed_next_history(EditLine *el, wint_t c _ */ protected el_action_t /*ARGSUSED*/ -ed_search_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) +ed_search_prev_history(EditLine *el, Int c __attribute__((__unused__))) { const Char *hp; int h; - int found = 0; + bool_t found = 0; el->el_chared.c_vcmd.action = NOP; el->el_chared.c_undo.len = -1; @@ -749,7 +746,7 @@ ed_search_prev_history(EditLine *el, win (el->el_line.lastchar - el->el_line.buffer)) || hp[el->el_line.lastchar - el->el_line.buffer]) && c_hmatch(el, hp)) { - found = 1; + found++; break; } h++; @@ -774,11 +771,11 @@ ed_search_prev_history(EditLine *el, win */ protected el_action_t /*ARGSUSED*/ -ed_search_next_history(EditLine *el, wint_t c __attribute__((__unused__))) +ed_search_next_history(EditLine *el, Int c __attribute__((__unused__))) { const Char *hp; int h; - int found = 0; + bool_t found = 0; el->el_chared.c_vcmd.action = NOP; el->el_chared.c_undo.len = -1; @@ -828,7 +825,7 @@ ed_search_next_history(EditLine *el, win */ protected el_action_t /*ARGSUSED*/ -ed_prev_line(EditLine *el, wint_t c __attribute__((__unused__))) +ed_prev_line(EditLine *el, Int c __attribute__((__unused__))) { Char *ptr; int nchars = c_hpos(el); @@ -871,7 +868,7 @@ ed_prev_line(EditLine *el, wint_t c __at */ protected el_action_t /*ARGSUSED*/ -ed_next_line(EditLine *el, wint_t c __attribute__((__unused__))) +ed_next_line(EditLine *el, Int c __attribute__((__unused__))) { Char *ptr; int nchars = c_hpos(el); @@ -905,7 +902,7 @@ ed_next_line(EditLine *el, wint_t c __at */ protected el_action_t /*ARGSUSED*/ -ed_command(EditLine *el, wint_t c __attribute__((__unused__))) +ed_command(EditLine *el, Int c __attribute__((__unused__))) { Char tmpbuf[EL_BUFSIZ]; int tmplen; Modified: vendor/NetBSD/libedit/dist/config.h ============================================================================== --- vendor/NetBSD/libedit/dist/config.h Tue Mar 8 14:39:00 2016 (r296499) +++ vendor/NetBSD/libedit/dist/config.h Tue Mar 8 14:55:50 2016 (r296500) @@ -20,8 +20,8 @@ /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 -/* Define to 1 if you have the `getline' function. */ -#define HAVE_GETLINE 1 +/* Define to 1 if you have the `fgetln' function. */ +#define HAVE_FGETLN 1 /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 @@ -187,6 +187,9 @@ /* Define to 1 if you have the `vis' function. */ #define HAVE_VIS 1 +/* Define to 1 if you have the `wcsdup' function. */ +#define HAVE_WCSDUP 1 + /* Define to 1 if `fork' works. */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Tue Mar 8 15:05:34 2016 Return-Path: Delivered-To: svn-src-all@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 B5AF9AC748A for ; Tue, 8 Mar 2016 15:05:34 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from nm49-vm6.bullet.mail.bf1.yahoo.com (nm49-vm6.bullet.mail.bf1.yahoo.com [216.109.115.205]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 702BBDBB for ; Tue, 8 Mar 2016 15:05:34 +0000 (UTC) (envelope-from pfg@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1457449128; bh=8nW9TjsQp9snmP56QrnqvuSiN4J+K1VPVLPOsI9fbCM=; h=Subject:To:References:From:Date:In-Reply-To:From:Subject; b=GI4FQUf+wRDWAnvc1n/WoGl+sUmzb1jwHV9WDJYbpH4KrA4s+OneBZgdH/kxAffggZV1NYEddraJhn/NRCPX/lpHhkdntK+vzB5BhNiDPJx5zY8xcDIN46xdbUIHlA+OaWBv9Wa/5yYzbWmiBe6AOxAf5EpsD/DKD0gvEtntW57prnQfXZ9wuJYcietJajzoEnpKyk7cz9jF8/a3ZIJ9smm2rTW9X86rkoGCeBWKDns316hbp9t0gRwyUwihtfmLnVCKFmUhO9OciEAk3B5qsHL5X45nz9tsEdWD4GZEsHL80jwuyQGBlHs2OrwPod1yaYYSTrRi9/7RYN0Y5ABoMA== Received: from [66.196.81.172] by nm49.bullet.mail.bf1.yahoo.com with NNFMP; 08 Mar 2016 14:58:48 -0000 Received: from [68.142.230.77] by tm18.bullet.mail.bf1.yahoo.com with NNFMP; 08 Mar 2016 14:58:48 -0000 Received: from [127.0.0.1] by smtp234.mail.bf1.yahoo.com with NNFMP; 08 Mar 2016 14:58:48 -0000 X-Yahoo-Newman-Id: 246924.75837.bm@smtp234.mail.bf1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: itWhB6YVM1khcV1VaO1GbCIWeCqKdqyVFhdse6oc8qKbJG3 BYTLXEG_Rz2joTQcgPEyIq0KYABlbfW_QCenw90GwC.NgCiKEhOI_8U62oOf _RJgAks9jeuG.mqqanz8DFGPUcsoOnNiuu2VIIh2T6Q_912yZiovEZ2t83Vp txKh3IaU0gSCXDIru5iyvoRSbM2OXaFSeROplFufr6zCg2VP8Yr88n0mpCgu ue5zzggzCPwEbAv1KbnUjkXbviYUprLFkGxlN8y64OMO47qpTp9sZ3odj9Od ZUNb38se2DOsw5Ny81LjQ4WD2_0EF5RKXrar9H02a5U80S3zcV6H3vNy87Y4 MeizwqW7sFwESdiU1revo3gr4V6e_pnV.gGMeGo_H8Umc7sCWHUZf8ZkznTa jTLQyVkTvEqZ6q54BgDcV79Nk2_qwGTc5RiN_rUPJOx.hqmwEGzFSTfAhDtB ff9gwDOFqOMyvvbksUbr1Bwtdgr21xS0t.6Kgp9XDDUA046FTbvcVPdJWSPb QDrIU572FTpYwW4uYGRAxFjdHjYWw_MUq4A-- X-Yahoo-SMTP: xcjD0guswBAZaPPIbxpWwLcp9Unf Subject: Re: svn commit: r296500 - in vendor/NetBSD/libedit: 2016-02-27 dist dist/TEST dist/readline To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org References: <201603081455.u28EtofX002715@repo.freebsd.org> From: Pedro Giffuni Message-ID: <56DEE8DE.9080706@FreeBSD.org> Date: Tue, 8 Mar 2016 09:59:42 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603081455.u28EtofX002715@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 15:05:34 -0000 On 03/08/16 09:55, Pedro F. Giffuni wrote: > Author: pfg > Date: Tue Mar 8 14:55:50 2016 > New Revision: 296500 > URL: https://svnweb.freebsd.org/changeset/base/296500 > > Log: > Rollback to libedit 2016-01-16. > > This synks us back with current and will make it easier to cherry-pick > fixes. While here, disable keyword expansion as recommended by the > Subversion Primer. > s/synk/sync/ I know the operation is sort of ugly but it makes things much easier to handle for future merges. Pedro. From owner-svn-src-all@freebsd.org Tue Mar 8 15:08:24 2016 Return-Path: Delivered-To: svn-src-all@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 12100AC75A9; Tue, 8 Mar 2016 15:08:24 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 D7AFB4E; Tue, 8 Mar 2016 15:08:23 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28F8Mqc005784; Tue, 8 Mar 2016 15:08:22 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28F8Mtq005783; Tue, 8 Mar 2016 15:08:22 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201603081508.u28F8Mtq005783@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Tue, 8 Mar 2016 15:08:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296501 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 15:08:24 -0000 Author: dchagin Date: Tue Mar 8 15:08:22 2016 New Revision: 296501 URL: https://svnweb.freebsd.org/changeset/base/296501 Log: Link the newly created process to the corresponding parent as if CLONE_PARENT is set, then the parent of the new process will be the same as that of the calling process. MFC after: 1 week Modified: head/sys/compat/linux/linux_fork.c Modified: head/sys/compat/linux/linux_fork.c ============================================================================== --- head/sys/compat/linux/linux_fork.c Tue Mar 8 14:55:50 2016 (r296500) +++ head/sys/compat/linux/linux_fork.c Tue Mar 8 15:08:22 2016 (r296501) @@ -222,6 +222,18 @@ linux_clone_proc(struct thread *td, stru if (args->flags & LINUX_CLONE_SETTLS) linux_set_cloned_tls(td2, args->tls); + /* + * If CLONE_PARENT is set, then the parent of the new process will be + * the same as that of the calling process. + */ + if (args->flags & LINUX_CLONE_PARENT) { + sx_xlock(&proctree_lock); + PROC_LOCK(p2); + proc_reparent(p2, td->td_proc->p_pptr); + PROC_UNLOCK(p2); + sx_xunlock(&proctree_lock); + } + #ifdef DEBUG if (ldebug(clone)) printf(LMSG("clone: successful rfork to %d, " From owner-svn-src-all@freebsd.org Tue Mar 8 15:12:51 2016 Return-Path: Delivered-To: svn-src-all@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 58251AC78B7; Tue, 8 Mar 2016 15:12:51 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 257CD7F9; Tue, 8 Mar 2016 15:12:51 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28FCoY9008770; Tue, 8 Mar 2016 15:12:50 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28FCo8e008769; Tue, 8 Mar 2016 15:12:50 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201603081512.u28FCo8e008769@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Tue, 8 Mar 2016 15:12:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296502 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 15:12:51 -0000 Author: dchagin Date: Tue Mar 8 15:12:49 2016 New Revision: 296502 URL: https://svnweb.freebsd.org/changeset/base/296502 Log: According to POSIX and Linux implementation the alarm() system call is always successfull. So, ignore any errors and return 0 as a Linux do. XXX. Unlike POSIX, Linux in case when the invalid seconds value specified always return 0, so in that case Linux does not return proper remining time. MFC after: 1 week Modified: head/sys/compat/linux/linux_misc.c Modified: head/sys/compat/linux/linux_misc.c ============================================================================== --- head/sys/compat/linux/linux_misc.c Tue Mar 8 15:08:22 2016 (r296501) +++ head/sys/compat/linux/linux_misc.c Tue Mar 8 15:12:49 2016 (r296502) @@ -191,7 +191,6 @@ linux_alarm(struct thread *td, struct li { struct itimerval it, old_it; u_int secs; - int error; #ifdef DEBUG if (ldebug(alarm)) @@ -207,9 +206,7 @@ linux_alarm(struct thread *td, struct li it.it_value.tv_usec = 0; it.it_interval.tv_sec = 0; it.it_interval.tv_usec = 0; - error = kern_setitimer(td, ITIMER_REAL, &it, &old_it); - if (error) - return (error); + kern_setitimer(td, ITIMER_REAL, &it, &old_it); if (timevalisset(&old_it.it_value)) { if (old_it.it_value.tv_usec != 0) old_it.it_value.tv_sec++; From owner-svn-src-all@freebsd.org Tue Mar 8 15:15:36 2016 Return-Path: Delivered-To: svn-src-all@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 15823AC7A9C; Tue, 8 Mar 2016 15:15:36 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 DB296BBA; Tue, 8 Mar 2016 15:15:35 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28FFYuu008910; Tue, 8 Mar 2016 15:15:34 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28FFYhu008909; Tue, 8 Mar 2016 15:15:34 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201603081515.u28FFYhu008909@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Tue, 8 Mar 2016 15:15:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296503 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 15:15:36 -0000 Author: dchagin Date: Tue Mar 8 15:15:34 2016 New Revision: 296503 URL: https://svnweb.freebsd.org/changeset/base/296503 Log: Linux accept() system call return EOPNOTSUPP errno instead of EINVAL for UDP sockets. MFC after: 1 week Modified: head/sys/compat/linux/linux_socket.c Modified: head/sys/compat/linux/linux_socket.c ============================================================================== --- head/sys/compat/linux/linux_socket.c Tue Mar 8 15:12:49 2016 (r296502) +++ head/sys/compat/linux/linux_socket.c Tue Mar 8 15:15:34 2016 (r296503) @@ -781,7 +781,10 @@ linux_accept_common(struct thread *td, i socklen_t * __restrict anamelen; int flags; } */ bsd_args; - int error; + cap_rights_t rights; + struct socket *so; + struct file *fp; + int error, error1; bsd_args.s = s; /* XXX: */ @@ -796,6 +799,14 @@ linux_accept_common(struct thread *td, i if (error) { if (error == EFAULT && namelen != sizeof(struct sockaddr_in)) return (EINVAL); + if (error == EINVAL) { + error1 = getsock_cap(td, s, &rights, &fp, NULL); + if (error1 != 0) + return (error1); + so = (struct socket *)fp->f_data; + if (so->so_type == SOCK_DGRAM) + return (EOPNOTSUPP); + } return (error); } if (addr) From owner-svn-src-all@freebsd.org Tue Mar 8 15:52:39 2016 Return-Path: Delivered-To: svn-src-all@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 E96F8AC3E91; Tue, 8 Mar 2016 15:52:38 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-wm0-x234.google.com (mail-wm0-x234.google.com [IPv6:2a00:1450:400c:c09::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 91B158B9; Tue, 8 Mar 2016 15:52:38 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-wm0-x234.google.com with SMTP id l68so33530945wml.1; Tue, 08 Mar 2016 07:52:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=TqWCDsREgrqHUDCZdqjWpgTJ4sfhlngQjzn4O3/ylk8=; b=dmbAWF+NrcVr0dEWjFIWdE2hzAAH7Dbeo01KXxnd08+VMbbG8ylH+6ac9zdhNMQzSj JxifvNCBHP740+HlBT3uhdGBUzwTWpde5R/xH25pg5aYWA4HKSM9+CyUr0ZOpHpE/jTa xAB1U66gDhZQ62BRQ7Pa0NINMd5QeL+PaLMvKBh7A7Tryl3CWzuW5AtpFccusfUbVleW rJz8Mt+RcYTwCJxmgpGh/FVFt205SmB74dC5QfCAhc6H2fFAfubpnWdNE6oixRbHP5pV kleWZBWjTRo0VxG/nmAEaBR9T56T8oIvY0VFm4UX9kqdIUcpXM9gf/OESr82Ra6IwUfW LTqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=TqWCDsREgrqHUDCZdqjWpgTJ4sfhlngQjzn4O3/ylk8=; b=Cw/fecBlNn9cFRBsHUrpIVA3j8XmQty3Yal3B+RDia20QOKxkCoBlkSTC3CEkpqUTI l+BHQX6gb1rfzwkk5GktKKlQfBIOH4PpTPRsGscAJhCeGktrYa199xvEKSu5r13C033r CfeCo3ziaUT6WQWPOyB2NDiR+OJu5xHZ2527uObLFqLhcQ6IVwBtsjH9VijxEgmVbNg0 lyz1p/DJwqEpolVmor3OvGqwRM9FeUHPfWjMQJnv8DVgx/cXviiM2+my5xLqe+dKkXGq p1RlO4VYBFddPC2oEptqkGjUcrVjeHPpvJuDvjoL2eJ2EUZ19hPbe6fl/id2iyUCs4rh V0ig== X-Gm-Message-State: AD7BkJLfPjQ3JBb/vhQmFHp4OdaFlqxReYeoWvoNnIbUclL5LkqJkNpqxqiLlv8oMupRqg== X-Received: by 10.28.5.203 with SMTP id 194mr21340282wmf.101.1457452356819; Tue, 08 Mar 2016 07:52:36 -0800 (PST) Received: from dft-labs.eu (n1x0n-1-pt.tunnel.tserv5.lon1.ipv6.he.net. [2001:470:1f08:1f7::2]) by smtp.gmail.com with ESMTPSA id js8sm3560324wjc.37.2016.03.08.07.52.35 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Tue, 08 Mar 2016 07:52:35 -0800 (PST) Date: Tue, 8 Mar 2016 16:52:33 +0100 From: Mateusz Guzik To: Dmitry Chagin Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296501 - head/sys/compat/linux Message-ID: <20160308155233.GA7447@dft-labs.eu> References: <201603081508.u28F8Mtq005783@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <201603081508.u28F8Mtq005783@repo.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 15:52:39 -0000 On Tue, Mar 08, 2016 at 03:08:22PM +0000, Dmitry Chagin wrote: > Author: dchagin > Date: Tue Mar 8 15:08:22 2016 > New Revision: 296501 > URL: https://svnweb.freebsd.org/changeset/base/296501 > > Log: > Link the newly created process to the corresponding parent as > if CLONE_PARENT is set, then the parent of the new process will > be the same as that of the calling process. > > MFC after: 1 week > > Modified: > head/sys/compat/linux/linux_fork.c > > Modified: head/sys/compat/linux/linux_fork.c > ============================================================================== > --- head/sys/compat/linux/linux_fork.c Tue Mar 8 14:55:50 2016 (r296500) > +++ head/sys/compat/linux/linux_fork.c Tue Mar 8 15:08:22 2016 (r296501) > @@ -222,6 +222,18 @@ linux_clone_proc(struct thread *td, stru > if (args->flags & LINUX_CLONE_SETTLS) > linux_set_cloned_tls(td2, args->tls); > > + /* > + * If CLONE_PARENT is set, then the parent of the new process will be > + * the same as that of the calling process. > + */ > + if (args->flags & LINUX_CLONE_PARENT) { > + sx_xlock(&proctree_lock); > + PROC_LOCK(p2); > + proc_reparent(p2, td->td_proc->p_pptr); > + PROC_UNLOCK(p2); > + sx_xunlock(&proctree_lock); > + } > + > #ifdef DEBUG > if (ldebug(clone)) > printf(LMSG("clone: successful rfork to %d, " > What is the reason to support this flag? It is questionable at best since it gives surprise children to unsuspecting processes. The patch looks wrong. By the time this is executed the child could have been attached to with ptrace, which reparents it. If the flag really needs to be supported (why?), it should make sure the parent is a linux process and also should fix the race with ptrace. Maybe a "fork completed" or something of the sort flag could be introduced, or PRS_NEW state modified later. -- Mateusz Guzik From owner-svn-src-all@freebsd.org Tue Mar 8 15:55:44 2016 Return-Path: Delivered-To: svn-src-all@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 A180AAC70E4; Tue, 8 Mar 2016 15:55:44 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 74774F14; Tue, 8 Mar 2016 15:55:44 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28FthFV022103; Tue, 8 Mar 2016 15:55:43 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28FthsQ022102; Tue, 8 Mar 2016 15:55:43 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201603081555.u28FthsQ022102@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Tue, 8 Mar 2016 15:55:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296504 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 15:55:44 -0000 Author: dchagin Date: Tue Mar 8 15:55:43 2016 New Revision: 296504 URL: https://svnweb.freebsd.org/changeset/base/296504 Log: Does not leak fp. While here remove bogus cast of fp->f_data. MFC after: 1 week Modified: head/sys/compat/linux/linux_socket.c Modified: head/sys/compat/linux/linux_socket.c ============================================================================== --- head/sys/compat/linux/linux_socket.c Tue Mar 8 15:15:34 2016 (r296503) +++ head/sys/compat/linux/linux_socket.c Tue Mar 8 15:55:43 2016 (r296504) @@ -803,9 +803,12 @@ linux_accept_common(struct thread *td, i error1 = getsock_cap(td, s, &rights, &fp, NULL); if (error1 != 0) return (error1); - so = (struct socket *)fp->f_data; - if (so->so_type == SOCK_DGRAM) + so = fp->f_data; + if (so->so_type == SOCK_DGRAM) { + fdrop(fp, td); return (EOPNOTSUPP); + } + fdrop(fp, td); } return (error); } From owner-svn-src-all@freebsd.org Tue Mar 8 15:55:31 2016 Return-Path: Delivered-To: svn-src-all@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 55086AC7021; Tue, 8 Mar 2016 15:55:31 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-wm0-x22b.google.com (mail-wm0-x22b.google.com [IPv6:2a00:1450:400c:c09::22b]) (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 E3852C1F; Tue, 8 Mar 2016 15:55:30 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-wm0-x22b.google.com with SMTP id l68so155931423wml.0; Tue, 08 Mar 2016 07:55:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=vB7ZwOd5NG9hcaJwDk0S4ObswOeAuMgQ6cxGqEeunLA=; b=kvgasKHBezs7FATAS4Q0cFh2+XpPFL0ESiNFt4A4vFKbtBLX6iWrVqAJXcjCxmZF3Q cunCdF0uamQmVHp0u3qpCqVC/N8olbtN2Al0k+Oqo7uaByLu1MkMjK7OHH/9Y/W2IVTu YAoCG1GClOVAKD5ZFZtzix/Zlc39bM8sayg3Moe9VMpPZCGk2oLjAiyw+7cuBpTzxO62 KBENEXuQY9gjp5dXZOFnwrhl4dWuD3H9DVyzp+kLFAW3DX5GL4OHFVmCq2yoKwAuBoyw kTK8iIiZUvqhZhJbMORMgf7b2xOzpB26QUsUGAr82FePZnoIgf5LPOgsNGZYu+yLnf8O EtiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=vB7ZwOd5NG9hcaJwDk0S4ObswOeAuMgQ6cxGqEeunLA=; b=L+QRKVWBQYDIfQPZ0V4/NlfR1v3IQINxZuZ44AwaKvUiS5wp7NTsrxL/z196NinJkw mPCvaJxQgSowXGtl9NzOWPcfIS9pSHXJGzZATkWiFsfwgaJdAJalPG7BvJDx44pa7/EP pRI0p/InVatteTNdogvRY8sAjINWkjzyI197UTWCnKBhtwH7FGkdeEkZ87kY3x2VaHDt mOQP/8s1xMfVCdohuaRAOiF/yq4WuTvm9zQ9NzezpFYFhn/rR81aGbiEXZwsGaB9z85H 7LEvyl8GMKsepuH7pzwwSnrqvUQhHJDn+hX2lGDYnpUg3XCENxmaOcK59hZA3TzJ+/Tn ul2w== X-Gm-Message-State: AD7BkJLzj9HmdPBI/XwHEKu7+/M3o5CLmUB513j1XJyJSfU1xE+LB1MTHm1LVs/exxt0nw== X-Received: by 10.28.24.130 with SMTP id 124mr20895327wmy.50.1457452528914; Tue, 08 Mar 2016 07:55:28 -0800 (PST) Received: from dft-labs.eu (n1x0n-1-pt.tunnel.tserv5.lon1.ipv6.he.net. [2001:470:1f08:1f7::2]) by smtp.gmail.com with ESMTPSA id p191sm28678345wmb.0.2016.03.08.07.55.28 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Tue, 08 Mar 2016 07:55:28 -0800 (PST) Date: Tue, 8 Mar 2016 16:55:26 +0100 From: Mateusz Guzik To: Dmitry Chagin Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296503 - head/sys/compat/linux Message-ID: <20160308155526.GB7447@dft-labs.eu> References: <201603081515.u28FFYhu008909@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <201603081515.u28FFYhu008909@repo.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 15:55:31 -0000 On Tue, Mar 08, 2016 at 03:15:34PM +0000, Dmitry Chagin wrote: > Author: dchagin > Date: Tue Mar 8 15:15:34 2016 > New Revision: 296503 > URL: https://svnweb.freebsd.org/changeset/base/296503 > > Log: > Linux accept() system call return EOPNOTSUPP errno instead of EINVAL > for UDP sockets. > > MFC after: 1 week > > Modified: > head/sys/compat/linux/linux_socket.c > > Modified: head/sys/compat/linux/linux_socket.c > ============================================================================== > --- head/sys/compat/linux/linux_socket.c Tue Mar 8 15:12:49 2016 (r296502) > +++ head/sys/compat/linux/linux_socket.c Tue Mar 8 15:15:34 2016 (r296503) > @@ -781,7 +781,10 @@ linux_accept_common(struct thread *td, i > socklen_t * __restrict anamelen; > int flags; > } */ bsd_args; > - int error; > + cap_rights_t rights; > + struct socket *so; > + struct file *fp; > + int error, error1; > > bsd_args.s = s; > /* XXX: */ > @@ -796,6 +799,14 @@ linux_accept_common(struct thread *td, i > if (error) { > if (error == EFAULT && namelen != sizeof(struct sockaddr_in)) > return (EINVAL); > + if (error == EINVAL) { > + error1 = getsock_cap(td, s, &rights, &fp, NULL); > + if (error1 != 0) > + return (error1); > + so = (struct socket *)fp->f_data; > + if (so->so_type == SOCK_DGRAM) > + return (EOPNOTSUPP); > + } > return (error); > } > if (addr) What drops the reference obtained from getsock_cap? Also the race due to double fd lookup, while fine enough for this purpose, should be documented as accepted. -- Mateusz Guzik From owner-svn-src-all@freebsd.org Tue Mar 8 16:03:17 2016 Return-Path: Delivered-To: svn-src-all@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 A1FCFAC7476; Tue, 8 Mar 2016 16:03:17 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pa0-x22a.google.com (mail-pa0-x22a.google.com [IPv6:2607:f8b0:400e:c03::22a]) (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 6FFC16A5; Tue, 8 Mar 2016 16:03:17 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pa0-x22a.google.com with SMTP id fl4so15399673pad.0; Tue, 08 Mar 2016 08:03:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=lCsWx7vPbS8Fp5a7OMoMDrFVOGfB1YNrv7XpKIM8zW4=; b=mV+1KlAxa+UqqmYy4AvMJUzN7D/Ey7gWGqvLDcduoFjJ6FGc2X9cCTrLFgQnfjfWb2 sV2o7KeGYxvwRaI3JG9mzLbZgqgFSFbvMSGfyhQnSvkFT67dIU3lCBt22V3vr4iIhjhV htf/nY8YivN7KQXHf85UShNrLeLjKBIWb6wE6GZNhDlCljaaKY2WSY4agCuwsuOMzZFd khHH0JgcyqjuYU7lc3Sn2V888LkTmXYKkisGdVKBuTUQrOku81OJd+ywFELuCNZK308C uJLwisXKkD+a8/fDgs6hQ2lK2Au5xHJAazp7Gnl1rvkS8vYhYph6mp6jtolKeeTQ1f6W Cnjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=lCsWx7vPbS8Fp5a7OMoMDrFVOGfB1YNrv7XpKIM8zW4=; b=O1tOE9PR8wifFwwFMh4oQ3W1//SVjDwSIpiZvb7sVK+VfaJTi2MNCfoG9qJiz2v2Lu 4wIAqThbX5ywDegqKhHZNHZy1z7IzjctvVGTJ8r0TDwJum037afdow7DDmhoPXAnnyYv H/u4yjPcDN7JWoQrIL7wiYtUcK4IZmx5QTF4Iky/I0gyAemB8iQsZYfY617p20ZPB/6s OfYIvYDnNashiw1E5G3IftpgdWBPX9YrDM32e2D+rRg9WZNkHnIA3SZ8eoDQ9toHVK2v QFkzBrET3C3+9gr5jFVRUnE6Z3DJ/jqWHBNa4GGFhKMRLQih5stdQPsUQGwn0v5wLxYI Bx4Q== X-Gm-Message-State: AD7BkJJChQivjJSzkFKfGW3mj0aWU4j9iCRQUEKGPbkHdWOm+pP9fXE8XKubF9dUCvzF+w== X-Received: by 10.66.193.131 with SMTP id ho3mr42471595pac.154.1457452997063; Tue, 08 Mar 2016 08:03:17 -0800 (PST) Received: from [192.168.0.18] (c-73-193-95-57.hsd1.wa.comcast.net. [73.193.95.57]) by smtp.gmail.com with ESMTPSA id z5sm6019305par.21.2016.03.08.08.03.15 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 08 Mar 2016 08:03:15 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... From: NGie Cooper X-Mailer: iPhone Mail (13D15) In-Reply-To: Date: Tue, 8 Mar 2016 08:03:14 -0800 Cc: Xin Li , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org, mike@sentex.net Content-Transfer-Encoding: quoted-printable Message-Id: References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DE6DFD.4020300@delphij.net> To: Mathieu Arnold X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:03:17 -0000 > On Mar 8, 2016, at 01:14, Mathieu Arnold wrote: >=20 >=20 >=20 > +--On 7 mars 2016 22:15:25 -0800 Xin Li wrote: > |=20 > |=20 > | On 3/7/16 16:29, Mathieu Arnold wrote: > |> +--On 7 mars 2016 16:22:12 +0000 Xin LI wrote: > |> | Author: delphij > |> | Date: Mon Mar 7 16:22:11 2016 > |> | New Revision: 296465 > |> | URL: https://svnweb.freebsd.org/changeset/base/296465 > |> |=20 > |> | Log: > |> | Fix multiple OpenSSL vulnerabilities. > |> | =20 > |> | Security: FreeBSD-SA-16:12.openssl > |> | Approved by: so > |>=20 > |> After that, poudriere bulk fails with: > |>=20 > |> [00:00:07] =3D=3D=3D=3D>> Creating pkgng repository > |> Creating repository in /tmp/packages: 100% > |> Packing files for repository: 0%Child process pid=3D50970 terminated > |> abnormally: Segmentation fault: 11 > |> [00:00:08] =3D=3D=3D=3D>> Cleaning up > |> 9amd64-pkgng-default: removed > |> 9amd64-pkgng-default-n: removed > |>=20 > |> pkg-static is the one doing the segfault... > |=20 > | I can't seem to be able to reproduce this, what ports are you trying to > | bulk? (Also note that after doing poudriere jail -u, the bulk seems to > | have rebuilt pkg, I'm not sure if that matters, but it's possible, do I > | need to explicitly specify something to avoid this?). >=20 > Well, I was doing a bulk with dns/bind99 dns/bind910, it did rebuild > everything needed by them because of the SA, and then pkg crashed while > building the repository. Mike said similar on the stable/9 commit thread. I think the commit(s) shoul= d be backed out, fixed, and recommitted once the issue has been fixed. Thanks! -Ngie= From owner-svn-src-all@freebsd.org Tue Mar 8 16:09:55 2016 Return-Path: Delivered-To: svn-src-all@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 1B2F3AC782F; Tue, 8 Mar 2016 16:09:55 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-ig0-x234.google.com (mail-ig0-x234.google.com [IPv6:2607:f8b0:4001:c05::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DBE68C6; Tue, 8 Mar 2016 16:09:54 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-ig0-x234.google.com with SMTP id ir4so78670044igb.1; Tue, 08 Mar 2016 08:09:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=KgGkCYTzOCLizTp4LUzVSap2ssjB5GsxCj95VhCrovk=; b=Ln7pHekY1DXDeJhcrUwyDFmXTkgjVZSeA18cALnC3vmk+9z+wNKTOBTbOxp952fA5z 3FbXZjIgVKhhXxP5Nl7pBJQMWga5b2cCL62BzimYGXsFWQTgaDdpZuAccm97XOd2OkSV +rp9kWvoOAkhGgrv1Vx3mKkQaYilVpGyU2S/jljK8i6XEbLTwUmVx2MUdQTFN7UvkHzH 5TDHbYawf9vW2SqWbtLqqn2o2zPMzeknMF1OhYfLEMUd0V3ZZUUymBfccUcH7QttO8rd 1KsIPU6+aqaqTnlMEZm6qFAbBVqdrb8qUPJFglDDoC6pPPZqH2z0MfCyiZn1sLzVl4RE YdcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=KgGkCYTzOCLizTp4LUzVSap2ssjB5GsxCj95VhCrovk=; b=ludoJL7UvYhNwr/xd2syZH8gtYTTZYtbUTFFdU/Hf78yVe4QqCqnutcnSCIH9PD1Xk E4kLai8eOf02eCTblfPDekZGNKheSwCooWcouoIoOK3dbR3Q9UYf5Meya/dF0aEkWcSZ 0X6YgNI/GZCncOIY0CFbampgr07B7I7Ovnc7JTgORrmK3AKY3Fo5L4toUvlH+A83yiur r8cXw+1bTC2dmrW4rucBGsVTWA9mWxnbf3yJGrfNu+loQXfw/FKEfYAf/20n8Ha5kGxJ RXX6jsli4/uH1K2ywUg0o7isGmpTplBgokSPwi5ZMC/eQJQNlHi6cKj0p02UkQ5Yia3O qE6Q== X-Gm-Message-State: AD7BkJKDeXYSvZo/dbG5tylBhEml+B0cY9eUY0gAieIBzPONp8mF49Wh7HOiA9Zl52+sYusvu6tPWgf4juTl6w== X-Received: by 10.50.2.35 with SMTP id 3mr18368363igr.33.1457453394255; Tue, 08 Mar 2016 08:09:54 -0800 (PST) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.39.66 with HTTP; Tue, 8 Mar 2016 08:09:34 -0800 (PST) In-Reply-To: <201603081512.u28FCo8e008769@repo.freebsd.org> References: <201603081512.u28FCo8e008769@repo.freebsd.org> From: Ed Maste Date: Tue, 8 Mar 2016 11:09:34 -0500 X-Google-Sender-Auth: HUOixNmv93fqIstWgdFQo2hL9Uo Message-ID: Subject: Re: svn commit: r296502 - head/sys/compat/linux To: Dmitry Chagin Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:09:55 -0000 On 8 March 2016 at 10:12, Dmitry Chagin wrote: > Author: dchagin > Date: Tue Mar 8 15:12:49 2016 > New Revision: 296502 > URL: https://svnweb.freebsd.org/changeset/base/296502 > > Log: > According to POSIX and Linux implementation the alarm() system call > is always successful. > So, ignore any errors and return 0 as a Linux do. I wonder if this comment ought to be in the source itself too? From owner-svn-src-all@freebsd.org Tue Mar 8 16:12:01 2016 Return-Path: Delivered-To: svn-src-all@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 9A84AAC7AAC; Tue, 8 Mar 2016 16:12:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 72CC969D; Tue, 8 Mar 2016 16:12:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28GC0KP029787; Tue, 8 Mar 2016 16:12:00 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28GC0Df029786; Tue, 8 Mar 2016 16:12:00 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081612.u28GC0Df029786@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 16:12:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296505 - vendor-sys/illumos/dist/uts/common/fs/zfs vendor-sys/illumos/dist/uts/common/fs/zfs/sys vendor/illumos/dist/cmd/zinject X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:12:01 -0000 Author: mav Date: Tue Mar 8 16:11:59 2016 New Revision: 296505 URL: https://svnweb.freebsd.org/changeset/base/296505 Log: 6531 Provide mechanism to artificially limit disk performance Reviewed by: Paul Dagnelie Reviewed by: Matthew Ahrens Reviewed by: George Wilson Approved by: Dan McDonald Author: Prakash Surya illumos/illumos-gate@97e81309571898df9fdd94aab1216dfcf23e060b Modified: vendor/illumos/dist/cmd/zinject/zinject.c Changes in other areas also in this revision: Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_ioctl.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zio.h vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_disk.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_file.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_queue.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio_inject.c Modified: vendor/illumos/dist/cmd/zinject/zinject.c ============================================================================== --- vendor/illumos/dist/cmd/zinject/zinject.c Tue Mar 8 15:55:43 2016 (r296504) +++ vendor/illumos/dist/cmd/zinject/zinject.c Tue Mar 8 16:11:59 2016 (r296505) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2012, 2015 by Delphix. All rights reserved. */ /* @@ -225,21 +225,57 @@ usage(void) "\t\tall records if 'all' is specificed.\n" "\n" "\tzinject -p pool\n" + "\n" "\t\tInject a panic fault at the specified function. Only \n" "\t\tfunctions which call spa_vdev_config_exit(), or \n" "\t\tspa_vdev_exit() will trigger a panic.\n" "\n" "\tzinject -d device [-e errno] [-L ] [-F]\n" "\t [-T pool\n" + "\n" "\t\tInject a fault into a particular device or the device's\n" "\t\tlabel. Label injection can either be 'nvlist', 'uber',\n " "\t\t'pad1', or 'pad2'.\n" "\t\t'errno' can be 'nxio' (the default), 'io', or 'dtl'.\n" "\n" "\tzinject -d device -A pool\n" + "\n" "\t\tPerform a specific action on a particular device\n" "\n" + "\tzinject -d device -D latency:lanes pool\n" + "\n" + "\t\tAdd an artificial delay to IO requests on a particular\n" + "\t\tdevice, such that the requests take a minimum of 'latency'\n" + "\t\tmilliseconds to complete. Each delay has an associated\n" + "\t\tnumber of 'lanes' which defines the number of concurrent\n" + "\t\tIO requests that can be processed.\n" + "\n" + "\t\tFor example, with a single lane delay of 10 ms (-D 10:1),\n" + "\t\tthe device will only be able to service a single IO request\n" + "\t\tat a time with each request taking 10 ms to complete. So,\n" + "\t\tif only a single request is submitted every 10 ms, the\n" + "\t\taverage latency will be 10 ms; but if more than one request\n" + "\t\tis submitted every 10 ms, the average latency will be more\n" + "\t\tthan 10 ms.\n" + "\n" + "\t\tSimilarly, if a delay of 10 ms is specified to have two\n" + "\t\tlanes (-D 10:2), then the device will be able to service\n" + "\t\ttwo requests at a time, each with a minimum latency of\n" + "\t\t10 ms. So, if two requests are submitted every 10 ms, then\n" + "\t\tthe average latency will be 10 ms; but if more than two\n" + "\t\trequests are submitted every 10 ms, the average latency\n" + "\t\twill be more than 10 ms.\n" + "\n" + "\t\tAlso note, these delays are additive. So two invocations\n" + "\t\tof '-D 10:1', is roughly equivalent to a single invocation\n" + "\t\tof '-D 10:2'. This also means, one can specify multiple\n" + "\t\tlanes with differing target latencies. For example, an\n" + "\t\tinvocation of '-D 10:1' followed by '-D 25:2' will\n" + "\t\tcreate 3 lanes on the device; one lane with a latency\n" + "\t\tof 10 ms and two lanes with a 25 ms latency.\n" + "\n" "\tzinject -I [-s | -g ] pool\n" + "\n" "\t\tCause the pool to stop writing blocks yet not\n" "\t\treport errors for a duration. Simulates buggy hardware\n" "\t\tthat fails to honor cache flush requests.\n" @@ -353,6 +389,9 @@ print_device_handler(int id, const char if (record->zi_guid == 0 || record->zi_func[0] != '\0') return (0); + if (record->zi_cmd == ZINJECT_DELAY_IO) + return (0); + if (*count == 0) { (void) printf("%3s %-15s %s\n", "ID", "POOL", "GUID"); (void) printf("--- --------------- ----------------\n"); @@ -367,6 +406,35 @@ print_device_handler(int id, const char } static int +print_delay_handler(int id, const char *pool, zinject_record_t *record, + void *data) +{ + int *count = data; + + if (record->zi_guid == 0 || record->zi_func[0] != '\0') + return (0); + + if (record->zi_cmd != ZINJECT_DELAY_IO) + return (0); + + if (*count == 0) { + (void) printf("%3s %-15s %-15s %-15s %s\n", + "ID", "POOL", "DELAY (ms)", "LANES", "GUID"); + (void) printf("--- --------------- --------------- " + "--------------- ----------------\n"); + } + + *count += 1; + + (void) printf("%3d %-15s %-15llu %-15llu %llx\n", id, pool, + (u_longlong_t)NSEC2MSEC(record->zi_timer), + (u_longlong_t)record->zi_nlanes, + (u_longlong_t)record->zi_guid); + + return (0); +} + +static int print_panic_handler(int id, const char *pool, zinject_record_t *record, void *data) { @@ -403,6 +471,13 @@ print_all_handlers(void) count = 0; } + (void) iter_handlers(print_delay_handler, &count); + if (count > 0) { + total += count; + (void) printf("\n"); + count = 0; + } + (void) iter_handlers(print_data_handler, &count); if (count > 0) { total += count; @@ -545,6 +620,35 @@ perform_action(const char *pool, zinject return (1); } +static int +parse_delay(char *str, uint64_t *delay, uint64_t *nlanes) +{ + unsigned long scan_delay; + unsigned long scan_nlanes; + + if (sscanf(str, "%lu:%lu", &scan_delay, &scan_nlanes) != 2) + return (1); + + /* + * We explicitly disallow a delay of zero here, because we key + * off this value being non-zero in translate_device(), to + * determine if the fault is a ZINJECT_DELAY_IO fault or not. + */ + if (scan_delay == 0) + return (1); + + /* + * The units for the CLI delay parameter is milliseconds, but + * the data passed to the kernel is interpreted as nanoseconds. + * Thus we scale the milliseconds to nanoseconds here, and this + * nanosecond value is used to pass the delay to the kernel. + */ + *delay = MSEC2NSEC(scan_delay); + *nlanes = scan_nlanes; + + return (0); +} + int main(int argc, char **argv) { @@ -628,8 +732,9 @@ main(int argc, char **argv) device = optarg; break; case 'D': - record.zi_timer = strtoull(optarg, &end, 10); - if (errno != 0 || *end != '\0') { + ret = parse_delay(optarg, &record.zi_timer, + &record.zi_nlanes); + if (ret != 0) { (void) fprintf(stderr, "invalid i/o delay " "value: '%s'\n", optarg); usage(); From owner-svn-src-all@freebsd.org Tue Mar 8 16:12:01 2016 Return-Path: Delivered-To: svn-src-all@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 7191AAC7AA7; Tue, 8 Mar 2016 16:12:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 37EE169B; Tue, 8 Mar 2016 16:12:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28GC0fP029781; Tue, 8 Mar 2016 16:12:00 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28GBxl2029770; Tue, 8 Mar 2016 16:11:59 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081611.u28GBxl2029770@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 16:11:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296505 - vendor-sys/illumos/dist/uts/common/fs/zfs vendor-sys/illumos/dist/uts/common/fs/zfs/sys vendor/illumos/dist/cmd/zinject X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:12:01 -0000 Author: mav Date: Tue Mar 8 16:11:59 2016 New Revision: 296505 URL: https://svnweb.freebsd.org/changeset/base/296505 Log: 6531 Provide mechanism to artificially limit disk performance Reviewed by: Paul Dagnelie Reviewed by: Matthew Ahrens Reviewed by: George Wilson Approved by: Dan McDonald Author: Prakash Surya illumos/illumos-gate@97e81309571898df9fdd94aab1216dfcf23e060b Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_ioctl.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zio.h vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_disk.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_file.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_queue.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio_inject.c Changes in other areas also in this revision: Modified: vendor/illumos/dist/cmd/zinject/zinject.c Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_ioctl.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 15:55:43 2016 (r296504) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 16:11:59 2016 (r296505) @@ -292,6 +292,7 @@ typedef struct zinject_record { uint32_t zi_iotype; int32_t zi_duration; uint64_t zi_timer; + uint64_t zi_nlanes; uint32_t zi_cmd; uint32_t zi_pad; } zinject_record_t; Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zio.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zio.h Tue Mar 8 15:55:43 2016 (r296504) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zio.h Tue Mar 8 16:11:59 2016 (r296505) @@ -419,6 +419,7 @@ struct zio { uint64_t io_offset; hrtime_t io_timestamp; + hrtime_t io_target_timestamp; avl_node_t io_queue_node; avl_node_t io_offset_node; @@ -506,6 +507,8 @@ extern int zio_wait(zio_t *zio); extern void zio_nowait(zio_t *zio); extern void zio_execute(zio_t *zio); extern void zio_interrupt(zio_t *zio); +extern void zio_delay_init(zio_t *zio); +extern void zio_delay_interrupt(zio_t *zio); extern zio_t *zio_walk_parents(zio_t *cio); extern zio_t *zio_walk_children(zio_t *pio); @@ -567,7 +570,7 @@ extern int zio_handle_fault_injection(zi extern int zio_handle_device_injection(vdev_t *vd, zio_t *zio, int error); extern int zio_handle_label_injection(zio_t *zio, int error); extern void zio_handle_ignored_writes(zio_t *zio); -extern uint64_t zio_handle_io_delay(zio_t *zio); +extern hrtime_t zio_handle_io_delay(zio_t *zio); /* * Checksum ereport functions Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_disk.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_disk.c Tue Mar 8 15:55:43 2016 (r296504) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_disk.c Tue Mar 8 16:11:59 2016 (r296505) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2012, 2015 by Delphix. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2013 Joyent, Inc. All rights reserved. */ @@ -691,7 +691,7 @@ vdev_disk_io_intr(buf_t *bp) kmem_free(vb, sizeof (vdev_buf_t)); - zio_interrupt(zio); + zio_delay_interrupt(zio); } static void @@ -797,6 +797,7 @@ vdev_disk_io_start(zio_t *zio) } ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE); + zio->io_target_timestamp = zio_handle_io_delay(zio); vb = kmem_alloc(sizeof (vdev_buf_t), KM_SLEEP); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_file.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_file.c Tue Mar 8 15:55:43 2016 (r296504) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_file.c Tue Mar 8 16:11:59 2016 (r296505) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2011, 2015 by Delphix. All rights reserved. */ #include @@ -158,7 +158,7 @@ vdev_file_io_intr(buf_t *bp) zio->io_error = SET_ERROR(ENOSPC); kmem_free(vb, sizeof (vdev_buf_t)); - zio_interrupt(zio); + zio_delay_interrupt(zio); } static void @@ -212,6 +212,7 @@ vdev_file_io_start(zio_t *zio) } ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE); + zio->io_target_timestamp = zio_handle_io_delay(zio); vb = kmem_alloc(sizeof (vdev_buf_t), KM_SLEEP); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_queue.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_queue.c Tue Mar 8 15:55:43 2016 (r296504) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_queue.c Tue Mar 8 16:11:59 2016 (r296505) @@ -729,9 +729,6 @@ vdev_queue_io_done(zio_t *zio) vdev_queue_t *vq = &zio->io_vd->vdev_queue; zio_t *nio; - if (zio_injection_enabled) - delay(SEC_TO_TICK(zio_handle_io_delay(zio))); - mutex_enter(&vq->vq_lock); vdev_queue_pending_remove(vq, zio); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c Tue Mar 8 15:55:43 2016 (r296504) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c Tue Mar 8 16:11:59 2016 (r296505) @@ -1352,6 +1352,58 @@ zio_interrupt(zio_t *zio) zio_taskq_dispatch(zio, ZIO_TASKQ_INTERRUPT, B_FALSE); } +void +zio_delay_interrupt(zio_t *zio) +{ + /* + * The timeout_generic() function isn't defined in userspace, so + * rather than trying to implement the function, the zio delay + * functionality has been disabled for userspace builds. + */ + +#ifdef _KERNEL + /* + * If io_target_timestamp is zero, then no delay has been registered + * for this IO, thus jump to the end of this function and "skip" the + * delay; issuing it directly to the zio layer. + */ + if (zio->io_target_timestamp != 0) { + hrtime_t now = gethrtime(); + + if (now >= zio->io_target_timestamp) { + /* + * This IO has already taken longer than the target + * delay to complete, so we don't want to delay it + * any longer; we "miss" the delay and issue it + * directly to the zio layer. This is likely due to + * the target latency being set to a value less than + * the underlying hardware can satisfy (e.g. delay + * set to 1ms, but the disks take 10ms to complete an + * IO request). + */ + + DTRACE_PROBE2(zio__delay__miss, zio_t *, zio, + hrtime_t, now); + + zio_interrupt(zio); + } else { + hrtime_t diff = zio->io_target_timestamp - now; + + DTRACE_PROBE3(zio__delay__hit, zio_t *, zio, + hrtime_t, now, hrtime_t, diff); + + (void) timeout_generic(CALLOUT_NORMAL, + (void (*)(void *))zio_interrupt, zio, diff, 1, 0); + } + + return; + } +#endif + + DTRACE_PROBE1(zio__delay__skip, zio_t *, zio); + zio_interrupt(zio); +} + /* * Execute the I/O pipeline until one of the following occurs: * Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zio_inject.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zio_inject.c Tue Mar 8 15:55:43 2016 (r296504) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zio_inject.c Tue Mar 8 16:11:59 2016 (r296505) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2012, 2015 by Delphix. All rights reserved. */ /* @@ -49,15 +49,53 @@ uint32_t zio_injection_enabled; +/* + * Data describing each zinject handler registered on the system, and + * contains the list node linking the handler in the global zinject + * handler list. + */ typedef struct inject_handler { int zi_id; spa_t *zi_spa; zinject_record_t zi_record; + uint64_t *zi_lanes; + int zi_next_lane; list_node_t zi_link; } inject_handler_t; +/* + * List of all zinject handlers registered on the system, protected by + * the inject_lock defined below. + */ static list_t inject_handlers; + +/* + * This protects insertion into, and traversal of, the inject handler + * list defined above; as well as the inject_delay_count. Any time a + * handler is inserted or removed from the list, this lock should be + * taken as a RW_WRITER; and any time traversal is done over the list + * (without modification to it) this lock should be taken as a RW_READER. + */ static krwlock_t inject_lock; + +/* + * This holds the number of zinject delay handlers that have been + * registered on the system. It is protected by the inject_lock defined + * above. Thus modifications to this count must be a RW_WRITER of the + * inject_lock, and reads of this count must be (at least) a RW_READER + * of the lock. + */ +static int inject_delay_count = 0; + +/* + * This lock is used only in zio_handle_io_delay(), refer to the comment + * in that function for more details. + */ +static kmutex_t inject_delay_mtx; + +/* + * Used to assign unique identifying numbers to each new zinject handler. + */ static int inject_next_id = 1; /* @@ -360,32 +398,164 @@ spa_handle_ignored_writes(spa_t *spa) rw_exit(&inject_lock); } -uint64_t +hrtime_t zio_handle_io_delay(zio_t *zio) { vdev_t *vd = zio->io_vd; - inject_handler_t *handler; - uint64_t seconds = 0; - - if (zio_injection_enabled == 0) - return (0); + inject_handler_t *min_handler = NULL; + hrtime_t min_target = 0; rw_enter(&inject_lock, RW_READER); - for (handler = list_head(&inject_handlers); handler != NULL; - handler = list_next(&inject_handlers, handler)) { + /* + * inject_delay_count is a subset of zio_injection_enabled that + * is only incremented for delay handlers. These checks are + * mainly added to remind the reader why we're not explicitly + * checking zio_injection_enabled like the other functions. + */ + IMPLY(inject_delay_count > 0, zio_injection_enabled > 0); + IMPLY(zio_injection_enabled == 0, inject_delay_count == 0); + + /* + * If there aren't any inject delay handlers registered, then we + * can short circuit and simply return 0 here. A value of zero + * informs zio_delay_interrupt() that this request should not be + * delayed. This short circuit keeps us from acquiring the + * inject_delay_mutex unnecessarily. + */ + if (inject_delay_count == 0) { + rw_exit(&inject_lock); + return (0); + } + + /* + * Each inject handler has a number of "lanes" associated with + * it. Each lane is able to handle requests independently of one + * another, and at a latency defined by the inject handler + * record's zi_timer field. Thus if a handler in configured with + * a single lane with a 10ms latency, it will delay requests + * such that only a single request is completed every 10ms. So, + * if more than one request is attempted per each 10ms interval, + * the average latency of the requests will be greater than + * 10ms; but if only a single request is submitted each 10ms + * interval the average latency will be 10ms. + * + * We need to acquire this mutex to prevent multiple concurrent + * threads being assigned to the same lane of a given inject + * handler. The mutex allows us to perform the following two + * operations atomically: + * + * 1. determine the minimum handler and minimum target + * value of all the possible handlers + * 2. update that minimum handler's lane array + * + * Without atomicity, two (or more) threads could pick the same + * lane in step (1), and then conflict with each other in step + * (2). This could allow a single lane handler to process + * multiple requests simultaneously, which shouldn't be possible. + */ + mutex_enter(&inject_delay_mtx); + for (inject_handler_t *handler = list_head(&inject_handlers); + handler != NULL; handler = list_next(&inject_handlers, handler)) { if (handler->zi_record.zi_cmd != ZINJECT_DELAY_IO) continue; - if (vd->vdev_guid == handler->zi_record.zi_guid) { - seconds = handler->zi_record.zi_timer; - break; + if (vd->vdev_guid != handler->zi_record.zi_guid) + continue; + + /* + * Defensive; should never happen as the array allocation + * occurs prior to inserting this handler on the list. + */ + ASSERT3P(handler->zi_lanes, !=, NULL); + + /* + * This should never happen, the zinject command should + * prevent a user from setting an IO delay with zero lanes. + */ + ASSERT3U(handler->zi_record.zi_nlanes, !=, 0); + + ASSERT3U(handler->zi_record.zi_nlanes, >, + handler->zi_next_lane); + + /* + * We want to issue this IO to the lane that will become + * idle the soonest, so we compare the soonest this + * specific handler can complete the IO with all other + * handlers, to find the lowest value of all possible + * lanes. We then use this lane to submit the request. + * + * Since each handler has a constant value for its + * delay, we can just use the "next" lane for that + * handler; as it will always be the lane with the + * lowest value for that particular handler (i.e. the + * lane that will become idle the soonest). This saves a + * scan of each handler's lanes array. + * + * There's two cases to consider when determining when + * this specific IO request should complete. If this + * lane is idle, we want to "submit" the request now so + * it will complete after zi_timer milliseconds. Thus, + * we set the target to now + zi_timer. + * + * If the lane is busy, we want this request to complete + * zi_timer milliseconds after the lane becomes idle. + * Since the 'zi_lanes' array holds the time at which + * each lane will become idle, we use that value to + * determine when this request should complete. + */ + hrtime_t idle = handler->zi_record.zi_timer + gethrtime(); + hrtime_t busy = handler->zi_record.zi_timer + + handler->zi_lanes[handler->zi_next_lane]; + hrtime_t target = MAX(idle, busy); + + if (min_handler == NULL) { + min_handler = handler; + min_target = target; + continue; } + ASSERT3P(min_handler, !=, NULL); + ASSERT3U(min_target, !=, 0); + + /* + * We don't yet increment the "next lane" variable since + * we still might find a lower value lane in another + * handler during any remaining iterations. Once we're + * sure we've selected the absolute minimum, we'll claim + * the lane and increment the handler's "next lane" + * field below. + */ + + if (target < min_target) { + min_handler = handler; + min_target = target; + } } + + /* + * 'min_handler' will be NULL if no IO delays are registered for + * this vdev, otherwise it will point to the handler containing + * the lane that will become idle the soonest. + */ + if (min_handler != NULL) { + ASSERT3U(min_target, !=, 0); + min_handler->zi_lanes[min_handler->zi_next_lane] = min_target; + + /* + * If we've used all possible lanes for this handler, + * loop back and start using the first lane again; + * otherwise, just increment the lane index. + */ + min_handler->zi_next_lane = (min_handler->zi_next_lane + 1) % + min_handler->zi_record.zi_nlanes; + } + + mutex_exit(&inject_delay_mtx); rw_exit(&inject_lock); - return (seconds); + + return (min_target); } /* @@ -409,6 +579,24 @@ zio_inject_fault(char *name, int flags, if ((error = spa_reset(name)) != 0) return (error); + if (record->zi_cmd == ZINJECT_DELAY_IO) { + /* + * A value of zero for the number of lanes or for the + * delay time doesn't make sense. + */ + if (record->zi_timer == 0 || record->zi_nlanes == 0) + return (SET_ERROR(EINVAL)); + + /* + * The number of lanes is directly mapped to the size of + * an array used by the handler. Thus, to ensure the + * user doesn't trigger an allocation that's "too large" + * we cap the number of lanes here. + */ + if (record->zi_nlanes >= UINT16_MAX) + return (SET_ERROR(EINVAL)); + } + if (!(flags & ZINJECT_NULL)) { /* * spa_inject_ref() will add an injection reference, which will @@ -420,11 +608,34 @@ zio_inject_fault(char *name, int flags, handler = kmem_alloc(sizeof (inject_handler_t), KM_SLEEP); + handler->zi_spa = spa; + handler->zi_record = *record; + + if (handler->zi_record.zi_cmd == ZINJECT_DELAY_IO) { + handler->zi_lanes = kmem_zalloc( + sizeof (*handler->zi_lanes) * + handler->zi_record.zi_nlanes, KM_SLEEP); + handler->zi_next_lane = 0; + } else { + handler->zi_lanes = NULL; + handler->zi_next_lane = 0; + } + rw_enter(&inject_lock, RW_WRITER); + /* + * We can't move this increment into the conditional + * above because we need to hold the RW_WRITER lock of + * inject_lock, and we don't want to hold that while + * allocating the handler's zi_lanes array. + */ + if (handler->zi_record.zi_cmd == ZINJECT_DELAY_IO) { + ASSERT3S(inject_delay_count, >=, 0); + inject_delay_count++; + ASSERT3S(inject_delay_count, >, 0); + } + *id = handler->zi_id = inject_next_id++; - handler->zi_spa = spa; - handler->zi_record = *record; list_insert_tail(&inject_handlers, handler); atomic_inc_32(&zio_injection_enabled); @@ -502,9 +713,23 @@ zio_clear_fault(int id) return (SET_ERROR(ENOENT)); } + if (handler->zi_record.zi_cmd == ZINJECT_DELAY_IO) { + ASSERT3S(inject_delay_count, >, 0); + inject_delay_count--; + ASSERT3S(inject_delay_count, >=, 0); + } + list_remove(&inject_handlers, handler); rw_exit(&inject_lock); + if (handler->zi_record.zi_cmd == ZINJECT_DELAY_IO) { + ASSERT3P(handler->zi_lanes, !=, NULL); + kmem_free(handler->zi_lanes, sizeof (*handler->zi_lanes) * + handler->zi_record.zi_nlanes); + } else { + ASSERT3P(handler->zi_lanes, ==, NULL); + } + spa_inject_delref(handler->zi_spa); kmem_free(handler, sizeof (inject_handler_t)); atomic_dec_32(&zio_injection_enabled); @@ -516,6 +741,7 @@ void zio_inject_init(void) { rw_init(&inject_lock, NULL, RW_DEFAULT, NULL); + mutex_init(&inject_delay_mtx, NULL, MUTEX_DEFAULT, NULL); list_create(&inject_handlers, sizeof (inject_handler_t), offsetof(inject_handler_t, zi_link)); } @@ -524,5 +750,6 @@ void zio_inject_fini(void) { list_destroy(&inject_handlers); + mutex_destroy(&inject_delay_mtx); rw_destroy(&inject_lock); } From owner-svn-src-all@freebsd.org Tue Mar 8 16:12:56 2016 Return-Path: Delivered-To: svn-src-all@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 7F373AC7BCA; Tue, 8 Mar 2016 16:12:56 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4E016A7D; Tue, 8 Mar 2016 16:12:56 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28GCtHC029858; Tue, 8 Mar 2016 16:12:55 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28GCtGq029857; Tue, 8 Mar 2016 16:12:55 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603081612.u28GCtGq029857@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Tue, 8 Mar 2016 16:12:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296506 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:12:56 -0000 Author: bdrewery Date: Tue Mar 8 16:12:55 2016 New Revision: 296506 URL: https://svnweb.freebsd.org/changeset/base/296506 Log: Follow-up r296324: Fix STATICOBJS dependency guesses conditions. Reported by: antoine Pointyhat to: bdrewery Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.lib.mk Modified: head/share/mk/bsd.lib.mk ============================================================================== --- head/share/mk/bsd.lib.mk Tue Mar 8 16:11:59 2016 (r296505) +++ head/share/mk/bsd.lib.mk Tue Mar 8 16:12:55 2016 (r296506) @@ -432,12 +432,13 @@ OBJS_DEPEND_GUESS.${_S:R}.So= ${_S} .include -.if defined(LIB) && !empty(LIB) .if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE}) +.if defined(LIB) && !empty(LIB) ${OBJS} ${STATICOBJS} ${POBJS}: ${OBJS_DEPEND_GUESS} .for _S in ${SRCS:N*.[hly]} ${_S:R}.po: ${OBJS_DEPEND_GUESS.${_S:R}.po} .endfor +.endif .if defined(SHLIB_NAME) || \ defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) ${SOBJS}: ${OBJS_DEPEND_GUESS} @@ -446,7 +447,6 @@ ${_S:R}.So: ${OBJS_DEPEND_GUESS.${_S:R}. .endfor .endif .endif -.endif .include .include From owner-svn-src-all@freebsd.org Tue Mar 8 16:19:14 2016 Return-Path: Delivered-To: svn-src-all@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 CA67AAC7DFB; Tue, 8 Mar 2016 16:19:14 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (mx3.absolight.net [IPv6:2a01:678:2:100::25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "plouf.absolight.net", Issuer "CAcert Class 3 Root" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 92C50D77; Tue, 8 Mar 2016 16:19:14 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (localhost [127.0.0.1]) by prod2.absolight.net (Postfix) with ESMTP id 0AEA8BDC73; Tue, 8 Mar 2016 17:19:13 +0100 (CET) Received: from gw.in.absolight.net (gw-ecl.in.absolight.net [79.143.241.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "gw.in.absolight.net", Issuer "CA Cert Signing Authority" (not verified)) by prod2.absolight.net (Postfix) with ESMTPSA id DD3EBBDC71; Tue, 8 Mar 2016 17:19:12 +0100 (CET) Received: from ogg.in.absolight.net (ogg.in.absolight.net [79.143.241.239]) by gw.in.absolight.net (Postfix) with ESMTP id CF4926127; Tue, 8 Mar 2016 17:19:11 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by ogg.in.absolight.net (Postfix) with ESMTP id 6E792202E581; Tue, 8 Mar 2016 17:19:10 +0100 (CET) Date: Tue, 08 Mar 2016 17:19:10 +0100 From: Mathieu Arnold To: NGie Cooper cc: svn-src-releng@freebsd.org, mike@sentex.net, svn-src-all@freebsd.org, src-committers@freebsd.org, Xin LI , Xin Li Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... Message-ID: In-Reply-To: References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DE6DFD.4020300@delphij.net> X-Mailer: Mulberry/4.0.8 (Mac OS X) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="==========C3EBA1C903969083FDE7==========" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:19:15 -0000 --==========C3EBA1C903969083FDE7========== Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline +--On 8 mars 2016 08:03:14 -0800 NGie Cooper wrote: |> Well, I was doing a bulk with dns/bind99 dns/bind910, it did rebuild |> everything needed by them because of the SA, and then pkg crashed while |> building the repository. | | Mike said similar on the stable/9 commit thread. I think the commit(s) | should be backed out, fixed, and recommitted once the issue has been | fixed. Well, It's not really the commit, it's the SA that seems to have broken pkg. So something should be done, yes, sure. My poudriere follows 9.3-RELEASE, and is updated with freebsd-update :-) -- Mathieu Arnold --==========C3EBA1C903969083FDE7========== Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQJ8BAEBCgBmBQJW3vt+XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzQUI2OTc4OUQyRUQxMjEwNjQ0MEJBNUIz QTQ1MTZGMzUxODNDRTQ4AAoJEDpFFvNRg85IUPgP/RGBK511Lx3PEPMpFrkutU2E Gu/n0LScNmcGhrL40S/eU3BMgxLasXGqlbJ+2uY7WNi06rSThNYUX/WFz1YS/wxL UDeCMQsTg0/RlQyW8URK3gZrMYCkYyc6cPdkIGBJe3vVW4WXdBrlekanAetWBqQV AfcGNbZSsv44SmytLFlUQj+yL1CeHyn4yPKIIZWZq1qIxJDHi41nuz2DD+Kc2qBt IxjidB9v5E0pSJAmH+Ryf6vHDAt0jVwI67NirwVtwbXKSj0no3WDZUronS5wIxJ9 HcbP0T3eH2ux6mqDmsTR+dgToo6KUKMAzY8aa/WiIeERUTlfQ/NHXypfNul1EYbu 0UaKGz7CSpuE6rkFEd8/RPZgv1CNFT6jwAOLfHykLVXbhumyck7fKiQ4f2iPdd5y /jq5bixOJlY3qRglZrGh6EaW5u1f3/F3jqxwTH1+79HTnOLToQsC5yQE/+ADYJbf uJm4icgR+4KGHI3JnW+8t+O6DgtHCiee3UxMnubXkKMsjoT5CFbsIq2yd8agWlCq NppLR/Z6Ft87x0s2ZS7Y8NsBRcsOeKHuhEifxvv7G1WR4lKoCmvQjfdKLeiplWHf GGgo3pm67Jutt23ZZFmwFkvq9XtnE6PW6R/ss+22ajjEda2kfX/7eUEOuaXovXV2 XKcTM13iZwa7AscxoCsb =7phs -----END PGP SIGNATURE----- --==========C3EBA1C903969083FDE7==========-- From owner-svn-src-all@freebsd.org Tue Mar 8 16:26:03 2016 Return-Path: Delivered-To: svn-src-all@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 087DEAC817A; Tue, 8 Mar 2016 16:26:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id E015937D; Tue, 8 Mar 2016 16:26:02 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id D6A2610C2; Tue, 8 Mar 2016 16:26:02 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 22511D81E; Tue, 8 Mar 2016 16:25:54 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id 2IzfNofy18Xr; Tue, 8 Mar 2016 16:25:51 +0000 (UTC) Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 74144D818 To: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56DEFD08.6050100@FreeBSD.org> Date: Tue, 8 Mar 2016 08:25:44 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="iiuxG6El4phTtEXJXdUPBSmMFjtOWD9b6" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:26:03 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --iiuxG6El4phTtEXJXdUPBSmMFjtOWD9b6 Content-Type: multipart/mixed; boundary="BMhaDdWdmhST1GSALroJQoFFp1E52S2Tm" From: Bryan Drewery To: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Message-ID: <56DEFD08.6050100@FreeBSD.org> Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> In-Reply-To: <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> --BMhaDdWdmhST1GSALroJQoFFp1E52S2Tm Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 3/7/2016 4:29 PM, Mathieu Arnold wrote: > +--On 7 mars 2016 16:22:12 +0000 Xin LI wrote: > | Author: delphij > | Date: Mon Mar 7 16:22:11 2016 > | New Revision: 296465 > | URL: https://svnweb.freebsd.org/changeset/base/296465 > |=20 > | Log: > | Fix multiple OpenSSL vulnerabilities. > | =20 > | Security: FreeBSD-SA-16:12.openssl > | Approved by: so >=20 > After that, poudriere bulk fails with: >=20 > [00:00:07] =3D=3D=3D=3D>> Creating pkgng repository > Creating repository in /tmp/packages: 100% > Packing files for repository: 0%Child process pid=3D50970 terminated > abnormally: Segmentation fault: 11 > [00:00:08] =3D=3D=3D=3D>> Cleaning up > 9amd64-pkgng-default: removed > 9amd64-pkgng-default-n: removed >=20 > pkg-static is the one doing the segfault... >=20 Is QEMU involved here? Do you have PKG_REPO_FROM_HOST or PKG_REPO_SIGNING_KEY set? (Not saying you should) --=20 Regards, Bryan Drewery --BMhaDdWdmhST1GSALroJQoFFp1E52S2Tm-- --iiuxG6El4phTtEXJXdUPBSmMFjtOWD9b6 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW3v0MAAoJEDXXcbtuRpfP+RYH/2CdnDHnWnGpvwVcXoHZlhkv LK1bDYkLDlVFarZKDCETAAygfHR6YIrm2T9T6Glj2FVvoK0jllh6NKf6XnQ3O7NU BdIqlTEDtHVqngnjldADsEHaEApC2uO+ZWQ0bpkm3UcNgqikAXJ2CpVUu+RktcJX Ry4OsxlUHhOL5RZNaln9xsLVK8xe1sD36N9F9K7Rz2Yp24riVaYDXOKxSH6qXcaQ chYiRNUN6hRMhW/U2XxfYkK7Br30irvZaC2sjRdGJ+fdPi731J8P6L4TTpsQwl3V h79OHP9yUeNWqEl6uRXfRtEuI3iHa/Yiiop3H2h1X/r9pVakvMWr/s0zQ4eM8fU= =aTZJ -----END PGP SIGNATURE----- --iiuxG6El4phTtEXJXdUPBSmMFjtOWD9b6-- From owner-svn-src-all@freebsd.org Tue Mar 8 16:28:18 2016 Return-Path: Delivered-To: svn-src-all@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 16845AC82E7; Tue, 8 Mar 2016 16:28:18 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (mx3.absolight.net [IPv6:2a01:678:2:100::25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "plouf.absolight.net", Issuer "CAcert Class 3 Root" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id AE9C78A8; Tue, 8 Mar 2016 16:28:17 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (localhost [127.0.0.1]) by prod2.absolight.net (Postfix) with ESMTP id 078BDBDC86; Tue, 8 Mar 2016 17:28:16 +0100 (CET) Received: from gw.in.absolight.net (gw-ecl.in.absolight.net [79.143.241.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "gw.in.absolight.net", Issuer "CA Cert Signing Authority" (not verified)) by prod2.absolight.net (Postfix) with ESMTPSA id F2AD6BDC81; Tue, 8 Mar 2016 17:28:15 +0100 (CET) Received: from ogg.in.absolight.net (ogg.in.absolight.net [79.143.241.239]) by gw.in.absolight.net (Postfix) with ESMTP id 2E2C46127; Tue, 8 Mar 2016 17:28:15 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by ogg.in.absolight.net (Postfix) with ESMTP id D549A202E7EC; Tue, 8 Mar 2016 17:28:14 +0100 (CET) Date: Tue, 08 Mar 2016 17:28:14 +0100 From: Mathieu Arnold To: Bryan Drewery , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... Message-ID: <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> In-Reply-To: <56DEFD08.6050100@FreeBSD.org> References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> X-Mailer: Mulberry/4.0.8 (Mac OS X) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="==========4EAC2A076917EF1A36C2==========" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:28:18 -0000 --==========4EAC2A076917EF1A36C2========== Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline +--On 8 mars 2016 08:25:44 -0800 Bryan Drewery wrote: | On 3/7/2016 4:29 PM, Mathieu Arnold wrote: |> +--On 7 mars 2016 16:22:12 +0000 Xin LI wrote: |> | Author: delphij |> | Date: Mon Mar 7 16:22:11 2016 |> | New Revision: 296465 |> | URL: https://svnweb.freebsd.org/changeset/base/296465 |> | |> | Log: |> | Fix multiple OpenSSL vulnerabilities. |> | |> | Security: FreeBSD-SA-16:12.openssl |> | Approved by: so |> |> After that, poudriere bulk fails with: |> |> [00:00:07] ====>> Creating pkgng repository |> Creating repository in /tmp/packages: 100% |> Packing files for repository: 0%Child process pid=50970 terminated |> abnormally: Segmentation fault: 11 |> [00:00:08] ====>> Cleaning up |> 9amd64-pkgng-default: removed |> 9amd64-pkgng-default-n: removed |> |> pkg-static is the one doing the segfault... |> | | Is QEMU involved here? | | Do you have PKG_REPO_FROM_HOST or PKG_REPO_SIGNING_KEY set? (Not saying | you should) No, it's a regular 9amd64 build on a 10.2 amd64 host. -- Mathieu Arnold --==========4EAC2A076917EF1A36C2========== Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQJ8BAEBCgBmBQJW3v2eXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzQUI2OTc4OUQyRUQxMjEwNjQ0MEJBNUIz QTQ1MTZGMzUxODNDRTQ4AAoJEDpFFvNRg85IQ0gP/2vJMPlBs8zXWSol1dwKqtXh BFRzDDK9KZ7JcKefW5ghrfa30PZeE6oes5r9pL/voz9acTo1DkLOTHegV++zAjSm BMR1FXiC3lBQid6a0TnvJ9aeYaR8H7x4aERKwUy7eKJnnaVDB2t6JazW9nthCGCK E/2A/UoJi8k8PbA7BAXeCKR4ltpAzb5zFzWpdOwjnPF8Hclnext18HcNMOrFHsBu UfPb55InD9MDTwrgukupa5NIC48SevJZqKlZYv3/gkb/+FJdcjgHjtII4HIEAwBK Yu+OXEtctw5O59VCM9/jVnpnbyFuKIhfYEEKCpz3SPrWPsg1NZiIsWDmnsCUsRQ4 1UizX+T0opo0eSbxgN5PULSktE/u7kt1FXLrOZvwnDD0NRJDWuugJocnTw+ef3la 7W0E3hjvjKe5uji7RM2dv2ZhUnCZ3TjE7miZaHCxqCYwVU563nQz07a5enzhXduw fduAeHjxJJ0YxNYwFyztqOclQTOIMKUiMto43iLi2YbPcyy5UD/94rDurN9lu1Q8 aSpCe+Hcls6nGLsXlCaBz7Tofgf0hwOj4enbSA81ykMmtgiGD4D7ZdIKOC5ZzWxO wLsY5riwhLhbWIILzrFPXxIYtCKVDo4WbHqJDmAiyYvuH/+XS2MvmnrqfTmdicMe sqjiLLNCfh5TDBgr5bwW =dKSa -----END PGP SIGNATURE----- --==========4EAC2A076917EF1A36C2==========-- From owner-svn-src-all@freebsd.org Tue Mar 8 16:29:43 2016 Return-Path: Delivered-To: svn-src-all@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 63AD5AC8395; Tue, 8 Mar 2016 16:29:43 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 47011AE2; Tue, 8 Mar 2016 16:29:43 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 3D92614B8; Tue, 8 Mar 2016 16:29:43 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 03B38D845; Tue, 8 Mar 2016 16:29:43 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id a2_M25xDXQC7; Tue, 8 Mar 2016 16:29:40 +0000 (UTC) Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 0D57ED83F To: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56DEFDF5.2040500@FreeBSD.org> Date: Tue, 8 Mar 2016 08:29:41 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="6abUFnGRJ6CSmkqVw2vh10jsoqknlOUMH" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:29:43 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --6abUFnGRJ6CSmkqVw2vh10jsoqknlOUMH Content-Type: multipart/mixed; boundary="F39vlclQvqJUuKPkeREJMRdl75ffnpvfe" From: Bryan Drewery To: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Message-ID: <56DEFDF5.2040500@FreeBSD.org> Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> In-Reply-To: <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> --F39vlclQvqJUuKPkeREJMRdl75ffnpvfe Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 3/8/2016 8:28 AM, Mathieu Arnold wrote: > +--On 8 mars 2016 08:25:44 -0800 Bryan Drewery w= rote: > | On 3/7/2016 4:29 PM, Mathieu Arnold wrote: > |> +--On 7 mars 2016 16:22:12 +0000 Xin LI wrote:= > |> | Author: delphij > |> | Date: Mon Mar 7 16:22:11 2016 > |> | New Revision: 296465 > |> | URL: https://svnweb.freebsd.org/changeset/base/296465 > |> |=20 > |> | Log: > |> | Fix multiple OpenSSL vulnerabilities. > |> | =20 > |> | Security: FreeBSD-SA-16:12.openssl > |> | Approved by: so > |>=20 > |> After that, poudriere bulk fails with: > |>=20 > |> [00:00:07] =3D=3D=3D=3D>> Creating pkgng repository > |> Creating repository in /tmp/packages: 100% > |> Packing files for repository: 0%Child process pid=3D50970 terminat= ed > |> abnormally: Segmentation fault: 11 > |> [00:00:08] =3D=3D=3D=3D>> Cleaning up > |> 9amd64-pkgng-default: removed > |> 9amd64-pkgng-default-n: removed > |>=20 > |> pkg-static is the one doing the segfault... > |>=20 > |=20 > | Is QEMU involved here? > |=20 > | Do you have PKG_REPO_FROM_HOST or PKG_REPO_SIGNING_KEY set? (Not sayi= ng > | you should) >=20 > No, it's a regular 9amd64 build on a 10.2 amd64 host. >=20 Can you please rebuild pkg with debug symbols and then run your 9.3 version against the repo in gdb? --=20 Regards, Bryan Drewery --F39vlclQvqJUuKPkeREJMRdl75ffnpvfe-- --6abUFnGRJ6CSmkqVw2vh10jsoqknlOUMH Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW3v31AAoJEDXXcbtuRpfPW54H+wXLW6jWlfopNntw31fGVQp2 kRnoTEZi7EmK942SQR7LjX0q9k58L4ujIZFpQrYZrk2O7ZKTo8cCVi9Gh9Q9/PJ4 q4dNIetPDYmt5FxmREGAAPGMGyTkMFHhmnDUAUTv33QbeGVnXvQZt8ETAawlV+st lyNKXo052HuyzC/pKe4+2/axaeYLw7D2MI82YDOqYO1vACZ4t19ye8Xo8FQSJMq5 uKHuaTPi4fddERIDEY8eC/pHlokdAOmCABhl7IdbY4T8xBViRHjdSxtAakDFP9r9 V4mQXL/dRidr8hzByyIhIwrfJ/Kiv+te1dxG1h+Qw8wh16HTyvnqUyPDWmE0E08= =1wo5 -----END PGP SIGNATURE----- --6abUFnGRJ6CSmkqVw2vh10jsoqknlOUMH-- From owner-svn-src-all@freebsd.org Tue Mar 8 16:31:51 2016 Return-Path: Delivered-To: svn-src-all@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 C5138AC8464; Tue, 8 Mar 2016 16:31:51 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pa0-x234.google.com (mail-pa0-x234.google.com [IPv6:2607:f8b0:400e:c03::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 95553E0E; Tue, 8 Mar 2016 16:31:51 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pa0-x234.google.com with SMTP id tt10so15885211pab.3; Tue, 08 Mar 2016 08:31:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=DWMNYhSCQE6L37IuD3oABapYPRNro57oDNTlvHi9PsY=; b=fH7qeH/m+BGv6GTcu8oheZ19OhJaFOIajsEa454NNtxL160pV629CQPVkESS6gNotW UeCngGvC0VohwQ6u4FNkus/qOOF02zNvGGY4v2I/Nh2UhVjz8ZZ2u2sb/WZwrYjRJBab 5pmlviIVwwrtw8mXa/w2LQRpGh/cM/d6b09gyYm2M5Je8JuW4gl4mZ259ZIP5J9yXtA7 j6tiLhUOYu1VP9ytF09y9bfbxORLkUd6Krfnrc32mkg47+ru/BFUsCSZWJ4rF/SKcNqU x06MuW53vGRdEvVuCbbkht3zHucET/BEMZPQ/mraDk3teYn91I/sCqt+MsWiJQEgXwwb BsJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=DWMNYhSCQE6L37IuD3oABapYPRNro57oDNTlvHi9PsY=; b=NsffkDhAab1sCX/jENWnbBbEgkQs7+tR4g+vRDExMhNHvx6XARzZWG28ufmv90NN92 e45n0tNCX7IHzTLPWrWitKQ+amHEKUrHcmG9fVmLP2LQvG2O/PdJgwEFeIiqR0wdHAAp aygbm9g90eNextWUyNboCf5U+hH0wuG/OR9OOAQKnkQXhHdkP2vXTUScg+rWp0fAbOr7 KMWqGmj007G9IbD8K+TfXds40j8qsidhBSwtR2qc8Sj+emskzcwXexhYG/WbGDNU8jSh g2Dk/0GAVz2XhaTish9R2X02V1cLAmyoUkem9rKaP8t8hDNMEWyD8qIYl4LGTucS/fLR VF1g== X-Gm-Message-State: AD7BkJLk8RTdlhJbefhK7oNWLK0Z8MawqAdtvzEPGLQFd9ktV1IR0LrCY0YiS1Gti7LKhA== X-Received: by 10.66.55.6 with SMTP id n6mr43593200pap.35.1457454711166; Tue, 08 Mar 2016 08:31:51 -0800 (PST) Received: from ?IPv6:2601:601:801:23c0:6cec:df4e:b674:be72? ([2601:601:801:23c0:6cec:df4e:b674:be72]) by smtp.gmail.com with ESMTPSA id dy6sm6118444pab.48.2016.03.08.08.31.49 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 08 Mar 2016 08:31:49 -0800 (PST) Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... From: NGie Cooper In-Reply-To: <56DEFDF5.2040500@FreeBSD.org> Date: Tue, 8 Mar 2016 08:31:48 -0800 Cc: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <30DF4918-10F4-4BF2-BBB7-0209FB631774@gmail.com> References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> To: Bryan Drewery X-Mailer: Apple Mail (2.2104) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:31:52 -0000 > On Mar 8, 2016, at 08:29, Bryan Drewery wrote: >=20 > On 3/8/2016 8:28 AM, Mathieu Arnold wrote: >> +--On 8 mars 2016 08:25:44 -0800 Bryan Drewery = wrote: >> | On 3/7/2016 4:29 PM, Mathieu Arnold wrote: >> |> +--On 7 mars 2016 16:22:12 +0000 Xin LI = wrote: >> |> | Author: delphij >> |> | Date: Mon Mar 7 16:22:11 2016 >> |> | New Revision: 296465 >> |> | URL: https://svnweb.freebsd.org/changeset/base/296465 >> |> |=20 >> |> | Log: >> |> | Fix multiple OpenSSL vulnerabilities. >> |> | =20 >> |> | Security: FreeBSD-SA-16:12.openssl >> |> | Approved by: so >> |>=20 >> |> After that, poudriere bulk fails with: >> |>=20 >> |> [00:00:07] =3D=3D=3D=3D>> Creating pkgng repository >> |> Creating repository in /tmp/packages: 100% >> |> Packing files for repository: 0%Child process pid=3D50970 = terminated >> |> abnormally: Segmentation fault: 11 >> |> [00:00:08] =3D=3D=3D=3D>> Cleaning up >> |> 9amd64-pkgng-default: removed >> |> 9amd64-pkgng-default-n: removed >> |>=20 >> |> pkg-static is the one doing the segfault... >> |>=20 >> |=20 >> | Is QEMU involved here? >> |=20 >> | Do you have PKG_REPO_FROM_HOST or PKG_REPO_SIGNING_KEY set? (Not = saying >> | you should) >>=20 >> No, it's a regular 9amd64 build on a 10.2 amd64 host. >>=20 >=20 > Can you please rebuild pkg with debug symbols and then run your 9.3 > version against the repo in gdb? Someone else filed a bug already too: = https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D207783 . Thanks, -Ngie= From owner-svn-src-all@freebsd.org Tue Mar 8 16:33:04 2016 Return-Path: Delivered-To: svn-src-all@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 4CDF6AC85B1; Tue, 8 Mar 2016 16:33:04 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 302B5FF0; Tue, 8 Mar 2016 16:33:04 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 2439F1782; Tue, 8 Mar 2016 16:33:04 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id D443BD86A; Tue, 8 Mar 2016 16:33:03 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id mv6UUaIb002H; Tue, 8 Mar 2016 16:33:01 +0000 (UTC) Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com B809BD861 To: NGie Cooper References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <30DF4918-10F4-4BF2-BBB7-0209FB631774@gmail.com> Cc: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56DEFEBE.3060202@FreeBSD.org> Date: Tue, 8 Mar 2016 08:33:02 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <30DF4918-10F4-4BF2-BBB7-0209FB631774@gmail.com> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="55w7mQoGfIbb8XEtFIGeLubKi2uGGAb2L" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:33:04 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --55w7mQoGfIbb8XEtFIGeLubKi2uGGAb2L Content-Type: multipart/mixed; boundary="LLgpsinCFBSPM0A7rPjPIUWlOB45jv5IP" From: Bryan Drewery To: NGie Cooper Cc: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Message-ID: <56DEFEBE.3060202@FreeBSD.org> Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <30DF4918-10F4-4BF2-BBB7-0209FB631774@gmail.com> In-Reply-To: <30DF4918-10F4-4BF2-BBB7-0209FB631774@gmail.com> --LLgpsinCFBSPM0A7rPjPIUWlOB45jv5IP Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 3/8/2016 8:31 AM, NGie Cooper wrote: >=20 >> On Mar 8, 2016, at 08:29, Bryan Drewery wrote: >> >> On 3/8/2016 8:28 AM, Mathieu Arnold wrote: >>> +--On 8 mars 2016 08:25:44 -0800 Bryan Drewery = wrote: >>> | On 3/7/2016 4:29 PM, Mathieu Arnold wrote: >>> |> +--On 7 mars 2016 16:22:12 +0000 Xin LI wrot= e: >>> |> | Author: delphij >>> |> | Date: Mon Mar 7 16:22:11 2016 >>> |> | New Revision: 296465 >>> |> | URL: https://svnweb.freebsd.org/changeset/base/296465 >>> |> |=20 >>> |> | Log: >>> |> | Fix multiple OpenSSL vulnerabilities. >>> |> | =20 >>> |> | Security: FreeBSD-SA-16:12.openssl >>> |> | Approved by: so >>> |>=20 >>> |> After that, poudriere bulk fails with: >>> |>=20 >>> |> [00:00:07] =3D=3D=3D=3D>> Creating pkgng repository >>> |> Creating repository in /tmp/packages: 100% >>> |> Packing files for repository: 0%Child process pid=3D50970 termin= ated >>> |> abnormally: Segmentation fault: 11 >>> |> [00:00:08] =3D=3D=3D=3D>> Cleaning up >>> |> 9amd64-pkgng-default: removed >>> |> 9amd64-pkgng-default-n: removed >>> |>=20 >>> |> pkg-static is the one doing the segfault... >>> |>=20 >>> |=20 >>> | Is QEMU involved here? >>> |=20 >>> | Do you have PKG_REPO_FROM_HOST or PKG_REPO_SIGNING_KEY set? (Not sa= ying >>> | you should) >>> >>> No, it's a regular 9amd64 build on a 10.2 amd64 host. >>> >> >> Can you please rebuild pkg with debug symbols and then run your 9.3 >> version against the repo in gdb? >=20 > Someone else filed a bug already too: https://bugs.freebsd.org/bugzilla= /show_bug.cgi?id=3D207783 . For SSH! --=20 Regards, Bryan Drewery --LLgpsinCFBSPM0A7rPjPIUWlOB45jv5IP-- --55w7mQoGfIbb8XEtFIGeLubKi2uGGAb2L Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW3v6+AAoJEDXXcbtuRpfP5ioH/3YM2T4IcgEsMiHqxLtQdglA FPJyXYPyB2WV5t8Ru2l9ptIFw8A62tUF6kLfcLUIdp8aGkonR+y7e+B2zwvRp7kU 5x5ps0bR0nOgvRP//t9TfhG4FSssTqU9pjruqiBLIKPwxacGv4epdMzGqe//IZ+v Q4SQrNVqbUPHD2nCDjip4r/7E3niZ/j5QxTBvPQ+Kt3TO/BYDP0oPHl4yPatAb6c 1TOjhZOd9WjCavTPlPUU1vtiou9OPgqHd2v3p2mptqa93StXrP0XU/DXI2aJt3/R CmrnYcqXGX3KGK1NvHkP7Y1eEcstjr89098+XyklU354UhD9sw6IQ87sBTIVfDQ= =OgWs -----END PGP SIGNATURE----- --55w7mQoGfIbb8XEtFIGeLubKi2uGGAb2L-- From owner-svn-src-all@freebsd.org Tue Mar 8 16:35:49 2016 Return-Path: Delivered-To: svn-src-all@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 A6133AC86BF; Tue, 8 Mar 2016 16:35:49 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (mx3.absolight.net [IPv6:2a01:678:2:100::25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "plouf.absolight.net", Issuer "CAcert Class 3 Root" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4934D24D; Tue, 8 Mar 2016 16:35:49 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (localhost [127.0.0.1]) by prod2.absolight.net (Postfix) with ESMTP id A2B8BBDCAB; Tue, 8 Mar 2016 17:35:47 +0100 (CET) Received: from gw.in.absolight.net (gw-ecl.in.absolight.net [79.143.241.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "gw.in.absolight.net", Issuer "CA Cert Signing Authority" (not verified)) by prod2.absolight.net (Postfix) with ESMTPSA id 68B31BDCA3; Tue, 8 Mar 2016 17:35:47 +0100 (CET) Received: from ogg.in.absolight.net (ogg.in.absolight.net [79.143.241.239]) by gw.in.absolight.net (Postfix) with ESMTP id DBA1A6127; Tue, 8 Mar 2016 17:35:46 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by ogg.in.absolight.net (Postfix) with ESMTP id 809B9202EA01; Tue, 8 Mar 2016 17:35:46 +0100 (CET) Date: Tue, 08 Mar 2016 17:35:45 +0100 From: Mathieu Arnold To: Bryan Drewery , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... Message-ID: <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> In-Reply-To: <56DEFDF5.2040500@FreeBSD.org> References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> X-Mailer: Mulberry/4.0.8 (Mac OS X) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="==========2E5540D27C48691974A0==========" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:35:49 -0000 --==========2E5540D27C48691974A0========== Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline +--On 8 mars 2016 08:29:41 -0800 Bryan Drewery wrote: | On 3/8/2016 8:28 AM, Mathieu Arnold wrote: |> +--On 8 mars 2016 08:25:44 -0800 Bryan Drewery |> wrote: |> | On 3/7/2016 4:29 PM, Mathieu Arnold wrote: |> |> +--On 7 mars 2016 16:22:12 +0000 Xin LI wrote: |> |> | Author: delphij |> |> | Date: Mon Mar 7 16:22:11 2016 |> |> | New Revision: 296465 |> |> | URL: https://svnweb.freebsd.org/changeset/base/296465 |> |> | |> |> | Log: |> |> | Fix multiple OpenSSL vulnerabilities. |> |> | |> |> | Security: FreeBSD-SA-16:12.openssl |> |> | Approved by: so |> |> |> |> After that, poudriere bulk fails with: |> |> |> |> [00:00:07] ====>> Creating pkgng repository |> |> Creating repository in /tmp/packages: 100% |> |> Packing files for repository: 0%Child process pid=50970 terminated |> |> abnormally: Segmentation fault: 11 |> |> [00:00:08] ====>> Cleaning up |> |> 9amd64-pkgng-default: removed |> |> 9amd64-pkgng-default-n: removed |> |> |> |> pkg-static is the one doing the segfault... |> |> |> | |> | Is QEMU involved here? |> | |> | Do you have PKG_REPO_FROM_HOST or PKG_REPO_SIGNING_KEY set? (Not saying |> | you should) |> |> No, it's a regular 9amd64 build on a 10.2 amd64 host. |> | | Can you please rebuild pkg with debug symbols and then run your 9.3 | version against the repo in gdb? I could yes, but not today, tomorrow at the earliest. How do I build the port with debug symbols ? -- Mathieu Arnold --==========2E5540D27C48691974A0========== Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQJ8BAEBCgBmBQJW3v9iXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzQUI2OTc4OUQyRUQxMjEwNjQ0MEJBNUIz QTQ1MTZGMzUxODNDRTQ4AAoJEDpFFvNRg85IVzkQAI8vpiouLh6xN0KUxf/SjIll QtzX3+b+zukbFLiLYZYPwnwEbqXyN1q4wAlnR0dKe8s7DXRFcu7qSgDLYLlJ0joQ +x4gd6Ah4unSjsQB9wDgJSnZEw+FDOUpsfUmejKUC7SDzeKD7DowG9/q9zrNXGtq JVa3+YMSyW0Zdqv4qRz3gNPGVYnf6/rRmfYAj9WH6nk+3ulee6GWUcDZ4YQOb2/k UzmIbBvI9F4nKiFgO29cDMzsG2V6EvKBiVcGBCeTOGzXGxog5WDjBCwbEkxirBZg K0IWFrCgIg+R2N4D1UcGiPKGmzSq4bX1w93Ukx2msZCnx7m/LPzXNejF2/mNwQy3 mSgw6rmPH+I1sRdhwtKeUXWekwrKrWbPa8GGdAz+tQIX4RkgOQGi1ojqneeDl911 EANfNVjUQGaSBRwA5OMEqUf+yGg4aXieFlTEcTz9jHooFZhefvevnikxg35kAa3M tFIfPJkfyAMeOYtbJ2BuFbPaE2NyCMtTh87BgPL9BHKAQ2oobwdr6MIs4KSpQEx8 f55zfzFel3EosOJiCizanjU56UY3qycO5zi6WCCPCocwhbSE3AQksxikKq9U/ZAD KYqOMAyPIqlnAT3ZAI2w7M1Tc9xptxDvtU/mLutC0uf54nYOXAT9N8VgkuT4da/g veMvMvkCEN6EDG22LwPd =I/GI -----END PGP SIGNATURE----- --==========2E5540D27C48691974A0==========-- From owner-svn-src-all@freebsd.org Tue Mar 8 16:37:06 2016 Return-Path: Delivered-To: svn-src-all@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 A24F3AC8726; Tue, 8 Mar 2016 16:37:06 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pa0-x231.google.com (mail-pa0-x231.google.com [IPv6:2607:f8b0:400e:c03::231]) (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 724DE3E0; Tue, 8 Mar 2016 16:37:06 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pa0-x231.google.com with SMTP id tt10so15978347pab.3; Tue, 08 Mar 2016 08:37:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=9M0l9v2vO+Y9NsAMB2xE2ERKY4JT42GrIeQqRb+Inu4=; b=D91ma382bU2FcWzLezXhYlasXH5lgxoJXNFmG9+eX192bkmdAcGRKN1SJY4L+BpBmY Ughkp203w3bnbLOeQhUWzQAP2pyJO/H+YxmcxlMrIElMIS/FYkKM+SR4PuusrP0E1Cxb Z6/xgZfhN6svqSdXre8u8CkRbtZGhmmviOLNgaWHPGko2nejshDNXX8O8KfbQaGWxcGT 5PL3ZNZdqcdM+nzyUg6l+5jKfoWV7QoVbWMMoB0r2nGPH6AD6wxMCC8PQcTBddzx76uQ y2EormW3ZIL3rLsFwLoCLOJ0OKOJ4ji3qruuaASstYblWb43EfY7+KhLPpaWy3JOWZr0 cYXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=9M0l9v2vO+Y9NsAMB2xE2ERKY4JT42GrIeQqRb+Inu4=; b=Oc8w3CwfFdPk8KlWIOwDHPdkJNCH+8qlPQrqXVoqS0V2I01hlYuIFneiPCBhlYIdd7 A5uju9U/3v5BI409cAnc9mforDGwsQlNjz5xqU9ChwuSc2yOki8nM47HU1y1Y3dqAEC9 EAmZjYiK01rJxP0S54iO1CMw2pCc8nGPW8fGFfvKaddul5M71LkUhTbzSz2+r88F+R87 +QobGm2nm36qKcKP/OptPUcKRF6zOxWi5PR51wyYd3Q5VciJom89mtMcrtKFJb9WjvcG zTLuWm7ylKsGCCaZZ84lgMIRaELd1OlzxxBL+59E7mKco4dqbibFrLHO1sqRReamGhaZ XZUA== X-Gm-Message-State: AD7BkJLMCq7c9l/PGRsMWNg5g5gs36W9CoCrGDUB8oc7D3hcI5yF3pY9tWNFQetJPziwbA== X-Received: by 10.66.145.194 with SMTP id sw2mr42538041pab.69.1457455025998; Tue, 08 Mar 2016 08:37:05 -0800 (PST) Received: from ?IPv6:2601:601:801:23c0:6cec:df4e:b674:be72? ([2601:601:801:23c0:6cec:df4e:b674:be72]) by smtp.gmail.com with ESMTPSA id c18sm6131119pfj.41.2016.03.08.08.37.04 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 08 Mar 2016 08:37:04 -0800 (PST) Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... From: NGie Cooper In-Reply-To: <56DEFEBE.3060202@FreeBSD.org> Date: Tue, 8 Mar 2016 08:37:03 -0800 Cc: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <10F930F1-09DD-4763-AFC0-006FD5572A47@gmail.com> References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <30DF4918-10F4-4BF2-BBB7-0209FB631774@gmail.com> <56DEFEBE.3060202@FreeBSD.org> To: Bryan Drewery X-Mailer: Apple Mail (2.2104) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:37:06 -0000 > On Mar 8, 2016, at 08:33, Bryan Drewery wrote: ... > For SSH! The issue has been root-caused [so far] down to libcrypto in = this bug, which would also impact pkgng (see = https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D207783#c6 ). Not = saying that this information shouldn=92t be gathered, but the root cause = might potentially be the same issue. Thanks! -Ngie= From owner-svn-src-all@freebsd.org Tue Mar 8 16:39:50 2016 Return-Path: Delivered-To: svn-src-all@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 6669DAC87CB; Tue, 8 Mar 2016 16:39:50 +0000 (UTC) (envelope-from dchagin@chd.heemeyer.club) Received: from heemeyer.club (heemeyer.club [108.61.204.158]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "heemeyer.club", Issuer "heemeyer.club" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 3EFD6817; Tue, 8 Mar 2016 16:39:49 +0000 (UTC) (envelope-from dchagin@chd.heemeyer.club) Received: from chd.heemeyer.club (dchagin.static.corbina.ru [78.107.232.239]) by heemeyer.club (8.15.2/8.15.1) with ESMTPS id u28Gdi53018230 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 8 Mar 2016 16:39:46 GMT (envelope-from dchagin@chd.heemeyer.club) X-Authentication-Warning: heemeyer.club: Host dchagin.static.corbina.ru [78.107.232.239] claimed to be chd.heemeyer.club Received: from chd.heemeyer.club (localhost [127.0.0.1]) by chd.heemeyer.club (8.15.2/8.15.1) with ESMTPS id u28Gdhe4090355 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 8 Mar 2016 19:39:44 +0300 (MSK) (envelope-from dchagin@chd.heemeyer.club) Received: (from dchagin@localhost) by chd.heemeyer.club (8.15.2/8.15.2/Submit) id u28GdhdG090354; Tue, 8 Mar 2016 19:39:43 +0300 (MSK) (envelope-from dchagin) Date: Tue, 8 Mar 2016 19:39:43 +0300 From: Chagin Dmitry To: Ed Maste Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r296502 - head/sys/compat/linux Message-ID: <20160308163943.GA90347@chd.heemeyer.club> References: <201603081512.u28FCo8e008769@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:39:50 -0000 On Tue, Mar 08, 2016 at 11:09:34AM -0500, Ed Maste wrote: > On 8 March 2016 at 10:12, Dmitry Chagin wrote: > > Author: dchagin > > Date: Tue Mar 8 15:12:49 2016 > > New Revision: 296502 > > URL: https://svnweb.freebsd.org/changeset/base/296502 > > > > Log: > > According to POSIX and Linux implementation the alarm() system call > > is always successful. > > So, ignore any errors and return 0 as a Linux do. > > I wonder if this comment ought to be in the source itself too? no problem, btw, could you please look at D5567? In my POV it should be merged to the stable/10 and releng/10.3 From owner-svn-src-all@freebsd.org Tue Mar 8 16:47:24 2016 Return-Path: Delivered-To: svn-src-all@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 88F64AC8B0B; Tue, 8 Mar 2016 16:47:24 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 430A58F; Tue, 8 Mar 2016 16:47:24 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28GlNVI039393; Tue, 8 Mar 2016 16:47:23 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28GlNie039392; Tue, 8 Mar 2016 16:47:23 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603081647.u28GlNie039392@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Tue, 8 Mar 2016 16:47:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296509 - head/sys/modules/aio X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:47:24 -0000 Author: ngie Date: Tue Mar 8 16:47:23 2016 New Revision: 296509 URL: https://svnweb.freebsd.org/changeset/base/296509 Log: Delete empty sys/modules/aio/ directory This was missed in r296277 X-MFC with: r296277 Sponsored by: EMC / Isilon Storage Division Deleted: head/sys/modules/aio/ From owner-svn-src-all@freebsd.org Tue Mar 8 16:47:51 2016 Return-Path: Delivered-To: svn-src-all@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 0D5A9AC8B61; Tue, 8 Mar 2016 16:47:51 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id E561826C; Tue, 8 Mar 2016 16:47:50 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id D8BB0129F; Tue, 8 Mar 2016 16:47:50 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 6FE3CD927; Tue, 8 Mar 2016 16:47:50 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id Q18_ZFgt0Fs8; Tue, 8 Mar 2016 16:47:47 +0000 (UTC) Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 17153D920 To: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56DF0234.2090307@FreeBSD.org> Date: Tue, 8 Mar 2016 08:47:48 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="WUipqwUKFunOrqJEmaw6R2EbaI8AgfsAC" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:47:51 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --WUipqwUKFunOrqJEmaw6R2EbaI8AgfsAC Content-Type: multipart/mixed; boundary="nVLI7uhD09UdnshXv7jCBtgnFmunALJS0" From: Bryan Drewery To: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Message-ID: <56DF0234.2090307@FreeBSD.org> Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> In-Reply-To: <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> --nVLI7uhD09UdnshXv7jCBtgnFmunALJS0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 3/8/2016 8:35 AM, Mathieu Arnold wrote: > +--On 8 mars 2016 08:29:41 -0800 Bryan Drewery w= rote: > | On 3/8/2016 8:28 AM, Mathieu Arnold wrote: > |> +--On 8 mars 2016 08:25:44 -0800 Bryan Drewery > |> wrote: > |> | On 3/7/2016 4:29 PM, Mathieu Arnold wrote: > |> |> +--On 7 mars 2016 16:22:12 +0000 Xin LI wro= te: > |> |> | Author: delphij > |> |> | Date: Mon Mar 7 16:22:11 2016 > |> |> | New Revision: 296465 > |> |> | URL: https://svnweb.freebsd.org/changeset/base/296465 > |> |> |=20 > |> |> | Log: > |> |> | Fix multiple OpenSSL vulnerabilities. > |> |> | =20 > |> |> | Security: FreeBSD-SA-16:12.openssl > |> |> | Approved by: so > |> |>=20 > |> |> After that, poudriere bulk fails with: > |> |>=20 > |> |> [00:00:07] =3D=3D=3D=3D>> Creating pkgng repository > |> |> Creating repository in /tmp/packages: 100% > |> |> Packing files for repository: 0%Child process pid=3D50970 termi= nated > |> |> abnormally: Segmentation fault: 11 > |> |> [00:00:08] =3D=3D=3D=3D>> Cleaning up > |> |> 9amd64-pkgng-default: removed > |> |> 9amd64-pkgng-default-n: removed > |> |>=20 > |> |> pkg-static is the one doing the segfault... > |> |>=20 > |> |=20 > |> | Is QEMU involved here? > |> |=20 > |> | Do you have PKG_REPO_FROM_HOST or PKG_REPO_SIGNING_KEY set? (Not s= aying > |> | you should) > |>=20 > |> No, it's a regular 9amd64 build on a 10.2 amd64 host. > |>=20 > |=20 > | Can you please rebuild pkg with debug symbols and then run your 9.3 > | version against the repo in gdb? >=20 > I could yes, but not today, tomorrow at the earliest. How do I build t= he > port with debug symbols ? >=20 WITH_DEBUG=3Dyes make --=20 Regards, Bryan Drewery --nVLI7uhD09UdnshXv7jCBtgnFmunALJS0-- --WUipqwUKFunOrqJEmaw6R2EbaI8AgfsAC Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW3wI0AAoJEDXXcbtuRpfPIlYIAIgU0r8FqbBTCAxKL4moORNk NYBTzDJaTx/yXNjhiDU0OuI7SnfcK6iZguWeLxcJhHEw+/aDg44gfrVWLQZkJ6fk ADUOtbs1dipo+dYySEIJRkLOxxfOAgtk4OkqP9TUpt5GjtGQfgy09DPBytsrUwx6 E5xdgfuirpo72JPiA5Dum6ktvSRaL0f++Hh/IYGz7T4WbUJu3vBLf4UooedxX2LG 2GCOAPcxlnWOdRNEkKA4InIqv9s4NvEqfXQzUA5iJrpNhpLuVNGIax6m4udmAXrA hgjvkJCxQBK+4+umPNIcwEfWVFj96OvjCGaW5haCfGBpVDZBcyN66fBQ5OlU6AA= =IZlo -----END PGP SIGNATURE----- --WUipqwUKFunOrqJEmaw6R2EbaI8AgfsAC-- From owner-svn-src-all@freebsd.org Tue Mar 8 16:48:32 2016 Return-Path: Delivered-To: svn-src-all@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 CB8E2AC8BBF; Tue, 8 Mar 2016 16:48:32 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id AF5395FA; Tue, 8 Mar 2016 16:48:32 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 9B2CF13DA; Tue, 8 Mar 2016 16:48:32 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 6BB15D936; Tue, 8 Mar 2016 16:48:32 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id 1NP1pgxbCwar; Tue, 8 Mar 2016 16:48:26 +0000 (UTC) Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com DBE0ED92F To: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> <56DF0234.2090307@FreeBSD.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56DF025B.1090706@FreeBSD.org> Date: Tue, 8 Mar 2016 08:48:27 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <56DF0234.2090307@FreeBSD.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="bIc6LgXd1MJqDTGCrUW85QoPOIPkfaPUK" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:48:32 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --bIc6LgXd1MJqDTGCrUW85QoPOIPkfaPUK Content-Type: multipart/mixed; boundary="g8SXmgFwl62s0m40m7gHu0KA3gDnsHCjn" From: Bryan Drewery To: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Message-ID: <56DF025B.1090706@FreeBSD.org> Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> <56DF0234.2090307@FreeBSD.org> In-Reply-To: <56DF0234.2090307@FreeBSD.org> --g8SXmgFwl62s0m40m7gHu0KA3gDnsHCjn Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 3/8/2016 8:47 AM, Bryan Drewery wrote: > On 3/8/2016 8:35 AM, Mathieu Arnold wrote: >> +--On 8 mars 2016 08:29:41 -0800 Bryan Drewery = wrote: >> | On 3/8/2016 8:28 AM, Mathieu Arnold wrote: >> |> +--On 8 mars 2016 08:25:44 -0800 Bryan Drewery >> |> wrote: >> |> | On 3/7/2016 4:29 PM, Mathieu Arnold wrote: >> |> |> +--On 7 mars 2016 16:22:12 +0000 Xin LI wr= ote: >> |> |> | Author: delphij >> |> |> | Date: Mon Mar 7 16:22:11 2016 >> |> |> | New Revision: 296465 >> |> |> | URL: https://svnweb.freebsd.org/changeset/base/296465 >> |> |> |=20 >> |> |> | Log: >> |> |> | Fix multiple OpenSSL vulnerabilities. >> |> |> | =20 >> |> |> | Security: FreeBSD-SA-16:12.openssl >> |> |> | Approved by: so >> |> |>=20 >> |> |> After that, poudriere bulk fails with: >> |> |>=20 >> |> |> [00:00:07] =3D=3D=3D=3D>> Creating pkgng repository >> |> |> Creating repository in /tmp/packages: 100% >> |> |> Packing files for repository: 0%Child process pid=3D50970 term= inated >> |> |> abnormally: Segmentation fault: 11 >> |> |> [00:00:08] =3D=3D=3D=3D>> Cleaning up >> |> |> 9amd64-pkgng-default: removed >> |> |> 9amd64-pkgng-default-n: removed >> |> |>=20 >> |> |> pkg-static is the one doing the segfault... >> |> |>=20 >> |> |=20 >> |> | Is QEMU involved here? >> |> |=20 >> |> | Do you have PKG_REPO_FROM_HOST or PKG_REPO_SIGNING_KEY set? (Not = saying >> |> | you should) >> |>=20 >> |> No, it's a regular 9amd64 build on a 10.2 amd64 host. >> |>=20 >> |=20 >> | Can you please rebuild pkg with debug symbols and then run your 9.3 >> | version against the repo in gdb? >> >> I could yes, but not today, tomorrow at the earliest. How do I build = the >> port with debug symbols ? >> >=20 > WITH_DEBUG=3Dyes make >=20 You might need this too: DEBUG_FLAGS=3D"-g -O0" --=20 Regards, Bryan Drewery --g8SXmgFwl62s0m40m7gHu0KA3gDnsHCjn-- --bIc6LgXd1MJqDTGCrUW85QoPOIPkfaPUK Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW3wJbAAoJEDXXcbtuRpfPYxgIAKVVpcha/9bP11QLDMcq5agv U42dbzn7lMExwiKCuDjh8vaWggPNUyLwtZahBs/BEL3FIh6uEpP45qciS4dKKeO6 rSkdZMO+lKIjU7s8gmMXFfDlYtmKBhFtupNfP76tnk8BIMYIlsRS9L4LcZjv5ou3 U4YElgkqqUcMo2iTZmSxktAf8OqM9wQpoPJHsBH87P/yOzqG39LkdgmPumjk27wy pW2Ha8JqZEINcOPvvjmxM55r+hf2hxxw1JSGO1bLhDniB7+2kW3Xs2eEOITAqyLI 3Cf4ODL8JXSRhRNFcKc3DrTvBZwBu5bHu9b9LLukY4wcoE44OdLHf110zKMdl3Q= =Be7g -----END PGP SIGNATURE----- --bIc6LgXd1MJqDTGCrUW85QoPOIPkfaPUK-- From owner-svn-src-all@freebsd.org Tue Mar 8 16:52:36 2016 Return-Path: Delivered-To: svn-src-all@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 4EC7DAC8E04; Tue, 8 Mar 2016 16:52:36 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (mx3.absolight.net [IPv6:2a01:678:2:100::25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "plouf.absolight.net", Issuer "CAcert Class 3 Root" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id E439FB65; Tue, 8 Mar 2016 16:52:35 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (localhost [127.0.0.1]) by prod2.absolight.net (Postfix) with ESMTP id 61A01BDCC7; Tue, 8 Mar 2016 17:52:34 +0100 (CET) Received: from gw.in.absolight.net (gw-ecl.in.absolight.net [79.143.241.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "gw.in.absolight.net", Issuer "CA Cert Signing Authority" (not verified)) by prod2.absolight.net (Postfix) with ESMTPSA id 26E36BDCC4; Tue, 8 Mar 2016 17:52:34 +0100 (CET) Received: from ogg.in.absolight.net (ogg.in.absolight.net [79.143.241.239]) by gw.in.absolight.net (Postfix) with ESMTP id 52A306124; Tue, 8 Mar 2016 17:52:33 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by ogg.in.absolight.net (Postfix) with ESMTP id 01C60202EEAF; Tue, 8 Mar 2016 17:52:32 +0100 (CET) Date: Tue, 08 Mar 2016 17:52:32 +0100 From: Mathieu Arnold To: Bryan Drewery , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... Message-ID: In-Reply-To: <56DF025B.1090706@FreeBSD.org> References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> <56DF0234.2090307@FreeBSD.org> <56DF025B.1090706@FreeBSD.org> X-Mailer: Mulberry/4.0.8 (Mac OS X) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="==========2E37BBC52CC8560C3E1F==========" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 16:52:36 -0000 --==========2E37BBC52CC8560C3E1F========== Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline +--On 8 mars 2016 08:48:27 -0800 Bryan Drewery wrote: | On 3/8/2016 8:47 AM, Bryan Drewery wrote: |> On 3/8/2016 8:35 AM, Mathieu Arnold wrote: |>> +--On 8 mars 2016 08:29:41 -0800 Bryan Drewery |>> wrote: |>> | On 3/8/2016 8:28 AM, Mathieu Arnold wrote: |>> |> +--On 8 mars 2016 08:25:44 -0800 Bryan Drewery |>> |> wrote: |>> |> | On 3/7/2016 4:29 PM, Mathieu Arnold wrote: |>> |> |> +--On 7 mars 2016 16:22:12 +0000 Xin LI |>> |> |> wrote: |>> |> |> | Author: delphij |>> |> |> | Date: Mon Mar 7 16:22:11 2016 |>> |> |> | New Revision: 296465 |>> |> |> | URL: https://svnweb.freebsd.org/changeset/base/296465 |>> |> |> | |>> |> |> | Log: |>> |> |> | Fix multiple OpenSSL vulnerabilities. |>> |> |> | |>> |> |> | Security: FreeBSD-SA-16:12.openssl |>> |> |> | Approved by: so |>> |> |> |>> |> |> After that, poudriere bulk fails with: |>> |> |> |>> |> |> [00:00:07] ====>> Creating pkgng repository |>> |> |> Creating repository in /tmp/packages: 100% |>> |> |> Packing files for repository: 0%Child process pid=50970 |>> |> |> terminated abnormally: Segmentation fault: 11 |>> |> |> [00:00:08] ====>> Cleaning up |>> |> |> 9amd64-pkgng-default: removed |>> |> |> 9amd64-pkgng-default-n: removed |>> |> |> |>> |> |> pkg-static is the one doing the segfault... |>> |> |> |>> |> | |>> |> | Is QEMU involved here? |>> |> | |>> |> | Do you have PKG_REPO_FROM_HOST or PKG_REPO_SIGNING_KEY set? (Not |>> |> | saying you should) |>> |> |>> |> No, it's a regular 9amd64 build on a 10.2 amd64 host. |>> |> |>> | |>> | Can you please rebuild pkg with debug symbols and then run your 9.3 |>> | version against the repo in gdb? |>> |>> I could yes, but not today, tomorrow at the earliest. How do I build |>> the port with debug symbols ? |>> |> |> WITH_DEBUG=yes make |> | | You might need this too: DEBUG_FLAGS="-g -O0" Mmmm, ok, what commands do I need to run ? -- Mathieu Arnold --==========2E37BBC52CC8560C3E1F========== Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQJ8BAEBCgBmBQJW3wNQXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzQUI2OTc4OUQyRUQxMjEwNjQ0MEJBNUIz QTQ1MTZGMzUxODNDRTQ4AAoJEDpFFvNRg85I0yMP/RWvU3GKZkZszEs5aox+2HY/ OjNuSxWA/GxT5evSC7xrRz72UOO5H9wKB4Gcp77QpAiENKSt7+69RgGwz0iSkUve +VjwQwOOdYPcpU8MmgpcuCjDKxLOEFaHDO5gAN3KSLjLb0rE/dqyvtdcbmak1IWM y/8BCnQzw4tNb5lzOOv4Vogp/8ZVIzJ5XxG9+R6AZGbyARWziYM3tPZeALgSfJBG t9fQIbLFb2x+nSKRwqwzMX4dpG5KEVOSLxahszsKFTawRdyCjBzhQpVGI+WMxP3E zNR7bcealsFa1XfDJ4EqWchiX8VYcI2uFmNvQcOSQ546quMOgNah4YttuxwKuALg DjZqBRsd511mBkjt5ppQaIs1F4MFFeO9FEkE+Ne08X7c+RaYbeh8IppzPpCqt9NO CO7TtaL2Cmx/YIzKjzwSWZ895rlP3jKEzUmcS6Ls//ZjmkTWklZy7qLUlMifyO1d TGU+2w9uBafq3OXo+boMTcvJjsLjhcekJR14q7aBuHhrN38eEgVmfZu5z/1T3lv7 Vj+lwQewECyri5u0Y9Dxl4ClvxxfQOT/3ZdcKQgq5Al1e6XhLA6MEwS6TnK9QKqk rFXubqtVe/RWhZ5xDDA+b9esMdjs1yTx/uDKpoU2z3yabmjlu7QSediyVtSyDcwh 6qzXx+bFa8iKao2tPXjo =s8iN -----END PGP SIGNATURE----- --==========2E37BBC52CC8560C3E1F==========-- From owner-svn-src-all@freebsd.org Tue Mar 8 17:01:07 2016 Return-Path: Delivered-To: svn-src-all@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 4A7F9AC711A; Tue, 8 Mar 2016 17:01:07 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 2CDF5F6B; Tue, 8 Mar 2016 17:01:07 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 203C019C9; Tue, 8 Mar 2016 17:01:07 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id C2090D98C; Tue, 8 Mar 2016 17:01:06 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id ttuwEwiRd0n5; Tue, 8 Mar 2016 17:01:03 +0000 (UTC) Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 42C22D984 To: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> <56DF0234.2090307@FreeBSD.org> <56DF025B.1090706@FreeBSD.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56DF0550.6000604@FreeBSD.org> Date: Tue, 8 Mar 2016 09:01:04 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="wF6cMO9KA2gGg1RISeTE76daTm4Km6js6" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:01:07 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --wF6cMO9KA2gGg1RISeTE76daTm4Km6js6 Content-Type: multipart/mixed; boundary="PnILOghhedvtPSgpDwCU1Qpf8HDM23Woh" From: Bryan Drewery To: Mathieu Arnold , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Message-ID: <56DF0550.6000604@FreeBSD.org> Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> <56DF0234.2090307@FreeBSD.org> <56DF025B.1090706@FreeBSD.org> In-Reply-To: --PnILOghhedvtPSgpDwCU1Qpf8HDM23Woh Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 3/8/2016 8:52 AM, Mathieu Arnold wrote: > +--On 8 mars 2016 08:48:27 -0800 Bryan Drewery w= rote: > | On 3/8/2016 8:47 AM, Bryan Drewery wrote: > |> On 3/8/2016 8:35 AM, Mathieu Arnold wrote: > |>> +--On 8 mars 2016 08:29:41 -0800 Bryan Drewery > |>> wrote: > |>> | On 3/8/2016 8:28 AM, Mathieu Arnold wrote: > |>> |> +--On 8 mars 2016 08:25:44 -0800 Bryan Drewery > |>> |> wrote: > |>> |> | On 3/7/2016 4:29 PM, Mathieu Arnold wrote: > |>> |> |> +--On 7 mars 2016 16:22:12 +0000 Xin LI = > |>> |> |> wrote: > |>> |> |> | Author: delphij > |>> |> |> | Date: Mon Mar 7 16:22:11 2016 > |>> |> |> | New Revision: 296465 > |>> |> |> | URL: https://svnweb.freebsd.org/changeset/base/296465 > |>> |> |> |=20 > |>> |> |> | Log: > |>> |> |> | Fix multiple OpenSSL vulnerabilities. > |>> |> |> | =20 > |>> |> |> | Security: FreeBSD-SA-16:12.openssl > |>> |> |> | Approved by: so > |>> |> |>=20 > |>> |> |> After that, poudriere bulk fails with: > |>> |> |>=20 > |>> |> |> [00:00:07] =3D=3D=3D=3D>> Creating pkgng repository > |>> |> |> Creating repository in /tmp/packages: 100% > |>> |> |> Packing files for repository: 0%Child process pid=3D50970 > |>> |> |> terminated abnormally: Segmentation fault: 11 > |>> |> |> [00:00:08] =3D=3D=3D=3D>> Cleaning up > |>> |> |> 9amd64-pkgng-default: removed > |>> |> |> 9amd64-pkgng-default-n: removed > |>> |> |>=20 > |>> |> |> pkg-static is the one doing the segfault... > |>> |> |>=20 > |>> |> |=20 > |>> |> | Is QEMU involved here? > |>> |> |=20 > |>> |> | Do you have PKG_REPO_FROM_HOST or PKG_REPO_SIGNING_KEY set? (N= ot > |>> |> | saying you should) > |>> |>=20 > |>> |> No, it's a regular 9amd64 build on a 10.2 amd64 host. > |>> |>=20 > |>> |=20 > |>> | Can you please rebuild pkg with debug symbols and then run your 9= =2E3 > |>> | version against the repo in gdb? > |>>=20 > |>> I could yes, but not today, tomorrow at the earliest. How do I bui= ld > |>> the port with debug symbols ? > |>>=20 > |>=20 > |> WITH_DEBUG=3Dyes make > |>=20 > |=20 > | You might need this too: DEBUG_FLAGS=3D"-g -O0" >=20 > Mmmm, ok, what commands do I need to run ? >=20 (assuming devel/gdb installed) gdb710 --args /usr/local/sbin/pkg-static repo # run # bt full --=20 Regards, Bryan Drewery --PnILOghhedvtPSgpDwCU1Qpf8HDM23Woh-- --wF6cMO9KA2gGg1RISeTE76daTm4Km6js6 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW3wVQAAoJEDXXcbtuRpfPdkQIAMChshdXDVZ4IkELouhxvqlx NcAtAYTorGnJkqDiwcZziZ66l8d/IKo6NyOEsJWXqigqzOnaZQ+TbBNlte6YPn5a K34bDRgNGTuMqn1a8nPq+NA7KG1xLwXVR2lxflC+chIkKlCSvHZRFyDDHjwmcvEf fxw8NPv7veRjiH798LqI3tkaIcvYt9WfSXGk+51yNUkszg7zDIGcXpFO6KP7MLR9 EkQcML5Ky9cpcgOT+j+q2oMhtOLo3Qdl6N9zvUhMh1cVaJRZp45Ovy0lUTv0JZKT x60toatjlDRqxHcY6QvdLQvMTBp1VdL30D8hIf4VaiummDD258Lmd2jH+S87Mbk= =C0G+ -----END PGP SIGNATURE----- --wF6cMO9KA2gGg1RISeTE76daTm4Km6js6-- From owner-svn-src-all@freebsd.org Tue Mar 8 17:27:16 2016 Return-Path: Delivered-To: svn-src-all@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 86FFBAC7C02; Tue, 8 Mar 2016 17:27:16 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4B1C0E33; Tue, 8 Mar 2016 17:27:16 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HRF5J051508; Tue, 8 Mar 2016 17:27:15 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HREH3051496; Tue, 8 Mar 2016 17:27:14 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081727.u28HREH3051496@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:27:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296510 - in head: cddl/contrib/opensolaris/cmd/zinject sys/cddl/compat/opensolaris/sys sys/cddl/contrib/opensolaris/uts/common/fs/zfs sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:27:16 -0000 Author: mav Date: Tue Mar 8 17:27:13 2016 New Revision: 296510 URL: https://svnweb.freebsd.org/changeset/base/296510 Log: MFV r296505: 6531 Provide mechanism to artificially limit disk performance Reviewed by: Paul Dagnelie Reviewed by: Matthew Ahrens Reviewed by: George Wilson Approved by: Dan McDonald Author: Prakash Surya illumos/illumos-gate@97e81309571898df9fdd94aab1216dfcf23e060b Added: head/sys/cddl/compat/opensolaris/sys/callo.h (contents, props changed) Modified: head/cddl/contrib/opensolaris/cmd/zinject/zinject.c head/sys/cddl/compat/opensolaris/sys/systm.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zinject/zinject.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zinject/zinject.c Tue Mar 8 16:47:23 2016 (r296509) +++ head/cddl/contrib/opensolaris/cmd/zinject/zinject.c Tue Mar 8 17:27:13 2016 (r296510) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2012, 2015 by Delphix. All rights reserved. */ /* @@ -229,21 +229,57 @@ usage(void) "\t\tall records if 'all' is specificed.\n" "\n" "\tzinject -p pool\n" + "\n" "\t\tInject a panic fault at the specified function. Only \n" "\t\tfunctions which call spa_vdev_config_exit(), or \n" "\t\tspa_vdev_exit() will trigger a panic.\n" "\n" "\tzinject -d device [-e errno] [-L ] [-F]\n" "\t [-T pool\n" + "\n" "\t\tInject a fault into a particular device or the device's\n" "\t\tlabel. Label injection can either be 'nvlist', 'uber',\n " "\t\t'pad1', or 'pad2'.\n" "\t\t'errno' can be 'nxio' (the default), 'io', or 'dtl'.\n" "\n" "\tzinject -d device -A pool\n" + "\n" "\t\tPerform a specific action on a particular device\n" "\n" + "\tzinject -d device -D latency:lanes pool\n" + "\n" + "\t\tAdd an artificial delay to IO requests on a particular\n" + "\t\tdevice, such that the requests take a minimum of 'latency'\n" + "\t\tmilliseconds to complete. Each delay has an associated\n" + "\t\tnumber of 'lanes' which defines the number of concurrent\n" + "\t\tIO requests that can be processed.\n" + "\n" + "\t\tFor example, with a single lane delay of 10 ms (-D 10:1),\n" + "\t\tthe device will only be able to service a single IO request\n" + "\t\tat a time with each request taking 10 ms to complete. So,\n" + "\t\tif only a single request is submitted every 10 ms, the\n" + "\t\taverage latency will be 10 ms; but if more than one request\n" + "\t\tis submitted every 10 ms, the average latency will be more\n" + "\t\tthan 10 ms.\n" + "\n" + "\t\tSimilarly, if a delay of 10 ms is specified to have two\n" + "\t\tlanes (-D 10:2), then the device will be able to service\n" + "\t\ttwo requests at a time, each with a minimum latency of\n" + "\t\t10 ms. So, if two requests are submitted every 10 ms, then\n" + "\t\tthe average latency will be 10 ms; but if more than two\n" + "\t\trequests are submitted every 10 ms, the average latency\n" + "\t\twill be more than 10 ms.\n" + "\n" + "\t\tAlso note, these delays are additive. So two invocations\n" + "\t\tof '-D 10:1', is roughly equivalent to a single invocation\n" + "\t\tof '-D 10:2'. This also means, one can specify multiple\n" + "\t\tlanes with differing target latencies. For example, an\n" + "\t\tinvocation of '-D 10:1' followed by '-D 25:2' will\n" + "\t\tcreate 3 lanes on the device; one lane with a latency\n" + "\t\tof 10 ms and two lanes with a 25 ms latency.\n" + "\n" "\tzinject -I [-s | -g ] pool\n" + "\n" "\t\tCause the pool to stop writing blocks yet not\n" "\t\treport errors for a duration. Simulates buggy hardware\n" "\t\tthat fails to honor cache flush requests.\n" @@ -357,6 +393,9 @@ print_device_handler(int id, const char if (record->zi_guid == 0 || record->zi_func[0] != '\0') return (0); + if (record->zi_cmd == ZINJECT_DELAY_IO) + return (0); + if (*count == 0) { (void) printf("%3s %-15s %s\n", "ID", "POOL", "GUID"); (void) printf("--- --------------- ----------------\n"); @@ -371,6 +410,35 @@ print_device_handler(int id, const char } static int +print_delay_handler(int id, const char *pool, zinject_record_t *record, + void *data) +{ + int *count = data; + + if (record->zi_guid == 0 || record->zi_func[0] != '\0') + return (0); + + if (record->zi_cmd != ZINJECT_DELAY_IO) + return (0); + + if (*count == 0) { + (void) printf("%3s %-15s %-15s %-15s %s\n", + "ID", "POOL", "DELAY (ms)", "LANES", "GUID"); + (void) printf("--- --------------- --------------- " + "--------------- ----------------\n"); + } + + *count += 1; + + (void) printf("%3d %-15s %-15llu %-15llu %llx\n", id, pool, + (u_longlong_t)NSEC2MSEC(record->zi_timer), + (u_longlong_t)record->zi_nlanes, + (u_longlong_t)record->zi_guid); + + return (0); +} + +static int print_panic_handler(int id, const char *pool, zinject_record_t *record, void *data) { @@ -407,6 +475,13 @@ print_all_handlers(void) count = 0; } + (void) iter_handlers(print_delay_handler, &count); + if (count > 0) { + total += count; + (void) printf("\n"); + count = 0; + } + (void) iter_handlers(print_data_handler, &count); if (count > 0) { total += count; @@ -549,6 +624,35 @@ perform_action(const char *pool, zinject return (1); } +static int +parse_delay(char *str, uint64_t *delay, uint64_t *nlanes) +{ + unsigned long scan_delay; + unsigned long scan_nlanes; + + if (sscanf(str, "%lu:%lu", &scan_delay, &scan_nlanes) != 2) + return (1); + + /* + * We explicitly disallow a delay of zero here, because we key + * off this value being non-zero in translate_device(), to + * determine if the fault is a ZINJECT_DELAY_IO fault or not. + */ + if (scan_delay == 0) + return (1); + + /* + * The units for the CLI delay parameter is milliseconds, but + * the data passed to the kernel is interpreted as nanoseconds. + * Thus we scale the milliseconds to nanoseconds here, and this + * nanosecond value is used to pass the delay to the kernel. + */ + *delay = MSEC2NSEC(scan_delay); + *nlanes = scan_nlanes; + + return (0); +} + int main(int argc, char **argv) { @@ -632,8 +736,9 @@ main(int argc, char **argv) device = optarg; break; case 'D': - record.zi_timer = strtoull(optarg, &end, 10); - if (errno != 0 || *end != '\0') { + ret = parse_delay(optarg, &record.zi_timer, + &record.zi_nlanes); + if (ret != 0) { (void) fprintf(stderr, "invalid i/o delay " "value: '%s'\n", optarg); usage(); Added: head/sys/cddl/compat/opensolaris/sys/callo.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/cddl/compat/opensolaris/sys/callo.h Tue Mar 8 17:27:13 2016 (r296510) @@ -0,0 +1,37 @@ +/*- + * Copyright (c) 2016 Alexander Motin + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _OPENSOLARIS_SYS_CALLO_H_ +#define _OPENSOLARIS_SYS_CALLO_H_ + +#include_next + +#define CALLOUT_REALTIME 0 /* realtime callout type */ +#define CALLOUT_NORMAL 1 /* normal callout type */ + +#endif /* !_OPENSOLARIS_SYS_CALLO_H_ */ Modified: head/sys/cddl/compat/opensolaris/sys/systm.h ============================================================================== --- head/sys/cddl/compat/opensolaris/sys/systm.h Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/compat/opensolaris/sys/systm.h Tue Mar 8 17:27:13 2016 (r296510) @@ -42,6 +42,9 @@ #define delay(x) pause("soldelay", (x)) +#define timeout_generic(type, fn, arg, t, r, f) \ + timeout(fn, arg, t / (NANOSEC/hz) + 1) + #endif /* _KERNEL */ #endif /* _OPENSOLARIS_SYS_SYSTM_H_ */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h Tue Mar 8 17:27:13 2016 (r296510) @@ -94,10 +94,8 @@ extern "C" { #include #ifdef illumos #include -#include -#else /* FreeBSD */ -#include #endif +#include #include #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 17:27:13 2016 (r296510) @@ -308,6 +308,7 @@ typedef struct zinject_record { uint32_t zi_iotype; int32_t zi_duration; uint64_t zi_timer; + uint64_t zi_nlanes; uint32_t zi_cmd; uint32_t zi_pad; } zinject_record_t; Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h Tue Mar 8 17:27:13 2016 (r296510) @@ -455,6 +455,7 @@ struct zio { uint64_t io_offset; hrtime_t io_timestamp; + hrtime_t io_target_timestamp; avl_node_t io_queue_node; avl_node_t io_offset_node; @@ -548,6 +549,8 @@ extern int zio_wait(zio_t *zio); extern void zio_nowait(zio_t *zio); extern void zio_execute(zio_t *zio); extern void zio_interrupt(zio_t *zio); +extern void zio_delay_init(zio_t *zio); +extern void zio_delay_interrupt(zio_t *zio); extern zio_t *zio_walk_parents(zio_t *cio); extern zio_t *zio_walk_children(zio_t *pio); @@ -609,7 +612,7 @@ extern int zio_handle_fault_injection(zi extern int zio_handle_device_injection(vdev_t *vd, zio_t *zio, int error); extern int zio_handle_label_injection(zio_t *zio, int error); extern void zio_handle_ignored_writes(zio_t *zio); -extern uint64_t zio_handle_io_delay(zio_t *zio); +extern hrtime_t zio_handle_io_delay(zio_t *zio); /* * Checksum ereport functions Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c Tue Mar 8 17:27:13 2016 (r296510) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2012, 2015 by Delphix. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2013 Joyent, Inc. All rights reserved. */ @@ -691,7 +691,7 @@ vdev_disk_io_intr(buf_t *bp) kmem_free(vb, sizeof (vdev_buf_t)); - zio_interrupt(zio); + zio_delay_interrupt(zio); } static void @@ -797,6 +797,7 @@ vdev_disk_io_start(zio_t *zio) } ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE); + zio->io_target_timestamp = zio_handle_io_delay(zio); vb = kmem_alloc(sizeof (vdev_buf_t), KM_SLEEP); Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c Tue Mar 8 17:27:13 2016 (r296510) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2011, 2015 by Delphix. All rights reserved. */ #include @@ -188,6 +188,7 @@ vdev_file_io_start(zio_t *zio) } ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE); + zio->io_target_timestamp = zio_handle_io_delay(zio); zio->io_error = vn_rdwr(zio->io_type == ZIO_TYPE_READ ? UIO_READ : UIO_WRITE, vp, zio->io_data, zio->io_size, @@ -196,7 +197,7 @@ vdev_file_io_start(zio_t *zio) if (resid != 0 && zio->io_error == 0) zio->io_error = ENOSPC; - zio_interrupt(zio); + zio_delay_interrupt(zio); #ifdef illumos VERIFY3U(taskq_dispatch(system_taskq, vdev_file_io_strategy, bp, Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Tue Mar 8 17:27:13 2016 (r296510) @@ -885,7 +885,7 @@ vdev_geom_io_intr(struct bio *bp) break; } g_destroy_bio(bp); - zio_interrupt(zio); + zio_delay_interrupt(zio); } static void @@ -948,6 +948,7 @@ sendreq: switch (zio->io_type) { case ZIO_TYPE_READ: case ZIO_TYPE_WRITE: + zio->io_target_timestamp = zio_handle_io_delay(zio); bp->bio_cmd = zio->io_type == ZIO_TYPE_READ ? BIO_READ : BIO_WRITE; bp->bio_data = zio->io_data; bp->bio_offset = zio->io_offset; Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c Tue Mar 8 17:27:13 2016 (r296510) @@ -871,9 +871,6 @@ vdev_queue_io_done(zio_t *zio) vdev_queue_t *vq = &zio->io_vd->vdev_queue; zio_t *nio; - if (zio_injection_enabled) - delay(SEC_TO_TICK(zio_handle_io_delay(zio))); - mutex_enter(&vq->vq_lock); vdev_queue_pending_remove(vq, zio); Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Tue Mar 8 17:27:13 2016 (r296510) @@ -1442,6 +1442,58 @@ zio_interrupt(zio_t *zio) zio_taskq_dispatch(zio, ZIO_TASKQ_INTERRUPT, B_FALSE); } +void +zio_delay_interrupt(zio_t *zio) +{ + /* + * The timeout_generic() function isn't defined in userspace, so + * rather than trying to implement the function, the zio delay + * functionality has been disabled for userspace builds. + */ + +#ifdef _KERNEL + /* + * If io_target_timestamp is zero, then no delay has been registered + * for this IO, thus jump to the end of this function and "skip" the + * delay; issuing it directly to the zio layer. + */ + if (zio->io_target_timestamp != 0) { + hrtime_t now = gethrtime(); + + if (now >= zio->io_target_timestamp) { + /* + * This IO has already taken longer than the target + * delay to complete, so we don't want to delay it + * any longer; we "miss" the delay and issue it + * directly to the zio layer. This is likely due to + * the target latency being set to a value less than + * the underlying hardware can satisfy (e.g. delay + * set to 1ms, but the disks take 10ms to complete an + * IO request). + */ + + DTRACE_PROBE2(zio__delay__miss, zio_t *, zio, + hrtime_t, now); + + zio_interrupt(zio); + } else { + hrtime_t diff = zio->io_target_timestamp - now; + + DTRACE_PROBE3(zio__delay__hit, zio_t *, zio, + hrtime_t, now, hrtime_t, diff); + + (void) timeout_generic(CALLOUT_NORMAL, + (void (*)(void *))zio_interrupt, zio, diff, 1, 0); + } + + return; + } +#endif + + DTRACE_PROBE1(zio__delay__skip, zio_t *, zio); + zio_interrupt(zio); +} + /* * Execute the I/O pipeline until one of the following occurs: * Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c Tue Mar 8 16:47:23 2016 (r296509) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c Tue Mar 8 17:27:13 2016 (r296510) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2012, 2015 by Delphix. All rights reserved. */ /* @@ -49,15 +49,53 @@ uint32_t zio_injection_enabled; +/* + * Data describing each zinject handler registered on the system, and + * contains the list node linking the handler in the global zinject + * handler list. + */ typedef struct inject_handler { int zi_id; spa_t *zi_spa; zinject_record_t zi_record; + uint64_t *zi_lanes; + int zi_next_lane; list_node_t zi_link; } inject_handler_t; +/* + * List of all zinject handlers registered on the system, protected by + * the inject_lock defined below. + */ static list_t inject_handlers; + +/* + * This protects insertion into, and traversal of, the inject handler + * list defined above; as well as the inject_delay_count. Any time a + * handler is inserted or removed from the list, this lock should be + * taken as a RW_WRITER; and any time traversal is done over the list + * (without modification to it) this lock should be taken as a RW_READER. + */ static krwlock_t inject_lock; + +/* + * This holds the number of zinject delay handlers that have been + * registered on the system. It is protected by the inject_lock defined + * above. Thus modifications to this count must be a RW_WRITER of the + * inject_lock, and reads of this count must be (at least) a RW_READER + * of the lock. + */ +static int inject_delay_count = 0; + +/* + * This lock is used only in zio_handle_io_delay(), refer to the comment + * in that function for more details. + */ +static kmutex_t inject_delay_mtx; + +/* + * Used to assign unique identifying numbers to each new zinject handler. + */ static int inject_next_id = 1; /* @@ -360,32 +398,164 @@ spa_handle_ignored_writes(spa_t *spa) rw_exit(&inject_lock); } -uint64_t +hrtime_t zio_handle_io_delay(zio_t *zio) { vdev_t *vd = zio->io_vd; - inject_handler_t *handler; - uint64_t seconds = 0; - - if (zio_injection_enabled == 0) - return (0); + inject_handler_t *min_handler = NULL; + hrtime_t min_target = 0; rw_enter(&inject_lock, RW_READER); - for (handler = list_head(&inject_handlers); handler != NULL; - handler = list_next(&inject_handlers, handler)) { + /* + * inject_delay_count is a subset of zio_injection_enabled that + * is only incremented for delay handlers. These checks are + * mainly added to remind the reader why we're not explicitly + * checking zio_injection_enabled like the other functions. + */ + IMPLY(inject_delay_count > 0, zio_injection_enabled > 0); + IMPLY(zio_injection_enabled == 0, inject_delay_count == 0); + + /* + * If there aren't any inject delay handlers registered, then we + * can short circuit and simply return 0 here. A value of zero + * informs zio_delay_interrupt() that this request should not be + * delayed. This short circuit keeps us from acquiring the + * inject_delay_mutex unnecessarily. + */ + if (inject_delay_count == 0) { + rw_exit(&inject_lock); + return (0); + } + + /* + * Each inject handler has a number of "lanes" associated with + * it. Each lane is able to handle requests independently of one + * another, and at a latency defined by the inject handler + * record's zi_timer field. Thus if a handler in configured with + * a single lane with a 10ms latency, it will delay requests + * such that only a single request is completed every 10ms. So, + * if more than one request is attempted per each 10ms interval, + * the average latency of the requests will be greater than + * 10ms; but if only a single request is submitted each 10ms + * interval the average latency will be 10ms. + * + * We need to acquire this mutex to prevent multiple concurrent + * threads being assigned to the same lane of a given inject + * handler. The mutex allows us to perform the following two + * operations atomically: + * + * 1. determine the minimum handler and minimum target + * value of all the possible handlers + * 2. update that minimum handler's lane array + * + * Without atomicity, two (or more) threads could pick the same + * lane in step (1), and then conflict with each other in step + * (2). This could allow a single lane handler to process + * multiple requests simultaneously, which shouldn't be possible. + */ + mutex_enter(&inject_delay_mtx); + for (inject_handler_t *handler = list_head(&inject_handlers); + handler != NULL; handler = list_next(&inject_handlers, handler)) { if (handler->zi_record.zi_cmd != ZINJECT_DELAY_IO) continue; - if (vd->vdev_guid == handler->zi_record.zi_guid) { - seconds = handler->zi_record.zi_timer; - break; + if (vd->vdev_guid != handler->zi_record.zi_guid) + continue; + + /* + * Defensive; should never happen as the array allocation + * occurs prior to inserting this handler on the list. + */ + ASSERT3P(handler->zi_lanes, !=, NULL); + + /* + * This should never happen, the zinject command should + * prevent a user from setting an IO delay with zero lanes. + */ + ASSERT3U(handler->zi_record.zi_nlanes, !=, 0); + + ASSERT3U(handler->zi_record.zi_nlanes, >, + handler->zi_next_lane); + + /* + * We want to issue this IO to the lane that will become + * idle the soonest, so we compare the soonest this + * specific handler can complete the IO with all other + * handlers, to find the lowest value of all possible + * lanes. We then use this lane to submit the request. + * + * Since each handler has a constant value for its + * delay, we can just use the "next" lane for that + * handler; as it will always be the lane with the + * lowest value for that particular handler (i.e. the + * lane that will become idle the soonest). This saves a + * scan of each handler's lanes array. + * + * There's two cases to consider when determining when + * this specific IO request should complete. If this + * lane is idle, we want to "submit" the request now so + * it will complete after zi_timer milliseconds. Thus, + * we set the target to now + zi_timer. + * + * If the lane is busy, we want this request to complete + * zi_timer milliseconds after the lane becomes idle. + * Since the 'zi_lanes' array holds the time at which + * each lane will become idle, we use that value to + * determine when this request should complete. + */ + hrtime_t idle = handler->zi_record.zi_timer + gethrtime(); + hrtime_t busy = handler->zi_record.zi_timer + + handler->zi_lanes[handler->zi_next_lane]; + hrtime_t target = MAX(idle, busy); + + if (min_handler == NULL) { + min_handler = handler; + min_target = target; + continue; } + ASSERT3P(min_handler, !=, NULL); + ASSERT3U(min_target, !=, 0); + + /* + * We don't yet increment the "next lane" variable since + * we still might find a lower value lane in another + * handler during any remaining iterations. Once we're + * sure we've selected the absolute minimum, we'll claim + * the lane and increment the handler's "next lane" + * field below. + */ + + if (target < min_target) { + min_handler = handler; + min_target = target; + } } + + /* + * 'min_handler' will be NULL if no IO delays are registered for + * this vdev, otherwise it will point to the handler containing + * the lane that will become idle the soonest. + */ + if (min_handler != NULL) { + ASSERT3U(min_target, !=, 0); + min_handler->zi_lanes[min_handler->zi_next_lane] = min_target; + + /* + * If we've used all possible lanes for this handler, + * loop back and start using the first lane again; + * otherwise, just increment the lane index. + */ + min_handler->zi_next_lane = (min_handler->zi_next_lane + 1) % + min_handler->zi_record.zi_nlanes; + } + + mutex_exit(&inject_delay_mtx); rw_exit(&inject_lock); - return (seconds); + + return (min_target); } /* @@ -409,6 +579,24 @@ zio_inject_fault(char *name, int flags, if ((error = spa_reset(name)) != 0) return (error); + if (record->zi_cmd == ZINJECT_DELAY_IO) { + /* + * A value of zero for the number of lanes or for the + * delay time doesn't make sense. + */ + if (record->zi_timer == 0 || record->zi_nlanes == 0) + return (SET_ERROR(EINVAL)); + + /* + * The number of lanes is directly mapped to the size of + * an array used by the handler. Thus, to ensure the + * user doesn't trigger an allocation that's "too large" + * we cap the number of lanes here. + */ + if (record->zi_nlanes >= UINT16_MAX) + return (SET_ERROR(EINVAL)); + } + if (!(flags & ZINJECT_NULL)) { /* * spa_inject_ref() will add an injection reference, which will @@ -420,11 +608,34 @@ zio_inject_fault(char *name, int flags, handler = kmem_alloc(sizeof (inject_handler_t), KM_SLEEP); + handler->zi_spa = spa; + handler->zi_record = *record; + + if (handler->zi_record.zi_cmd == ZINJECT_DELAY_IO) { + handler->zi_lanes = kmem_zalloc( + sizeof (*handler->zi_lanes) * + handler->zi_record.zi_nlanes, KM_SLEEP); + handler->zi_next_lane = 0; + } else { + handler->zi_lanes = NULL; + handler->zi_next_lane = 0; + } + rw_enter(&inject_lock, RW_WRITER); + /* + * We can't move this increment into the conditional + * above because we need to hold the RW_WRITER lock of + * inject_lock, and we don't want to hold that while + * allocating the handler's zi_lanes array. + */ + if (handler->zi_record.zi_cmd == ZINJECT_DELAY_IO) { + ASSERT3S(inject_delay_count, >=, 0); + inject_delay_count++; + ASSERT3S(inject_delay_count, >, 0); + } + *id = handler->zi_id = inject_next_id++; - handler->zi_spa = spa; - handler->zi_record = *record; list_insert_tail(&inject_handlers, handler); atomic_inc_32(&zio_injection_enabled); @@ -502,9 +713,23 @@ zio_clear_fault(int id) return (SET_ERROR(ENOENT)); } + if (handler->zi_record.zi_cmd == ZINJECT_DELAY_IO) { + ASSERT3S(inject_delay_count, >, 0); + inject_delay_count--; + ASSERT3S(inject_delay_count, >=, 0); + } + list_remove(&inject_handlers, handler); rw_exit(&inject_lock); + if (handler->zi_record.zi_cmd == ZINJECT_DELAY_IO) { + ASSERT3P(handler->zi_lanes, !=, NULL); + kmem_free(handler->zi_lanes, sizeof (*handler->zi_lanes) * + handler->zi_record.zi_nlanes); + } else { + ASSERT3P(handler->zi_lanes, ==, NULL); + } + spa_inject_delref(handler->zi_spa); kmem_free(handler, sizeof (inject_handler_t)); atomic_dec_32(&zio_injection_enabled); @@ -516,6 +741,7 @@ void zio_inject_init(void) { rw_init(&inject_lock, NULL, RW_DEFAULT, NULL); + mutex_init(&inject_delay_mtx, NULL, MUTEX_DEFAULT, NULL); list_create(&inject_handlers, sizeof (inject_handler_t), offsetof(inject_handler_t, zi_link)); } @@ -524,5 +750,6 @@ void zio_inject_fini(void) { list_destroy(&inject_handlers); + mutex_destroy(&inject_delay_mtx); rw_destroy(&inject_lock); } From owner-svn-src-all@freebsd.org Tue Mar 8 17:29:58 2016 Return-Path: Delivered-To: svn-src-all@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 D1232AC7D93; Tue, 8 Mar 2016 17:29:58 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 85F2211C5; Tue, 8 Mar 2016 17:29:58 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HTvdZ051986; Tue, 8 Mar 2016 17:29:57 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HTvRa051985; Tue, 8 Mar 2016 17:29:57 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081729.u28HTvRa051985@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:29:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296511 - vendor-sys/illumos/dist/uts/common/fs/zfs X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:29:58 -0000 Author: mav Date: Tue Mar 8 17:29:57 2016 New Revision: 296511 URL: https://svnweb.freebsd.org/changeset/base/296511 Log: 6537 Panic on zpool scrub with DEBUG kernel Reviewed by: Steve Gonczi Reviewed by: Dan McDonald Reviewed by: Igor Kozhukhov Reviewed by: Matthew Ahrens Approved by: Matthew Ahrens Author: Gary Mills illumos/illumos-gate@8c04a1fa3f7d569d48fe9b5342d0bd4c533179b9 Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_scan.c Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_scan.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_scan.c Tue Mar 8 17:27:13 2016 (r296510) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_scan.c Tue Mar 8 17:29:57 2016 (r296511) @@ -21,6 +21,7 @@ /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. + * Copyright 2016 Gary Mills */ #include @@ -1517,7 +1518,8 @@ dsl_scan_sync(dsl_pool_t *dp, dmu_tx_t * } if (err != 0) return; - if (!scn->scn_async_destroying && zfs_free_leak_on_eio && + if (dp->dp_free_dir != NULL && !scn->scn_async_destroying && + zfs_free_leak_on_eio && (dsl_dir_phys(dp->dp_free_dir)->dd_used_bytes != 0 || dsl_dir_phys(dp->dp_free_dir)->dd_compressed_bytes != 0 || dsl_dir_phys(dp->dp_free_dir)->dd_uncompressed_bytes != 0)) { @@ -1543,7 +1545,7 @@ dsl_scan_sync(dsl_pool_t *dp, dmu_tx_t * -dsl_dir_phys(dp->dp_free_dir)->dd_compressed_bytes, -dsl_dir_phys(dp->dp_free_dir)->dd_uncompressed_bytes, tx); } - if (!scn->scn_async_destroying) { + if (dp->dp_free_dir != NULL && !scn->scn_async_destroying) { /* finished; verify that space accounting went to zero */ ASSERT0(dsl_dir_phys(dp->dp_free_dir)->dd_used_bytes); ASSERT0(dsl_dir_phys(dp->dp_free_dir)->dd_compressed_bytes); From owner-svn-src-all@freebsd.org Tue Mar 8 17:32:26 2016 Return-Path: Delivered-To: svn-src-all@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 3ABF5AC7FE6; Tue, 8 Mar 2016 17:32:26 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DFBBD1626; Tue, 8 Mar 2016 17:32:25 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HWOQk054827; Tue, 8 Mar 2016 17:32:24 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HWOdv054826; Tue, 8 Mar 2016 17:32:24 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081732.u28HWOdv054826@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:32:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296512 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:32:26 -0000 Author: mav Date: Tue Mar 8 17:32:24 2016 New Revision: 296512 URL: https://svnweb.freebsd.org/changeset/base/296512 Log: MFV r296511: 6537 Panic on zpool scrub with DEBUG kernel Reviewed by: Steve Gonczi Reviewed by: Dan McDonald Reviewed by: Igor Kozhukhov Reviewed by: Matthew Ahrens Approved by: Matthew Ahrens Author: Gary Mills illumos/illumos-gate@8c04a1fa3f7d569d48fe9b5342d0bd4c533179b9 Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Tue Mar 8 17:29:57 2016 (r296511) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Tue Mar 8 17:32:24 2016 (r296512) @@ -21,6 +21,7 @@ /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. + * Copyright 2016 Gary Mills */ #include @@ -1545,7 +1546,8 @@ dsl_scan_sync(dsl_pool_t *dp, dmu_tx_t * } if (err != 0) return; - if (!scn->scn_async_destroying && zfs_free_leak_on_eio && + if (dp->dp_free_dir != NULL && !scn->scn_async_destroying && + zfs_free_leak_on_eio && (dsl_dir_phys(dp->dp_free_dir)->dd_used_bytes != 0 || dsl_dir_phys(dp->dp_free_dir)->dd_compressed_bytes != 0 || dsl_dir_phys(dp->dp_free_dir)->dd_uncompressed_bytes != 0)) { @@ -1571,7 +1573,7 @@ dsl_scan_sync(dsl_pool_t *dp, dmu_tx_t * -dsl_dir_phys(dp->dp_free_dir)->dd_compressed_bytes, -dsl_dir_phys(dp->dp_free_dir)->dd_uncompressed_bytes, tx); } - if (!scn->scn_async_destroying) { + if (dp->dp_free_dir != NULL && !scn->scn_async_destroying) { /* finished; verify that space accounting went to zero */ ASSERT0(dsl_dir_phys(dp->dp_free_dir)->dd_used_bytes); ASSERT0(dsl_dir_phys(dp->dp_free_dir)->dd_compressed_bytes); From owner-svn-src-all@freebsd.org Tue Mar 8 17:34:09 2016 Return-Path: Delivered-To: svn-src-all@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 4022EAC8098; Tue, 8 Mar 2016 17:34:09 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1C31618F4; Tue, 8 Mar 2016 17:34:09 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HY8kd054951; Tue, 8 Mar 2016 17:34:08 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HY89o054950; Tue, 8 Mar 2016 17:34:08 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081734.u28HY89o054950@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:34:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296513 - vendor-sys/illumos/dist/uts/common/fs/zfs X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:34:09 -0000 Author: mav Date: Tue Mar 8 17:34:07 2016 New Revision: 296513 URL: https://svnweb.freebsd.org/changeset/base/296513 Log: 6450 scrub/resilver unnecessarily traverses snapshots created after the scrub started Reviewed by: George Wilson Reviewed by: Prakash Surya Reviewed by: Richard Elling Approved by: Richard Lowe Author: Matthew Ahrens illumos/illumos-gate@38d61036746e2273cc18f6698392e1e29f87d1bf Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_scan.c Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_scan.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_scan.c Tue Mar 8 17:32:24 2016 (r296512) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_scan.c Tue Mar 8 17:34:07 2016 (r296513) @@ -819,7 +819,16 @@ dsl_scan_ds_destroyed(dsl_dataset_t *ds, if (scn->scn_phys.scn_bookmark.zb_objset == ds->ds_object) { if (ds->ds_is_snapshot) { - /* Note, scn_cur_{min,max}_txg stays the same. */ + /* + * Note: + * - scn_cur_{min,max}_txg stays the same. + * - Setting the flag is not really necessary if + * scn_cur_max_txg == scn_max_txg, because there + * is nothing after this snapshot that we care + * about. However, we set it anyway and then + * ignore it when we retraverse it in + * dsl_scan_visitds(). + */ scn->scn_phys.scn_bookmark.zb_objset = dsl_dataset_phys(ds)->ds_next_snap_obj; zfs_dbgmsg("destroying ds %llu; currently traversing; " @@ -859,9 +868,6 @@ dsl_scan_ds_destroyed(dsl_dataset_t *ds, zfs_dbgmsg("destroying ds %llu; in queue; removing", (u_longlong_t)ds->ds_object); } - } else { - zfs_dbgmsg("destroying ds %llu; ignoring", - (u_longlong_t)ds->ds_object); } /* @@ -1014,6 +1020,46 @@ dsl_scan_visitds(dsl_scan_t *scn, uint64 VERIFY3U(0, ==, dsl_dataset_hold_obj(dp, dsobj, FTAG, &ds)); + if (scn->scn_phys.scn_cur_min_txg >= + scn->scn_phys.scn_max_txg) { + /* + * This can happen if this snapshot was created after the + * scan started, and we already completed a previous snapshot + * that was created after the scan started. This snapshot + * only references blocks with: + * + * birth < our ds_creation_txg + * cur_min_txg is no less than ds_creation_txg. + * We have already visited these blocks. + * or + * birth > scn_max_txg + * The scan requested not to visit these blocks. + * + * Subsequent snapshots (and clones) can reference our + * blocks, or blocks with even higher birth times. + * Therefore we do not need to visit them either, + * so we do not add them to the work queue. + * + * Note that checking for cur_min_txg >= cur_max_txg + * is not sufficient, because in that case we may need to + * visit subsequent snapshots. This happens when min_txg > 0, + * which raises cur_min_txg. In this case we will visit + * this dataset but skip all of its blocks, because the + * rootbp's birth time is < cur_min_txg. Then we will + * add the next snapshots/clones to the work queue. + */ + char *dsname = kmem_alloc(MAXNAMELEN, KM_SLEEP); + dsl_dataset_name(ds, dsname); + zfs_dbgmsg("scanning dataset %llu (%s) is unnecessary because " + "cur_min_txg (%llu) >= max_txg (%llu)", + dsobj, dsname, + scn->scn_phys.scn_cur_min_txg, + scn->scn_phys.scn_max_txg); + kmem_free(dsname, MAXNAMELEN); + + goto out; + } + if (dmu_objset_from_ds(ds, &os)) goto out; From owner-svn-src-all@freebsd.org Tue Mar 8 17:34:59 2016 Return-Path: Delivered-To: svn-src-all@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 ACABCAC8120; Tue, 8 Mar 2016 17:34:59 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 856651A95; Tue, 8 Mar 2016 17:34:59 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HYw9l055028; Tue, 8 Mar 2016 17:34:58 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HYwk4055027; Tue, 8 Mar 2016 17:34:58 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081734.u28HYwk4055027@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:34:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296514 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:34:59 -0000 Author: mav Date: Tue Mar 8 17:34:58 2016 New Revision: 296514 URL: https://svnweb.freebsd.org/changeset/base/296514 Log: MFV r296513: 6450 scrub/resilver unnecessarily traverses snapshots created after the scrub started Reviewed by: George Wilson Reviewed by: Prakash Surya Reviewed by: Richard Elling Approved by: Richard Lowe Author: Matthew Ahrens illumos/illumos-gate@38d61036746e2273cc18f6698392e1e29f87d1bf Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Tue Mar 8 17:34:07 2016 (r296513) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c Tue Mar 8 17:34:58 2016 (r296514) @@ -847,7 +847,16 @@ dsl_scan_ds_destroyed(dsl_dataset_t *ds, if (scn->scn_phys.scn_bookmark.zb_objset == ds->ds_object) { if (ds->ds_is_snapshot) { - /* Note, scn_cur_{min,max}_txg stays the same. */ + /* + * Note: + * - scn_cur_{min,max}_txg stays the same. + * - Setting the flag is not really necessary if + * scn_cur_max_txg == scn_max_txg, because there + * is nothing after this snapshot that we care + * about. However, we set it anyway and then + * ignore it when we retraverse it in + * dsl_scan_visitds(). + */ scn->scn_phys.scn_bookmark.zb_objset = dsl_dataset_phys(ds)->ds_next_snap_obj; zfs_dbgmsg("destroying ds %llu; currently traversing; " @@ -887,9 +896,6 @@ dsl_scan_ds_destroyed(dsl_dataset_t *ds, zfs_dbgmsg("destroying ds %llu; in queue; removing", (u_longlong_t)ds->ds_object); } - } else { - zfs_dbgmsg("destroying ds %llu; ignoring", - (u_longlong_t)ds->ds_object); } /* @@ -1042,6 +1048,46 @@ dsl_scan_visitds(dsl_scan_t *scn, uint64 VERIFY3U(0, ==, dsl_dataset_hold_obj(dp, dsobj, FTAG, &ds)); + if (scn->scn_phys.scn_cur_min_txg >= + scn->scn_phys.scn_max_txg) { + /* + * This can happen if this snapshot was created after the + * scan started, and we already completed a previous snapshot + * that was created after the scan started. This snapshot + * only references blocks with: + * + * birth < our ds_creation_txg + * cur_min_txg is no less than ds_creation_txg. + * We have already visited these blocks. + * or + * birth > scn_max_txg + * The scan requested not to visit these blocks. + * + * Subsequent snapshots (and clones) can reference our + * blocks, or blocks with even higher birth times. + * Therefore we do not need to visit them either, + * so we do not add them to the work queue. + * + * Note that checking for cur_min_txg >= cur_max_txg + * is not sufficient, because in that case we may need to + * visit subsequent snapshots. This happens when min_txg > 0, + * which raises cur_min_txg. In this case we will visit + * this dataset but skip all of its blocks, because the + * rootbp's birth time is < cur_min_txg. Then we will + * add the next snapshots/clones to the work queue. + */ + char *dsname = kmem_alloc(MAXNAMELEN, KM_SLEEP); + dsl_dataset_name(ds, dsname); + zfs_dbgmsg("scanning dataset %llu (%s) is unnecessary because " + "cur_min_txg (%llu) >= max_txg (%llu)", + dsobj, dsname, + scn->scn_phys.scn_cur_min_txg, + scn->scn_phys.scn_max_txg); + kmem_free(dsname, MAXNAMELEN); + + goto out; + } + if (dmu_objset_from_ds(ds, &os)) goto out; From owner-svn-src-all@freebsd.org Tue Mar 8 17:36:38 2016 Return-Path: Delivered-To: svn-src-all@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 50795AC822C; Tue, 8 Mar 2016 17:36:38 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 12E111D5F; Tue, 8 Mar 2016 17:36:38 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HabxC055138; Tue, 8 Mar 2016 17:36:37 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HaaJQ055136; Tue, 8 Mar 2016 17:36:36 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081736.u28HaaJQ055136@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:36:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296515 - in vendor-sys/illumos/dist/uts/common/fs/zfs: . sys X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:36:38 -0000 Author: mav Date: Tue Mar 8 17:36:36 2016 New Revision: 296515 URL: https://svnweb.freebsd.org/changeset/base/296515 Log: 6536 zfs send: want a way to disable setting of DRR_FLAG_FREERECORDS Reviewed by: Anil Vijarnia Reviewed by: Kim Shrier Reviewed by: Matthew Ahrens Approved by: Dan McDonald Author: Andrew Stormont illumos/illumos-gate@880094b6062aebeec8eda6a8651757611c83b13e Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_ioctl.h Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c Tue Mar 8 17:34:58 2016 (r296514) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c Tue Mar 8 17:36:36 2016 (r296515) @@ -24,6 +24,7 @@ * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2014, Joyent, Inc. All rights reserved. * Copyright 2014 HybridCluster. All rights reserved. + * Copyright 2016 RackTop Systems. */ #include @@ -58,6 +59,8 @@ int zfs_send_corrupt_data = B_FALSE; int zfs_send_queue_length = 16 * 1024 * 1024; int zfs_recv_queue_length = 16 * 1024 * 1024; +/* Set this tunable to FALSE to disable setting of DRR_FLAG_FREERECORDS */ +int zfs_send_set_freerecords_bit = B_TRUE; static char *dmu_recv_tag = "dmu_recv_tag"; const char *recv_clone_name = "%recv"; @@ -745,7 +748,8 @@ dmu_send_impl(void *tag, dsl_pool_t *dp, drr->drr_u.drr_begin.drr_toguid = dsl_dataset_phys(to_ds)->ds_guid; if (dsl_dataset_phys(to_ds)->ds_flags & DS_FLAG_CI_DATASET) drr->drr_u.drr_begin.drr_flags |= DRR_FLAG_CI_DATA; - drr->drr_u.drr_begin.drr_flags |= DRR_FLAG_FREERECORDS; + if (zfs_send_set_freerecords_bit) + drr->drr_u.drr_begin.drr_flags |= DRR_FLAG_FREERECORDS; if (ancestor_zb != NULL) { drr->drr_u.drr_begin.drr_fromguid = Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_ioctl.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 17:34:58 2016 (r296514) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 17:36:36 2016 (r296515) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2015 by Delphix. All rights reserved. + * Copyright 2016 RackTop Systems. */ #ifndef _SYS_ZFS_IOCTL_H @@ -124,6 +125,10 @@ typedef enum dmu_send_resume_token_versi #define DMU_BACKUP_MAGIC 0x2F5bacbacULL +/* + * Send stream flags. Bits 24-31 are reserved for vendor-specific + * implementations and should not be used. + */ #define DRR_FLAG_CLONE (1<<0) #define DRR_FLAG_CI_DATA (1<<1) /* From owner-svn-src-all@freebsd.org Tue Mar 8 17:43:22 2016 Return-Path: Delivered-To: svn-src-all@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 CBEDCAC8542; Tue, 8 Mar 2016 17:43:22 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8B3203B4; Tue, 8 Mar 2016 17:43:22 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HhLFS058004; Tue, 8 Mar 2016 17:43:21 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HhLAb058002; Tue, 8 Mar 2016 17:43:21 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081743.u28HhLAb058002@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:43:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296516 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:43:23 -0000 Author: mav Date: Tue Mar 8 17:43:21 2016 New Revision: 296516 URL: https://svnweb.freebsd.org/changeset/base/296516 Log: MFV r296515: 6536 zfs send: want a way to disable setting of DRR_FLAG_FREERECORDS Reviewed by: Anil Vijarnia Reviewed by: Kim Shrier Reviewed by: Matthew Ahrens Approved by: Dan McDonald Author: Andrew Stormont illumos/illumos-gate@880094b6062aebeec8eda6a8651757611c83b13e Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c Tue Mar 8 17:36:36 2016 (r296515) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c Tue Mar 8 17:43:21 2016 (r296516) @@ -25,6 +25,7 @@ * Copyright (c) 2014, Joyent, Inc. All rights reserved. * Copyright (c) 2012, Martin Matuska . All rights reserved. * Copyright 2014 HybridCluster. All rights reserved. + * Copyright 2016 RackTop Systems. */ #include @@ -64,6 +65,12 @@ int zfs_send_corrupt_data = B_FALSE; int zfs_send_queue_length = 16 * 1024 * 1024; int zfs_recv_queue_length = 16 * 1024 * 1024; +/* Set this tunable to FALSE to disable setting of DRR_FLAG_FREERECORDS */ +int zfs_send_set_freerecords_bit = B_TRUE; + +#ifdef _KERNEL +TUNABLE_INT("vfs.zfs.send_set_freerecords_bit", &zfs_send_set_freerecords_bit); +#endif static char *dmu_recv_tag = "dmu_recv_tag"; const char *recv_clone_name = "%recv"; @@ -771,7 +778,8 @@ dmu_send_impl(void *tag, dsl_pool_t *dp, drr->drr_u.drr_begin.drr_toguid = dsl_dataset_phys(to_ds)->ds_guid; if (dsl_dataset_phys(to_ds)->ds_flags & DS_FLAG_CI_DATASET) drr->drr_u.drr_begin.drr_flags |= DRR_FLAG_CI_DATA; - drr->drr_u.drr_begin.drr_flags |= DRR_FLAG_FREERECORDS; + if (zfs_send_set_freerecords_bit) + drr->drr_u.drr_begin.drr_flags |= DRR_FLAG_FREERECORDS; if (ancestor_zb != NULL) { drr->drr_u.drr_begin.drr_fromguid = Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 17:36:36 2016 (r296515) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 17:43:21 2016 (r296516) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2015 by Delphix. All rights reserved. + * Copyright 2016 RackTop Systems. */ #ifndef _SYS_ZFS_IOCTL_H @@ -124,6 +125,10 @@ typedef enum dmu_send_resume_token_versi #define DMU_BACKUP_MAGIC 0x2F5bacbacULL +/* + * Send stream flags. Bits 24-31 are reserved for vendor-specific + * implementations and should not be used. + */ #define DRR_FLAG_CLONE (1<<0) #define DRR_FLAG_CI_DATA (1<<1) /* From owner-svn-src-all@freebsd.org Tue Mar 8 17:45:57 2016 Return-Path: Delivered-To: svn-src-all@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 BBE7DAC8660; Tue, 8 Mar 2016 17:45:57 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 86A347F2; Tue, 8 Mar 2016 17:45:57 +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 u28HjuEQ058152; Tue, 8 Mar 2016 17:45:56 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HjuXN058151; Tue, 8 Mar 2016 17:45:56 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603081745.u28HjuXN058151@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 8 Mar 2016 17:45:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296517 - head/sys/boot/efi/boot1 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:45:57 -0000 Author: emaste Date: Tue Mar 8 17:45:56 2016 New Revision: 296517 URL: https://svnweb.freebsd.org/changeset/base/296517 Log: boot1.efi: use += to append to LDFLAGS This is for consistency with loader.efi's Makefile and simplifies some out-of-tree experimentation. Modified: head/sys/boot/efi/boot1/Makefile Modified: head/sys/boot/efi/boot1/Makefile ============================================================================== --- head/sys/boot/efi/boot1/Makefile Tue Mar 8 17:43:21 2016 (r296516) +++ head/sys/boot/efi/boot1/Makefile Tue Mar 8 17:45:56 2016 (r296517) @@ -53,7 +53,7 @@ FILES= boot1.efi boot1.efifat FILESMODE_boot1.efi= ${BINMODE} LDSCRIPT= ${.CURDIR}/../loader/arch/${MACHINE}/ldscript.${MACHINE} -LDFLAGS= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared +LDFLAGS+= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared .if ${MACHINE_CPUARCH} == "aarch64" CFLAGS+= -msoft-float -mgeneral-regs-only From owner-svn-src-all@freebsd.org Tue Mar 8 17:48:32 2016 Return-Path: Delivered-To: svn-src-all@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 322BFAC86E6; Tue, 8 Mar 2016 17:48:32 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CD5319A5; Tue, 8 Mar 2016 17:48:31 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HmU8N058333; Tue, 8 Mar 2016 17:48:30 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HmQOi058283; Tue, 8 Mar 2016 17:48:26 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081748.u28HmQOi058283@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:48:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296518 - vendor-sys/illumos/dist/common/zfs vendor-sys/illumos/dist/uts/common/fs/zfs vendor-sys/illumos/dist/uts/common/fs/zfs/sys vendor-sys/illumos/dist/uts/common/sys/fs vendor/ill... X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:48:32 -0000 Author: mav Date: Tue Mar 8 17:48:26 2016 New Revision: 296518 URL: https://svnweb.freebsd.org/changeset/base/296518 Log: 5027 zfs large block support (add copyright) Author: Matthew Ahrens illumos/illumos-gate@c3d26abc9ee97b4f60233556aadeb57e0bd30bb9 Modified: vendor-sys/illumos/dist/common/zfs/zfeature_common.c vendor-sys/illumos/dist/common/zfs/zfeature_common.h vendor-sys/illumos/dist/common/zfs/zfs_prop.c vendor-sys/illumos/dist/common/zfs/zpool_prop.c vendor-sys/illumos/dist/uts/common/fs/zfs/bpobj.c vendor-sys/illumos/dist/uts/common/fs/zfs/bptree.c vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_objset.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_tx.c vendor-sys/illumos/dist/uts/common/fs/zfs/dnode.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_deadlist.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_destroy.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_pool.c vendor-sys/illumos/dist/uts/common/fs/zfs/metaslab.c vendor-sys/illumos/dist/uts/common/fs/zfs/sa.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu_objset.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu_send.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dsl_dataset.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/spa.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zap_impl.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_ioctl.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_znode.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zil.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zil_impl.h vendor-sys/illumos/dist/uts/common/fs/zfs/vdev.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_queue.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_raidz.c vendor-sys/illumos/dist/uts/common/fs/zfs/zap_micro.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_log.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vfsops.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vnops.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_znode.c vendor-sys/illumos/dist/uts/common/fs/zfs/zil.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c vendor-sys/illumos/dist/uts/common/fs/zfs/zvol.c vendor-sys/illumos/dist/uts/common/sys/fs/zfs.h Changes in other areas also in this revision: Modified: vendor/illumos/dist/cmd/zdb/zdb.c vendor/illumos/dist/cmd/zfs/zfs_main.c vendor/illumos/dist/cmd/zstreamdump/zstreamdump.c vendor/illumos/dist/cmd/ztest/ztest.c vendor/illumos/dist/lib/libzfs/common/libzfs.h vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c vendor/illumos/dist/lib/libzfs/common/libzfs_sendrecv.c vendor/illumos/dist/lib/libzfs_core/common/libzfs_core.c vendor/illumos/dist/lib/libzfs_core/common/libzfs_core.h vendor/illumos/dist/man/man5/zpool-features.5 Modified: vendor-sys/illumos/dist/common/zfs/zfeature_common.c ============================================================================== --- vendor-sys/illumos/dist/common/zfs/zfeature_common.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/common/zfs/zfeature_common.c Tue Mar 8 17:48:26 2016 (r296518) @@ -24,6 +24,7 @@ * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. * Copyright (c) 2014, Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifdef _KERNEL Modified: vendor-sys/illumos/dist/common/zfs/zfeature_common.h ============================================================================== --- vendor-sys/illumos/dist/common/zfs/zfeature_common.h Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/common/zfs/zfeature_common.h Tue Mar 8 17:48:26 2016 (r296518) @@ -23,6 +23,7 @@ * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _ZFEATURE_COMMON_H Modified: vendor-sys/illumos/dist/common/zfs/zfs_prop.c ============================================================================== --- vendor-sys/illumos/dist/common/zfs/zfs_prop.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/common/zfs/zfs_prop.c Tue Mar 8 17:48:26 2016 (r296518) @@ -23,6 +23,7 @@ * Copyright (c) 2011, 2014 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: vendor-sys/illumos/dist/common/zfs/zpool_prop.c ============================================================================== --- vendor-sys/illumos/dist/common/zfs/zpool_prop.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/common/zfs/zpool_prop.c Tue Mar 8 17:48:26 2016 (r296518) @@ -22,6 +22,7 @@ * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/bpobj.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/bpobj.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/bpobj.c Tue Mar 8 17:48:26 2016 (r296518) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/bptree.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/bptree.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/bptree.c Tue Mar 8 17:48:26 2016 (r296518) @@ -21,6 +21,7 @@ /* * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c Tue Mar 8 17:48:26 2016 (r296518) @@ -25,6 +25,7 @@ * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_objset.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_objset.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_objset.c Tue Mar 8 17:48:26 2016 (r296518) @@ -26,6 +26,7 @@ * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2015 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2015, STRATO AG, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c Tue Mar 8 17:48:26 2016 (r296518) @@ -25,6 +25,7 @@ * Copyright (c) 2014, Joyent, Inc. All rights reserved. * Copyright 2014 HybridCluster. All rights reserved. * Copyright 2016 RackTop Systems. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_tx.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_tx.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_tx.c Tue Mar 8 17:48:26 2016 (r296518) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012, 2015 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dnode.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dnode.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dnode.c Tue Mar 8 17:48:26 2016 (r296518) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2015 by Delphix. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c Tue Mar 8 17:48:26 2016 (r296518) @@ -24,6 +24,7 @@ * Copyright (c) 2014, Joyent, Inc. All rights reserved. * Copyright (c) 2014 RackTop Systems. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_deadlist.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_deadlist.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_deadlist.c Tue Mar 8 17:48:26 2016 (r296518) @@ -22,6 +22,7 @@ * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_destroy.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_destroy.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_destroy.c Tue Mar 8 17:48:26 2016 (r296518) @@ -23,6 +23,7 @@ * Copyright (c) 2012, 2015 by Delphix. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright (c) 2013 by Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_pool.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_pool.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_pool.c Tue Mar 8 17:48:26 2016 (r296518) @@ -23,6 +23,7 @@ * Copyright (c) 2011, 2014 by Delphix. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/metaslab.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/metaslab.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/metaslab.c Tue Mar 8 17:48:26 2016 (r296518) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sa.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sa.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sa.c Tue Mar 8 17:48:26 2016 (r296518) @@ -24,6 +24,7 @@ * Portions Copyright 2011 iXsystems, Inc * Copyright (c) 2013 by Delphix. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c Tue Mar 8 17:48:26 2016 (r296518) @@ -25,6 +25,7 @@ * Copyright (c) 2015, Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2013 Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c Tue Mar 8 17:48:26 2016 (r296518) @@ -22,6 +22,7 @@ /* * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c Tue Mar 8 17:48:26 2016 (r296518) @@ -24,6 +24,7 @@ * Copyright 2015 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2013 Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu.h Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu.h Tue Mar 8 17:48:26 2016 (r296518) @@ -28,6 +28,7 @@ * Copyright 2014 HybridCluster. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2013 Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu_objset.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu_objset.h Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu_objset.h Tue Mar 8 17:48:26 2016 (r296518) @@ -23,6 +23,7 @@ * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu_send.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu_send.h Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu_send.h Tue Mar 8 17:48:26 2016 (r296518) @@ -24,6 +24,7 @@ * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _DMU_SEND_H Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dsl_dataset.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dsl_dataset.h Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dsl_dataset.h Tue Mar 8 17:48:26 2016 (r296518) @@ -24,6 +24,7 @@ * Copyright (c) 2013, Joyent, Inc. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _SYS_DSL_DATASET_H Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/spa.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/spa.h Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/spa.h Tue Mar 8 17:48:26 2016 (r296518) @@ -24,6 +24,7 @@ * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2013 Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _SYS_SPA_H Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zap_impl.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zap_impl.h Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zap_impl.h Tue Mar 8 17:48:26 2016 (r296518) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013 by Delphix. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _SYS_ZAP_IMPL_H Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_ioctl.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 17:48:26 2016 (r296518) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2015 by Delphix. All rights reserved. * Copyright 2016 RackTop Systems. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _SYS_ZFS_IOCTL_H Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_znode.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_znode.h Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_znode.h Tue Mar 8 17:48:26 2016 (r296518) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _SYS_FS_ZFS_ZNODE_H Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zil.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zil.h Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zil.h Tue Mar 8 17:48:26 2016 (r296518) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zil_impl.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zil_impl.h Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zil_impl.h Tue Mar 8 17:48:26 2016 (r296518) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/vdev.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/vdev.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/vdev.c Tue Mar 8 17:48:26 2016 (r296518) @@ -23,6 +23,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright 2015 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_queue.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_queue.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_queue.c Tue Mar 8 17:48:26 2016 (r296518) @@ -25,6 +25,7 @@ /* * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_raidz.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_raidz.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_raidz.c Tue Mar 8 17:48:26 2016 (r296518) @@ -23,6 +23,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zap_micro.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zap_micro.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zap_micro.c Tue Mar 8 17:48:26 2016 (r296518) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2014 by Delphix. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 17:48:26 2016 (r296518) @@ -28,6 +28,7 @@ * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_log.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_log.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_log.c Tue Mar 8 17:48:26 2016 (r296518) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2015 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vfsops.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vfsops.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vfsops.c Tue Mar 8 17:48:26 2016 (r296518) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vnops.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vnops.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vnops.c Tue Mar 8 17:48:26 2016 (r296518) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2015 by Delphix. All rights reserved. * Copyright 2014 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2007 Jeremy Teo */ Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_znode.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_znode.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_znode.c Tue Mar 8 17:48:26 2016 (r296518) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2007 Jeremy Teo */ Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zil.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zil.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zil.c Tue Mar 8 17:48:26 2016 (r296518) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c Tue Mar 8 17:48:26 2016 (r296518) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2011 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zvol.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zvol.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zvol.c Tue Mar 8 17:48:26 2016 (r296518) @@ -26,6 +26,7 @@ * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Modified: vendor-sys/illumos/dist/uts/common/sys/fs/zfs.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/sys/fs/zfs.h Tue Mar 8 17:45:56 2016 (r296517) +++ vendor-sys/illumos/dist/uts/common/sys/fs/zfs.h Tue Mar 8 17:48:26 2016 (r296518) @@ -24,6 +24,7 @@ * Copyright (c) 2011, 2014 by Delphix. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ From owner-svn-src-all@freebsd.org Tue Mar 8 17:48:33 2016 Return-Path: Delivered-To: svn-src-all@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 1B92AAC86E9; Tue, 8 Mar 2016 17:48:33 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EBA5E9A6; Tue, 8 Mar 2016 17:48:32 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HmVgj058348; Tue, 8 Mar 2016 17:48:31 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HmUHH058338; Tue, 8 Mar 2016 17:48:30 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081748.u28HmUHH058338@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:48:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296518 - vendor-sys/illumos/dist/common/zfs vendor-sys/illumos/dist/uts/common/fs/zfs vendor-sys/illumos/dist/uts/common/fs/zfs/sys vendor-sys/illumos/dist/uts/common/sys/fs vendor/ill... X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:48:33 -0000 Author: mav Date: Tue Mar 8 17:48:26 2016 New Revision: 296518 URL: https://svnweb.freebsd.org/changeset/base/296518 Log: 5027 zfs large block support (add copyright) Author: Matthew Ahrens illumos/illumos-gate@c3d26abc9ee97b4f60233556aadeb57e0bd30bb9 Modified: vendor/illumos/dist/cmd/zdb/zdb.c vendor/illumos/dist/cmd/zfs/zfs_main.c vendor/illumos/dist/cmd/zstreamdump/zstreamdump.c vendor/illumos/dist/cmd/ztest/ztest.c vendor/illumos/dist/lib/libzfs/common/libzfs.h vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c vendor/illumos/dist/lib/libzfs/common/libzfs_sendrecv.c vendor/illumos/dist/lib/libzfs_core/common/libzfs_core.c vendor/illumos/dist/lib/libzfs_core/common/libzfs_core.h vendor/illumos/dist/man/man5/zpool-features.5 Changes in other areas also in this revision: Modified: vendor-sys/illumos/dist/common/zfs/zfeature_common.c vendor-sys/illumos/dist/common/zfs/zfeature_common.h vendor-sys/illumos/dist/common/zfs/zfs_prop.c vendor-sys/illumos/dist/common/zfs/zpool_prop.c vendor-sys/illumos/dist/uts/common/fs/zfs/bpobj.c vendor-sys/illumos/dist/uts/common/fs/zfs/bptree.c vendor-sys/illumos/dist/uts/common/fs/zfs/dbuf.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_objset.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_send.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_tx.c vendor-sys/illumos/dist/uts/common/fs/zfs/dnode.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_deadlist.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_destroy.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_pool.c vendor-sys/illumos/dist/uts/common/fs/zfs/metaslab.c vendor-sys/illumos/dist/uts/common/fs/zfs/sa.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu_objset.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu_send.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dsl_dataset.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/spa.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zap_impl.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_ioctl.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_znode.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zil.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zil_impl.h vendor-sys/illumos/dist/uts/common/fs/zfs/vdev.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_queue.c vendor-sys/illumos/dist/uts/common/fs/zfs/vdev_raidz.c vendor-sys/illumos/dist/uts/common/fs/zfs/zap_micro.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_log.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vfsops.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vnops.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_znode.c vendor-sys/illumos/dist/uts/common/fs/zfs/zil.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c vendor-sys/illumos/dist/uts/common/fs/zfs/zvol.c vendor-sys/illumos/dist/uts/common/sys/fs/zfs.h Modified: vendor/illumos/dist/cmd/zdb/zdb.c ============================================================================== --- vendor/illumos/dist/cmd/zdb/zdb.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor/illumos/dist/cmd/zdb/zdb.c Tue Mar 8 17:48:26 2016 (r296518) @@ -22,6 +22,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor/illumos/dist/cmd/zfs/zfs_main.c ============================================================================== --- vendor/illumos/dist/cmd/zfs/zfs_main.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor/illumos/dist/cmd/zfs/zfs_main.c Tue Mar 8 17:48:26 2016 (r296518) @@ -26,6 +26,7 @@ * Copyright (c) 2012, Joyent, Inc. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor/illumos/dist/cmd/zstreamdump/zstreamdump.c ============================================================================== --- vendor/illumos/dist/cmd/zstreamdump/zstreamdump.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor/illumos/dist/cmd/zstreamdump/zstreamdump.c Tue Mar 8 17:48:26 2016 (r296518) @@ -26,6 +26,7 @@ /* * Copyright (c) 2013, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor/illumos/dist/cmd/ztest/ztest.c ============================================================================== --- vendor/illumos/dist/cmd/ztest/ztest.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor/illumos/dist/cmd/ztest/ztest.c Tue Mar 8 17:48:26 2016 (r296518) @@ -23,6 +23,7 @@ * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Modified: vendor/illumos/dist/lib/libzfs/common/libzfs.h ============================================================================== --- vendor/illumos/dist/lib/libzfs/common/libzfs.h Tue Mar 8 17:45:56 2016 (r296517) +++ vendor/illumos/dist/lib/libzfs/common/libzfs.h Tue Mar 8 17:48:26 2016 (r296518) @@ -25,6 +25,7 @@ * Copyright (c) 2012, Joyent, Inc. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _LIBZFS_H Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c Tue Mar 8 17:48:26 2016 (r296518) @@ -27,6 +27,7 @@ * Copyright (c) 2013 Martin Matuska. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_sendrecv.c ============================================================================== --- vendor/illumos/dist/lib/libzfs/common/libzfs_sendrecv.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor/illumos/dist/lib/libzfs/common/libzfs_sendrecv.c Tue Mar 8 17:48:26 2016 (r296518) @@ -25,6 +25,7 @@ * Copyright (c) 2012, Joyent, Inc. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: vendor/illumos/dist/lib/libzfs_core/common/libzfs_core.c ============================================================================== --- vendor/illumos/dist/lib/libzfs_core/common/libzfs_core.c Tue Mar 8 17:45:56 2016 (r296517) +++ vendor/illumos/dist/lib/libzfs_core/common/libzfs_core.c Tue Mar 8 17:48:26 2016 (r296518) @@ -22,6 +22,7 @@ /* * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Modified: vendor/illumos/dist/lib/libzfs_core/common/libzfs_core.h ============================================================================== --- vendor/illumos/dist/lib/libzfs_core/common/libzfs_core.h Tue Mar 8 17:45:56 2016 (r296517) +++ vendor/illumos/dist/lib/libzfs_core/common/libzfs_core.h Tue Mar 8 17:48:26 2016 (r296518) @@ -21,6 +21,7 @@ /* * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _LIBZFS_CORE_H Modified: vendor/illumos/dist/man/man5/zpool-features.5 ============================================================================== --- vendor/illumos/dist/man/man5/zpool-features.5 Tue Mar 8 17:45:56 2016 (r296517) +++ vendor/illumos/dist/man/man5/zpool-features.5 Tue Mar 8 17:48:26 2016 (r296518) @@ -2,6 +2,7 @@ .\" Copyright (c) 2012, 2015 by Delphix. All rights reserved. .\" Copyright (c) 2013 by Saso Kiselkov. All rights reserved. .\" Copyright (c) 2014, Joyent, Inc. All rights reserved. +.\" Copyright (c) 2014 Integros [integros.com] .\" The contents of this file are subject to the terms of the Common Development .\" and Distribution License (the "License"). You may not use this file except .\" in compliance with the License. You can obtain a copy of the license at From owner-svn-src-all@freebsd.org Tue Mar 8 17:51:15 2016 Return-Path: Delivered-To: svn-src-all@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 A907EAC8848; Tue, 8 Mar 2016 17:51:15 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 70236EAA; Tue, 8 Mar 2016 17:51:15 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HpE3w059365; Tue, 8 Mar 2016 17:51:14 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28Hp9oL059313; Tue, 8 Mar 2016 17:51:09 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081751.u28Hp9oL059313@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:51:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296519 - in head: cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zstreamdump cddl/contrib/opensolaris/cmd/ztest cddl/contrib/opensolaris... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:51:15 -0000 Author: mav Date: Tue Mar 8 17:51:09 2016 New Revision: 296519 URL: https://svnweb.freebsd.org/changeset/base/296519 Log: MFV r296518: 5027 zfs large block support (add copyright) Author: Matthew Ahrens illumos/illumos-gate@c3d26abc9ee97b4f60233556aadeb57e0bd30bb9 Modified: head/cddl/contrib/opensolaris/cmd/zdb/zdb.c head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c head/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c head/cddl/contrib/opensolaris/cmd/ztest/ztest.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c head/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h head/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c head/sys/cddl/contrib/opensolaris/common/zfs/zpool_prop.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_send.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c head/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/cmd/zfs/ (props changed) head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/cmd/zdb/zdb.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Mar 8 17:51:09 2016 (r296519) @@ -29,6 +29,7 @@ * Copyright (c) 2012 Martin Matuska . All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c Tue Mar 8 17:51:09 2016 (r296519) @@ -26,6 +26,7 @@ /* * Copyright (c) 2013, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/cddl/contrib/opensolaris/cmd/ztest/ztest.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/ztest/ztest.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/cmd/ztest/ztest.c Tue Mar 8 17:51:09 2016 (r296519) @@ -24,6 +24,7 @@ * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012 Martin Matuska . All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Tue Mar 8 17:51:09 2016 (r296519) @@ -28,6 +28,7 @@ * Copyright (c) 2012 Martin Matuska . All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _LIBZFS_H Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Mar 8 17:51:09 2016 (r296519) @@ -29,6 +29,7 @@ * Copyright (c) 2012 Martin Matuska . All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Tue Mar 8 17:51:09 2016 (r296519) @@ -27,6 +27,7 @@ * All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ /* * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Modified: head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c Tue Mar 8 17:51:09 2016 (r296519) @@ -24,6 +24,7 @@ * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. * Copyright (c) 2014, Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifdef _KERNEL Modified: head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h Tue Mar 8 17:51:09 2016 (r296519) @@ -23,6 +23,7 @@ * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _ZFEATURE_COMMON_H Modified: head/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c Tue Mar 8 17:51:09 2016 (r296519) @@ -23,6 +23,7 @@ * Copyright (c) 2011, 2014 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/common/zfs/zpool_prop.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/common/zfs/zpool_prop.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/common/zfs/zpool_prop.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c Tue Mar 8 17:51:09 2016 (r296519) @@ -25,6 +25,7 @@ * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c Tue Mar 8 17:51:09 2016 (r296519) @@ -26,6 +26,7 @@ * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2015 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2015, STRATO AG, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c Tue Mar 8 17:51:09 2016 (r296519) @@ -26,6 +26,7 @@ * Copyright (c) 2012, Martin Matuska . All rights reserved. * Copyright 2014 HybridCluster. All rights reserved. * Copyright 2016 RackTop Systems. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012, 2015 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2015 by Delphix. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Tue Mar 8 17:51:09 2016 (r296519) @@ -25,6 +25,7 @@ * Copyright (c) 2014, Joyent, Inc. All rights reserved. * Copyright (c) 2014 RackTop Systems. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c Tue Mar 8 17:51:09 2016 (r296519) @@ -23,6 +23,7 @@ * Copyright (c) 2012, 2015 by Delphix. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright (c) 2013 by Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c Tue Mar 8 17:51:09 2016 (r296519) @@ -23,6 +23,7 @@ * Copyright (c) 2011, 2014 by Delphix. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c Tue Mar 8 17:51:09 2016 (r296519) @@ -24,6 +24,7 @@ * Portions Copyright 2011 iXsystems, Inc * Copyright (c) 2013 by Delphix. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Tue Mar 8 17:51:09 2016 (r296519) @@ -26,6 +26,7 @@ * Copyright (c) 2013 Martin Matuska . All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2013 Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ /* * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c Tue Mar 8 17:51:09 2016 (r296519) @@ -25,6 +25,7 @@ * Copyright 2013 Martin Matuska . All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2013 Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h Tue Mar 8 17:51:09 2016 (r296519) @@ -28,6 +28,7 @@ * Copyright 2014 HybridCluster. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2013 Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h Tue Mar 8 17:51:09 2016 (r296519) @@ -23,6 +23,7 @@ * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_send.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_send.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_send.h Tue Mar 8 17:51:09 2016 (r296519) @@ -24,6 +24,7 @@ * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _DMU_SEND_H Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h Tue Mar 8 17:51:09 2016 (r296519) @@ -24,6 +24,7 @@ * Copyright (c) 2013, Joyent, Inc. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _SYS_DSL_DATASET_H Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h Tue Mar 8 17:51:09 2016 (r296519) @@ -24,6 +24,7 @@ * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright 2013 Saso Kiselkov. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _SYS_SPA_H Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _SYS_ZAP_IMPL_H Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2015 by Delphix. All rights reserved. * Copyright 2016 RackTop Systems. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _SYS_ZFS_IOCTL_H Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #ifndef _SYS_FS_ZFS_ZNODE_H Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Tue Mar 8 17:51:09 2016 (r296519) @@ -24,6 +24,7 @@ * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright 2015 Nexenta Systems, Inc. All rights reserved. * Copyright 2013 Martin Matuska . All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c Tue Mar 8 17:51:09 2016 (r296519) @@ -25,6 +25,7 @@ /* * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c Tue Mar 8 17:51:09 2016 (r296519) @@ -23,6 +23,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2014 by Delphix. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 17:51:09 2016 (r296519) @@ -31,6 +31,7 @@ * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2015 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Tue Mar 8 17:51:09 2016 (r296519) @@ -23,6 +23,7 @@ * Copyright (c) 2011 Pawel Jakub Dawidek . * All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2015 by Delphix. All rights reserved. * Copyright 2014 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2007 Jeremy Teo */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2007 Jeremy Teo */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c Tue Mar 8 17:51:09 2016 (r296519) @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Tue Mar 8 17:51:09 2016 (r296519) @@ -22,6 +22,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2011 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ #include Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Tue Mar 8 17:51:09 2016 (r296519) @@ -29,6 +29,7 @@ * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2011 Martin Matuska */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h Tue Mar 8 17:48:26 2016 (r296518) +++ head/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h Tue Mar 8 17:51:09 2016 (r296519) @@ -25,6 +25,7 @@ * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. * Copyright (c) 2012, Martin Matuska . All rights reserved. + * Copyright (c) 2014 Integros [integros.com] */ /* Portions Copyright 2010 Robert Milkowski */ From owner-svn-src-all@freebsd.org Tue Mar 8 17:52:44 2016 Return-Path: Delivered-To: svn-src-all@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 8D4A4AC898B; Tue, 8 Mar 2016 17:52:44 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6940110F7; Tue, 8 Mar 2016 17:52:44 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HqhpJ061420; Tue, 8 Mar 2016 17:52:43 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HqhmX061419; Tue, 8 Mar 2016 17:52:43 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081752.u28HqhmX061419@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:52:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296520 - vendor-sys/illumos/dist/uts/common/fs/zfs X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:52:44 -0000 Author: mav Date: Tue Mar 8 17:52:43 2016 New Revision: 296520 URL: https://svnweb.freebsd.org/changeset/base/296520 Log: 6562 Refquota on receive doesn't account for overage Reviewed by: Matthew Ahrens Reviewed by: Yuri Pankov Reviewed by: Toomas Soome Approved by: Gordon Ross Author: Dan McDonald illumos/illumos-gate@5f7a8e6d750cb070a3347f045201c6206caee6aa Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c Tue Mar 8 17:51:09 2016 (r296519) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c Tue Mar 8 17:52:43 2016 (r296520) @@ -25,6 +25,7 @@ * Copyright (c) 2014 RackTop Systems. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright (c) 2014 Integros [integros.com] + * Copyright 2016, OmniTI Computer Consulting, Inc. All rights reserved. */ #include @@ -78,6 +79,8 @@ int zfs_max_recordsize = 1 * 1024 * 1024 extern inline dsl_dataset_phys_t *dsl_dataset_phys(dsl_dataset_t *ds); +extern int spa_asize_inflation; + /* * Figure out how much of this delta should be propogated to the dsl_dir * layer. If there's a refreservation, that space has already been @@ -2788,6 +2791,11 @@ int dsl_dataset_clone_swap_check_impl(dsl_dataset_t *clone, dsl_dataset_t *origin_head, boolean_t force, void *owner, dmu_tx_t *tx) { + /* + * "slack" factor for received datasets with refquota set on them. + * See the bottom of this function for details on its use. + */ + uint64_t refquota_slack = DMU_MAX_ACCESS * spa_asize_inflation; int64_t unused_refres_delta; /* they should both be heads */ @@ -2830,10 +2838,22 @@ dsl_dataset_clone_swap_check_impl(dsl_da dsl_dir_space_available(origin_head->ds_dir, NULL, 0, TRUE)) return (SET_ERROR(ENOSPC)); - /* clone can't be over the head's refquota */ + /* + * The clone can't be too much over the head's refquota. + * + * To ensure that the entire refquota can be used, we allow one + * transaction to exceed the the refquota. Therefore, this check + * needs to also allow for the space referenced to be more than the + * refquota. The maximum amount of space that one transaction can use + * on disk is DMU_MAX_ACCESS * spa_asize_inflation. Allowing this + * overage ensures that we are able to receive a filesystem that + * exceeds the refquota on the source system. + * + * So that overage is the refquota_slack we use below. + */ if (origin_head->ds_quota != 0 && dsl_dataset_phys(clone)->ds_referenced_bytes > - origin_head->ds_quota) + origin_head->ds_quota + refquota_slack) return (SET_ERROR(EDQUOT)); return (0); @@ -2847,8 +2867,13 @@ dsl_dataset_clone_swap_sync_impl(dsl_dat int64_t unused_refres_delta; ASSERT(clone->ds_reserved == 0); + /* + * NOTE: On DEBUG kernels there could be a race between this and + * the check function if spa_asize_inflation is adjusted... + */ ASSERT(origin_head->ds_quota == 0 || - dsl_dataset_phys(clone)->ds_unique_bytes <= origin_head->ds_quota); + dsl_dataset_phys(clone)->ds_unique_bytes <= origin_head->ds_quota + + DMU_MAX_ACCESS * spa_asize_inflation); ASSERT3P(clone->ds_prev, ==, origin_head->ds_prev); /* From owner-svn-src-all@freebsd.org Tue Mar 8 17:53:44 2016 Return-Path: Delivered-To: svn-src-all@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 1DBD4AC89EA; Tue, 8 Mar 2016 17:53:44 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EB4D2127B; Tue, 8 Mar 2016 17:53:43 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28HrgbV061513; Tue, 8 Mar 2016 17:53:42 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28Hrgon061512; Tue, 8 Mar 2016 17:53:42 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081753.u28Hrgon061512@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:53:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296521 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:53:44 -0000 Author: mav Date: Tue Mar 8 17:53:42 2016 New Revision: 296521 URL: https://svnweb.freebsd.org/changeset/base/296521 Log: MFV r296520: 6562 Refquota on receive doesn't account for overage Reviewed by: Matthew Ahrens Reviewed by: Yuri Pankov Reviewed by: Toomas Soome Approved by: Gordon Ross Author: Dan McDonald illumos/illumos-gate@5f7a8e6d750cb070a3347f045201c6206caee6aa Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Tue Mar 8 17:52:43 2016 (r296520) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c Tue Mar 8 17:53:42 2016 (r296521) @@ -26,6 +26,7 @@ * Copyright (c) 2014 RackTop Systems. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Copyright (c) 2014 Integros [integros.com] + * Copyright 2016, OmniTI Computer Consulting, Inc. All rights reserved. */ #include @@ -85,6 +86,8 @@ SYSCTL_INT(_vfs_zfs, OID_AUTO, max_recor extern inline dsl_dataset_phys_t *dsl_dataset_phys(dsl_dataset_t *ds); +extern int spa_asize_inflation; + /* * Figure out how much of this delta should be propogated to the dsl_dir * layer. If there's a refreservation, that space has already been @@ -2897,6 +2900,11 @@ int dsl_dataset_clone_swap_check_impl(dsl_dataset_t *clone, dsl_dataset_t *origin_head, boolean_t force, void *owner, dmu_tx_t *tx) { + /* + * "slack" factor for received datasets with refquota set on them. + * See the bottom of this function for details on its use. + */ + uint64_t refquota_slack = DMU_MAX_ACCESS * spa_asize_inflation; int64_t unused_refres_delta; /* they should both be heads */ @@ -2939,10 +2947,22 @@ dsl_dataset_clone_swap_check_impl(dsl_da dsl_dir_space_available(origin_head->ds_dir, NULL, 0, TRUE)) return (SET_ERROR(ENOSPC)); - /* clone can't be over the head's refquota */ + /* + * The clone can't be too much over the head's refquota. + * + * To ensure that the entire refquota can be used, we allow one + * transaction to exceed the the refquota. Therefore, this check + * needs to also allow for the space referenced to be more than the + * refquota. The maximum amount of space that one transaction can use + * on disk is DMU_MAX_ACCESS * spa_asize_inflation. Allowing this + * overage ensures that we are able to receive a filesystem that + * exceeds the refquota on the source system. + * + * So that overage is the refquota_slack we use below. + */ if (origin_head->ds_quota != 0 && dsl_dataset_phys(clone)->ds_referenced_bytes > - origin_head->ds_quota) + origin_head->ds_quota + refquota_slack) return (SET_ERROR(EDQUOT)); return (0); @@ -2956,8 +2976,13 @@ dsl_dataset_clone_swap_sync_impl(dsl_dat int64_t unused_refres_delta; ASSERT(clone->ds_reserved == 0); + /* + * NOTE: On DEBUG kernels there could be a race between this and + * the check function if spa_asize_inflation is adjusted... + */ ASSERT(origin_head->ds_quota == 0 || - dsl_dataset_phys(clone)->ds_unique_bytes <= origin_head->ds_quota); + dsl_dataset_phys(clone)->ds_unique_bytes <= origin_head->ds_quota + + DMU_MAX_ACCESS * spa_asize_inflation); ASSERT3P(clone->ds_prev, ==, origin_head->ds_prev); /* From owner-svn-src-all@freebsd.org Tue Mar 8 17:56:42 2016 Return-Path: Delivered-To: svn-src-all@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 44333AC8A87; Tue, 8 Mar 2016 17:56:42 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E1B421449; Tue, 8 Mar 2016 17:56:41 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28Hue4A061668; Tue, 8 Mar 2016 17:56:40 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28HueI1061666; Tue, 8 Mar 2016 17:56:40 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081756.u28HueI1061666@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:56:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296522 - vendor-sys/illumos/dist/uts/common/fs/zfs X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:56:42 -0000 Author: mav Date: Tue Mar 8 17:56:40 2016 New Revision: 296522 URL: https://svnweb.freebsd.org/changeset/base/296522 Log: 6541 Pool feature-flag check defeated if "verify" is included in the dedup property value Reviewed by: Matthew Ahrens Reviewed by: Richard Laager Approved by: Robert Mustacchi Author: ilovezfs illumos/illumos-gate@971640e6aa954c91b0706543741aa4570299f4d7 Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio_checksum.c Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 17:53:42 2016 (r296521) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 17:56:40 2016 (r296522) @@ -3886,7 +3886,7 @@ zfs_check_settable(const char *dsname, n return (SET_ERROR(EINVAL)); /* check prop value is enabled in features */ - feature = zio_checksum_to_feature(intval); + feature = zio_checksum_to_feature(intval & ZIO_CHECKSUM_MASK); if (feature == SPA_FEATURE_NONE) break; Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zio_checksum.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zio_checksum.c Tue Mar 8 17:53:42 2016 (r296521) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zio_checksum.c Tue Mar 8 17:56:40 2016 (r296522) @@ -136,9 +136,15 @@ zio_checksum_info_t zio_checksum_table[Z ZCHECKSUM_FLAG_NOPWRITE, "edonr"}, }; +/* + * The flag corresponding to the "verify" in dedup=[checksum,]verify + * must be cleared first, so callers should use ZIO_CHECKSUM_MASK. + */ spa_feature_t zio_checksum_to_feature(enum zio_checksum cksum) { + VERIFY((cksum & ~ZIO_CHECKSUM_MASK) == 0); + switch (cksum) { case ZIO_CHECKSUM_SHA512: return (SPA_FEATURE_SHA512); From owner-svn-src-all@freebsd.org Tue Mar 8 17:58:04 2016 Return-Path: Delivered-To: svn-src-all@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 311A0AC8B10; Tue, 8 Mar 2016 17:58:04 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DCFB615F3; Tue, 8 Mar 2016 17:58:03 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28Hw2MQ061773; Tue, 8 Mar 2016 17:58:02 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28Hw2ro061771; Tue, 8 Mar 2016 17:58:02 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081758.u28Hw2ro061771@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 17:58:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296523 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 17:58:04 -0000 Author: mav Date: Tue Mar 8 17:58:02 2016 New Revision: 296523 URL: https://svnweb.freebsd.org/changeset/base/296523 Log: MFV r296522: 6541 Pool feature-flag check defeated if "verify" is included in the dedup property value Reviewed by: Matthew Ahrens Reviewed by: Richard Laager Approved by: Robert Mustacchi Author: ilovezfs illumos/illumos-gate@971640e6aa954c91b0706543741aa4570299f4d7 Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 17:56:40 2016 (r296522) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 17:58:02 2016 (r296523) @@ -3973,7 +3973,7 @@ zfs_check_settable(const char *dsname, n return (SET_ERROR(EINVAL)); /* check prop value is enabled in features */ - feature = zio_checksum_to_feature(intval); + feature = zio_checksum_to_feature(intval & ZIO_CHECKSUM_MASK); if (feature == SPA_FEATURE_NONE) break; Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c Tue Mar 8 17:56:40 2016 (r296522) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c Tue Mar 8 17:58:02 2016 (r296523) @@ -138,10 +138,16 @@ zio_checksum_info_t zio_checksum_table[Z #endif }; +/* + * The flag corresponding to the "verify" in dedup=[checksum,]verify + * must be cleared first, so callers should use ZIO_CHECKSUM_MASK. + */ spa_feature_t zio_checksum_to_feature(enum zio_checksum cksum) { #ifdef illumos + VERIFY((cksum & ~ZIO_CHECKSUM_MASK) == 0); + switch (cksum) { case ZIO_CHECKSUM_SHA512: return (SPA_FEATURE_SHA512); From owner-svn-src-all@freebsd.org Tue Mar 8 18:05:03 2016 Return-Path: Delivered-To: svn-src-all@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 9B413AC8E18; Tue, 8 Mar 2016 18:05:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6A07B1DAA; Tue, 8 Mar 2016 18:05:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28I52Vd064840; Tue, 8 Mar 2016 18:05:02 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28I52R8064839; Tue, 8 Mar 2016 18:05:02 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603081805.u28I52R8064839@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Tue, 8 Mar 2016 18:05:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296524 - head/usr.bin/script X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:05:03 -0000 Author: bdrewery Date: Tue Mar 8 18:05:02 2016 New Revision: 296524 URL: https://svnweb.freebsd.org/changeset/base/296524 Log: Filemon: Attach from the child to avoid racing with the parent attach. This is the same as how the bmake filemon usage works. This also fixes failed attach not properly flushing the TTY. MFC after: 1 week Relnotes: yes Sponsored by: EMC / Isilon Storage Division Modified: head/usr.bin/script/script.c Modified: head/usr.bin/script/script.c ============================================================================== --- head/usr.bin/script/script.c Tue Mar 8 17:58:02 2016 (r296523) +++ head/usr.bin/script/script.c Tue Mar 8 18:05:02 2016 (r296524) @@ -224,13 +224,19 @@ main(int argc, char *argv[]) warn("fork"); done(1); } - if (child == 0) + if (child == 0) { + if (fflg) { + int pid; + + pid = getpid(); + if (ioctl(fm_fd, FILEMON_SET_PID, &pid) < 0) + err(1, "Cannot set filemon PID"); + } + doshell(argv); + } close(slave); - if (fflg && ioctl(fm_fd, FILEMON_SET_PID, &child) < 0) - err(1, "Cannot set filemon PID"); - start = tvec = time(0); readstdin = 1; for (;;) { From owner-svn-src-all@freebsd.org Tue Mar 8 18:05:21 2016 Return-Path: Delivered-To: svn-src-all@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 7291EAC8E56; Tue, 8 Mar 2016 18:05:21 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 44E4A1F03; Tue, 8 Mar 2016 18:05:21 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28I5KJ4064894; Tue, 8 Mar 2016 18:05:20 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28I5KZ1064893; Tue, 8 Mar 2016 18:05:20 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603081805.u28I5KZ1064893@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Tue, 8 Mar 2016 18:05:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296525 - head/usr.bin/script X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:05:21 -0000 Author: bdrewery Date: Tue Mar 8 18:05:20 2016 New Revision: 296525 URL: https://svnweb.freebsd.org/changeset/base/296525 Log: Just exit in the child if execve(2) fails. No functional change. This is mostly addressing a false-positive from the clang static analyzer due to it thinking that done() was being called with freed memory, however the kill(0, SIGTERM) made the done() never reached. It doesn't make sense to the show the footer from the child anyhow, nor does it make sense to kill the process group here since the execve(2) failed in the child. This code was leftover from many years of refactoring. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/usr.bin/script/script.c Modified: head/usr.bin/script/script.c ============================================================================== --- head/usr.bin/script/script.c Tue Mar 8 18:05:02 2016 (r296524) +++ head/usr.bin/script/script.c Tue Mar 8 18:05:20 2016 (r296525) @@ -80,7 +80,6 @@ static struct termios tt; static void done(int) __dead2; static void doshell(char **); -static void fail(void); static void finish(void); static void record(FILE *, char *, size_t, int); static void consume(FILE *, off_t, char *, int); @@ -347,14 +346,7 @@ doshell(char **av) execl(shell, shell, "-i", (char *)NULL); warn("%s", shell); } - fail(); -} - -static void -fail(void) -{ - (void)kill(0, SIGTERM); - done(1); + exit(1); } static void From owner-svn-src-all@freebsd.org Tue Mar 8 18:05:24 2016 Return-Path: Delivered-To: svn-src-all@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 85B34AC8E7B; Tue, 8 Mar 2016 18:05:24 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 542941F26; Tue, 8 Mar 2016 18:05:24 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28I5NTu064939; Tue, 8 Mar 2016 18:05:23 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28I5Nqm064938; Tue, 8 Mar 2016 18:05:23 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603081805.u28I5Nqm064938@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Tue, 8 Mar 2016 18:05:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296526 - head/usr.bin/script X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:05:24 -0000 Author: bdrewery Date: Tue Mar 8 18:05:23 2016 New Revision: 296526 URL: https://svnweb.freebsd.org/changeset/base/296526 Log: Record command exit status in the typescript file when running simple commands. Also capitalize 'command:'. Relnotes: yes MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Modified: head/usr.bin/script/script.c Modified: head/usr.bin/script/script.c ============================================================================== --- head/usr.bin/script/script.c Tue Mar 8 18:05:20 2016 (r296525) +++ head/usr.bin/script/script.c Tue Mar 8 18:05:23 2016 (r296526) @@ -74,7 +74,7 @@ static int child; static const char *fname; static char *fmfname; static int fflg, qflg, ttyflg; -static int usesleep, rawout; +static int usesleep, rawout, showexit; static struct termios tt; @@ -107,6 +107,7 @@ main(int argc, char *argv[]) flushtime = 30; fm_fd = -1; /* Shut up stupid "may be used uninitialized" GCC warning. (not needed w/clang) */ + showexit = 0; while ((ch = getopt(argc, argv, "adFfkpqrt:")) != -1) switch(ch) { @@ -198,7 +199,8 @@ main(int argc, char *argv[]) (void)fprintf(fscript, "Script started on %s", ctime(&tvec)); if (argv[0]) { - fprintf(fscript, "command: "); + showexit = 1; + fprintf(fscript, "Command: "); for (k = 0 ; argv[k] ; ++k) fprintf(fscript, "%s%s", k ? " " : "", argv[k]); @@ -360,9 +362,13 @@ done(int eno) if (rawout) record(fscript, NULL, 0, 'e'); if (!qflg) { - if (!rawout) + if (!rawout) { + if (showexit) + (void)fprintf(fscript, "\nCommand exit status:" + " %d", eno); (void)fprintf(fscript,"\nScript done on %s", ctime(&tvec)); + } (void)printf("\nScript done, output file is %s\n", fname); if (fflg) { (void)printf("Filemon done, output file is %s\n", From owner-svn-src-all@freebsd.org Tue Mar 8 18:08:35 2016 Return-Path: Delivered-To: svn-src-all@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 F148EAC32AE; Tue, 8 Mar 2016 18:08:34 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CB5068F7; Tue, 8 Mar 2016 18:08:34 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28I8Xmn065082; Tue, 8 Mar 2016 18:08:33 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28I8Xes065078; Tue, 8 Mar 2016 18:08:33 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081808.u28I8Xes065078@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:08:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296527 - vendor-sys/illumos/dist/common/nvpair vendor-sys/illumos/dist/uts/common/fs/zfs vendor/illumos/dist/cmd/zfs vendor/illumos/dist/cmd/zpool vendor/illumos/dist/lib/libzfs/common X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:08:35 -0000 Author: mav Date: Tue Mar 8 18:08:33 2016 New Revision: 296527 URL: https://svnweb.freebsd.org/changeset/base/296527 Log: 6659 nvlist_free(NULL) is a no-op Reviewed by: Toomas Soome Reviewed by: Marcel Telka Approved by: Robert Mustacchi Author: Josef 'Jeff' Sipek illumos/illumos-gate@aab83bb83be7342f6cfccaed8d5fe0b2f404855d Modified: vendor-sys/illumos/dist/common/nvpair/nvpair.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_config.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c Changes in other areas also in this revision: Modified: vendor/illumos/dist/cmd/zfs/zfs_main.c vendor/illumos/dist/cmd/zpool/zpool_main.c vendor/illumos/dist/cmd/zpool/zpool_vdev.c vendor/illumos/dist/lib/libzfs/common/libzfs_config.c vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c vendor/illumos/dist/lib/libzfs/common/libzfs_import.c vendor/illumos/dist/lib/libzfs/common/libzfs_pool.c vendor/illumos/dist/lib/libzfs/common/libzfs_sendrecv.c Modified: vendor-sys/illumos/dist/common/nvpair/nvpair.c ============================================================================== --- vendor-sys/illumos/dist/common/nvpair/nvpair.c Tue Mar 8 18:05:23 2016 (r296526) +++ vendor-sys/illumos/dist/common/nvpair/nvpair.c Tue Mar 8 18:08:33 2016 (r296527) @@ -540,8 +540,7 @@ nvpair_free(nvpair_t *nvp) int i; for (i = 0; i < NVP_NELEM(nvp); i++) - if (nvlp[i] != NULL) - nvlist_free(nvlp[i]); + nvlist_free(nvlp[i]); break; } default: Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c Tue Mar 8 18:05:23 2016 (r296526) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c Tue Mar 8 18:08:33 2016 (r296527) @@ -6006,8 +6006,7 @@ spa_sync_config_object(spa_t *spa, dmu_t spa_config_exit(spa, SCL_STATE, FTAG); - if (spa->spa_config_syncing) - nvlist_free(spa->spa_config_syncing); + nvlist_free(spa->spa_config_syncing); spa->spa_config_syncing = config; spa_sync_nvlist(spa, spa->spa_config_object, config, tx); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa_config.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/spa_config.c Tue Mar 8 18:05:23 2016 (r296526) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/spa_config.c Tue Mar 8 18:08:33 2016 (r296527) @@ -344,8 +344,7 @@ void spa_config_set(spa_t *spa, nvlist_t *config) { mutex_enter(&spa->spa_props_lock); - if (spa->spa_config != NULL) - nvlist_free(spa->spa_config); + nvlist_free(spa->spa_config); spa->spa_config = config; mutex_exit(&spa->spa_props_lock); } Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 18:05:23 2016 (r296526) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 18:08:33 2016 (r296527) @@ -1558,8 +1558,7 @@ zfs_ioc_pool_import(zfs_cmd_t *zc) nvlist_free(config); - if (props) - nvlist_free(props); + nvlist_free(props); return (error); } From owner-svn-src-all@freebsd.org Tue Mar 8 18:08:35 2016 Return-Path: Delivered-To: svn-src-all@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 F2E3DAC32B9; Tue, 8 Mar 2016 18:08:35 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CE89A8FB; Tue, 8 Mar 2016 18:08:35 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28I8Yqa065095; Tue, 8 Mar 2016 18:08:34 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28I8Yr5065087; Tue, 8 Mar 2016 18:08:34 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081808.u28I8Yr5065087@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:08:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296527 - vendor-sys/illumos/dist/common/nvpair vendor-sys/illumos/dist/uts/common/fs/zfs vendor/illumos/dist/cmd/zfs vendor/illumos/dist/cmd/zpool vendor/illumos/dist/lib/libzfs/common X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:08:36 -0000 Author: mav Date: Tue Mar 8 18:08:33 2016 New Revision: 296527 URL: https://svnweb.freebsd.org/changeset/base/296527 Log: 6659 nvlist_free(NULL) is a no-op Reviewed by: Toomas Soome Reviewed by: Marcel Telka Approved by: Robert Mustacchi Author: Josef 'Jeff' Sipek illumos/illumos-gate@aab83bb83be7342f6cfccaed8d5fe0b2f404855d Modified: vendor/illumos/dist/cmd/zfs/zfs_main.c vendor/illumos/dist/cmd/zpool/zpool_main.c vendor/illumos/dist/cmd/zpool/zpool_vdev.c vendor/illumos/dist/lib/libzfs/common/libzfs_config.c vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c vendor/illumos/dist/lib/libzfs/common/libzfs_import.c vendor/illumos/dist/lib/libzfs/common/libzfs_pool.c vendor/illumos/dist/lib/libzfs/common/libzfs_sendrecv.c Changes in other areas also in this revision: Modified: vendor-sys/illumos/dist/common/nvpair/nvpair.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_config.c vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c Modified: vendor/illumos/dist/cmd/zfs/zfs_main.c ============================================================================== --- vendor/illumos/dist/cmd/zfs/zfs_main.c Tue Mar 8 18:05:23 2016 (r296526) +++ vendor/illumos/dist/cmd/zfs/zfs_main.c Tue Mar 8 18:08:33 2016 (r296527) @@ -5327,8 +5327,7 @@ zfs_do_allow_unallow_impl(int argc, char cleanup0: nvlist_free(perm_nvl); - if (update_perm_nvl != NULL) - nvlist_free(update_perm_nvl); + nvlist_free(update_perm_nvl); cleanup1: fs_perm_set_fini(&fs_perm_set); cleanup2: Modified: vendor/illumos/dist/cmd/zpool/zpool_main.c ============================================================================== --- vendor/illumos/dist/cmd/zpool/zpool_main.c Tue Mar 8 18:05:23 2016 (r296526) +++ vendor/illumos/dist/cmd/zpool/zpool_main.c Tue Mar 8 18:08:33 2016 (r296527) @@ -3267,8 +3267,7 @@ zpool_do_split(int argc, char **argv) if (add_prop_list( zpool_prop_to_name(ZPOOL_PROP_ALTROOT), optarg, &props, B_TRUE) != 0) { - if (props) - nvlist_free(props); + nvlist_free(props); usage(B_FALSE); } break; @@ -3281,8 +3280,7 @@ zpool_do_split(int argc, char **argv) propval++; if (add_prop_list(optarg, propval, &props, B_TRUE) != 0) { - if (props) - nvlist_free(props); + nvlist_free(props); usage(B_FALSE); } } else { Modified: vendor/illumos/dist/cmd/zpool/zpool_vdev.c ============================================================================== --- vendor/illumos/dist/cmd/zpool/zpool_vdev.c Tue Mar 8 18:05:23 2016 (r296526) +++ vendor/illumos/dist/cmd/zpool/zpool_vdev.c Tue Mar 8 18:08:33 2016 (r296527) @@ -1400,8 +1400,7 @@ split_mirror_vdev(zpool_handle_t *zhp, c } if (zpool_vdev_split(zhp, newname, &newroot, props, flags) != 0) { - if (newroot != NULL) - nvlist_free(newroot); + nvlist_free(newroot); return (NULL); } Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_config.c ============================================================================== --- vendor/illumos/dist/lib/libzfs/common/libzfs_config.c Tue Mar 8 18:05:23 2016 (r296526) +++ vendor/illumos/dist/lib/libzfs/common/libzfs_config.c Tue Mar 8 18:08:33 2016 (r296527) @@ -318,8 +318,7 @@ zpool_refresh_stats(zpool_handle_t *zhp, verify(nvlist_lookup_uint64(config, ZPOOL_CONFIG_POOL_TXG, &newtxg) == 0); - if (zhp->zpool_old_config != NULL) - nvlist_free(zhp->zpool_old_config); + nvlist_free(zhp->zpool_old_config); if (oldtxg != newtxg) { nvlist_free(zhp->zpool_config); Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c Tue Mar 8 18:05:23 2016 (r296526) +++ vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c Tue Mar 8 18:08:33 2016 (r296527) @@ -2004,8 +2004,7 @@ get_numeric_property(zfs_handle_t *zhp, zcmd_free_nvlists(&zc); return (-1); } - if (zplprops) - nvlist_free(zplprops); + nvlist_free(zplprops); zcmd_free_nvlists(&zc); break; @@ -4236,8 +4235,7 @@ zfs_smb_acl_mgmt(libzfs_handle_t *hdl, c return (-1); } error = ioctl(hdl->libzfs_fd, ZFS_IOC_SMB_ACL, &zc); - if (nvlist) - nvlist_free(nvlist); + nvlist_free(nvlist); return (error); } Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_import.c ============================================================================== --- vendor/illumos/dist/lib/libzfs/common/libzfs_import.c Tue Mar 8 18:05:23 2016 (r296526) +++ vendor/illumos/dist/lib/libzfs/common/libzfs_import.c Tue Mar 8 18:08:33 2016 (r296527) @@ -1282,8 +1282,7 @@ error: venext = ve->ve_next; for (ce = ve->ve_configs; ce != NULL; ce = cenext) { cenext = ce->ce_next; - if (ce->ce_config) - nvlist_free(ce->ce_config); + nvlist_free(ce->ce_config); free(ce); } free(ve); Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_pool.c ============================================================================== --- vendor/illumos/dist/lib/libzfs/common/libzfs_pool.c Tue Mar 8 18:05:23 2016 (r296526) +++ vendor/illumos/dist/lib/libzfs/common/libzfs_pool.c Tue Mar 8 18:08:33 2016 (r296527) @@ -1025,12 +1025,9 @@ zpool_open(libzfs_handle_t *hdl, const c void zpool_close(zpool_handle_t *zhp) { - if (zhp->zpool_config) - nvlist_free(zhp->zpool_config); - if (zhp->zpool_old_config) - nvlist_free(zhp->zpool_old_config); - if (zhp->zpool_props) - nvlist_free(zhp->zpool_props); + nvlist_free(zhp->zpool_config); + nvlist_free(zhp->zpool_old_config); + nvlist_free(zhp->zpool_props); free(zhp); } @@ -1548,8 +1545,7 @@ zpool_import(libzfs_handle_t *hdl, nvlis ret = zpool_import_props(hdl, config, newname, props, ZFS_IMPORT_NORMAL); - if (props) - nvlist_free(props); + nvlist_free(props); return (ret); } @@ -2854,8 +2850,7 @@ zpool_vdev_split(zpool_handle_t *zhp, ch &children) != 0) { zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "Source pool is missing vdev tree")); - if (zc_props) - nvlist_free(zc_props); + nvlist_free(zc_props); return (-1); } @@ -3003,10 +2998,8 @@ out: free(varray); } zcmd_free_nvlists(&zc); - if (zc_props) - nvlist_free(zc_props); - if (newconfig) - nvlist_free(newconfig); + nvlist_free(zc_props); + nvlist_free(newconfig); if (freelist) { nvlist_free(*newroot); *newroot = NULL; Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_sendrecv.c ============================================================================== --- vendor/illumos/dist/lib/libzfs/common/libzfs_sendrecv.c Tue Mar 8 18:05:23 2016 (r296526) +++ vendor/illumos/dist/lib/libzfs/common/libzfs_sendrecv.c Tue Mar 8 18:08:33 2016 (r296527) @@ -2753,8 +2753,7 @@ zfs_receive_package(libzfs_handle_t *hdl out: fsavl_destroy(stream_avl); - if (stream_nv) - nvlist_free(stream_nv); + nvlist_free(stream_nv); if (softerr) error = -2; if (anyerr) From owner-svn-src-all@freebsd.org Tue Mar 8 18:11:40 2016 Return-Path: Delivered-To: svn-src-all@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 E9B56AC358D; Tue, 8 Mar 2016 18:11:40 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C52BAF41; Tue, 8 Mar 2016 18:11:40 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28IBdZt067900; Tue, 8 Mar 2016 18:11:39 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28IBcZC067888; Tue, 8 Mar 2016 18:11:38 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081811.u28IBcZC067888@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:11:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296528 - in head: cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/lib/libzfs/common sys/cddl/contrib/opensolaris/common/nvpair sys/cddl/con... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:11:41 -0000 Author: mav Date: Tue Mar 8 18:11:38 2016 New Revision: 296528 URL: https://svnweb.freebsd.org/changeset/base/296528 Log: MFV r296527: 6659 nvlist_free(NULL) is a no-op Reviewed by: Toomas Soome Reviewed by: Marcel Telka Approved by: Robert Mustacchi Author: Josef 'Jeff' Sipek illumos/illumos-gate@aab83bb83be7342f6cfccaed8d5fe0b2f404855d Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c head/sys/cddl/contrib/opensolaris/common/nvpair/opensolaris_nvpair.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/cmd/zfs/ (props changed) head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Mar 8 18:11:38 2016 (r296528) @@ -5408,8 +5408,7 @@ zfs_do_allow_unallow_impl(int argc, char cleanup0: nvlist_free(perm_nvl); - if (update_perm_nvl != NULL) - nvlist_free(update_perm_nvl); + nvlist_free(update_perm_nvl); cleanup1: fs_perm_set_fini(&fs_perm_set); cleanup2: Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Tue Mar 8 18:11:38 2016 (r296528) @@ -3413,8 +3413,7 @@ zpool_do_split(int argc, char **argv) if (add_prop_list( zpool_prop_to_name(ZPOOL_PROP_ALTROOT), optarg, &props, B_TRUE) != 0) { - if (props) - nvlist_free(props); + nvlist_free(props); usage(B_FALSE); } break; @@ -3427,8 +3426,7 @@ zpool_do_split(int argc, char **argv) propval++; if (add_prop_list(optarg, propval, &props, B_TRUE) != 0) { - if (props) - nvlist_free(props); + nvlist_free(props); usage(B_FALSE); } } else { Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Tue Mar 8 18:11:38 2016 (r296528) @@ -1449,8 +1449,7 @@ split_mirror_vdev(zpool_handle_t *zhp, c } if (zpool_vdev_split(zhp, newname, &newroot, props, flags) != 0) { - if (newroot != NULL) - nvlist_free(newroot); + nvlist_free(newroot); return (NULL); } Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c Tue Mar 8 18:11:38 2016 (r296528) @@ -318,8 +318,7 @@ zpool_refresh_stats(zpool_handle_t *zhp, verify(nvlist_lookup_uint64(config, ZPOOL_CONFIG_POOL_TXG, &newtxg) == 0); - if (zhp->zpool_old_config != NULL) - nvlist_free(zhp->zpool_old_config); + nvlist_free(zhp->zpool_old_config); if (oldtxg != newtxg) { nvlist_free(zhp->zpool_config); Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Mar 8 18:11:38 2016 (r296528) @@ -2064,8 +2064,7 @@ get_numeric_property(zfs_handle_t *zhp, zcmd_free_nvlists(&zc); return (-1); } - if (zplprops) - nvlist_free(zplprops); + nvlist_free(zplprops); zcmd_free_nvlists(&zc); break; @@ -4340,8 +4339,7 @@ zfs_smb_acl_mgmt(libzfs_handle_t *hdl, c return (-1); } error = ioctl(hdl->libzfs_fd, ZFS_IOC_SMB_ACL, &zc); - if (nvlist) - nvlist_free(nvlist); + nvlist_free(nvlist); return (error); } Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c Tue Mar 8 18:11:38 2016 (r296528) @@ -1331,8 +1331,7 @@ error: venext = ve->ve_next; for (ce = ve->ve_configs; ce != NULL; ce = cenext) { cenext = ce->ce_next; - if (ce->ce_config) - nvlist_free(ce->ce_config); + nvlist_free(ce->ce_config); free(ce); } free(ve); Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c Tue Mar 8 18:11:38 2016 (r296528) @@ -1054,12 +1054,9 @@ zpool_open(libzfs_handle_t *hdl, const c void zpool_close(zpool_handle_t *zhp) { - if (zhp->zpool_config) - nvlist_free(zhp->zpool_config); - if (zhp->zpool_old_config) - nvlist_free(zhp->zpool_old_config); - if (zhp->zpool_props) - nvlist_free(zhp->zpool_props); + nvlist_free(zhp->zpool_config); + nvlist_free(zhp->zpool_old_config); + nvlist_free(zhp->zpool_props); free(zhp); } @@ -1577,8 +1574,7 @@ zpool_import(libzfs_handle_t *hdl, nvlis ret = zpool_import_props(hdl, config, newname, props, ZFS_IMPORT_NORMAL); - if (props) - nvlist_free(props); + nvlist_free(props); return (ret); } @@ -2901,8 +2897,7 @@ zpool_vdev_split(zpool_handle_t *zhp, ch &children) != 0) { zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "Source pool is missing vdev tree")); - if (zc_props) - nvlist_free(zc_props); + nvlist_free(zc_props); return (-1); } @@ -3050,10 +3045,8 @@ out: free(varray); } zcmd_free_nvlists(&zc); - if (zc_props) - nvlist_free(zc_props); - if (newconfig) - nvlist_free(newconfig); + nvlist_free(zc_props); + nvlist_free(newconfig); if (freelist) { nvlist_free(*newroot); *newroot = NULL; Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Tue Mar 8 18:11:38 2016 (r296528) @@ -2794,8 +2794,7 @@ zfs_receive_package(libzfs_handle_t *hdl out: fsavl_destroy(stream_avl); - if (stream_nv) - nvlist_free(stream_nv); + nvlist_free(stream_nv); if (softerr) error = -2; if (anyerr) Modified: head/sys/cddl/contrib/opensolaris/common/nvpair/opensolaris_nvpair.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/common/nvpair/opensolaris_nvpair.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/sys/cddl/contrib/opensolaris/common/nvpair/opensolaris_nvpair.c Tue Mar 8 18:11:38 2016 (r296528) @@ -544,8 +544,7 @@ nvpair_free(nvpair_t *nvp) int i; for (i = 0; i < NVP_NELEM(nvp); i++) - if (nvlp[i] != NULL) - nvlist_free(nvlp[i]); + nvlist_free(nvlp[i]); break; } default: Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Tue Mar 8 18:11:38 2016 (r296528) @@ -6344,8 +6344,7 @@ spa_sync_config_object(spa_t *spa, dmu_t spa_config_exit(spa, SCL_STATE, FTAG); - if (spa->spa_config_syncing) - nvlist_free(spa->spa_config_syncing); + nvlist_free(spa->spa_config_syncing); spa->spa_config_syncing = config; spa_sync_nvlist(spa, spa->spa_config_object, config, tx); Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c Tue Mar 8 18:11:38 2016 (r296528) @@ -367,8 +367,7 @@ void spa_config_set(spa_t *spa, nvlist_t *config) { mutex_enter(&spa->spa_props_lock); - if (spa->spa_config != NULL) - nvlist_free(spa->spa_config); + nvlist_free(spa->spa_config); spa->spa_config = config; mutex_exit(&spa->spa_props_lock); } Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 18:08:33 2016 (r296527) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Tue Mar 8 18:11:38 2016 (r296528) @@ -1602,8 +1602,7 @@ zfs_ioc_pool_import(zfs_cmd_t *zc) nvlist_free(config); - if (props) - nvlist_free(props); + nvlist_free(props); return (error); } From owner-svn-src-all@freebsd.org Tue Mar 8 18:16:51 2016 Return-Path: Delivered-To: svn-src-all@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 CBEBDAC3A4A; Tue, 8 Mar 2016 18:16:51 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8140B9B9; Tue, 8 Mar 2016 18:16:51 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28IGog6068124; Tue, 8 Mar 2016 18:16:50 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28IGomH068123; Tue, 8 Mar 2016 18:16:50 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081816.u28IGomH068123@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:16:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296529 - vendor-sys/illumos/dist/uts/common/fs/zfs X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:16:51 -0000 Author: mav Date: Tue Mar 8 18:16:50 2016 New Revision: 296529 URL: https://svnweb.freebsd.org/changeset/base/296529 Log: 6672 arc_reclaim_thread() should use gethrtime() instead of ddi_get_lbolt() 6673 want a macro to convert seconds to nanoseconds and vice-versa Reviewed by: Matthew Ahrens Reviewed by: Prakash Surya Reviewed by: Josef 'Jeff' Sipek Reviewed by: Robert Mustacchi Approved by: Dan McDonald Author: Eli Rosenthal illumos/illumos-gate@a8f6344fa0921599e1f4511e41b5f9a25c38c0f9 Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c Tue Mar 8 18:11:38 2016 (r296528) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c Tue Mar 8 18:16:50 2016 (r296529) @@ -3352,7 +3352,7 @@ arc_kmem_reap_now(void) static void arc_reclaim_thread(void) { - clock_t growtime = 0; + hrtime_t growtime = 0; callb_cpr_t cpr; CALLB_CPR_INIT(&cpr, &arc_reclaim_lock, callb_generic_cpr, FTAG); @@ -3373,7 +3373,7 @@ arc_reclaim_thread(void) * Wait at least zfs_grow_retry (default 60) seconds * before considering growing. */ - growtime = ddi_get_lbolt() + (arc_grow_retry * hz); + growtime = gethrtime() + SEC2NSEC(arc_grow_retry); arc_kmem_reap_now(); @@ -3393,7 +3393,7 @@ arc_reclaim_thread(void) } } else if (free_memory < arc_c >> arc_no_grow_shift) { arc_no_grow = B_TRUE; - } else if (ddi_get_lbolt() >= growtime) { + } else if (gethrtime() >= growtime) { arc_no_grow = B_FALSE; } @@ -3424,8 +3424,8 @@ arc_reclaim_thread(void) * even if we aren't being signalled) */ CALLB_CPR_SAFE_BEGIN(&cpr); - (void) cv_timedwait(&arc_reclaim_thread_cv, - &arc_reclaim_lock, ddi_get_lbolt() + hz); + (void) cv_timedwait_hires(&arc_reclaim_thread_cv, + &arc_reclaim_lock, SEC2NSEC(1), MSEC2NSEC(1), 0); CALLB_CPR_SAFE_END(&cpr, &arc_reclaim_lock); } } From owner-svn-src-all@freebsd.org Tue Mar 8 18:28:27 2016 Return-Path: Delivered-To: svn-src-all@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 EDC11AC71EF; Tue, 8 Mar 2016 18:28:26 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9A016379; Tue, 8 Mar 2016 18:28:26 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28ISPpD071815; Tue, 8 Mar 2016 18:28:25 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28ISPDf071813; Tue, 8 Mar 2016 18:28:25 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081828.u28ISPDf071813@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:28:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296530 - in head/sys/cddl: compat/opensolaris/sys contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:28:27 -0000 Author: mav Date: Tue Mar 8 18:28:24 2016 New Revision: 296530 URL: https://svnweb.freebsd.org/changeset/base/296530 Log: MFV r296529: 6672 arc_reclaim_thread() should use gethrtime() instead of ddi_get_lbolt() 6673 want a macro to convert seconds to nanoseconds and vice-versa Reviewed by: Matthew Ahrens Reviewed by: Prakash Surya Reviewed by: Josef 'Jeff' Sipek Reviewed by: Robert Mustacchi Approved by: Dan McDonald Author: Eli Rosenthal illumos/illumos-gate@a8f6344fa0921599e1f4511e41b5f9a25c38c0f9 Modified: head/sys/cddl/compat/opensolaris/sys/time.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/compat/opensolaris/sys/time.h ============================================================================== --- head/sys/cddl/compat/opensolaris/sys/time.h Tue Mar 8 18:16:50 2016 (r296529) +++ head/sys/cddl/compat/opensolaris/sys/time.h Tue Mar 8 18:28:24 2016 (r296530) @@ -40,6 +40,9 @@ #define MSEC2NSEC(m) ((hrtime_t)(m) * (NANOSEC / MILLISEC)) #define NSEC2MSEC(n) ((n) / (NANOSEC / MILLISEC)) +#define NSEC2SEC(n) ((n) / (NANOSEC / SEC)) +#define SEC2NSEC(m) ((hrtime_t)(m) * (NANOSEC / SEC)) + typedef longlong_t hrtime_t; #if defined(__i386__) || defined(__powerpc__) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Tue Mar 8 18:16:50 2016 (r296529) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Tue Mar 8 18:28:24 2016 (r296530) @@ -3606,7 +3606,7 @@ arc_kmem_reap_now(void) static void arc_reclaim_thread(void *dummy __unused) { - clock_t growtime = 0; + hrtime_t growtime = 0; callb_cpr_t cpr; CALLB_CPR_INIT(&cpr, &arc_reclaim_lock, callb_generic_cpr, FTAG); @@ -3627,7 +3627,7 @@ arc_reclaim_thread(void *dummy __unused) * Wait at least zfs_grow_retry (default 60) seconds * before considering growing. */ - growtime = ddi_get_lbolt() + (arc_grow_retry * hz); + growtime = gethrtime() + SEC2NSEC(arc_grow_retry); arc_kmem_reap_now(); @@ -3647,7 +3647,7 @@ arc_reclaim_thread(void *dummy __unused) } } else if (free_memory < arc_c >> arc_no_grow_shift) { arc_no_grow = B_TRUE; - } else if (ddi_get_lbolt() >= growtime) { + } else if (gethrtime() >= growtime) { arc_no_grow = B_FALSE; } @@ -3681,8 +3681,8 @@ arc_reclaim_thread(void *dummy __unused) * even if we aren't being signalled) */ CALLB_CPR_SAFE_BEGIN(&cpr); - (void) cv_timedwait(&arc_reclaim_thread_cv, - &arc_reclaim_lock, hz); + (void) cv_timedwait_hires(&arc_reclaim_thread_cv, + &arc_reclaim_lock, SEC2NSEC(1), MSEC2NSEC(1), 0); CALLB_CPR_SAFE_END(&cpr, &arc_reclaim_lock); } } From owner-svn-src-all@freebsd.org Tue Mar 8 18:31:51 2016 Return-Path: Delivered-To: svn-src-all@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 3859DAC72FC; Tue, 8 Mar 2016 18:31:51 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0AA8DA0B; Tue, 8 Mar 2016 18:31:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28IVo10074626; Tue, 8 Mar 2016 18:31:50 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28IVoSg074625; Tue, 8 Mar 2016 18:31:50 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081831.u28IVoSg074625@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:31:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296532 - vendor/illumos/dist/cmd/zfs X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:31:51 -0000 Author: mav Date: Tue Mar 8 18:31:49 2016 New Revision: 296532 URL: https://svnweb.freebsd.org/changeset/base/296532 Log: 6637 replacing "dontclose" with "should_close" Reviewed by: Matthew Ahrens Reviewed by: Prakash Surya Approved by: Robert Mustacchi Author: David Schwartz illumos/illumos-gate@d189620258b3c9b0e2f7e2104840be2eee7c68e5 Modified: vendor/illumos/dist/cmd/zfs/zfs_iter.c Modified: vendor/illumos/dist/cmd/zfs/zfs_iter.c ============================================================================== --- vendor/illumos/dist/cmd/zfs/zfs_iter.c Tue Mar 8 18:31:26 2016 (r296531) +++ vendor/illumos/dist/cmd/zfs/zfs_iter.c Tue Mar 8 18:31:49 2016 (r296532) @@ -91,7 +91,7 @@ static int zfs_callback(zfs_handle_t *zhp, void *data) { callback_data_t *cb = data; - boolean_t dontclose = B_FALSE; + boolean_t should_close = B_TRUE; boolean_t include_snaps = zfs_include_snapshots(zhp, cb); boolean_t include_bmarks = (cb->cb_types & ZFS_TYPE_BOOKMARK); @@ -119,7 +119,7 @@ zfs_callback(zfs_handle_t *zhp, void *da } } uu_avl_insert(cb->cb_avl, node, idx); - dontclose = B_TRUE; + should_close = B_FALSE; } else { free(node); } @@ -143,7 +143,7 @@ zfs_callback(zfs_handle_t *zhp, void *da cb->cb_depth--; } - if (!dontclose) + if (should_close) zfs_close(zhp); return (0); From owner-svn-src-all@freebsd.org Tue Mar 8 18:32:33 2016 Return-Path: Delivered-To: svn-src-all@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 54C89AC7409; Tue, 8 Mar 2016 18:32:33 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 27C4BBB9; Tue, 8 Mar 2016 18:32:33 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28IWWQm074700; Tue, 8 Mar 2016 18:32:32 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28IWWiA074699; Tue, 8 Mar 2016 18:32:32 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081832.u28IWWiA074699@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:32:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296533 - head/cddl/contrib/opensolaris/cmd/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:32:33 -0000 Author: mav Date: Tue Mar 8 18:32:31 2016 New Revision: 296533 URL: https://svnweb.freebsd.org/changeset/base/296533 Log: MFV r296532: 6637 replacing "dontclose" with "should_close" Reviewed by: Matthew Ahrens Reviewed by: Prakash Surya Approved by: Robert Mustacchi Author: David Schwartz illumos/illumos-gate@d189620258b3c9b0e2f7e2104840be2eee7c68e5 Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/cmd/zfs/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c Tue Mar 8 18:31:49 2016 (r296532) +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c Tue Mar 8 18:32:31 2016 (r296533) @@ -93,7 +93,7 @@ static int zfs_callback(zfs_handle_t *zhp, void *data) { callback_data_t *cb = data; - boolean_t dontclose = B_FALSE; + boolean_t should_close = B_TRUE; boolean_t include_snaps = zfs_include_snapshots(zhp, cb); boolean_t include_bmarks = (cb->cb_types & ZFS_TYPE_BOOKMARK); @@ -121,7 +121,7 @@ zfs_callback(zfs_handle_t *zhp, void *da } } uu_avl_insert(cb->cb_avl, node, idx); - dontclose = B_TRUE; + should_close = B_FALSE; } else { free(node); } @@ -147,7 +147,7 @@ zfs_callback(zfs_handle_t *zhp, void *da cb->cb_depth--; } - if (!dontclose) + if (should_close) zfs_close(zhp); return (0); From owner-svn-src-all@freebsd.org Tue Mar 8 18:35:08 2016 Return-Path: Delivered-To: svn-src-all@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 ABD48AC7536; Tue, 8 Mar 2016 18:35:08 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8021EE89; Tue, 8 Mar 2016 18:35:08 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28IZ7GK074849; Tue, 8 Mar 2016 18:35:07 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28IZ7NG074848; Tue, 8 Mar 2016 18:35:07 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081835.u28IZ7NG074848@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:35:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296534 - vendor/illumos/dist/cmd/zfs X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:35:08 -0000 Author: mav Date: Tue Mar 8 18:35:07 2016 New Revision: 296534 URL: https://svnweb.freebsd.org/changeset/base/296534 Log: 6550 cmd/zfs: cleanup gcc warnings Reviewed by: Matthew Ahrens Reviewed by: Andy Stormont Approved by: Dan McDonald Author: Igor Kozhukhov illumos/illumos-gate@c16bcc4577f389573eff411c7b7e040294078c3b Modified: vendor/illumos/dist/cmd/zfs/zfs_main.c Modified: vendor/illumos/dist/cmd/zfs/zfs_main.c ============================================================================== --- vendor/illumos/dist/cmd/zfs/zfs_main.c Tue Mar 8 18:32:31 2016 (r296533) +++ vendor/illumos/dist/cmd/zfs/zfs_main.c Tue Mar 8 18:35:07 2016 (r296534) @@ -27,6 +27,7 @@ * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2014 Integros [integros.com] + * Copyright 2016 Igor Kozhukhov . */ #include @@ -731,7 +732,7 @@ zfs_do_create(int argc, char **argv) { zfs_type_t type = ZFS_TYPE_FILESYSTEM; zfs_handle_t *zhp = NULL; - uint64_t volsize; + uint64_t volsize = 0; int c; boolean_t noreserve = B_FALSE; boolean_t bflag = B_FALSE; @@ -817,14 +818,14 @@ zfs_do_create(int argc, char **argv) if (type == ZFS_TYPE_VOLUME && !noreserve) { zpool_handle_t *zpool_handle; - nvlist_t *real_props; + nvlist_t *real_props = NULL; uint64_t spa_version; char *p; zfs_prop_t resv_prop; char *strval; char msg[1024]; - if (p = strchr(argv[0], '/')) + if ((p = strchr(argv[0], '/')) != NULL) *p = '\0'; zpool_handle = zpool_open(g_zfs, argv[0]); if (p != NULL) @@ -2331,6 +2332,9 @@ us_compare(const void *larg, const void if (rv64 != lv64) rc = (rv64 < lv64) ? 1 : -1; break; + + default: + break; } if (rc != 0) { @@ -2386,7 +2390,7 @@ userspace_cb(void *arg, const char *doma nvlist_t *props; us_node_t *n; zfs_sort_column_t *sortcol = cb->cb_sortcol; - unsigned type; + unsigned type = 0; const char *typestr; size_t namelen; size_t typelen; @@ -3893,7 +3897,7 @@ zfs_do_send(int argc, char **argv) static int zfs_do_receive(int argc, char **argv) { - int c, err; + int c, err = 0; recvflags_t flags = { 0 }; boolean_t abort_resumable = B_FALSE; @@ -4153,7 +4157,7 @@ deleg_perm_type(zfs_deleg_note_t note) } } -static int inline +static int who_type2weight(zfs_deleg_who_type_t who_type) { int res; @@ -4373,7 +4377,7 @@ fs_perm_fini(fs_perm_t *fsperm) uu_avl_destroy(fsperm->fsp_uge_avl); } -static void inline +static void set_deleg_perm_node(uu_avl_t *avl, deleg_perm_node_t *node, zfs_deleg_who_type_t who_type, const char *name, char locality) { @@ -4441,7 +4445,7 @@ parse_fs_perm(fs_perm_t *fsperm, nvlist_ nvlist_t *nvl2 = NULL; const char *name = nvpair_name(nvp); uu_avl_t *avl = NULL; - uu_avl_pool_t *avl_pool; + uu_avl_pool_t *avl_pool = NULL; zfs_deleg_who_type_t perm_type = name[0]; char perm_locality = name[1]; const char *perm_name = name + 3; @@ -4470,6 +4474,9 @@ parse_fs_perm(fs_perm_t *fsperm, nvlist_ avl_pool = fspset->fsps_who_perm_avl_pool; avl = fsperm->fsp_uge_avl; break; + + default: + assert(!"unhandled zfs_deleg_who_type_t"); } if (is_set) { @@ -4505,6 +4512,9 @@ parse_fs_perm(fs_perm_t *fsperm, nvlist_ if (g) nice_name = g->gr_name; break; + + default: + break; } if (nice_name != NULL) @@ -4773,11 +4783,12 @@ parse_allow_args(int argc, char **argv, allow_usage(un, B_FALSE, gettext("-u, -g, and -e are mutually exclusive\n")); - if (opts->prt_usage) + if (opts->prt_usage) { if (argc == 0 && all_sum == 0) allow_usage(un, B_TRUE, NULL); else usage(B_FALSE); + } if (opts->set) { if (csuge_sum > 1) @@ -4826,8 +4837,8 @@ store_allow_perm(zfs_deleg_who_type_t ty int i; char ld[2] = { '\0', '\0' }; char who_buf[ZFS_MAXNAMELEN+32]; - char base_type; - char set_type; + char base_type = '\0'; + char set_type = '\0'; nvlist_t *base_nvl = NULL; nvlist_t *set_nvl = NULL; nvlist_t *nvl; @@ -4876,6 +4887,10 @@ store_allow_perm(zfs_deleg_who_type_t ty ld[0] = ZFS_DELEG_LOCAL; if (descend) ld[1] = ZFS_DELEG_DESCENDENT; + break; + + default: + assert(set_type != '\0' && base_type != '\0'); } if (perms != NULL) { @@ -4980,7 +4995,7 @@ construct_fsacl_list(boolean_t un, struc while (curr < end) { const char *who; - zfs_deleg_who_type_t who_type; + zfs_deleg_who_type_t who_type = ZFS_DELEG_WHO_UNKNOWN; char *endch; char *delim = strchr(curr, ','); char errbuf[256]; @@ -5030,12 +5045,13 @@ construct_fsacl_list(boolean_t un, struc p = getpwuid(rid); } - if (p == NULL) + if (p == NULL) { if (*endch != '\0') { g = getgrnam(curr); } else { g = getgrgid(rid); } + } if (p != NULL) { who_type = ZFS_DELEG_USER; @@ -5108,7 +5124,7 @@ print_set_creat_perms(uu_avl_t *who_avl) } } -static void inline +static void print_uge_deleg_perms(uu_avl_t *who_avl, boolean_t local, boolean_t descend, const char *title) { @@ -5159,6 +5175,10 @@ print_uge_deleg_perms(uu_avl_t *who_avl, case ZFS_DELEG_EVERYONE: who = gettext("everyone"); who_name = NULL; + break; + + default: + assert(who != NULL); } prt_who = B_FALSE; @@ -5862,7 +5882,7 @@ share_mount_one(zfs_handle_t *zhp, int o shared_nfs = zfs_is_shared_nfs(zhp, NULL); shared_smb = zfs_is_shared_smb(zhp, NULL); - if (shared_nfs && shared_smb || + if ((shared_nfs && shared_smb) || (shared_nfs && strcmp(shareopts, "on") == 0 && strcmp(smbshareopts, "off") == 0) || (shared_smb && strcmp(smbshareopts, "on") == 0 && @@ -6321,7 +6341,7 @@ unshare_unmount(int op, int argc, char * */ struct mnttab entry; uu_avl_pool_t *pool; - uu_avl_t *tree; + uu_avl_t *tree = NULL; unshare_unmount_node_t *node; uu_avl_index_t idx; uu_avl_walk_t *walk; @@ -6751,7 +6771,7 @@ zfs_do_diff(int argc, char **argv) if (copy == NULL) usage(B_FALSE); - if (atp = strchr(copy, '@')) + if ((atp = strchr(copy, '@')) != NULL) *atp = '\0'; if ((zhp = zfs_open(g_zfs, copy, ZFS_TYPE_FILESYSTEM)) == NULL) From owner-svn-src-all@freebsd.org Tue Mar 8 18:35:55 2016 Return-Path: Delivered-To: svn-src-all@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 E4726AC75DD; Tue, 8 Mar 2016 18:35:54 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A9B7BFF4; Tue, 8 Mar 2016 18:35:54 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28IZr2K074928; Tue, 8 Mar 2016 18:35:53 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28IZrH9074927; Tue, 8 Mar 2016 18:35:53 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081835.u28IZrH9074927@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:35:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296535 - head/cddl/contrib/opensolaris/cmd/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:35:55 -0000 Author: mav Date: Tue Mar 8 18:35:53 2016 New Revision: 296535 URL: https://svnweb.freebsd.org/changeset/base/296535 Log: MFV r296534: 6550 cmd/zfs: cleanup gcc warnings Reviewed by: Matthew Ahrens Reviewed by: Andy Stormont Approved by: Dan McDonald Author: Igor Kozhukhov illumos/illumos-gate@c16bcc4577f389573eff411c7b7e040294078c3b Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/cmd/zfs/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Mar 8 18:35:07 2016 (r296534) +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Mar 8 18:35:53 2016 (r296535) @@ -30,6 +30,7 @@ * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2014 Integros [integros.com] + * Copyright 2016 Igor Kozhukhov . */ #include @@ -752,7 +753,7 @@ zfs_do_create(int argc, char **argv) { zfs_type_t type = ZFS_TYPE_FILESYSTEM; zfs_handle_t *zhp = NULL; - uint64_t volsize; + uint64_t volsize = 0; int c; boolean_t noreserve = B_FALSE; boolean_t bflag = B_FALSE; @@ -847,14 +848,14 @@ zfs_do_create(int argc, char **argv) if (type == ZFS_TYPE_VOLUME && !noreserve) { zpool_handle_t *zpool_handle; - nvlist_t *real_props; + nvlist_t *real_props = NULL; uint64_t spa_version; char *p; zfs_prop_t resv_prop; char *strval; char msg[1024]; - if (p = strchr(argv[0], '/')) + if ((p = strchr(argv[0], '/')) != NULL) *p = '\0'; zpool_handle = zpool_open(g_zfs, argv[0]); if (p != NULL) @@ -2361,6 +2362,9 @@ us_compare(const void *larg, const void if (rv64 != lv64) rc = (rv64 < lv64) ? 1 : -1; break; + + default: + break; } if (rc != 0) { @@ -2416,7 +2420,7 @@ userspace_cb(void *arg, const char *doma nvlist_t *props; us_node_t *n; zfs_sort_column_t *sortcol = cb->cb_sortcol; - unsigned type; + unsigned type = 0; const char *typestr; size_t namelen; size_t typelen; @@ -3974,7 +3978,7 @@ zfs_do_send(int argc, char **argv) static int zfs_do_receive(int argc, char **argv) { - int c, err; + int c, err = 0; recvflags_t flags = { 0 }; boolean_t abort_resumable = B_FALSE; @@ -4234,7 +4238,7 @@ deleg_perm_type(zfs_deleg_note_t note) } } -static int inline +static int who_type2weight(zfs_deleg_who_type_t who_type) { int res; @@ -4454,7 +4458,7 @@ fs_perm_fini(fs_perm_t *fsperm) uu_avl_destroy(fsperm->fsp_uge_avl); } -static void inline +static void set_deleg_perm_node(uu_avl_t *avl, deleg_perm_node_t *node, zfs_deleg_who_type_t who_type, const char *name, char locality) { @@ -4522,7 +4526,7 @@ parse_fs_perm(fs_perm_t *fsperm, nvlist_ nvlist_t *nvl2 = NULL; const char *name = nvpair_name(nvp); uu_avl_t *avl = NULL; - uu_avl_pool_t *avl_pool; + uu_avl_pool_t *avl_pool = NULL; zfs_deleg_who_type_t perm_type = name[0]; char perm_locality = name[1]; const char *perm_name = name + 3; @@ -4551,6 +4555,9 @@ parse_fs_perm(fs_perm_t *fsperm, nvlist_ avl_pool = fspset->fsps_who_perm_avl_pool; avl = fsperm->fsp_uge_avl; break; + + default: + assert(!"unhandled zfs_deleg_who_type_t"); } if (is_set) { @@ -4586,6 +4593,9 @@ parse_fs_perm(fs_perm_t *fsperm, nvlist_ if (g) nice_name = g->gr_name; break; + + default: + break; } if (nice_name != NULL) @@ -4854,11 +4864,12 @@ parse_allow_args(int argc, char **argv, allow_usage(un, B_FALSE, gettext("-u, -g, and -e are mutually exclusive\n")); - if (opts->prt_usage) + if (opts->prt_usage) { if (argc == 0 && all_sum == 0) allow_usage(un, B_TRUE, NULL); else usage(B_FALSE); + } if (opts->set) { if (csuge_sum > 1) @@ -4907,8 +4918,8 @@ store_allow_perm(zfs_deleg_who_type_t ty int i; char ld[2] = { '\0', '\0' }; char who_buf[ZFS_MAXNAMELEN+32]; - char base_type; - char set_type; + char base_type = '\0'; + char set_type = '\0'; nvlist_t *base_nvl = NULL; nvlist_t *set_nvl = NULL; nvlist_t *nvl; @@ -4957,6 +4968,10 @@ store_allow_perm(zfs_deleg_who_type_t ty ld[0] = ZFS_DELEG_LOCAL; if (descend) ld[1] = ZFS_DELEG_DESCENDENT; + break; + + default: + assert(set_type != '\0' && base_type != '\0'); } if (perms != NULL) { @@ -5061,7 +5076,7 @@ construct_fsacl_list(boolean_t un, struc while (curr < end) { const char *who; - zfs_deleg_who_type_t who_type; + zfs_deleg_who_type_t who_type = ZFS_DELEG_WHO_UNKNOWN; char *endch; char *delim = strchr(curr, ','); char errbuf[256]; @@ -5111,12 +5126,13 @@ construct_fsacl_list(boolean_t un, struc p = getpwuid(rid); } - if (p == NULL) + if (p == NULL) { if (*endch != '\0') { g = getgrnam(curr); } else { g = getgrgid(rid); } + } if (p != NULL) { who_type = ZFS_DELEG_USER; @@ -5189,7 +5205,7 @@ print_set_creat_perms(uu_avl_t *who_avl) } } -static void inline +static void print_uge_deleg_perms(uu_avl_t *who_avl, boolean_t local, boolean_t descend, const char *title) { @@ -5240,6 +5256,10 @@ print_uge_deleg_perms(uu_avl_t *who_avl, case ZFS_DELEG_EVERYONE: who = gettext("everyone"); who_name = NULL; + break; + + default: + assert(who != NULL); } prt_who = B_FALSE; @@ -5956,7 +5976,7 @@ share_mount_one(zfs_handle_t *zhp, int o shared_nfs = zfs_is_shared_nfs(zhp, NULL); shared_smb = zfs_is_shared_smb(zhp, NULL); - if (shared_nfs && shared_smb || + if ((shared_nfs && shared_smb) || (shared_nfs && strcmp(shareopts, "on") == 0 && strcmp(smbshareopts, "off") == 0) || (shared_smb && strcmp(smbshareopts, "on") == 0 && @@ -6430,7 +6450,7 @@ unshare_unmount(int op, int argc, char * */ struct mnttab entry; uu_avl_pool_t *pool; - uu_avl_t *tree; + uu_avl_t *tree = NULL; unshare_unmount_node_t *node; uu_avl_index_t idx; uu_avl_walk_t *walk; @@ -6924,7 +6944,7 @@ zfs_do_diff(int argc, char **argv) if (copy == NULL) usage(B_FALSE); - if (atp = strchr(copy, '@')) + if ((atp = strchr(copy, '@')) != NULL) *atp = '\0'; if ((zhp = zfs_open(g_zfs, copy, ZFS_TYPE_FILESYSTEM)) == NULL) From owner-svn-src-all@freebsd.org Tue Mar 8 18:37:35 2016 Return-Path: Delivered-To: svn-src-all@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 C7B3EAC766A; Tue, 8 Mar 2016 18:37:35 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A26FC224; Tue, 8 Mar 2016 18:37:35 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28IbYR6075026; Tue, 8 Mar 2016 18:37:34 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28IbY98075022; Tue, 8 Mar 2016 18:37:34 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081837.u28IbY98075022@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:37:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296536 - vendor/illumos/dist/cmd/zpool X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:37:35 -0000 Author: mav Date: Tue Mar 8 18:37:34 2016 New Revision: 296536 URL: https://svnweb.freebsd.org/changeset/base/296536 Log: 6551 cmd/zpool: cleanup gcc warnings Reviewed by: Matthew Ahrens Reviewed by: Andy Stormont Approved by: Robert Mustacchi illumos/illumos-gate@b327cd3f3b4dab4f29e7140159b1e01ed2ceef2a Modified: vendor/illumos/dist/cmd/zpool/zpool_iter.c vendor/illumos/dist/cmd/zpool/zpool_main.c vendor/illumos/dist/cmd/zpool/zpool_vdev.c Modified: vendor/illumos/dist/cmd/zpool/zpool_iter.c ============================================================================== --- vendor/illumos/dist/cmd/zpool/zpool_iter.c Tue Mar 8 18:35:53 2016 (r296535) +++ vendor/illumos/dist/cmd/zpool/zpool_iter.c Tue Mar 8 18:37:34 2016 (r296536) @@ -22,8 +22,9 @@ * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ - -#pragma ident "%Z%%M% %I% %E% SMI" +/* + * Copyright 2016 Igor Kozhukhov . + */ #include #include @@ -131,7 +132,8 @@ pool_list_get(int argc, char **argv, zpr for (i = 0; i < argc; i++) { zpool_handle_t *zhp; - if (zhp = zpool_open_canfail(g_zfs, argv[i])) { + if ((zhp = zpool_open_canfail(g_zfs, argv[i])) != + NULL) { if (add_pool(zhp, zlp) != 0) *err = B_TRUE; } else { Modified: vendor/illumos/dist/cmd/zpool/zpool_main.c ============================================================================== --- vendor/illumos/dist/cmd/zpool/zpool_main.c Tue Mar 8 18:35:53 2016 (r296535) +++ vendor/illumos/dist/cmd/zpool/zpool_main.c Tue Mar 8 18:37:34 2016 (r296536) @@ -25,6 +25,7 @@ * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2012 by Frederik Wessels. All rights reserved. * Copyright (c) 2013 by Prasad Joshi (sTec). All rights reserved. + * Copyright 2016 Igor Kozhukhov . */ #include @@ -3025,33 +3026,6 @@ zpool_do_list(int argc, char **argv) return (ret); } -static nvlist_t * -zpool_get_vdev_by_name(nvlist_t *nv, char *name) -{ - nvlist_t **child; - uint_t c, children; - nvlist_t *match; - char *path; - - if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_CHILDREN, - &child, &children) != 0) { - verify(nvlist_lookup_string(nv, ZPOOL_CONFIG_PATH, &path) == 0); - if (strncmp(name, "/dev/dsk/", 9) == 0) - name += 9; - if (strncmp(path, "/dev/dsk/", 9) == 0) - path += 9; - if (strcmp(name, path) == 0) - return (nv); - return (NULL); - } - - for (c = 0; c < children; c++) - if ((match = zpool_get_vdev_by_name(child[c], name)) != NULL) - return (match); - - return (NULL); -} - static int zpool_do_attach_or_replace(int argc, char **argv, int replacing) { @@ -3780,7 +3754,7 @@ print_scan_status(pool_scan_stat_t *ps) */ if (ps->pss_state == DSS_FINISHED) { uint64_t minutes_taken = (end - start) / 60; - char *fmt; + char *fmt = NULL; if (ps->pss_func == POOL_SCAN_SCRUB) { fmt = gettext("scrub repaired %s in %lluh%um with " @@ -5266,7 +5240,7 @@ find_command_idx(char *command, int *idx int main(int argc, char **argv) { - int ret; + int ret = 0; int i; char *cmdname; Modified: vendor/illumos/dist/cmd/zpool/zpool_vdev.c ============================================================================== --- vendor/illumos/dist/cmd/zpool/zpool_vdev.c Tue Mar 8 18:35:53 2016 (r296535) +++ vendor/illumos/dist/cmd/zpool/zpool_vdev.c Tue Mar 8 18:37:34 2016 (r296536) @@ -22,6 +22,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013 by Delphix. All rights reserved. + * Copyright 2016 Igor Kozhukhov . */ /* @@ -549,7 +550,9 @@ get_replication(nvlist_t *nvroot, boolea uint_t c, children; nvlist_t *nv; char *type; - replication_level_t lastrep, rep, *ret; + replication_level_t lastrep = {0}; + replication_level_t rep; + replication_level_t *ret; boolean_t dontreport; ret = safe_malloc(sizeof (replication_level_t)); @@ -1035,7 +1038,7 @@ is_device_in_use(nvlist_t *config, nvlis nvlist_t **child; uint_t c, children; char *type, *path; - int ret; + int ret = 0; char buf[MAXPATHLEN]; uint64_t wholedisk; boolean_t anyinuse = B_FALSE; From owner-svn-src-all@freebsd.org Tue Mar 8 18:39:41 2016 Return-Path: Delivered-To: svn-src-all@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 45065AC76F8; Tue, 8 Mar 2016 18:39:41 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 207C63DE; Tue, 8 Mar 2016 18:39:41 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28IdeOh075149; Tue, 8 Mar 2016 18:39:40 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28IddfR075145; Tue, 8 Mar 2016 18:39:39 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081839.u28IddfR075145@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:39:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296537 - head/cddl/contrib/opensolaris/cmd/zpool X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:39:41 -0000 Author: mav Date: Tue Mar 8 18:39:39 2016 New Revision: 296537 URL: https://svnweb.freebsd.org/changeset/base/296537 Log: MFV r296536: 6551 cmd/zpool: cleanup gcc warnings Reviewed by: Matthew Ahrens Reviewed by: Andy Stormont Approved by: Robert Mustacchi illumos/illumos-gate@b327cd3f3b4dab4f29e7140159b1e01ed2ceef2a Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_iter.c head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_iter.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool_iter.c Tue Mar 8 18:37:34 2016 (r296536) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool_iter.c Tue Mar 8 18:39:39 2016 (r296537) @@ -22,8 +22,9 @@ * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ - -#pragma ident "%Z%%M% %I% %E% SMI" +/* + * Copyright 2016 Igor Kozhukhov . + */ #include #include @@ -132,7 +133,8 @@ pool_list_get(int argc, char **argv, zpr for (i = 0; i < argc; i++) { zpool_handle_t *zhp; - if (zhp = zpool_open_canfail(g_zfs, argv[i])) { + if ((zhp = zpool_open_canfail(g_zfs, argv[i])) != + NULL) { if (add_pool(zhp, zlp) != 0) *err = B_TRUE; } else { Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Tue Mar 8 18:37:34 2016 (r296536) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Tue Mar 8 18:39:39 2016 (r296537) @@ -26,6 +26,7 @@ * Copyright (c) 2012 by Frederik Wessels. All rights reserved. * Copyright (c) 2012 Martin Matuska . All rights reserved. * Copyright (c) 2013 by Prasad Joshi (sTec). All rights reserved. + * Copyright 2016 Igor Kozhukhov . */ #include @@ -3171,33 +3172,6 @@ zpool_do_list(int argc, char **argv) return (ret); } -static nvlist_t * -zpool_get_vdev_by_name(nvlist_t *nv, char *name) -{ - nvlist_t **child; - uint_t c, children; - nvlist_t *match; - char *path; - - if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_CHILDREN, - &child, &children) != 0) { - verify(nvlist_lookup_string(nv, ZPOOL_CONFIG_PATH, &path) == 0); - if (strncmp(name, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0) - name += sizeof(_PATH_DEV) - 1; - if (strncmp(path, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0) - path += sizeof(_PATH_DEV) - 1; - if (strcmp(name, path) == 0) - return (nv); - return (NULL); - } - - for (c = 0; c < children; c++) - if ((match = zpool_get_vdev_by_name(child[c], name)) != NULL) - return (match); - - return (NULL); -} - static int zpool_do_attach_or_replace(int argc, char **argv, int replacing) { @@ -3926,7 +3900,7 @@ print_scan_status(pool_scan_stat_t *ps) */ if (ps->pss_state == DSS_FINISHED) { uint64_t minutes_taken = (end - start) / 60; - char *fmt; + char *fmt = NULL; if (ps->pss_func == POOL_SCAN_SCRUB) { fmt = gettext("scrub repaired %s in %lluh%um with " @@ -5560,7 +5534,7 @@ find_command_idx(char *command, int *idx int main(int argc, char **argv) { - int ret; + int ret = 0; int i; char *cmdname; Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Tue Mar 8 18:37:34 2016 (r296536) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c Tue Mar 8 18:39:39 2016 (r296537) @@ -22,6 +22,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013 by Delphix. All rights reserved. + * Copyright 2016 Igor Kozhukhov . */ /* @@ -588,7 +589,9 @@ get_replication(nvlist_t *nvroot, boolea uint_t c, children; nvlist_t *nv; char *type; - replication_level_t lastrep, rep, *ret; + replication_level_t lastrep = {0}; + replication_level_t rep; + replication_level_t *ret; boolean_t dontreport; ret = safe_malloc(sizeof (replication_level_t)); @@ -1080,7 +1083,7 @@ is_device_in_use(nvlist_t *config, nvlis nvlist_t **child; uint_t c, children; char *type, *path; - int ret; + int ret = 0; char buf[MAXPATHLEN]; uint64_t wholedisk; boolean_t anyinuse = B_FALSE; From owner-svn-src-all@freebsd.org Tue Mar 8 18:47:26 2016 Return-Path: Delivered-To: svn-src-all@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 19E4AAC7A32; Tue, 8 Mar 2016 18:47:26 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CC43FAF9; Tue, 8 Mar 2016 18:47:25 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28IlOXf078055; Tue, 8 Mar 2016 18:47:24 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28IlODA078054; Tue, 8 Mar 2016 18:47:24 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081847.u28IlODA078054@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:47:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296538 - vendor/illumos/dist/lib/libzfs/common X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:47:26 -0000 Author: mav Date: Tue Mar 8 18:47:24 2016 New Revision: 296538 URL: https://svnweb.freebsd.org/changeset/base/296538 Log: 6544 incorrect comment in libzfs.h about offline status Reviewed by: Matthew Ahrens Approved by: Dan McDonald Author: Gerhard Roethlin illumos/illumos-gate@cb605c4d8ab24b5a900b8b4ca85db65c22d05fad Modified: vendor/illumos/dist/lib/libzfs/common/libzfs.h Modified: vendor/illumos/dist/lib/libzfs/common/libzfs.h ============================================================================== --- vendor/illumos/dist/lib/libzfs/common/libzfs.h Tue Mar 8 18:39:39 2016 (r296537) +++ vendor/illumos/dist/lib/libzfs/common/libzfs.h Tue Mar 8 18:47:24 2016 (r296538) @@ -323,7 +323,7 @@ typedef enum { ZPOOL_STATUS_VERSION_OLDER, /* older legacy on-disk version */ ZPOOL_STATUS_FEAT_DISABLED, /* supported features are disabled */ ZPOOL_STATUS_RESILVERING, /* device being resilvered */ - ZPOOL_STATUS_OFFLINE_DEV, /* device online */ + ZPOOL_STATUS_OFFLINE_DEV, /* device offline */ ZPOOL_STATUS_REMOVED_DEV, /* removed device */ /* From owner-svn-src-all@freebsd.org Tue Mar 8 18:48:21 2016 Return-Path: Delivered-To: svn-src-all@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 5C599AC7A81; Tue, 8 Mar 2016 18:48:21 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2DE04C4B; Tue, 8 Mar 2016 18:48:21 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28ImKaB078141; Tue, 8 Mar 2016 18:48:20 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28ImK9G078140; Tue, 8 Mar 2016 18:48:20 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081848.u28ImK9G078140@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:48:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296539 - head/cddl/contrib/opensolaris/lib/libzfs/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:48:21 -0000 Author: mav Date: Tue Mar 8 18:48:20 2016 New Revision: 296539 URL: https://svnweb.freebsd.org/changeset/base/296539 Log: MFV r296538: 6544 incorrect comment in libzfs.h about offline status Reviewed by: Matthew Ahrens Approved by: Dan McDonald Author: Gerhard Roethlin illumos/illumos-gate@cb605c4d8ab24b5a900b8b4ca85db65c22d05fad Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Tue Mar 8 18:47:24 2016 (r296538) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Tue Mar 8 18:48:20 2016 (r296539) @@ -327,7 +327,7 @@ typedef enum { ZPOOL_STATUS_VERSION_OLDER, /* older legacy on-disk version */ ZPOOL_STATUS_FEAT_DISABLED, /* supported features are disabled */ ZPOOL_STATUS_RESILVERING, /* device being resilvered */ - ZPOOL_STATUS_OFFLINE_DEV, /* device online */ + ZPOOL_STATUS_OFFLINE_DEV, /* device offline */ ZPOOL_STATUS_REMOVED_DEV, /* removed device */ ZPOOL_STATUS_NON_NATIVE_ASHIFT, /* (e.g. 512e dev with ashift of 9) */ From owner-svn-src-all@freebsd.org Tue Mar 8 18:51:13 2016 Return-Path: Delivered-To: svn-src-all@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 C3D2BAC7C17; Tue, 8 Mar 2016 18:51:13 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 956108D; Tue, 8 Mar 2016 18:51:13 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28IpCd9081057; Tue, 8 Mar 2016 18:51:12 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28IpCv9081056; Tue, 8 Mar 2016 18:51:12 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081851.u28IpCv9081056@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:51:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296540 - vendor/illumos/dist/lib/libzfs/common X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:51:13 -0000 Author: mav Date: Tue Mar 8 18:51:12 2016 New Revision: 296540 URL: https://svnweb.freebsd.org/changeset/base/296540 Log: 4448 zfs diff misprints unicode characters Reviewed by: Igor Kozhukhov Reviewed by: Toomas Soome Approved by: Matthew Ahrens Author: Joshua M. Clulow illumos/illumos-gate@b211eb9181f99c20acbf4c528f94cb44b4ca8c31 Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_diff.c Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_diff.c ============================================================================== --- vendor/illumos/dist/lib/libzfs/common/libzfs_diff.c Tue Mar 8 18:48:20 2016 (r296539) +++ vendor/illumos/dist/lib/libzfs/common/libzfs_diff.c Tue Mar 8 18:51:12 2016 (r296540) @@ -22,6 +22,7 @@ /* * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2015 Nexenta Systems, Inc. All rights reserved. + * Copyright 2016 Joyent, Inc. */ /* @@ -138,11 +139,14 @@ get_stats_for_obj(differ_info_t *di, con static void stream_bytes(FILE *fp, const char *string) { - while (*string) { - if (*string > ' ' && *string != '\\' && *string < '\177') - (void) fprintf(fp, "%c", *string++); - else - (void) fprintf(fp, "\\%03o", *string++); + char c; + + while ((c = *string++) != '\0') { + if (c > ' ' && c != '\\' && c < '\177') { + (void) fprintf(fp, "%c", c); + } else { + (void) fprintf(fp, "\\%03o", (uint8_t)c); + } } } From owner-svn-src-all@freebsd.org Tue Mar 8 18:53:01 2016 Return-Path: Delivered-To: svn-src-all@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 BDC55AC7F90; Tue, 8 Mar 2016 18:53:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8F3F7EC3; Tue, 8 Mar 2016 18:53:01 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28Ir0PZ082420; Tue, 8 Mar 2016 18:53:00 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28Ir0UO082419; Tue, 8 Mar 2016 18:53:00 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603081853.u28Ir0UO082419@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 8 Mar 2016 18:53:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296541 - head/cddl/contrib/opensolaris/lib/libzfs/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 18:53:01 -0000 Author: mav Date: Tue Mar 8 18:53:00 2016 New Revision: 296541 URL: https://svnweb.freebsd.org/changeset/base/296541 Log: MFV r296540: 4448 zfs diff misprints unicode characters Reviewed by: Igor Kozhukhov Reviewed by: Toomas Soome Approved by: Matthew Ahrens Author: Joshua M. Clulow illumos/illumos-gate@b211eb9181f99c20acbf4c528f94cb44b4ca8c31 Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c Directory Properties: head/cddl/contrib/opensolaris/ (props changed) head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c Tue Mar 8 18:51:12 2016 (r296540) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c Tue Mar 8 18:53:00 2016 (r296541) @@ -22,6 +22,7 @@ /* * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2015 Nexenta Systems, Inc. All rights reserved. + * Copyright 2016 Joyent, Inc. */ /* @@ -136,12 +137,13 @@ get_stats_for_obj(differ_info_t *di, con static void stream_bytes(FILE *fp, const char *string) { - while (*string) { - if (*string > ' ' && *string != '\\' && *string < '\177') - (void) fprintf(fp, "%c", *string++); - else { - (void) fprintf(fp, "\\%03hho", - (unsigned char)*string++); + char c; + + while ((c = *string++) != '\0') { + if (c > ' ' && c != '\\' && c < '\177') { + (void) fprintf(fp, "%c", c); + } else { + (void) fprintf(fp, "\\%03o", (uint8_t)c); } } } From owner-svn-src-all@freebsd.org Tue Mar 8 19:08:57 2016 Return-Path: Delivered-To: svn-src-all@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 09210AC856B; Tue, 8 Mar 2016 19:08:57 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 CAC30183E; Tue, 8 Mar 2016 19:08:56 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28J8tMa085558; Tue, 8 Mar 2016 19:08:55 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28J8tH8085557; Tue, 8 Mar 2016 19:08:55 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201603081908.u28J8tH8085557@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Tue, 8 Mar 2016 19:08:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296542 - head/etc/rc.d X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 19:08:57 -0000 Author: dchagin Date: Tue Mar 8 19:08:55 2016 New Revision: 296542 URL: https://svnweb.freebsd.org/changeset/base/296542 Log: Load linux64 module for amd64 if Linux abi enabled. Reviewed by: emaste@ MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D5567 Modified: head/etc/rc.d/abi Modified: head/etc/rc.d/abi ============================================================================== --- head/etc/rc.d/abi Tue Mar 8 18:53:00 2016 (r296541) +++ head/etc/rc.d/abi Tue Mar 8 19:08:55 2016 (r296542) @@ -27,6 +27,11 @@ linux_start() echo -n ' linux' load_kld -e 'linux(aout|elf)' linux + case `sysctl -n hw.machine_arch` in + amd64) + load_kld -e 'linux64elf' linux64 + ;; + esac if [ -x /compat/linux/sbin/ldconfigDisabled ]; then _tmpdir=`mktemp -d -t linux-ldconfig` /compat/linux/sbin/ldconfig -C ${_tmpdir}/ld.so.cache From owner-svn-src-all@freebsd.org Tue Mar 8 19:20:59 2016 Return-Path: Delivered-To: svn-src-all@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 3635CAC8971; Tue, 8 Mar 2016 19:20:59 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 033EBAD; Tue, 8 Mar 2016 19:20:58 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28JKvGG088852; Tue, 8 Mar 2016 19:20:57 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28JKvbM088851; Tue, 8 Mar 2016 19:20:57 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201603081920.u28JKvbM088851@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Tue, 8 Mar 2016 19:20:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296543 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 19:20:59 -0000 Author: dchagin Date: Tue Mar 8 19:20:57 2016 New Revision: 296543 URL: https://svnweb.freebsd.org/changeset/base/296543 Log: Put a commit message from r296502 about Linux alarm() system call behaviour to the source. Suggested by: emaste@ MFC after: 1 week Modified: head/sys/compat/linux/linux_misc.c Modified: head/sys/compat/linux/linux_misc.c ============================================================================== --- head/sys/compat/linux/linux_misc.c Tue Mar 8 19:08:55 2016 (r296542) +++ head/sys/compat/linux/linux_misc.c Tue Mar 8 19:20:57 2016 (r296543) @@ -206,6 +206,11 @@ linux_alarm(struct thread *td, struct li it.it_value.tv_usec = 0; it.it_interval.tv_sec = 0; it.it_interval.tv_usec = 0; + /* + * According to POSIX and Linux implementation + * the alarm() system call is always successfull. + * Ignore errors and return 0 as a Linux do. + */ kern_setitimer(td, ITIMER_REAL, &it, &old_it); if (timevalisset(&old_it.it_value)) { if (old_it.it_value.tv_usec != 0) From owner-svn-src-all@freebsd.org Tue Mar 8 19:34:57 2016 Return-Path: Delivered-To: svn-src-all@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 83282AC8E08; Tue, 8 Mar 2016 19:34:57 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 47DAB922; Tue, 8 Mar 2016 19:34:57 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28JYuhq094892; Tue, 8 Mar 2016 19:34:56 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28JYuQr094891; Tue, 8 Mar 2016 19:34:56 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603081934.u28JYuQr094891@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 19:34:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296544 - head/sys/dev/cxgbe/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 19:34:57 -0000 Author: np Date: Tue Mar 8 19:34:56 2016 New Revision: 296544 URL: https://svnweb.freebsd.org/changeset/base/296544 Log: cxgbe(4): Reshuffle and rototill t4_hw.c, solely to reduce diffs with the internal shared code. Obtained from: Chelsio Communications Modified: head/sys/dev/cxgbe/common/t4_hw.c Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 19:20:57 2016 (r296543) +++ head/sys/dev/cxgbe/common/t4_hw.c Tue Mar 8 19:34:56 2016 (r296544) @@ -117,8 +117,8 @@ void t4_set_reg_field(struct adapter *ad * register pair. */ void t4_read_indirect(struct adapter *adap, unsigned int addr_reg, - unsigned int data_reg, u32 *vals, unsigned int nregs, - unsigned int start_idx) + unsigned int data_reg, u32 *vals, + unsigned int nregs, unsigned int start_idx) { while (nregs--) { t4_write_reg(adap, addr_reg, start_idx); @@ -3398,268 +3398,6 @@ int t4_fwcache(struct adapter *adap, enu return t4_wr_mbox(adap, adap->mbox, &c, sizeof(c), NULL); } -/** - * t4_read_cimq_cfg - read CIM queue configuration - * @adap: the adapter - * @base: holds the queue base addresses in bytes - * @size: holds the queue sizes in bytes - * @thres: holds the queue full thresholds in bytes - * - * Returns the current configuration of the CIM queues, starting with - * the IBQs, then the OBQs. - */ -void t4_read_cimq_cfg(struct adapter *adap, u16 *base, u16 *size, u16 *thres) -{ - unsigned int i, v; - - for (i = 0; i < CIM_NUM_IBQ; i++) { - t4_write_reg(adap, A_CIM_QUEUE_CONFIG_REF, F_IBQSELECT | - V_QUENUMSELECT(i)); - v = t4_read_reg(adap, A_CIM_QUEUE_CONFIG_CTRL); - *base++ = G_CIMQBASE(v) * 256; /* value is in 256-byte units */ - *size++ = G_CIMQSIZE(v) * 256; /* value is in 256-byte units */ - *thres++ = G_QUEFULLTHRSH(v) * 8; /* 8-byte unit */ - } - for (i = 0; i < adap->chip_params->cim_num_obq; i++) { - t4_write_reg(adap, A_CIM_QUEUE_CONFIG_REF, F_OBQSELECT | - V_QUENUMSELECT(i)); - v = t4_read_reg(adap, A_CIM_QUEUE_CONFIG_CTRL); - *base++ = G_CIMQBASE(v) * 256; /* value is in 256-byte units */ - *size++ = G_CIMQSIZE(v) * 256; /* value is in 256-byte units */ - } -} - -/** - * t4_read_cim_ibq - read the contents of a CIM inbound queue - * @adap: the adapter - * @qid: the queue index - * @data: where to store the queue contents - * @n: capacity of @data in 32-bit words - * - * Reads the contents of the selected CIM queue starting at address 0 up - * to the capacity of @data. @n must be a multiple of 4. Returns < 0 on - * error and the number of 32-bit words actually read on success. - */ -int t4_read_cim_ibq(struct adapter *adap, unsigned int qid, u32 *data, size_t n) -{ - int i, err; - unsigned int addr; - const unsigned int nwords = CIM_IBQ_SIZE * 4; - - if (qid > 5 || (n & 3)) - return -EINVAL; - - addr = qid * nwords; - if (n > nwords) - n = nwords; - - for (i = 0; i < n; i++, addr++) { - t4_write_reg(adap, A_CIM_IBQ_DBG_CFG, V_IBQDBGADDR(addr) | - F_IBQDBGEN); - /* - * It might take 3-10ms before the IBQ debug read access is - * allowed. Wait for 1 Sec with a delay of 1 usec. - */ - err = t4_wait_op_done(adap, A_CIM_IBQ_DBG_CFG, F_IBQDBGBUSY, 0, - 1000000, 1); - if (err) - return err; - *data++ = t4_read_reg(adap, A_CIM_IBQ_DBG_DATA); - } - t4_write_reg(adap, A_CIM_IBQ_DBG_CFG, 0); - return i; -} - -/** - * t4_read_cim_obq - read the contents of a CIM outbound queue - * @adap: the adapter - * @qid: the queue index - * @data: where to store the queue contents - * @n: capacity of @data in 32-bit words - * - * Reads the contents of the selected CIM queue starting at address 0 up - * to the capacity of @data. @n must be a multiple of 4. Returns < 0 on - * error and the number of 32-bit words actually read on success. - */ -int t4_read_cim_obq(struct adapter *adap, unsigned int qid, u32 *data, size_t n) -{ - int i, err; - unsigned int addr, v, nwords; - - if (qid >= adap->chip_params->cim_num_obq || (n & 3)) - return -EINVAL; - - t4_write_reg(adap, A_CIM_QUEUE_CONFIG_REF, F_OBQSELECT | - V_QUENUMSELECT(qid)); - v = t4_read_reg(adap, A_CIM_QUEUE_CONFIG_CTRL); - - addr = G_CIMQBASE(v) * 64; /* muliple of 256 -> muliple of 4 */ - nwords = G_CIMQSIZE(v) * 64; /* same */ - if (n > nwords) - n = nwords; - - for (i = 0; i < n; i++, addr++) { - t4_write_reg(adap, A_CIM_OBQ_DBG_CFG, V_OBQDBGADDR(addr) | - F_OBQDBGEN); - err = t4_wait_op_done(adap, A_CIM_OBQ_DBG_CFG, F_OBQDBGBUSY, 0, - 2, 1); - if (err) - return err; - *data++ = t4_read_reg(adap, A_CIM_OBQ_DBG_DATA); - } - t4_write_reg(adap, A_CIM_OBQ_DBG_CFG, 0); - return i; -} - -enum { - CIM_QCTL_BASE = 0, - CIM_CTL_BASE = 0x2000, - CIM_PBT_ADDR_BASE = 0x2800, - CIM_PBT_LRF_BASE = 0x3000, - CIM_PBT_DATA_BASE = 0x3800 -}; - -/** - * t4_cim_read - read a block from CIM internal address space - * @adap: the adapter - * @addr: the start address within the CIM address space - * @n: number of words to read - * @valp: where to store the result - * - * Reads a block of 4-byte words from the CIM intenal address space. - */ -int t4_cim_read(struct adapter *adap, unsigned int addr, unsigned int n, - unsigned int *valp) -{ - int ret = 0; - - if (t4_read_reg(adap, A_CIM_HOST_ACC_CTRL) & F_HOSTBUSY) - return -EBUSY; - - for ( ; !ret && n--; addr += 4) { - t4_write_reg(adap, A_CIM_HOST_ACC_CTRL, addr); - ret = t4_wait_op_done(adap, A_CIM_HOST_ACC_CTRL, F_HOSTBUSY, - 0, 5, 2); - if (!ret) - *valp++ = t4_read_reg(adap, A_CIM_HOST_ACC_DATA); - } - return ret; -} - -/** - * t4_cim_write - write a block into CIM internal address space - * @adap: the adapter - * @addr: the start address within the CIM address space - * @n: number of words to write - * @valp: set of values to write - * - * Writes a block of 4-byte words into the CIM intenal address space. - */ -int t4_cim_write(struct adapter *adap, unsigned int addr, unsigned int n, - const unsigned int *valp) -{ - int ret = 0; - - if (t4_read_reg(adap, A_CIM_HOST_ACC_CTRL) & F_HOSTBUSY) - return -EBUSY; - - for ( ; !ret && n--; addr += 4) { - t4_write_reg(adap, A_CIM_HOST_ACC_DATA, *valp++); - t4_write_reg(adap, A_CIM_HOST_ACC_CTRL, addr | F_HOSTWRITE); - ret = t4_wait_op_done(adap, A_CIM_HOST_ACC_CTRL, F_HOSTBUSY, - 0, 5, 2); - } - return ret; -} - -static int t4_cim_write1(struct adapter *adap, unsigned int addr, unsigned int val) -{ - return t4_cim_write(adap, addr, 1, &val); -} - -/** - * t4_cim_ctl_read - read a block from CIM control region - * @adap: the adapter - * @addr: the start address within the CIM control region - * @n: number of words to read - * @valp: where to store the result - * - * Reads a block of 4-byte words from the CIM control region. - */ -int t4_cim_ctl_read(struct adapter *adap, unsigned int addr, unsigned int n, - unsigned int *valp) -{ - return t4_cim_read(adap, addr + CIM_CTL_BASE, n, valp); -} - -/** - * t4_cim_read_la - read CIM LA capture buffer - * @adap: the adapter - * @la_buf: where to store the LA data - * @wrptr: the HW write pointer within the capture buffer - * - * Reads the contents of the CIM LA buffer with the most recent entry at - * the end of the returned data and with the entry at @wrptr first. - * We try to leave the LA in the running state we find it in. - */ -int t4_cim_read_la(struct adapter *adap, u32 *la_buf, unsigned int *wrptr) -{ - int i, ret; - unsigned int cfg, val, idx; - - ret = t4_cim_read(adap, A_UP_UP_DBG_LA_CFG, 1, &cfg); - if (ret) - return ret; - - if (cfg & F_UPDBGLAEN) { /* LA is running, freeze it */ - ret = t4_cim_write1(adap, A_UP_UP_DBG_LA_CFG, 0); - if (ret) - return ret; - } - - ret = t4_cim_read(adap, A_UP_UP_DBG_LA_CFG, 1, &val); - if (ret) - goto restart; - - idx = G_UPDBGLAWRPTR(val); - if (wrptr) - *wrptr = idx; - - for (i = 0; i < adap->params.cim_la_size; i++) { - ret = t4_cim_write1(adap, A_UP_UP_DBG_LA_CFG, - V_UPDBGLARDPTR(idx) | F_UPDBGLARDEN); - if (ret) - break; - ret = t4_cim_read(adap, A_UP_UP_DBG_LA_CFG, 1, &val); - if (ret) - break; - if (val & F_UPDBGLARDEN) { - ret = -ETIMEDOUT; - break; - } - ret = t4_cim_read(adap, A_UP_UP_DBG_LA_DATA, 1, &la_buf[i]); - if (ret) - break; - /* address can't exceed 0xfff (UpDbgLaRdPtr is of 12-bits) */ - idx = (idx + 1) & M_UPDBGLARDPTR; - /* - * Bits 0-3 of UpDbgLaRdPtr can be between 0000 to 1001 to - * identify the 32-bit portion of the full 312-bit data - */ - if (is_t6(adap)) - while ((idx & 0xf) > 9) - idx = (idx + 1) % M_UPDBGLARDPTR; - } -restart: - if (cfg & F_UPDBGLAEN) { - int r = t4_cim_write1(adap, A_UP_UP_DBG_LA_CFG, - cfg & ~F_UPDBGLARDEN); - if (!ret) - ret = r; - } - return ret; -} - void t4_cim_read_pif_la(struct adapter *adap, u32 *pif_req, u32 *pif_rsp, unsigned int *pif_req_wrptr, unsigned int *pif_rsp_wrptr) @@ -3715,53 +3453,6 @@ void t4_cim_read_ma_la(struct adapter *a t4_write_reg(adap, A_CIM_DEBUGCFG, cfg); } -/** - * t4_tp_read_la - read TP LA capture buffer - * @adap: the adapter - * @la_buf: where to store the LA data - * @wrptr: the HW write pointer within the capture buffer - * - * Reads the contents of the TP LA buffer with the most recent entry at - * the end of the returned data and with the entry at @wrptr first. - * We leave the LA in the running state we find it in. - */ -void t4_tp_read_la(struct adapter *adap, u64 *la_buf, unsigned int *wrptr) -{ - bool last_incomplete; - unsigned int i, cfg, val, idx; - - cfg = t4_read_reg(adap, A_TP_DBG_LA_CONFIG) & 0xffff; - if (cfg & F_DBGLAENABLE) /* freeze LA */ - t4_write_reg(adap, A_TP_DBG_LA_CONFIG, - adap->params.tp.la_mask | (cfg ^ F_DBGLAENABLE)); - - val = t4_read_reg(adap, A_TP_DBG_LA_CONFIG); - idx = G_DBGLAWPTR(val); - last_incomplete = G_DBGLAMODE(val) >= 2 && (val & F_DBGLAWHLF) == 0; - if (last_incomplete) - idx = (idx + 1) & M_DBGLARPTR; - if (wrptr) - *wrptr = idx; - - val &= 0xffff; - val &= ~V_DBGLARPTR(M_DBGLARPTR); - val |= adap->params.tp.la_mask; - - for (i = 0; i < TPLA_SIZE; i++) { - t4_write_reg(adap, A_TP_DBG_LA_CONFIG, V_DBGLARPTR(idx) | val); - la_buf[i] = t4_read_reg64(adap, A_TP_DBG_LA_DATAL); - idx = (idx + 1) & M_DBGLARPTR; - } - - /* Wipe out last entry if it isn't valid */ - if (last_incomplete) - la_buf[TPLA_SIZE - 1] = ~0ULL; - - if (cfg & F_DBGLAENABLE) /* restore running state */ - t4_write_reg(adap, A_TP_DBG_LA_CONFIG, - cfg | adap->params.tp.la_mask); -} - void t4_ulprx_read_la(struct adapter *adap, u32 *la_buf) { unsigned int i, j; @@ -3807,19 +3498,22 @@ int t4_link_l1cfg(struct adapter *adap, fc |= FW_PORT_CAP_FC_TX; memset(&c, 0, sizeof(c)); - c.op_to_portid = htonl(V_FW_CMD_OP(FW_PORT_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_EXEC | V_FW_PORT_CMD_PORTID(port)); - c.action_to_len16 = htonl(V_FW_PORT_CMD_ACTION(FW_PORT_ACTION_L1_CFG) | - FW_LEN16(c)); + c.op_to_portid = cpu_to_be32(V_FW_CMD_OP(FW_PORT_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_EXEC | + V_FW_PORT_CMD_PORTID(port)); + c.action_to_len16 = + cpu_to_be32(V_FW_PORT_CMD_ACTION(FW_PORT_ACTION_L1_CFG) | + FW_LEN16(c)); if (!(lc->supported & FW_PORT_CAP_ANEG)) { - c.u.l1cfg.rcap = htonl((lc->supported & ADVERT_MASK) | fc); + c.u.l1cfg.rcap = cpu_to_be32((lc->supported & ADVERT_MASK) | + fc); lc->fc = lc->requested_fc & (PAUSE_RX | PAUSE_TX); } else if (lc->autoneg == AUTONEG_DISABLE) { - c.u.l1cfg.rcap = htonl(lc->requested_speed | fc | mdi); + c.u.l1cfg.rcap = cpu_to_be32(lc->requested_speed | fc | mdi); lc->fc = lc->requested_fc & (PAUSE_RX | PAUSE_TX); } else - c.u.l1cfg.rcap = htonl(lc->advertising | fc | mdi); + c.u.l1cfg.rcap = cpu_to_be32(lc->advertising | fc | mdi); return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); } @@ -3837,11 +3531,13 @@ int t4_restart_aneg(struct adapter *adap struct fw_port_cmd c; memset(&c, 0, sizeof(c)); - c.op_to_portid = htonl(V_FW_CMD_OP(FW_PORT_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_EXEC | V_FW_PORT_CMD_PORTID(port)); - c.action_to_len16 = htonl(V_FW_PORT_CMD_ACTION(FW_PORT_ACTION_L1_CFG) | - FW_LEN16(c)); - c.u.l1cfg.rcap = htonl(FW_PORT_CAP_ANEG); + c.op_to_portid = cpu_to_be32(V_FW_CMD_OP(FW_PORT_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_EXEC | + V_FW_PORT_CMD_PORTID(port)); + c.action_to_len16 = + cpu_to_be32(V_FW_PORT_CMD_ACTION(FW_PORT_ACTION_L1_CFG) | + FW_LEN16(c)); + c.u.l1cfg.rcap = cpu_to_be32(FW_PORT_CAP_ANEG); return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); } @@ -4750,11 +4446,10 @@ int t4_config_rss_range(struct adapter * struct fw_rss_ind_tbl_cmd cmd; memset(&cmd, 0, sizeof(cmd)); - cmd.op_to_viid = htonl(V_FW_CMD_OP(FW_RSS_IND_TBL_CMD) | - F_FW_CMD_REQUEST | F_FW_CMD_WRITE | - V_FW_RSS_IND_TBL_CMD_VIID(viid)); - cmd.retval_len16 = htonl(FW_LEN16(cmd)); - + cmd.op_to_viid = cpu_to_be32(V_FW_CMD_OP(FW_RSS_IND_TBL_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_WRITE | + V_FW_RSS_IND_TBL_CMD_VIID(viid)); + cmd.retval_len16 = cpu_to_be32(FW_LEN16(cmd)); /* * Each firmware RSS command can accommodate up to 32 RSS Ingress @@ -4771,8 +4466,8 @@ int t4_config_rss_range(struct adapter * * Set up the firmware RSS command header to send the next * "nq" Ingress Queue IDs to the firmware. */ - cmd.niqid = htons(nq); - cmd.startidx = htons(start); + cmd.niqid = cpu_to_be16(nq); + cmd.startidx = cpu_to_be16(start); /* * "nq" more done for the start of the next loop. @@ -4818,7 +4513,6 @@ int t4_config_rss_range(struct adapter * if (ret) return ret; } - return 0; } @@ -4837,15 +4531,16 @@ int t4_config_glbl_rss(struct adapter *a struct fw_rss_glb_config_cmd c; memset(&c, 0, sizeof(c)); - c.op_to_write = htonl(V_FW_CMD_OP(FW_RSS_GLB_CONFIG_CMD) | - F_FW_CMD_REQUEST | F_FW_CMD_WRITE); - c.retval_len16 = htonl(FW_LEN16(c)); + c.op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_RSS_GLB_CONFIG_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_WRITE); + c.retval_len16 = cpu_to_be32(FW_LEN16(c)); if (mode == FW_RSS_GLB_CONFIG_CMD_MODE_MANUAL) { - c.u.manual.mode_pkd = htonl(V_FW_RSS_GLB_CONFIG_CMD_MODE(mode)); + c.u.manual.mode_pkd = + cpu_to_be32(V_FW_RSS_GLB_CONFIG_CMD_MODE(mode)); } else if (mode == FW_RSS_GLB_CONFIG_CMD_MODE_BASICVIRTUAL) { c.u.basicvirtual.mode_pkd = - htonl(V_FW_RSS_GLB_CONFIG_CMD_MODE(mode)); - c.u.basicvirtual.synmapen_to_hashtoeplitz = htonl(flags); + cpu_to_be32(V_FW_RSS_GLB_CONFIG_CMD_MODE(mode)); + c.u.basicvirtual.synmapen_to_hashtoeplitz = cpu_to_be32(flags); } else return -EINVAL; return t4_wr_mbox(adapter, mbox, &c, sizeof(c), NULL); @@ -4867,11 +4562,11 @@ int t4_config_vi_rss(struct adapter *ada struct fw_rss_vi_config_cmd c; memset(&c, 0, sizeof(c)); - c.op_to_viid = htonl(V_FW_CMD_OP(FW_RSS_VI_CONFIG_CMD) | - F_FW_CMD_REQUEST | F_FW_CMD_WRITE | - V_FW_RSS_VI_CONFIG_CMD_VIID(viid)); - c.retval_len16 = htonl(FW_LEN16(c)); - c.u.basicvirtual.defaultq_to_udpen = htonl(flags | + c.op_to_viid = cpu_to_be32(V_FW_CMD_OP(FW_RSS_VI_CONFIG_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_WRITE | + V_FW_RSS_VI_CONFIG_CMD_VIID(viid)); + c.retval_len16 = cpu_to_be32(FW_LEN16(c)); + c.u.basicvirtual.defaultq_to_udpen = cpu_to_be32(flags | V_FW_RSS_VI_CONFIG_CMD_DEFAULTQ(defq)); return t4_wr_mbox(adapter, mbox, &c, sizeof(c), NULL); } @@ -5398,24 +5093,6 @@ void t4_read_cong_tbl(struct adapter *ad } /** - * t4_read_pace_tbl - read the pace table - * @adap: the adapter - * @pace_vals: holds the returned values - * - * Returns the values of TP's pace table in microseconds. - */ -void t4_read_pace_tbl(struct adapter *adap, unsigned int pace_vals[NTX_SCHED]) -{ - unsigned int i, v; - - for (i = 0; i < NTX_SCHED; i++) { - t4_write_reg(adap, A_TP_PACE_TABLE, 0xffff0000 + i); - v = t4_read_reg(adap, A_TP_PACE_TABLE); - pace_vals[i] = dack_ticks_to_usec(adap, v); - } -} - -/** * t4_tp_wr_bits_indirect - set/clear bits in an indirect TP register * @adap: the adapter * @addr: the indirect TP register address @@ -5540,7 +5217,7 @@ int t4_set_pace_tbl(struct adapter *adap if (n > NTX_SCHED) return -ERANGE; - + /* convert values from us to dack ticks, rounding to closest value */ for (i = 0; i < n; i++, pace_vals++) { vals[i] = (1000 * *pace_vals + tick_ns / 2) / tick_ns; @@ -5627,46 +5304,6 @@ int t4_set_sched_ipg(struct adapter *ada return 0; } -/** - * t4_get_tx_sched - get the configuration of a Tx HW traffic scheduler - * @adap: the adapter - * @sched: the scheduler index - * @kbps: the byte rate in Kbps - * @ipg: the interpacket delay in tenths of nanoseconds - * - * Return the current configuration of a HW Tx scheduler. - */ -void t4_get_tx_sched(struct adapter *adap, unsigned int sched, unsigned int *kbps, - unsigned int *ipg) -{ - unsigned int v, addr, bpt, cpt; - - if (kbps) { - addr = A_TP_TX_MOD_Q1_Q0_RATE_LIMIT - sched / 2; - t4_write_reg(adap, A_TP_TM_PIO_ADDR, addr); - v = t4_read_reg(adap, A_TP_TM_PIO_DATA); - if (sched & 1) - v >>= 16; - bpt = (v >> 8) & 0xff; - cpt = v & 0xff; - if (!cpt) - *kbps = 0; /* scheduler disabled */ - else { - v = (adap->params.vpd.cclk * 1000) / cpt; /* ticks/s */ - *kbps = (v * bpt) / 125; - } - } - if (ipg) { - addr = A_TP_TX_MOD_Q1_Q0_TIMER_SEPARATOR - sched / 2; - t4_write_reg(adap, A_TP_TM_PIO_ADDR, addr); - v = t4_read_reg(adap, A_TP_TM_PIO_DATA); - if (sched & 1) - v >>= 16; - v &= 0xffff; - *ipg = (10000 * v) / core_ticks_per_usec(adap); - } -} - /* * Calculates a rate in bytes/s given the number of 256-byte units per 4K core * clocks. The formula is @@ -5746,10 +5383,10 @@ int t4_set_trace_filter(struct adapter * * TODO - After T4 data book is updated, specify the exact * section below. * - * See T4 data book - MPS section for a complete description - * of the below if..else handling of A_MPS_TRC_CFG register + * See T4 data book - MPS section for a complete description + * of the below if..else handling of A_MPS_TRC_CFG register * value. - */ + */ cfg = t4_read_reg(adap, A_MPS_TRC_CFG); if (cfg & F_TRCMULTIFILTER) { /* @@ -5758,10 +5395,10 @@ int t4_set_trace_filter(struct adapter * * minus 2 flits for CPL_TRACE_PKT header. */ if (tp->snap_len > ((10 * 1024 / 4) - (2 * 8))) - return -EINVAL; + return -EINVAL; } else { /* - * If multiple tracers are disabled, to avoid deadlocks + * If multiple tracers are disabled, to avoid deadlocks * maximum packet capture size of 9600 bytes is recommended. * Also in this mode, only trace0 can be enabled and running. */ @@ -5884,9 +5521,9 @@ void t4_pmrx_get_stats(struct adapter *a for (i = 0; i < adap->chip_params->pm_stats_cnt; i++) { t4_write_reg(adap, A_PM_RX_STAT_CONFIG, i + 1); cnt[i] = t4_read_reg(adap, A_PM_RX_STAT_COUNT); - if (is_t4(adap)) + if (is_t4(adap)) { cycles[i] = t4_read_reg64(adap, A_PM_RX_STAT_LSB); - else { + } else { t4_read_indirect(adap, A_PM_RX_DBG_CTRL, A_PM_RX_DBG_DATA, data, 2, A_PM_RX_DBG_STAT_MSB); @@ -5916,12 +5553,12 @@ static unsigned int t4_get_mps_bg_map(st } /** - * t4_get_port_type_description - return Port Type string description - * @port_type: firmware Port Type enumeration + * t4_get_port_type_description - return Port Type string description + * @port_type: firmware Port Type enumeration */ const char *t4_get_port_type_description(enum fw_port_type port_type) { - static const char *port_type_description[] = { + static const char *const port_type_description[] = { "Fiber_XFI", "Fiber_XAUI", "BT_SGMII", @@ -5935,7 +5572,7 @@ const char *t4_get_port_type_description "BP_AP", "BP4_AP", "QSFP_10G", - "", + "QSA", "QSFP", "BP40_BA", }; @@ -5947,7 +5584,7 @@ const char *t4_get_port_type_description /** * t4_get_port_stats_offset - collect port stats relative to a previous - * snapshot + * snapshot * @adap: The adapter * @idx: The port * @stats: Current stats to fill @@ -5985,57 +5622,57 @@ void t4_get_port_stats(struct adapter *a T5_PORT_REG(idx, A_MPS_PORT_STAT_##name##_L))) #define GET_STAT_COM(name) t4_read_reg64(adap, A_MPS_STAT_##name##_L) - p->tx_pause = GET_STAT(TX_PORT_PAUSE); - p->tx_octets = GET_STAT(TX_PORT_BYTES); - p->tx_frames = GET_STAT(TX_PORT_FRAMES); - p->tx_bcast_frames = GET_STAT(TX_PORT_BCAST); - p->tx_mcast_frames = GET_STAT(TX_PORT_MCAST); - p->tx_ucast_frames = GET_STAT(TX_PORT_UCAST); - p->tx_error_frames = GET_STAT(TX_PORT_ERROR); - p->tx_frames_64 = GET_STAT(TX_PORT_64B); - p->tx_frames_65_127 = GET_STAT(TX_PORT_65B_127B); - p->tx_frames_128_255 = GET_STAT(TX_PORT_128B_255B); - p->tx_frames_256_511 = GET_STAT(TX_PORT_256B_511B); - p->tx_frames_512_1023 = GET_STAT(TX_PORT_512B_1023B); - p->tx_frames_1024_1518 = GET_STAT(TX_PORT_1024B_1518B); - p->tx_frames_1519_max = GET_STAT(TX_PORT_1519B_MAX); - p->tx_drop = GET_STAT(TX_PORT_DROP); - p->tx_ppp0 = GET_STAT(TX_PORT_PPP0); - p->tx_ppp1 = GET_STAT(TX_PORT_PPP1); - p->tx_ppp2 = GET_STAT(TX_PORT_PPP2); - p->tx_ppp3 = GET_STAT(TX_PORT_PPP3); - p->tx_ppp4 = GET_STAT(TX_PORT_PPP4); - p->tx_ppp5 = GET_STAT(TX_PORT_PPP5); - p->tx_ppp6 = GET_STAT(TX_PORT_PPP6); - p->tx_ppp7 = GET_STAT(TX_PORT_PPP7); - - p->rx_pause = GET_STAT(RX_PORT_PAUSE); - p->rx_octets = GET_STAT(RX_PORT_BYTES); - p->rx_frames = GET_STAT(RX_PORT_FRAMES); - p->rx_bcast_frames = GET_STAT(RX_PORT_BCAST); - p->rx_mcast_frames = GET_STAT(RX_PORT_MCAST); - p->rx_ucast_frames = GET_STAT(RX_PORT_UCAST); - p->rx_too_long = GET_STAT(RX_PORT_MTU_ERROR); - p->rx_jabber = GET_STAT(RX_PORT_MTU_CRC_ERROR); - p->rx_fcs_err = GET_STAT(RX_PORT_CRC_ERROR); - p->rx_len_err = GET_STAT(RX_PORT_LEN_ERROR); - p->rx_symbol_err = GET_STAT(RX_PORT_SYM_ERROR); - p->rx_runt = GET_STAT(RX_PORT_LESS_64B); - p->rx_frames_64 = GET_STAT(RX_PORT_64B); - p->rx_frames_65_127 = GET_STAT(RX_PORT_65B_127B); - p->rx_frames_128_255 = GET_STAT(RX_PORT_128B_255B); - p->rx_frames_256_511 = GET_STAT(RX_PORT_256B_511B); - p->rx_frames_512_1023 = GET_STAT(RX_PORT_512B_1023B); - p->rx_frames_1024_1518 = GET_STAT(RX_PORT_1024B_1518B); - p->rx_frames_1519_max = GET_STAT(RX_PORT_1519B_MAX); - p->rx_ppp0 = GET_STAT(RX_PORT_PPP0); - p->rx_ppp1 = GET_STAT(RX_PORT_PPP1); - p->rx_ppp2 = GET_STAT(RX_PORT_PPP2); - p->rx_ppp3 = GET_STAT(RX_PORT_PPP3); - p->rx_ppp4 = GET_STAT(RX_PORT_PPP4); - p->rx_ppp5 = GET_STAT(RX_PORT_PPP5); - p->rx_ppp6 = GET_STAT(RX_PORT_PPP6); - p->rx_ppp7 = GET_STAT(RX_PORT_PPP7); + p->tx_pause = GET_STAT(TX_PORT_PAUSE); + p->tx_octets = GET_STAT(TX_PORT_BYTES); + p->tx_frames = GET_STAT(TX_PORT_FRAMES); + p->tx_bcast_frames = GET_STAT(TX_PORT_BCAST); + p->tx_mcast_frames = GET_STAT(TX_PORT_MCAST); + p->tx_ucast_frames = GET_STAT(TX_PORT_UCAST); + p->tx_error_frames = GET_STAT(TX_PORT_ERROR); + p->tx_frames_64 = GET_STAT(TX_PORT_64B); + p->tx_frames_65_127 = GET_STAT(TX_PORT_65B_127B); + p->tx_frames_128_255 = GET_STAT(TX_PORT_128B_255B); + p->tx_frames_256_511 = GET_STAT(TX_PORT_256B_511B); + p->tx_frames_512_1023 = GET_STAT(TX_PORT_512B_1023B); + p->tx_frames_1024_1518 = GET_STAT(TX_PORT_1024B_1518B); + p->tx_frames_1519_max = GET_STAT(TX_PORT_1519B_MAX); + p->tx_drop = GET_STAT(TX_PORT_DROP); + p->tx_ppp0 = GET_STAT(TX_PORT_PPP0); + p->tx_ppp1 = GET_STAT(TX_PORT_PPP1); + p->tx_ppp2 = GET_STAT(TX_PORT_PPP2); + p->tx_ppp3 = GET_STAT(TX_PORT_PPP3); + p->tx_ppp4 = GET_STAT(TX_PORT_PPP4); + p->tx_ppp5 = GET_STAT(TX_PORT_PPP5); + p->tx_ppp6 = GET_STAT(TX_PORT_PPP6); + p->tx_ppp7 = GET_STAT(TX_PORT_PPP7); + + p->rx_pause = GET_STAT(RX_PORT_PAUSE); + p->rx_octets = GET_STAT(RX_PORT_BYTES); + p->rx_frames = GET_STAT(RX_PORT_FRAMES); + p->rx_bcast_frames = GET_STAT(RX_PORT_BCAST); + p->rx_mcast_frames = GET_STAT(RX_PORT_MCAST); + p->rx_ucast_frames = GET_STAT(RX_PORT_UCAST); + p->rx_too_long = GET_STAT(RX_PORT_MTU_ERROR); + p->rx_jabber = GET_STAT(RX_PORT_MTU_CRC_ERROR); + p->rx_fcs_err = GET_STAT(RX_PORT_CRC_ERROR); + p->rx_len_err = GET_STAT(RX_PORT_LEN_ERROR); + p->rx_symbol_err = GET_STAT(RX_PORT_SYM_ERROR); + p->rx_runt = GET_STAT(RX_PORT_LESS_64B); + p->rx_frames_64 = GET_STAT(RX_PORT_64B); + p->rx_frames_65_127 = GET_STAT(RX_PORT_65B_127B); + p->rx_frames_128_255 = GET_STAT(RX_PORT_128B_255B); + p->rx_frames_256_511 = GET_STAT(RX_PORT_256B_511B); + p->rx_frames_512_1023 = GET_STAT(RX_PORT_512B_1023B); + p->rx_frames_1024_1518 = GET_STAT(RX_PORT_1024B_1518B); + p->rx_frames_1519_max = GET_STAT(RX_PORT_1519B_MAX); + p->rx_ppp0 = GET_STAT(RX_PORT_PPP0); + p->rx_ppp1 = GET_STAT(RX_PORT_PPP1); + p->rx_ppp2 = GET_STAT(RX_PORT_PPP2); + p->rx_ppp3 = GET_STAT(RX_PORT_PPP3); + p->rx_ppp4 = GET_STAT(RX_PORT_PPP4); + p->rx_ppp5 = GET_STAT(RX_PORT_PPP5); + p->rx_ppp6 = GET_STAT(RX_PORT_PPP6); + p->rx_ppp7 = GET_STAT(RX_PORT_PPP7); p->rx_ovflow0 = (bgmap & 1) ? GET_STAT_COM(RX_BG_0_MAC_DROP_FRAME) : 0; p->rx_ovflow1 = (bgmap & 2) ? GET_STAT_COM(RX_BG_1_MAC_DROP_FRAME) : 0; @@ -6051,39 +5688,6 @@ void t4_get_port_stats(struct adapter *a } /** - * t4_clr_port_stats - clear port statistics - * @adap: the adapter - * @idx: the port index - * - * Clear HW statistics for the given port. - */ -void t4_clr_port_stats(struct adapter *adap, int idx) -{ - unsigned int i; - u32 bgmap = t4_get_mps_bg_map(adap, idx); - u32 port_base_addr; - - if (is_t4(adap)) - port_base_addr = PORT_BASE(idx); - else - port_base_addr = T5_PORT_BASE(idx); - - for (i = A_MPS_PORT_STAT_TX_PORT_BYTES_L; - i <= A_MPS_PORT_STAT_TX_PORT_PPP7_H; i += 8) - t4_write_reg(adap, port_base_addr + i, 0); - for (i = A_MPS_PORT_STAT_RX_PORT_BYTES_L; - i <= A_MPS_PORT_STAT_RX_PORT_LESS_64B_H; i += 8) - t4_write_reg(adap, port_base_addr + i, 0); - for (i = 0; i < 4; i++) - if (bgmap & (1 << i)) { - t4_write_reg(adap, - A_MPS_STAT_RX_BG_0_MAC_DROP_FRAME_L + i * 8, 0); - t4_write_reg(adap, - A_MPS_STAT_RX_BG_0_MAC_TRUNC_FRAME_L + i * 8, 0); - } -} - -/** * t4_get_lb_stats - collect loopback port statistics * @adap: the adapter * @idx: the loopback port index @@ -6102,21 +5706,21 @@ void t4_get_lb_stats(struct adapter *ada T5_PORT_REG(idx, A_MPS_PORT_STAT_LB_PORT_##name##_L))) #define GET_STAT_COM(name) t4_read_reg64(adap, A_MPS_STAT_##name##_L) - p->octets = GET_STAT(BYTES); - p->frames = GET_STAT(FRAMES); - p->bcast_frames = GET_STAT(BCAST); - p->mcast_frames = GET_STAT(MCAST); - p->ucast_frames = GET_STAT(UCAST); - p->error_frames = GET_STAT(ERROR); - - p->frames_64 = GET_STAT(64B); - p->frames_65_127 = GET_STAT(65B_127B); - p->frames_128_255 = GET_STAT(128B_255B); - p->frames_256_511 = GET_STAT(256B_511B); - p->frames_512_1023 = GET_STAT(512B_1023B); - p->frames_1024_1518 = GET_STAT(1024B_1518B); - p->frames_1519_max = GET_STAT(1519B_MAX); - p->drop = GET_STAT(DROP_FRAMES); + p->octets = GET_STAT(BYTES); + p->frames = GET_STAT(FRAMES); + p->bcast_frames = GET_STAT(BCAST); + p->mcast_frames = GET_STAT(MCAST); + p->ucast_frames = GET_STAT(UCAST); + p->error_frames = GET_STAT(ERROR); + + p->frames_64 = GET_STAT(64B); + p->frames_65_127 = GET_STAT(65B_127B); + p->frames_128_255 = GET_STAT(128B_255B); + p->frames_256_511 = GET_STAT(256B_511B); + p->frames_512_1023 = GET_STAT(512B_1023B); + p->frames_1024_1518 = GET_STAT(1024B_1518B); + p->frames_1519_max = GET_STAT(1519B_MAX); + p->drop = GET_STAT(DROP_FRAMES); p->ovflow0 = (bgmap & 1) ? GET_STAT_COM(RX_BG_0_LB_DROP_FRAME) : 0; p->ovflow1 = (bgmap & 2) ? GET_STAT_COM(RX_BG_1_LB_DROP_FRAME) : 0; @@ -6230,43 +5834,49 @@ int t4_wol_pat_enable(struct adapter *ad return 0; } -/** - * t4_mk_filtdelwr - create a delete filter WR - * @ftid: the filter ID - * @wr: the filter work request to populate - * @qid: ingress queue to receive the delete notification +/* t4_mk_filtdelwr - create a delete filter WR + * @ftid: the filter ID + * @wr: the filter work request to populate + * @qid: ingress queue to receive the delete notification * - * Creates a filter work request to delete the supplied filter. If @qid is - * negative the delete notification is suppressed. + * Creates a filter work request to delete the supplied filter. If @qid is + * negative the delete notification is suppressed. */ void t4_mk_filtdelwr(unsigned int ftid, struct fw_filter_wr *wr, int qid) { memset(wr, 0, sizeof(*wr)); - wr->op_pkd = htonl(V_FW_WR_OP(FW_FILTER_WR)); - wr->len16_pkd = htonl(V_FW_WR_LEN16(sizeof(*wr) / 16)); - wr->tid_to_iq = htonl(V_FW_FILTER_WR_TID(ftid) | - V_FW_FILTER_WR_NOREPLY(qid < 0)); - wr->del_filter_to_l2tix = htonl(F_FW_FILTER_WR_DEL_FILTER); + wr->op_pkd = cpu_to_be32(V_FW_WR_OP(FW_FILTER_WR)); + wr->len16_pkd = cpu_to_be32(V_FW_WR_LEN16(sizeof(*wr) / 16)); + wr->tid_to_iq = cpu_to_be32(V_FW_FILTER_WR_TID(ftid) | + V_FW_FILTER_WR_NOREPLY(qid < 0)); + wr->del_filter_to_l2tix = cpu_to_be32(F_FW_FILTER_WR_DEL_FILTER); if (qid >= 0) - wr->rx_chan_rx_rpl_iq = htons(V_FW_FILTER_WR_RX_RPL_IQ(qid)); + wr->rx_chan_rx_rpl_iq = + cpu_to_be16(V_FW_FILTER_WR_RX_RPL_IQ(qid)); } #define INIT_CMD(var, cmd, rd_wr) do { \ - (var).op_to_write = htonl(V_FW_CMD_OP(FW_##cmd##_CMD) | \ - F_FW_CMD_REQUEST | F_FW_CMD_##rd_wr); \ - (var).retval_len16 = htonl(FW_LEN16(var)); \ + (var).op_to_write = cpu_to_be32(V_FW_CMD_OP(FW_##cmd##_CMD) | \ + F_FW_CMD_REQUEST | \ + F_FW_CMD_##rd_wr); \ + (var).retval_len16 = cpu_to_be32(FW_LEN16(var)); \ } while (0) -int t4_fwaddrspace_write(struct adapter *adap, unsigned int mbox, u32 addr, u32 val) +int t4_fwaddrspace_write(struct adapter *adap, unsigned int mbox, + u32 addr, u32 val) { + u32 ldst_addrspace; struct fw_ldst_cmd c; memset(&c, 0, sizeof(c)); - c.op_to_addrspace = htonl(V_FW_CMD_OP(FW_LDST_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_WRITE | V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_FIRMWARE)); - c.cycles_to_len16 = htonl(FW_LEN16(c)); - c.u.addrval.addr = htonl(addr); - c.u.addrval.val = htonl(val); + ldst_addrspace = V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_FIRMWARE); + c.op_to_addrspace = cpu_to_be32(V_FW_CMD_OP(FW_LDST_CMD) | + F_FW_CMD_REQUEST | + F_FW_CMD_WRITE | + ldst_addrspace); + c.cycles_to_len16 = cpu_to_be32(FW_LEN16(c)); + c.u.addrval.addr = cpu_to_be32(addr); + c.u.addrval.val = cpu_to_be32(val); return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); } @@ -6286,19 +5896,22 @@ int t4_mdio_rd(struct adapter *adap, uns unsigned int mmd, unsigned int reg, unsigned int *valp) { int ret; + u32 ldst_addrspace; struct fw_ldst_cmd c; memset(&c, 0, sizeof(c)); - c.op_to_addrspace = htonl(V_FW_CMD_OP(FW_LDST_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_READ | V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_MDIO)); - c.cycles_to_len16 = htonl(FW_LEN16(c)); - c.u.mdio.paddr_mmd = htons(V_FW_LDST_CMD_PADDR(phy_addr) | - V_FW_LDST_CMD_MMD(mmd)); - c.u.mdio.raddr = htons(reg); + ldst_addrspace = V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_MDIO); + c.op_to_addrspace = cpu_to_be32(V_FW_CMD_OP(FW_LDST_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_READ | + ldst_addrspace); + c.cycles_to_len16 = cpu_to_be32(FW_LEN16(c)); + c.u.mdio.paddr_mmd = cpu_to_be16(V_FW_LDST_CMD_PADDR(phy_addr) | + V_FW_LDST_CMD_MMD(mmd)); + c.u.mdio.raddr = cpu_to_be16(reg); ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c); if (ret == 0) - *valp = ntohs(c.u.mdio.rval); + *valp = be16_to_cpu(c.u.mdio.rval); return ret; } @@ -6316,16 +5929,19 @@ int t4_mdio_rd(struct adapter *adap, uns int t4_mdio_wr(struct adapter *adap, unsigned int mbox, unsigned int phy_addr, unsigned int mmd, unsigned int reg, unsigned int val) { + u32 ldst_addrspace; struct fw_ldst_cmd c; memset(&c, 0, sizeof(c)); - c.op_to_addrspace = htonl(V_FW_CMD_OP(FW_LDST_CMD) | F_FW_CMD_REQUEST | - F_FW_CMD_WRITE | V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_MDIO)); - c.cycles_to_len16 = htonl(FW_LEN16(c)); - c.u.mdio.paddr_mmd = htons(V_FW_LDST_CMD_PADDR(phy_addr) | - V_FW_LDST_CMD_MMD(mmd)); - c.u.mdio.raddr = htons(reg); - c.u.mdio.rval = htons(val); + ldst_addrspace = V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_MDIO); + c.op_to_addrspace = cpu_to_be32(V_FW_CMD_OP(FW_LDST_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_WRITE | + ldst_addrspace); + c.cycles_to_len16 = cpu_to_be32(FW_LEN16(c)); + c.u.mdio.paddr_mmd = cpu_to_be16(V_FW_LDST_CMD_PADDR(phy_addr) | + V_FW_LDST_CMD_MMD(mmd)); + c.u.mdio.raddr = cpu_to_be16(reg); + c.u.mdio.rval = cpu_to_be16(val); return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); } @@ -6488,197 +6104,52 @@ void t4_sge_decode_idma_state(struct ada } /** - * t4_i2c_rd - read I2C data from adapter - * @adap: the adapter - * @port: Port number if per-port device; <0 if not - * @devid: per-port device ID or absolute device ID - * @offset: byte offset into device I2C space - * @len: byte length of I2C space data - * @buf: buffer in which to return I2C data - * - * Reads the I2C data from the indicated device and location. - */ -int t4_i2c_rd(struct adapter *adap, unsigned int mbox, - int port, unsigned int devid, - unsigned int offset, unsigned int len, - u8 *buf) -{ - struct fw_ldst_cmd ldst; - int ret; - - if (port >= 4 || - devid >= 256 || - offset >= 256 || - len > sizeof ldst.u.i2c.data) - return -EINVAL; - - memset(&ldst, 0, sizeof ldst); - ldst.op_to_addrspace = - cpu_to_be32(V_FW_CMD_OP(FW_LDST_CMD) | - F_FW_CMD_REQUEST | - F_FW_CMD_READ | - V_FW_LDST_CMD_ADDRSPACE(FW_LDST_ADDRSPC_I2C)); - ldst.cycles_to_len16 = cpu_to_be32(FW_LEN16(ldst)); - ldst.u.i2c.pid = (port < 0 ? 0xff : port); - ldst.u.i2c.did = devid; - ldst.u.i2c.boffset = offset; - ldst.u.i2c.blen = len; - ret = t4_wr_mbox(adap, mbox, &ldst, sizeof ldst, &ldst); - if (!ret) - memcpy(buf, ldst.u.i2c.data, len); - return ret; -} - -/** - * t4_i2c_wr - write I2C data to adapter - * @adap: the adapter - * @port: Port number if per-port device; <0 if not - * @devid: per-port device ID or absolute device ID - * @offset: byte offset into device I2C space - * @len: byte length of I2C space data - * @buf: buffer containing new I2C data - * - * Write the I2C data to the indicated device and location. - */ -int t4_i2c_wr(struct adapter *adap, unsigned int mbox, - int port, unsigned int devid, - unsigned int offset, unsigned int len, - u8 *buf) -{ - struct fw_ldst_cmd ldst; - - if (port >= 4 || - devid >= 256 || - offset >= 256 || - len > sizeof ldst.u.i2c.data) - return -EINVAL; - - memset(&ldst, 0, sizeof ldst); - ldst.op_to_addrspace = *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Tue Mar 8 19:36:04 2016 Return-Path: Delivered-To: svn-src-all@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 743B4AC8EA5; Tue, 8 Mar 2016 19:36:04 +0000 (UTC) (envelope-from dchagin@chd.heemeyer.club) Received: from heemeyer.club (heemeyer.club [108.61.204.158]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "heemeyer.club", Issuer "heemeyer.club" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 34FB9B8F; Tue, 8 Mar 2016 19:36:03 +0000 (UTC) (envelope-from dchagin@chd.heemeyer.club) Received: from chd.heemeyer.club (dchagin.static.corbina.ru [78.107.232.239]) by heemeyer.club (8.15.2/8.15.1) with ESMTPS id u28JZxoq018635 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 8 Mar 2016 19:36:00 GMT (envelope-from dchagin@chd.heemeyer.club) X-Authentication-Warning: heemeyer.club: Host dchagin.static.corbina.ru [78.107.232.239] claimed to be chd.heemeyer.club Received: from chd.heemeyer.club (localhost [127.0.0.1]) by chd.heemeyer.club (8.15.2/8.15.1) with ESMTPS id u28JZwap070913 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 8 Mar 2016 22:35:58 +0300 (MSK) (envelope-from dchagin@chd.heemeyer.club) Received: (from dchagin@localhost) by chd.heemeyer.club (8.15.2/8.15.2/Submit) id u28JZwtb070912; Tue, 8 Mar 2016 22:35:58 +0300 (MSK) (envelope-from dchagin) Date: Tue, 8 Mar 2016 22:35:58 +0300 From: Chagin Dmitry To: Mateusz Guzik Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296501 - head/sys/compat/linux Message-ID: <20160308193558.GA70881@chd.heemeyer.club> References: <201603081508.u28F8Mtq005783@repo.freebsd.org> <20160308155233.GA7447@dft-labs.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160308155233.GA7447@dft-labs.eu> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 19:36:04 -0000 On Tue, Mar 08, 2016 at 04:52:33PM +0100, Mateusz Guzik wrote: > On Tue, Mar 08, 2016 at 03:08:22PM +0000, Dmitry Chagin wrote: > > Author: dchagin > > Date: Tue Mar 8 15:08:22 2016 > > New Revision: 296501 > > URL: https://svnweb.freebsd.org/changeset/base/296501 > > > > Log: > > Link the newly created process to the corresponding parent as > > if CLONE_PARENT is set, then the parent of the new process will > > be the same as that of the calling process. > > > > MFC after: 1 week > > > > Modified: > > head/sys/compat/linux/linux_fork.c > > > > Modified: head/sys/compat/linux/linux_fork.c > > ============================================================================== > > --- head/sys/compat/linux/linux_fork.c Tue Mar 8 14:55:50 2016 (r296500) > > +++ head/sys/compat/linux/linux_fork.c Tue Mar 8 15:08:22 2016 (r296501) > > @@ -222,6 +222,18 @@ linux_clone_proc(struct thread *td, stru > > if (args->flags & LINUX_CLONE_SETTLS) > > linux_set_cloned_tls(td2, args->tls); > > > > + /* > > + * If CLONE_PARENT is set, then the parent of the new process will be > > + * the same as that of the calling process. > > + */ > > + if (args->flags & LINUX_CLONE_PARENT) { > > + sx_xlock(&proctree_lock); > > + PROC_LOCK(p2); > > + proc_reparent(p2, td->td_proc->p_pptr); > > + PROC_UNLOCK(p2); > > + sx_xunlock(&proctree_lock); > > + } > > + > > #ifdef DEBUG > > if (ldebug(clone)) > > printf(LMSG("clone: successful rfork to %d, " > > > > What is the reason to support this flag? It is questionable at best > since it gives surprise children to unsuspecting processes. > mostly due to the same reason that a Linux do. if this flag is set then calling process does not expect signal when the child terminates. > The patch looks wrong. By the time this is executed the child could have > been attached to with ptrace, which reparents it. > > If the flag really needs to be supported (why?), it should make sure the > parent is a linux process and also should fix the race with ptrace. > Maybe a "fork completed" or something of the sort flag could be > introduced, or PRS_NEW state modified later. > hmm, I'll think about it, thanks From owner-svn-src-all@freebsd.org Tue Mar 8 19:40:03 2016 Return-Path: Delivered-To: svn-src-all@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 4DFC1AC8FCA; Tue, 8 Mar 2016 19:40:03 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 1B9D4E23; Tue, 8 Mar 2016 19:40:03 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28Je2uW095301; Tue, 8 Mar 2016 19:40:02 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28Je2vu095300; Tue, 8 Mar 2016 19:40:02 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201603081940.u28Je2vu095300@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Tue, 8 Mar 2016 19:40:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296546 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 19:40:03 -0000 Author: dchagin Date: Tue Mar 8 19:40:01 2016 New Revision: 296546 URL: https://svnweb.freebsd.org/changeset/base/296546 Log: Better english. Submitted by: Kevin P. Neal MFC after: 1 week Modified: head/sys/compat/linux/linux_misc.c Modified: head/sys/compat/linux/linux_misc.c ============================================================================== --- head/sys/compat/linux/linux_misc.c Tue Mar 8 19:35:30 2016 (r296545) +++ head/sys/compat/linux/linux_misc.c Tue Mar 8 19:40:01 2016 (r296546) @@ -209,7 +209,7 @@ linux_alarm(struct thread *td, struct li /* * According to POSIX and Linux implementation * the alarm() system call is always successfull. - * Ignore errors and return 0 as a Linux do. + * Ignore errors and return 0 as a Linux does. */ kern_setitimer(td, ITIMER_REAL, &it, &old_it); if (timevalisset(&old_it.it_value)) { From owner-svn-src-all@freebsd.org Tue Mar 8 20:24:14 2016 Return-Path: Delivered-To: svn-src-all@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 0A868AC8154; Tue, 8 Mar 2016 20:24:14 +0000 (UTC) (envelope-from vangyzen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B0E14A1B; Tue, 8 Mar 2016 20:24:13 +0000 (UTC) (envelope-from vangyzen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28KOCpT010845; Tue, 8 Mar 2016 20:24:12 GMT (envelope-from vangyzen@FreeBSD.org) Received: (from vangyzen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28KOCFR010844; Tue, 8 Mar 2016 20:24:12 GMT (envelope-from vangyzen@FreeBSD.org) Message-Id: <201603082024.u28KOCFR010844@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vangyzen set sender to vangyzen@FreeBSD.org using -f From: Eric van Gyzen Date: Tue, 8 Mar 2016 20:24:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296547 - stable/10/sys/dev/ichsmb X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 20:24:14 -0000 Author: vangyzen Date: Tue Mar 8 20:24:12 2016 New Revision: 296547 URL: https://svnweb.freebsd.org/changeset/base/296547 Log: MFC r281920,r284247,r284248,r295651 ichsmb: Add PCI device IDs for Intel Sunrise Point-H, Wellsburg, and Lynx-Point LP SMBus controllers. Remove whitespace. Sponsored by: Dell Inc. Modified: stable/10/sys/dev/ichsmb/ichsmb_pci.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/ichsmb/ichsmb_pci.c ============================================================================== --- stable/10/sys/dev/ichsmb/ichsmb_pci.c Tue Mar 8 19:40:01 2016 (r296546) +++ stable/10/sys/dev/ichsmb/ichsmb_pci.c Tue Mar 8 20:24:12 2016 (r296547) @@ -5,7 +5,7 @@ * Copyright (c) 2000 Whistle Communications, Inc. * All rights reserved. * Author: Archie Cobbs - * + * * Subject to the following obligations and disclaimer of warranty, use and * redistribution of this software, in source or object code forms, with or * without modifications are expressly permitted by Whistle Communications; @@ -16,7 +16,7 @@ * Communications, Inc. trademarks, including the mark "WHISTLE * COMMUNICATIONS" on advertising, endorsements, or otherwise except as * such appears in the above copyright notice or in the software. - * + * * THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND * TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO * REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE, @@ -88,8 +88,11 @@ __FBSDID("$FreeBSD$"); #define ID_AVOTON 0x1f3c8086 #define ID_COLETOCRK 0x23B08086 #define ID_LPT 0x8c228086 +#define ID_LPTLP 0x9c228086 #define ID_WCPT 0x8ca28086 #define ID_WCPTLP 0x9ca28086 +#define ID_WELLSBURG 0x8d228086 +#define ID_SRPT 0xa1238086 #define PCIS_SERIALBUS_SMBUS_PROGIF 0x00 @@ -199,6 +202,9 @@ ichsmb_pci_probe(device_t dev) case ID_LPT: device_set_desc(dev, "Intel Lynx Point SMBus controller"); break; + case ID_LPTLP: + device_set_desc(dev, "Intel Lynx Point-LP SMBus controller"); + break; case ID_WCPT: device_set_desc(dev, "Intel Wildcat Point SMBus controller"); break; @@ -208,6 +214,12 @@ ichsmb_pci_probe(device_t dev) case ID_COLETOCRK: device_set_desc(dev, "Intel Coleto Creek SMBus controller"); break; + case ID_WELLSBURG: + device_set_desc(dev, "Intel Wellsburg SMBus controller"); + break; + case ID_SRPT: + device_set_desc(dev, "Intel Sunrise Point-H SMBus controller"); + break; default: return (ENXIO); } From owner-svn-src-all@freebsd.org Tue Mar 8 20:33:04 2016 Return-Path: Delivered-To: svn-src-all@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 9A4B1AC86AE; Tue, 8 Mar 2016 20:33:04 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 3B6665DF; Tue, 8 Mar 2016 20:33:04 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28KX3iS014150; Tue, 8 Mar 2016 20:33:03 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28KX2OL014139; Tue, 8 Mar 2016 20:33:02 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201603082033.u28KX2OL014139@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Tue, 8 Mar 2016 20:33:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 20:33:04 -0000 Author: dumbbell Date: Tue Mar 8 20:33:02 2016 New Revision: 296548 URL: https://svnweb.freebsd.org/changeset/base/296548 Log: drm/i915: Update to match Linux 3.8.13 This update brings initial support for Haswell GPUs. Tested by: Many users of FreeBSD, PC-BSD and HardenedBSD Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5554 Added: head/sys/dev/drm2/drm_mem_util.h (contents, props changed) head/sys/dev/drm2/i915/dvo.h (contents, props changed) head/sys/dev/drm2/i915/dvo_ch7017.c (contents, props changed) head/sys/dev/drm2/i915/dvo_ch7xxx.c (contents, props changed) head/sys/dev/drm2/i915/dvo_ivch.c (contents, props changed) head/sys/dev/drm2/i915/dvo_ns2501.c (contents, props changed) head/sys/dev/drm2/i915/dvo_sil164.c (contents, props changed) head/sys/dev/drm2/i915/dvo_tfp410.c (contents, props changed) head/sys/dev/drm2/i915/intel_acpi.c (contents, props changed) head/sys/dev/drm2/i915/intel_dvo.c (contents, props changed) Modified: head/sys/dev/agp/agp_i810.c head/sys/dev/agp/agp_i810.h head/sys/dev/drm2/drmP.h head/sys/dev/drm2/drm_atomic.h head/sys/dev/drm2/drm_dp_iic_helper.c head/sys/dev/drm2/drm_drv.c head/sys/dev/drm2/drm_linux_list.h head/sys/dev/drm2/drm_os_freebsd.c head/sys/dev/drm2/drm_os_freebsd.h head/sys/dev/drm2/drm_pciids.h head/sys/dev/drm2/i915/i915_debug.c head/sys/dev/drm2/i915/i915_dma.c head/sys/dev/drm2/i915/i915_drm.h head/sys/dev/drm2/i915/i915_drv.c head/sys/dev/drm2/i915/i915_drv.h head/sys/dev/drm2/i915/i915_gem.c head/sys/dev/drm2/i915/i915_gem_context.c head/sys/dev/drm2/i915/i915_gem_evict.c head/sys/dev/drm2/i915/i915_gem_execbuffer.c head/sys/dev/drm2/i915/i915_gem_gtt.c head/sys/dev/drm2/i915/i915_gem_stolen.c head/sys/dev/drm2/i915/i915_gem_tiling.c head/sys/dev/drm2/i915/i915_irq.c head/sys/dev/drm2/i915/i915_reg.h head/sys/dev/drm2/i915/i915_suspend.c head/sys/dev/drm2/i915/intel_bios.c head/sys/dev/drm2/i915/intel_bios.h head/sys/dev/drm2/i915/intel_crt.c head/sys/dev/drm2/i915/intel_ddi.c head/sys/dev/drm2/i915/intel_display.c head/sys/dev/drm2/i915/intel_dp.c head/sys/dev/drm2/i915/intel_drv.h head/sys/dev/drm2/i915/intel_fb.c head/sys/dev/drm2/i915/intel_hdmi.c head/sys/dev/drm2/i915/intel_iic.c head/sys/dev/drm2/i915/intel_lvds.c head/sys/dev/drm2/i915/intel_modes.c head/sys/dev/drm2/i915/intel_opregion.c head/sys/dev/drm2/i915/intel_overlay.c head/sys/dev/drm2/i915/intel_panel.c head/sys/dev/drm2/i915/intel_pm.c head/sys/dev/drm2/i915/intel_ringbuffer.c head/sys/dev/drm2/i915/intel_ringbuffer.h head/sys/dev/drm2/i915/intel_sdvo.c head/sys/dev/drm2/i915/intel_sprite.c head/sys/dev/drm2/i915/intel_tv.c head/sys/modules/drm2/i915kms/Makefile Modified: head/sys/dev/agp/agp_i810.c ============================================================================== --- head/sys/dev/agp/agp_i810.c Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/agp/agp_i810.c Tue Mar 8 20:33:02 2016 (r296548) @@ -250,6 +250,10 @@ struct agp_i810_driver { void (*chipset_flush)(device_t); }; +static struct { + struct intel_gtt base; +} intel_private; + static const struct agp_i810_driver agp_i810_i810_driver = { .chiptype = CHIP_I810, .gen = 1, @@ -526,6 +530,29 @@ static const struct agp_i810_driver agp_ .chipset_flush = agp_i810_chipset_flush, }; +static const struct agp_i810_driver agp_i810_valleyview_driver = { + .chiptype = CHIP_SB, + .gen = 7, + .busdma_addr_mask_sz = 40, + .res_spec = agp_g4x_res_spec, + .check_active = agp_sb_check_active, + .set_desc = agp_i810_set_desc, + .dump_regs = agp_sb_dump_regs, + .get_stolen_size = agp_sb_get_stolen_size, + .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries, + .get_gtt_total_entries = agp_sb_get_gtt_total_entries, + .install_gatt = agp_g4x_install_gatt, + .deinstall_gatt = agp_i830_deinstall_gatt, + .write_gtt = agp_sb_write_gtt, + .install_gtt_pte = agp_sb_install_gtt_pte, + .read_gtt_pte = agp_g4x_read_gtt_pte, + .read_gtt_pte_paddr = agp_sb_read_gtt_pte_paddr, + .set_aperture = agp_i915_set_aperture, + .chipset_flush_setup = agp_i810_chipset_flush_setup, + .chipset_flush_teardown = agp_i810_chipset_flush_teardown, + .chipset_flush = agp_i810_chipset_flush, +}; + /* For adding new devices, devid is the id of the graphics controller * (pci:0:2:0, for example). The placeholder (usually at pci:0:2:1) for the * second head should never be added. The bridge_offset is the offset to @@ -763,40 +790,200 @@ static const struct agp_i810_match { }, { .devid = 0x04028086, - .name = "Haswell desktop GT1", + .name = "Haswell GT1 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x04068086, + .name = "Haswell GT1 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x040A8086, + .name = "Haswell GT1 server", .driver = &agp_i810_hsw_driver }, { .devid = 0x04128086, - .name = "Haswell desktop GT2", + .name = "Haswell GT2 desktop", .driver = &agp_i810_hsw_driver }, { - .devid = 0x040a8086, - .name = "Haswell server GT1", + .devid = 0x04168086, + .name = "Haswell GT2 mobile", .driver = &agp_i810_hsw_driver }, { - .devid = 0x041a8086, - .name = "Haswell server GT2", + .devid = 0x041A8086, + .name = "Haswell GT2 server", .driver = &agp_i810_hsw_driver }, { - .devid = 0x04068086, - .name = "Haswell mobile GT1", + .devid = 0x04228086, + .name = "Haswell GT2 desktop", .driver = &agp_i810_hsw_driver }, { - .devid = 0x04168086, - .name = "Haswell mobile GT2", + .devid = 0x04268086, + .name = "Haswell GT2 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x042A8086, + .name = "Haswell GT2 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A028086, + .name = "Haswell ULT GT1 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A068086, + .name = "Haswell ULT GT1 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A0A8086, + .name = "Haswell ULT GT1 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A128086, + .name = "Haswell ULT GT2 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A168086, + .name = "Haswell ULT GT2 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A1A8086, + .name = "Haswell ULT GT2 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A228086, + .name = "Haswell ULT GT2 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A268086, + .name = "Haswell ULT GT2 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0A2A8086, + .name = "Haswell ULT GT2 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0C028086, + .name = "Haswell SDV GT1 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0C068086, + .name = "Haswell SDV GT1 mobile", .driver = &agp_i810_hsw_driver }, { - .devid = 0x0c168086, - .name = "Haswell SDV", + .devid = 0x0C0A8086, + .name = "Haswell SDV GT1 server", .driver = &agp_i810_hsw_driver }, { + .devid = 0x0C128086, + .name = "Haswell SDV GT2 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0C168086, + .name = "Haswell SDV GT2 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0C1A8086, + .name = "Haswell SDV GT2 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0C228086, + .name = "Haswell SDV GT2 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0C268086, + .name = "Haswell SDV GT2 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0C2A8086, + .name = "Haswell SDV GT2 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D028086, + .name = "Haswell CRW GT1 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D068086, + .name = "Haswell CRW GT1 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D0A8086, + .name = "Haswell CRW GT1 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D128086, + .name = "Haswell CRW GT2 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D168086, + .name = "Haswell CRW GT2 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D1A8086, + .name = "Haswell CRW GT2 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D228086, + .name = "Haswell CRW GT2 desktop", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D268086, + .name = "Haswell CRW GT2 mobile", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x0D2A8086, + .name = "Haswell CRW GT2 server", + .driver = &agp_i810_hsw_driver + }, + { + .devid = 0x01558086, + .name = "Valleyview (desktop)", + .driver = &agp_i810_valleyview_driver + }, + { + .devid = 0x01578086, + .name = "Valleyview (mobile)", + .driver = &agp_i810_valleyview_driver + }, + { + .devid = 0x0F308086, + .name = "Valleyview (mobile)", + .driver = &agp_i810_valleyview_driver + }, + { .devid = 0, } }; @@ -2285,6 +2472,10 @@ agp_intel_gtt_get(device_t dev) res.gtt_mappable_entries = sc->gtt_mappable_entries; res.do_idle_maps = 0; res.scratch_page_dma = VM_PAGE_TO_PHYS(bogus_page); + if (sc->agp.as_aperture != NULL) + res.gma_bus_addr = rman_get_start(sc->agp.as_aperture); + else + res.gma_bus_addr = 0; return (res); } @@ -2588,11 +2779,12 @@ intel_gtt_insert_pages(u_int first_entry pages, flags); } -struct intel_gtt +struct intel_gtt * intel_gtt_get(void) { - return (agp_intel_gtt_get(intel_agp)); + intel_private.base = agp_intel_gtt_get(intel_agp); + return (&intel_private.base); } int Modified: head/sys/dev/agp/agp_i810.h ============================================================================== --- head/sys/dev/agp/agp_i810.h Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/agp/agp_i810.h Tue Mar 8 20:33:02 2016 (r296548) @@ -33,6 +33,7 @@ #define AGP_AGP_I810_H #include +#include #include #include @@ -51,24 +52,23 @@ struct intel_gtt { /* Size of memory reserved for graphics by the BIOS */ - u_int stolen_size; + unsigned int stolen_size; /* Total number of gtt entries. */ - u_int gtt_total_entries; - /* - * Part of the gtt that is mappable by the cpu, for those - * chips where this is not the full gtt. - */ - u_int gtt_mappable_entries; - - /* - * Always false. - */ - u_int do_idle_maps; - - /* - * Share the scratch page dma with ppgtts. - */ + unsigned int gtt_total_entries; + /* Part of the gtt that is mappable by the cpu, for those chips where + * this is not the full gtt. */ + unsigned int gtt_mappable_entries; + /* Whether i915 needs to use the dmar apis or not. */ + unsigned int needs_dmar : 1; + /* Whether we idle the gpu before mapping/unmapping */ + unsigned int do_idle_maps : 1; + /* Share the scratch page dma with ppgtts. */ vm_paddr_t scratch_page_dma; + vm_page_t scratch_page; + /* for ppgtt PDE access */ + uint32_t *gtt; + /* needed for ioremap in drm/i915 */ + bus_addr_t gma_bus_addr; }; struct intel_gtt agp_intel_gtt_get(device_t dev); @@ -83,7 +83,7 @@ void agp_intel_gtt_insert_sg_entries(dev void agp_intel_gtt_insert_pages(device_t dev, u_int first_entry, u_int num_entries, vm_page_t *pages, u_int flags); -struct intel_gtt intel_gtt_get(void); +struct intel_gtt *intel_gtt_get(void); int intel_gtt_chipset_flush(void); void intel_gtt_unmap_memory(struct sglist *sg_list); void intel_gtt_clear_range(u_int first_entry, u_int num_entries); Modified: head/sys/dev/drm2/drmP.h ============================================================================== --- head/sys/dev/drm2/drmP.h Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/drm2/drmP.h Tue Mar 8 20:33:02 2016 (r296548) @@ -238,7 +238,6 @@ struct drm_device; __func__ , ##__VA_ARGS__); \ } while (0) - /*@}*/ /***********************************************************************/ @@ -700,6 +699,8 @@ struct drm_driver { void (*postclose) (struct drm_device *, struct drm_file *); void (*lastclose) (struct drm_device *); int (*unload) (struct drm_device *); + int (*suspend) (struct drm_device *, pm_message_t state); + int (*resume) (struct drm_device *); int (*dma_ioctl) (struct drm_device *dev, void *data, struct drm_file *file_priv); int (*dma_quiescent) (struct drm_device *); int (*context_dtor) (struct drm_device *dev, int context); @@ -1118,7 +1119,7 @@ struct drm_device { char busid_str[128]; int modesetting; - drm_pci_id_list_t *id_entry; /* PCI ID, name, and chipset private */ + const drm_pci_id_list_t *id_entry; /* PCI ID, name, and chipset private */ }; #define DRM_SWITCH_POWER_ON 0 @@ -1581,6 +1582,8 @@ static __inline__ void drm_core_dropmap( { } +#include + extern int drm_fill_in_dev(struct drm_device *dev, struct drm_driver *driver); extern void drm_cancel_fill_in_dev(struct drm_device *dev); @@ -1758,9 +1761,11 @@ struct dmi_system_id { bool dmi_check_system(const struct dmi_system_id *); /* Device setup support (drm_drv.c) */ -int drm_probe_helper(device_t kdev, drm_pci_id_list_t *idlist); -int drm_attach_helper(device_t kdev, drm_pci_id_list_t *idlist, +int drm_probe_helper(device_t kdev, const drm_pci_id_list_t *idlist); +int drm_attach_helper(device_t kdev, const drm_pci_id_list_t *idlist, struct drm_driver *driver); +int drm_generic_suspend(device_t kdev); +int drm_generic_resume(device_t kdev); int drm_generic_detach(device_t kdev); void drm_event_wakeup(struct drm_pending_event *e); Modified: head/sys/dev/drm2/drm_atomic.h ============================================================================== --- head/sys/dev/drm2/drm_atomic.h Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/drm2/drm_atomic.h Tue Mar 8 20:33:02 2016 (r296548) @@ -39,8 +39,8 @@ typedef uint64_t atomic64_t; #define NB_BITS_PER_LONG (sizeof(long) * NBBY) #define BITS_TO_LONGS(x) howmany(x, NB_BITS_PER_LONG) -#define atomic_read(p) (*(volatile u_int *)(p)) -#define atomic_set(p, v) do { *(u_int *)(p) = (v); } while (0) +#define atomic_read(p) atomic_load_acq_int(p) +#define atomic_set(p, v) atomic_store_rel_int(p, v) #define atomic64_read(p) atomic_load_acq_64(p) #define atomic64_set(p, v) atomic_store_rel_64(p, v) @@ -78,6 +78,9 @@ typedef uint64_t atomic64_t; #define cmpxchg(ptr, old, new) \ (atomic_cmpset_int((volatile u_int *)(ptr),(old),(new)) ? (old) : (0)) +#define atomic_inc_not_zero(p) atomic_inc(p) +#define atomic_clear_mask(b, p) atomic_clear_int((p), (b)) + static __inline u_long find_first_zero_bit(const u_long *p, u_long max) { Modified: head/sys/dev/drm2/drm_dp_iic_helper.c ============================================================================== --- head/sys/dev/drm2/drm_dp_iic_helper.c Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/drm2/drm_dp_iic_helper.c Tue Mar 8 20:33:02 2016 (r296548) @@ -149,7 +149,7 @@ iic_dp_aux_xfer(device_t idev, struct ii buf = msgs[m].buf; reading = (msgs[m].flags & IIC_M_RD) != 0; ret = iic_dp_aux_address(idev, msgs[m].slave >> 1, reading); - if (ret != 0) + if (ret < 0) break; if (reading) { for (b = 0; b < len; b++) { @@ -160,7 +160,7 @@ iic_dp_aux_xfer(device_t idev, struct ii } else { for (b = 0; b < len; b++) { ret = iic_dp_aux_put_byte(idev, buf[b]); - if (ret != 0) + if (ret < 0) break; } } Modified: head/sys/dev/drm2/drm_drv.c ============================================================================== --- head/sys/dev/drm2/drm_drv.c Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/drm2/drm_drv.c Tue Mar 8 20:33:02 2016 (r296548) @@ -470,6 +470,14 @@ int drm_ioctl(struct cdev *kdev, u_long err_i1: atomic_dec(&dev->ioctl_count); + if (retcode == -ERESTARTSYS) { + /* + * FIXME: Find where in i915 ERESTARTSYS should be + * converted to EINTR. + */ + DRM_DEBUG("ret = %d -> %d\n", retcode, -EINTR); + retcode = -EINTR; + } if (retcode) DRM_DEBUG("ret = %d\n", retcode); if (retcode != 0 && Modified: head/sys/dev/drm2/drm_linux_list.h ============================================================================== --- head/sys/dev/drm2/drm_linux_list.h Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/drm2/drm_linux_list.h Tue Mar 8 20:33:02 2016 (r296548) @@ -40,7 +40,6 @@ struct list_head { }; #define list_entry(ptr, type, member) container_of(ptr,type,member) -#define hlist_entry(ptr, type, member) container_of(ptr,type,member) static __inline__ void INIT_LIST_HEAD(struct list_head *head) { @@ -179,4 +178,123 @@ list_splice(const struct list_head *list void drm_list_sort(void *priv, struct list_head *head, int (*cmp)(void *priv, struct list_head *a, struct list_head *b)); +/* hlist, copied from sys/dev/ofed/linux/list.h */ + +struct hlist_head { + struct hlist_node *first; +}; + +struct hlist_node { + struct hlist_node *next, **pprev; +}; + +#define HLIST_HEAD_INIT { } +#define HLIST_HEAD(name) struct hlist_head name = HLIST_HEAD_INIT +#define INIT_HLIST_HEAD(head) (head)->first = NULL +#define INIT_HLIST_NODE(node) \ +do { \ + (node)->next = NULL; \ + (node)->pprev = NULL; \ +} while (0) + +static inline int +hlist_unhashed(const struct hlist_node *h) +{ + + return !h->pprev; +} + +static inline int +hlist_empty(const struct hlist_head *h) +{ + + return !h->first; +} + +static inline void +hlist_del(struct hlist_node *n) +{ + + if (n->next) + n->next->pprev = n->pprev; + *n->pprev = n->next; +} + +static inline void +hlist_del_init(struct hlist_node *n) +{ + + if (hlist_unhashed(n)) + return; + hlist_del(n); + INIT_HLIST_NODE(n); +} + +static inline void +hlist_add_head(struct hlist_node *n, struct hlist_head *h) +{ + + n->next = h->first; + if (h->first) + h->first->pprev = &n->next; + h->first = n; + n->pprev = &h->first; +} + +static inline void +hlist_add_before(struct hlist_node *n, struct hlist_node *next) +{ + + n->pprev = next->pprev; + n->next = next; + next->pprev = &n->next; + *(n->pprev) = n; +} + +static inline void +hlist_add_after(struct hlist_node *n, struct hlist_node *next) +{ + + next->next = n->next; + n->next = next; + next->pprev = &n->next; + if (next->next) + next->next->pprev = &next->next; +} + +static inline void +hlist_move_list(struct hlist_head *old, struct hlist_head *new) +{ + + new->first = old->first; + if (new->first) + new->first->pprev = &new->first; + old->first = NULL; +} + +#define hlist_entry(ptr, type, field) container_of(ptr, type, field) + +#define hlist_for_each(p, head) \ + for (p = (head)->first; p; p = p->next) + +#define hlist_for_each_safe(p, n, head) \ + for (p = (head)->first; p && ({ n = p->next; 1; }); p = n) + +#define hlist_for_each_entry(tp, p, head, field) \ + for (p = (head)->first; \ + p ? (tp = hlist_entry(p, typeof(*tp), field)): NULL; p = p->next) + +#define hlist_for_each_entry_continue(tp, p, field) \ + for (p = (p)->next; \ + p ? (tp = hlist_entry(p, typeof(*tp), field)): NULL; p = p->next) + +#define hlist_for_each_entry_from(tp, p, field) \ + for (; p ? (tp = hlist_entry(p, typeof(*tp), field)): NULL; p = p->next) + +#define hlist_for_each_entry_safe(tpos, pos, n, head, member) \ + for (pos = (head)->first; \ + (pos) != 0 && ({ n = (pos)->next; \ + tpos = hlist_entry((pos), typeof(*(tpos)), member); 1;}); \ + pos = (n)) + #endif /* _DRM_LINUX_LIST_H_ */ Added: head/sys/dev/drm2/drm_mem_util.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/drm2/drm_mem_util.h Tue Mar 8 20:33:02 2016 (r296548) @@ -0,0 +1,59 @@ +/* + * Copyright © 2008 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Jesse Barnes + * + */ + +#include +__FBSDID("$FreeBSD$"); + +#ifndef _DRM_MEM_UTIL_H_ +#define _DRM_MEM_UTIL_H_ + +#include +#include + +static __inline__ void *drm_calloc_large(size_t nmemb, size_t size) +{ + if (size != 0 && nmemb > SIZE_MAX / size) + return NULL; + + return malloc(nmemb * size, DRM_MEM_DRIVER, M_NOWAIT | M_ZERO); +} + +/* Modeled after cairo's malloc_ab, it's like calloc but without the zeroing. */ +static __inline__ void *drm_malloc_ab(size_t nmemb, size_t size) +{ + if (size != 0 && nmemb > SIZE_MAX / size) + return NULL; + + return malloc(nmemb * size, DRM_MEM_DRIVER, M_NOWAIT); +} + +static __inline void drm_free_large(void *ptr) +{ + free(ptr, DRM_MEM_DRIVER); +} + +#endif Modified: head/sys/dev/drm2/drm_os_freebsd.c ============================================================================== --- head/sys/dev/drm2/drm_os_freebsd.c Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/drm2/drm_os_freebsd.c Tue Mar 8 20:33:02 2016 (r296548) @@ -67,8 +67,27 @@ ns_to_timeval(const int64_t nsec) return (tv); } -static drm_pci_id_list_t * -drm_find_description(int vendor, int device, drm_pci_id_list_t *idlist) +/* Copied from OFED. */ +unsigned long drm_linux_timer_hz_mask; + +static void +drm_linux_timer_init(void *arg) +{ + + /* + * Compute an internal HZ value which can divide 2**32 to + * avoid timer rounding problems when the tick value wraps + * around 2**32: + */ + drm_linux_timer_hz_mask = 1; + while (drm_linux_timer_hz_mask < (unsigned long)hz) + drm_linux_timer_hz_mask *= 2; + drm_linux_timer_hz_mask--; +} +SYSINIT(drm_linux_timer, SI_SUB_DRIVERS, SI_ORDER_FIRST, drm_linux_timer_init, NULL); + +static const drm_pci_id_list_t * +drm_find_description(int vendor, int device, const drm_pci_id_list_t *idlist) { int i = 0; @@ -87,9 +106,9 @@ drm_find_description(int vendor, int dev * method. */ int -drm_probe_helper(device_t kdev, drm_pci_id_list_t *idlist) +drm_probe_helper(device_t kdev, const drm_pci_id_list_t *idlist) { - drm_pci_id_list_t *id_entry; + const drm_pci_id_list_t *id_entry; int vendor, device; vendor = pci_get_vendor(kdev); @@ -118,7 +137,7 @@ drm_probe_helper(device_t kdev, drm_pci_ * method. */ int -drm_attach_helper(device_t kdev, drm_pci_id_list_t *idlist, +drm_attach_helper(device_t kdev, const drm_pci_id_list_t *idlist, struct drm_driver *driver) { struct drm_device *dev; @@ -137,6 +156,55 @@ drm_attach_helper(device_t kdev, drm_pci } int +drm_generic_suspend(device_t kdev) +{ + struct drm_device *dev; + int error; + + DRM_DEBUG_KMS("Starting suspend\n"); + + dev = device_get_softc(kdev); + if (dev->driver->suspend) { + pm_message_t state; + + state.event = PM_EVENT_SUSPEND; + error = -dev->driver->suspend(dev, state); + if (error) + goto out; + } + + error = bus_generic_suspend(kdev); + +out: + DRM_DEBUG_KMS("Finished suspend: %d\n", error); + + return error; +} + +int +drm_generic_resume(device_t kdev) +{ + struct drm_device *dev; + int error; + + DRM_DEBUG_KMS("Starting resume\n"); + + dev = device_get_softc(kdev); + if (dev->driver->resume) { + error = -dev->driver->resume(dev); + if (error) + goto out; + } + + error = bus_generic_resume(kdev); + +out: + DRM_DEBUG_KMS("Finished resume: %d\n", error); + + return error; +} + +int drm_generic_detach(device_t kdev) { struct drm_device *dev; @@ -331,6 +399,42 @@ drm_clflush_virt_range(char *addr, unsig #endif } +void +hex_dump_to_buffer(const void *buf, size_t len, int rowsize, int groupsize, + char *linebuf, size_t linebuflen, bool ascii __unused) +{ + int i, j, c; + + i = j = 0; + + while (i < len && j <= linebuflen) { + c = ((const char *)buf)[i]; + + if (i != 0) { + if (i % rowsize == 0) { + /* Newline required. */ + sprintf(linebuf + j, "\n"); + ++j; + } else if (i % groupsize == 0) { + /* Space required. */ + sprintf(linebuf + j, " "); + ++j; + } + } + + if (j > linebuflen - 1) + break; + + sprintf(linebuf + j, "%02X", c); + j += 2; + + ++i; + } + + if (j <= linebuflen) + sprintf(linebuf + j, "\n"); +} + #if DRM_LINUX #include Modified: head/sys/dev/drm2/drm_os_freebsd.h ============================================================================== --- head/sys/dev/drm2/drm_os_freebsd.h Tue Mar 8 20:24:12 2016 (r296547) +++ head/sys/dev/drm2/drm_os_freebsd.h Tue Mar 8 20:33:02 2016 (r296548) @@ -10,6 +10,7 @@ __FBSDID("$FreeBSD$"); #define _DRM_OS_FREEBSD_H_ #include +#include #if _BYTE_ORDER == _BIG_ENDIAN #define __BIG_ENDIAN 4321 @@ -24,10 +25,22 @@ __FBSDID("$FreeBSD$"); #endif #ifndef __user -#define __user +#define __user #endif #ifndef __iomem -#define __iomem +#define __iomem +#endif +#ifndef __always_unused +#define __always_unused +#endif +#ifndef __must_check +#define __must_check +#endif +#ifndef __force +#define __force +#endif +#ifndef uninitialized_var +#define uninitialized_var(x) x #endif #define cpu_to_le16(x) htole16(x) @@ -69,9 +82,23 @@ typedef void irqreturn_t; #define __exit #define __read_mostly -#define WARN_ON(cond) KASSERT(!(cond), ("WARN ON: " #cond)) +#define BUILD_BUG_ON(x) CTASSERT(!(x)) +#define BUILD_BUG_ON_NOT_POWER_OF_2(x) + +#ifndef WARN +#define WARN(condition, format, ...) ({ \ + int __ret_warn_on = !!(condition); \ + if (unlikely(__ret_warn_on)) \ + DRM_ERROR(format, ##__VA_ARGS__); \ + unlikely(__ret_warn_on); \ +}) +#endif +#define WARN_ONCE(condition, format, ...) \ + WARN(condition, format, ##__VA_ARGS__) +#define WARN_ON(cond) WARN(cond, "WARN ON: " #cond) #define WARN_ON_SMP(cond) WARN_ON(cond) -#define BUG_ON(cond) KASSERT(!(cond), ("BUG ON: " #cond)) +#define BUG() panic("BUG") +#define BUG_ON(cond) KASSERT(!(cond), ("BUG ON: " #cond " -> 0x%jx", (uintmax_t)(cond))) #define unlikely(x) __builtin_expect(!!(x), 0) #define likely(x) __builtin_expect(!!(x), 1) #define container_of(ptr, type, member) ({ \ @@ -93,6 +120,15 @@ typedef void irqreturn_t; #define DRM_UDELAY(udelay) DELAY(udelay) #define drm_msleep(x, msg) pause((msg), ((int64_t)(x)) * hz / 1000) #define DRM_MSLEEP(msecs) drm_msleep((msecs), "drm_msleep") +#define get_seconds() time_second + +#define ioread8(addr) *(volatile uint8_t *)((char *)addr) +#define ioread16(addr) *(volatile uint16_t *)((char *)addr) +#define ioread32(addr) *(volatile uint32_t *)((char *)addr) + +#define iowrite8(data, addr) *(volatile uint8_t *)((char *)addr) = data; +#define iowrite16(data, addr) *(volatile uint16_t *)((char *)addr) = data; +#define iowrite32(data, addr) *(volatile uint32_t *)((char *)addr) = data; #define DRM_READ8(map, offset) \ *(volatile u_int8_t *)(((vm_offset_t)(map)->handle) + \ @@ -127,12 +163,18 @@ typedef void irqreturn_t; #define DRM_WRITEMEMORYBARRIER() wmb() #define DRM_MEMORYBARRIER() mb() #define smp_rmb() rmb() +#define smp_wmb() wmb() #define smp_mb__before_atomic_inc() mb() #define smp_mb__after_atomic_inc() mb() +#define barrier() __compiler_membar() #define do_div(a, b) ((a) /= (b)) #define div64_u64(a, b) ((a) / (b)) #define lower_32_bits(n) ((u32)(n)) +#define upper_32_bits(n) ((u32)(((n) >> 16) >> 16)) + +#define __set_bit(n, s) set_bit((n), (s)) +#define __clear_bit(n, s) clear_bit((n), (s)) #define min_t(type, x, y) ({ \ type __min1 = (x); \ @@ -148,6 +190,10 @@ typedef void irqreturn_t; #define memcpy_fromio(a, b, c) memcpy((a), (b), (c)) #define memcpy_toio(a, b, c) memcpy((a), (b), (c)) +#define VERIFY_READ VM_PROT_READ +#define VERIFY_WRITE VM_PROT_WRITE +#define access_ok(prot, p, l) useracc((p), (l), (prot)) + /* XXXKIB what is the right code for the FreeBSD ? */ /* kib@ used ENXIO here -- dumbbell@ */ #define EREMOTEIO EIO @@ -170,8 +216,10 @@ typedef void irqreturn_t; #define PCI_VENDOR_ID_SONY 0x104d #define PCI_VENDOR_ID_VIA 0x1106 -#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) -#define hweight32(i) bitcount32(i) +#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) +#define DIV_ROUND_CLOSEST(n,d) (((n) + (d) / 2) / (d)) +#define div_u64(n, d) ((n) / (d)) +#define hweight32(i) bitcount32(i) static inline unsigned long roundup_pow_of_two(unsigned long x) @@ -195,6 +243,8 @@ ror32(uint32_t word, unsigned int shift) } #define IS_ALIGNED(x, y) (((x) & ((y) - 1)) == 0) +#define round_down(x, y) rounddown2((x), (y)) +#define round_up(x, y) roundup2((x), (y)) #define get_unaligned(ptr) \ ({ __typeof__(*(ptr)) __tmp; \ memcpy(&__tmp, (ptr), sizeof(*(ptr))); __tmp; }) @@ -251,7 +301,9 @@ abs64(int64_t x) int64_t timeval_to_ns(const struct timeval *tv); struct timeval ns_to_timeval(const int64_t nsec); -#define PAGE_ALIGN(addr) round_page(addr) +#define PAGE_ALIGN(addr) round_page(addr) +#define page_to_phys(x) VM_PAGE_TO_PHYS(x) +#define offset_in_page(x) ((x) & PAGE_MASK) #define drm_get_device_from_kdev(_kdev) (((struct drm_minor *)(_kdev)->si_drv1)->dev) @@ -295,20 +347,193 @@ __get_user(size_t size, const void *ptr, } #define get_user(x, ptr) __get_user(sizeof(*ptr), (ptr), &(x)) +static inline int +__copy_to_user_inatomic(void __user *to, const void *from, unsigned n) +{ + + return (copyout_nofault(from, to, n) != 0 ? n : 0); +} +#define __copy_to_user_inatomic_nocache(to, from, n) \ + __copy_to_user_inatomic((to), (from), (n)) + +static inline unsigned long +__copy_from_user_inatomic(void *to, const void __user *from, + unsigned long n) +{ + + /* + * XXXKIB. Equivalent Linux function is implemented using + * MOVNTI for aligned moves. For unaligned head and tail, + * normal move is performed. As such, it is not incorrect, if + * only somewhat slower, to use normal copyin. All uses + * except shmem_pwrite_fast() have the destination mapped WC. + */ + return ((copyin_nofault(__DECONST(void *, from), to, n) != 0 ? n : 0)); +} +#define __copy_from_user_inatomic_nocache(to, from, n) \ + __copy_from_user_inatomic((to), (from), (n)) + +static inline int +fault_in_multipages_readable(const char __user *uaddr, int size) +{ + char c; + int ret = 0; + const char __user *end = uaddr + size - 1; + + if (unlikely(size == 0)) + return ret; + + while (uaddr <= end) { + ret = -copyin(uaddr, &c, 1); + if (ret != 0) + return -EFAULT; + uaddr += PAGE_SIZE; + } + + /* Check whether the range spilled into the next page. */ + if (((unsigned long)uaddr & ~PAGE_MASK) == + ((unsigned long)end & ~PAGE_MASK)) { + ret = -copyin(end, &c, 1); + } + + return ret; +} + +static inline int +fault_in_multipages_writeable(char __user *uaddr, int size) +{ + int ret = 0; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Tue Mar 8 21:26:27 2016 Return-Path: Delivered-To: svn-src-all@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 81893AC7CC6; Tue, 8 Mar 2016 21:26:27 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 357D9AFC; Tue, 8 Mar 2016 21:26:27 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28LQQPK030028; Tue, 8 Mar 2016 21:26:26 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28LQQnf030026; Tue, 8 Mar 2016 21:26:26 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603082126.u28LQQnf030026@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Tue, 8 Mar 2016 21:26:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296549 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 21:26:27 -0000 Author: bdrewery Date: Tue Mar 8 21:26:25 2016 New Revision: 296549 URL: https://svnweb.freebsd.org/changeset/base/296549 Log: Don't ever create object directories here with MK_AUTO_OBJ. Sponsored by: EMC / Isilon Storage Division Modified: head/Makefile head/Makefile.inc1 Modified: head/Makefile ============================================================================== --- head/Makefile Tue Mar 8 20:33:02 2016 (r296548) +++ head/Makefile Tue Mar 8 21:26:25 2016 (r296549) @@ -146,7 +146,7 @@ TGTS+= ${BITGTS} PATH= /sbin:/bin:/usr/sbin:/usr/bin MAKEOBJDIRPREFIX?= /usr/obj -_MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH} ${MAKE} \ +_MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH} MK_AUTO_OBJ=no ${MAKE} \ ${.MAKEFLAGS:MMAKEOBJDIRPREFIX=*} __MAKE_CONF=${__MAKE_CONF} \ -f /dev/null -V MAKEOBJDIRPREFIX dummy .if !empty(_MAKEOBJDIRPREFIX) Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Tue Mar 8 20:33:02 2016 (r296548) +++ head/Makefile.inc1 Tue Mar 8 21:26:25 2016 (r296549) @@ -179,9 +179,9 @@ OSRELDATE= 0 .endif # Set VERSION for CTFMERGE to use via the default CTFFLAGS=-L VERSION. -.if !defined(VERSION) && !make(showconfig) -REVISION!= ${MAKE} -C ${SRCDIR}/release -V REVISION -BRANCH!= ${MAKE} -C ${SRCDIR}/release -V BRANCH +.if !defined(VERSION) +REVISION!= MK_AUTO_OBJ=no ${MAKE} -C ${SRCDIR}/release -V REVISION +BRANCH!= MK_AUTO_OBJ=no ${MAKE} -C ${SRCDIR}/release -V BRANCH SRCRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \ ${SRCDIR}/sys/sys/param.h VERSION= FreeBSD ${REVISION}-${BRANCH:C/-p[0-9]+$//} ${TARGET_ARCH} ${SRCRELDATE} @@ -229,14 +229,11 @@ _TARGET_CPUTYPE=${TARGET_CPUTYPE} .else _TARGET_CPUTYPE=dummy .endif -# Skip for showconfig as it is just wasted time and may invoke auto.obj.mk. -.if !make(showconfig) -_CPUTYPE!= MAKEFLAGS= CPUTYPE=${_TARGET_CPUTYPE} ${MAKE} \ +_CPUTYPE!= MK_AUTO_OBJ=no MAKEFLAGS= CPUTYPE=${_TARGET_CPUTYPE} ${MAKE} \ -f /dev/null -m ${.CURDIR}/share/mk -V CPUTYPE .if ${_CPUTYPE} != ${_TARGET_CPUTYPE} .error CPUTYPE global should be set with ?=. .endif -.endif .if make(buildworld) BUILD_ARCH!= uname -p .if ${MACHINE_ARCH} != ${BUILD_ARCH} From owner-svn-src-all@freebsd.org Tue Mar 8 21:26:54 2016 Return-Path: Delivered-To: svn-src-all@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 254D1AC7D2A; Tue, 8 Mar 2016 21:26:54 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D0C65C67; Tue, 8 Mar 2016 21:26:53 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28LQqWU030166; Tue, 8 Mar 2016 21:26:52 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28LQiEc030079; Tue, 8 Mar 2016 21:26:44 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603082126.u28LQiEc030079@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Tue, 8 Mar 2016 21:26:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296550 - in head: lib/clang/libclangcodegen lib/clang/libclangdriver lib/clang/libclangfrontend lib/clang/libclangfrontendtool lib/clang/liblldbExpression lib/clang/liblldbInitializati... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 21:26:54 -0000 Author: bdrewery Date: Tue Mar 8 21:26:44 2016 New Revision: 296550 URL: https://svnweb.freebsd.org/changeset/base/296550 Log: DIRDEPS_BUILD: Update clang dependencies after r296417. Sponsored by: EMC / Isilon Storage Division Added: head/lib/clang/liblldbPluginExpressionParserClang/Makefile.depend - copied, changed from r296549, head/lib/clang/libclangcodegen/Makefile.depend head/lib/clang/liblldbPluginExpressionParserGo/Makefile.depend - copied, changed from r296549, head/lib/clang/libllvmprofiledata/Makefile.depend head/lib/clang/liblldbPluginLanguageCPlusPlus/Makefile.depend - copied, changed from r296549, head/lib/clang/libclangfrontendtool/Makefile.depend head/lib/clang/liblldbPluginLanguageObjC/Makefile.depend - copied, changed from r296549, head/lib/clang/libclangdriver/Makefile.depend head/lib/clang/liblldbPluginScriptInterpreterNone/Makefile.depend - copied, changed from r296549, head/lib/clang/libllvmprofiledata/Makefile.depend head/lib/clang/libllvmsymbolize/Makefile.depend - copied, changed from r296549, head/lib/clang/libllvmprofiledata/Makefile.depend head/lib/libclang_rt/asan_dynamic/Makefile.depend - copied, changed from r296549, head/usr.bin/clang/llvm-bcanalyzer/Makefile.depend Modified: head/lib/clang/libclangcodegen/Makefile.depend head/lib/clang/libclangdriver/Makefile.depend head/lib/clang/libclangfrontend/Makefile.depend head/lib/clang/libclangfrontendtool/Makefile.depend head/lib/clang/liblldbExpression/Makefile.depend head/lib/clang/liblldbInitialization/Makefile.depend head/lib/clang/liblldbPluginSymbolFileDWARF/Makefile.depend head/lib/clang/libllvmaarch64asmparser/Makefile.depend head/lib/clang/libllvmaarch64asmprinter/Makefile.depend head/lib/clang/libllvmaarch64codegen/Makefile.depend head/lib/clang/libllvmaarch64desc/Makefile.depend head/lib/clang/libllvmaarch64disassembler/Makefile.depend head/lib/clang/libllvmaarch64info/Makefile.depend head/lib/clang/libllvmaarch64utils/Makefile.depend head/lib/clang/libllvmanalysis/Makefile.depend head/lib/clang/libllvmarmasmparser/Makefile.depend head/lib/clang/libllvmarmasmprinter/Makefile.depend head/lib/clang/libllvmarmcodegen/Makefile.depend head/lib/clang/libllvmarmdesc/Makefile.depend head/lib/clang/libllvmarmdisassembler/Makefile.depend head/lib/clang/libllvmarminfo/Makefile.depend head/lib/clang/libllvmasmparser/Makefile.depend head/lib/clang/libllvmasmprinter/Makefile.depend head/lib/clang/libllvmbitreader/Makefile.depend head/lib/clang/libllvmbitwriter/Makefile.depend head/lib/clang/libllvmcodegen/Makefile.depend head/lib/clang/libllvmcore/Makefile.depend head/lib/clang/libllvmexecutionengine/Makefile.depend head/lib/clang/libllvminstcombine/Makefile.depend head/lib/clang/libllvminstrumentation/Makefile.depend head/lib/clang/libllvminterpreter/Makefile.depend head/lib/clang/libllvmipo/Makefile.depend head/lib/clang/libllvmirreader/Makefile.depend head/lib/clang/libllvmlibdriver/Makefile.depend head/lib/clang/libllvmlinker/Makefile.depend head/lib/clang/libllvmlto/Makefile.depend head/lib/clang/libllvmmcjit/Makefile.depend head/lib/clang/libllvmmipsasmparser/Makefile.depend head/lib/clang/libllvmmipsasmprinter/Makefile.depend head/lib/clang/libllvmmipscodegen/Makefile.depend head/lib/clang/libllvmmipsdesc/Makefile.depend head/lib/clang/libllvmmipsdisassembler/Makefile.depend head/lib/clang/libllvmmipsinfo/Makefile.depend head/lib/clang/libllvmmirparser/Makefile.depend head/lib/clang/libllvmobjcarcopts/Makefile.depend head/lib/clang/libllvmobject/Makefile.depend head/lib/clang/libllvmorcjit/Makefile.depend head/lib/clang/libllvmpasses/Makefile.depend head/lib/clang/libllvmpowerpcasmparser/Makefile.depend head/lib/clang/libllvmpowerpcasmprinter/Makefile.depend head/lib/clang/libllvmpowerpccodegen/Makefile.depend head/lib/clang/libllvmpowerpcdesc/Makefile.depend head/lib/clang/libllvmpowerpcdisassembler/Makefile.depend head/lib/clang/libllvmpowerpcinfo/Makefile.depend head/lib/clang/libllvmprofiledata/Makefile.depend head/lib/clang/libllvmscalaropts/Makefile.depend head/lib/clang/libllvmselectiondag/Makefile.depend head/lib/clang/libllvmsparcasmparser/Makefile.depend head/lib/clang/libllvmsparcasmprinter/Makefile.depend head/lib/clang/libllvmsparccodegen/Makefile.depend head/lib/clang/libllvmsparcdesc/Makefile.depend head/lib/clang/libllvmsparcdisassembler/Makefile.depend head/lib/clang/libllvmsparcinfo/Makefile.depend head/lib/clang/libllvmtarget/Makefile.depend head/lib/clang/libllvmtransformutils/Makefile.depend head/lib/clang/libllvmvectorize/Makefile.depend head/lib/clang/libllvmx86asmparser/Makefile.depend head/lib/clang/libllvmx86asmprinter/Makefile.depend head/lib/clang/libllvmx86codegen/Makefile.depend head/lib/clang/libllvmx86desc/Makefile.depend head/lib/clang/libllvmx86disassembler/Makefile.depend head/lib/clang/libllvmx86info/Makefile.depend head/targets/pseudo/clang/Makefile.depend head/targets/pseudo/hosttools/Makefile.depend head/usr.bin/clang/bugpoint/Makefile.depend head/usr.bin/clang/clang/Makefile.depend head/usr.bin/clang/llc/Makefile.depend head/usr.bin/clang/lldb/Makefile.depend head/usr.bin/clang/lli/Makefile.depend head/usr.bin/clang/llvm-ar/Makefile.depend head/usr.bin/clang/llvm-as/Makefile.depend head/usr.bin/clang/llvm-bcanalyzer/Makefile.depend head/usr.bin/clang/llvm-cov/Makefile.depend head/usr.bin/clang/llvm-cxxdump/Makefile.depend head/usr.bin/clang/llvm-diff/Makefile.depend head/usr.bin/clang/llvm-dis/Makefile.depend head/usr.bin/clang/llvm-extract/Makefile.depend head/usr.bin/clang/llvm-link/Makefile.depend head/usr.bin/clang/llvm-lto/Makefile.depend head/usr.bin/clang/llvm-mc/Makefile.depend head/usr.bin/clang/llvm-nm/Makefile.depend head/usr.bin/clang/llvm-objdump/Makefile.depend head/usr.bin/clang/llvm-profdata/Makefile.depend head/usr.bin/clang/llvm-rtdyld/Makefile.depend head/usr.bin/clang/llvm-symbolizer/Makefile.depend head/usr.bin/clang/opt/Makefile.depend Modified: head/lib/clang/libclangcodegen/Makefile.depend ============================================================================== --- head/lib/clang/libclangcodegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libclangcodegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,7 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libclangdriver/Makefile.depend ============================================================================== --- head/lib/clang/libclangdriver/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libclangdriver/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,7 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libclangfrontend/Makefile.depend ============================================================================== --- head/lib/clang/libclangfrontend/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libclangfrontend/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,7 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libclangfrontendtool/Makefile.depend ============================================================================== --- head/lib/clang/libclangfrontendtool/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libclangfrontendtool/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,7 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/liblldbExpression/Makefile.depend ============================================================================== --- head/lib/clang/liblldbExpression/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/liblldbExpression/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,7 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/liblldbInitialization/Makefile.depend ============================================================================== --- head/lib/clang/liblldbInitialization/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/liblldbInitialization/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/clang-tblgen.host \ .include Copied and modified: head/lib/clang/liblldbPluginExpressionParserClang/Makefile.depend (from r296549, head/lib/clang/libclangcodegen/Makefile.depend) ============================================================================== --- head/lib/clang/libclangcodegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549, copy source) +++ head/lib/clang/liblldbPluginExpressionParserClang/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,7 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Copied and modified: head/lib/clang/liblldbPluginExpressionParserGo/Makefile.depend (from r296549, head/lib/clang/libllvmprofiledata/Makefile.depend) ============================================================================== Copied and modified: head/lib/clang/liblldbPluginLanguageCPlusPlus/Makefile.depend (from r296549, head/lib/clang/libclangfrontendtool/Makefile.depend) ============================================================================== --- head/lib/clang/libclangfrontendtool/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549, copy source) +++ head/lib/clang/liblldbPluginLanguageCPlusPlus/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,6 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ .include Copied and modified: head/lib/clang/liblldbPluginLanguageObjC/Makefile.depend (from r296549, head/lib/clang/libclangdriver/Makefile.depend) ============================================================================== --- head/lib/clang/libclangdriver/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549, copy source) +++ head/lib/clang/liblldbPluginLanguageObjC/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,6 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ .include Copied and modified: head/lib/clang/liblldbPluginScriptInterpreterNone/Makefile.depend (from r296549, head/lib/clang/libllvmprofiledata/Makefile.depend) ============================================================================== Modified: head/lib/clang/liblldbPluginSymbolFileDWARF/Makefile.depend ============================================================================== --- head/lib/clang/liblldbPluginSymbolFileDWARF/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/liblldbPluginSymbolFileDWARF/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -7,7 +7,7 @@ DIRDEPS = \ lib/libc++ \ lib/msun \ usr.bin/clang/clang-tblgen.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmaarch64asmparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmaarch64asmparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmaarch64asmparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmaarch64asmprinter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmaarch64asmprinter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmaarch64asmprinter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,21 +6,11 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -AArch64InstPrinter.o: AArch64GenAsmWriter.inc.h -AArch64InstPrinter.o: AArch64GenAsmWriter1.inc.h -AArch64InstPrinter.o: AArch64GenInstrInfo.inc.h -AArch64InstPrinter.o: AArch64GenRegisterInfo.inc.h -AArch64InstPrinter.o: AArch64GenSubtargetInfo.inc.h -AArch64InstPrinter.po: AArch64GenAsmWriter.inc.h -AArch64InstPrinter.po: AArch64GenAsmWriter1.inc.h -AArch64InstPrinter.po: AArch64GenInstrInfo.inc.h -AArch64InstPrinter.po: AArch64GenRegisterInfo.inc.h -AArch64InstPrinter.po: AArch64GenSubtargetInfo.inc.h .endif Modified: head/lib/clang/libllvmaarch64codegen/Makefile.depend ============================================================================== --- head/lib/clang/libllvmaarch64codegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmaarch64codegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmaarch64desc/Makefile.depend ============================================================================== --- head/lib/clang/libllvmaarch64desc/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmaarch64desc/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmaarch64disassembler/Makefile.depend ============================================================================== --- head/lib/clang/libllvmaarch64disassembler/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmaarch64disassembler/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmaarch64info/Makefile.depend ============================================================================== --- head/lib/clang/libllvmaarch64info/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmaarch64info/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmaarch64utils/Makefile.depend ============================================================================== --- head/lib/clang/libllvmaarch64utils/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmaarch64utils/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmanalysis/Makefile.depend ============================================================================== --- head/lib/clang/libllvmanalysis/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmanalysis/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmarmasmparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmarmasmparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmarmasmparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmarmasmprinter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmarmasmprinter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmarmasmprinter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,19 +6,11 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -ARMInstPrinter.o: ARMGenAsmWriter.inc.h -ARMInstPrinter.o: ARMGenInstrInfo.inc.h -ARMInstPrinter.o: ARMGenRegisterInfo.inc.h -ARMInstPrinter.o: ARMGenSubtargetInfo.inc.h -ARMInstPrinter.po: ARMGenAsmWriter.inc.h -ARMInstPrinter.po: ARMGenInstrInfo.inc.h -ARMInstPrinter.po: ARMGenRegisterInfo.inc.h -ARMInstPrinter.po: ARMGenSubtargetInfo.inc.h .endif Modified: head/lib/clang/libllvmarmcodegen/Makefile.depend ============================================================================== --- head/lib/clang/libllvmarmcodegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmarmcodegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmarmdesc/Makefile.depend ============================================================================== --- head/lib/clang/libllvmarmdesc/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmarmdesc/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmarmdisassembler/Makefile.depend ============================================================================== --- head/lib/clang/libllvmarmdisassembler/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmarmdisassembler/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmarminfo/Makefile.depend ============================================================================== --- head/lib/clang/libllvmarminfo/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmarminfo/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmasmparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmasmparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmasmparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmasmprinter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmasmprinter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmasmprinter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmbitreader/Makefile.depend ============================================================================== --- head/lib/clang/libllvmbitreader/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmbitreader/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmbitwriter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmbitwriter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmbitwriter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmcodegen/Makefile.depend ============================================================================== --- head/lib/clang/libllvmcodegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmcodegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmcore/Makefile.depend ============================================================================== --- head/lib/clang/libllvmcore/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmcore/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmexecutionengine/Makefile.depend ============================================================================== --- head/lib/clang/libllvmexecutionengine/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmexecutionengine/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvminstcombine/Makefile.depend ============================================================================== --- head/lib/clang/libllvminstcombine/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvminstcombine/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvminstrumentation/Makefile.depend ============================================================================== --- head/lib/clang/libllvminstrumentation/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvminstrumentation/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvminterpreter/Makefile.depend ============================================================================== --- head/lib/clang/libllvminterpreter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvminterpreter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmipo/Makefile.depend ============================================================================== --- head/lib/clang/libllvmipo/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmipo/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmirreader/Makefile.depend ============================================================================== --- head/lib/clang/libllvmirreader/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmirreader/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmlibdriver/Makefile.depend ============================================================================== --- head/lib/clang/libllvmlibdriver/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmlibdriver/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmlinker/Makefile.depend ============================================================================== --- head/lib/clang/libllvmlinker/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmlinker/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmlto/Makefile.depend ============================================================================== --- head/lib/clang/libllvmlto/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmlto/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmmcjit/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmcjit/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmcjit/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmmipsasmparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmipsasmparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmipsasmparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmmipsasmprinter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmipsasmprinter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmipsasmprinter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,19 +6,11 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -MipsInstPrinter.o: MipsGenAsmWriter.inc.h -MipsInstPrinter.o: MipsGenInstrInfo.inc.h -MipsInstPrinter.o: MipsGenRegisterInfo.inc.h -MipsInstPrinter.o: MipsGenSubtargetInfo.inc.h -MipsInstPrinter.po: MipsGenAsmWriter.inc.h -MipsInstPrinter.po: MipsGenInstrInfo.inc.h -MipsInstPrinter.po: MipsGenRegisterInfo.inc.h -MipsInstPrinter.po: MipsGenSubtargetInfo.inc.h .endif Modified: head/lib/clang/libllvmmipscodegen/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmipscodegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmipscodegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmmipsdesc/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmipsdesc/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmipsdesc/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmmipsdisassembler/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmipsdisassembler/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmipsdisassembler/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmmipsinfo/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmipsinfo/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmipsinfo/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmmirparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmmirparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmmirparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmobjcarcopts/Makefile.depend ============================================================================== --- head/lib/clang/libllvmobjcarcopts/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmobjcarcopts/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmobject/Makefile.depend ============================================================================== --- head/lib/clang/libllvmobject/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmobject/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmorcjit/Makefile.depend ============================================================================== --- head/lib/clang/libllvmorcjit/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmorcjit/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmpasses/Makefile.depend ============================================================================== --- head/lib/clang/libllvmpasses/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmpasses/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmpowerpcasmparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmpowerpcasmparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmpowerpcasmparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmpowerpcasmprinter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmpowerpcasmprinter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmpowerpcasmprinter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,19 +6,11 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -PPCInstPrinter.o: PPCGenAsmWriter.inc.h -PPCInstPrinter.o: PPCGenInstrInfo.inc.h -PPCInstPrinter.o: PPCGenRegisterInfo.inc.h -PPCInstPrinter.o: PPCGenSubtargetInfo.inc.h -PPCInstPrinter.po: PPCGenAsmWriter.inc.h -PPCInstPrinter.po: PPCGenInstrInfo.inc.h -PPCInstPrinter.po: PPCGenRegisterInfo.inc.h -PPCInstPrinter.po: PPCGenSubtargetInfo.inc.h .endif Modified: head/lib/clang/libllvmpowerpccodegen/Makefile.depend ============================================================================== --- head/lib/clang/libllvmpowerpccodegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmpowerpccodegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmpowerpcdesc/Makefile.depend ============================================================================== --- head/lib/clang/libllvmpowerpcdesc/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmpowerpcdesc/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmpowerpcdisassembler/Makefile.depend ============================================================================== --- head/lib/clang/libllvmpowerpcdisassembler/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmpowerpcdisassembler/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmpowerpcinfo/Makefile.depend ============================================================================== --- head/lib/clang/libllvmpowerpcinfo/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmpowerpcinfo/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmprofiledata/Makefile.depend ============================================================================== --- head/lib/clang/libllvmprofiledata/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmprofiledata/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,6 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmscalaropts/Makefile.depend ============================================================================== --- head/lib/clang/libllvmscalaropts/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmscalaropts/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmselectiondag/Makefile.depend ============================================================================== --- head/lib/clang/libllvmselectiondag/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmselectiondag/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmsparcasmparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmsparcasmparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmsparcasmparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmsparcasmprinter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmsparcasmprinter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmsparcasmprinter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,19 +6,11 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -SparcInstPrinter.o: SparcGenAsmWriter.inc.h -SparcInstPrinter.o: SparcGenInstrInfo.inc.h -SparcInstPrinter.o: SparcGenRegisterInfo.inc.h -SparcInstPrinter.o: SparcGenSubtargetInfo.inc.h -SparcInstPrinter.po: SparcGenAsmWriter.inc.h -SparcInstPrinter.po: SparcGenInstrInfo.inc.h -SparcInstPrinter.po: SparcGenRegisterInfo.inc.h -SparcInstPrinter.po: SparcGenSubtargetInfo.inc.h .endif Modified: head/lib/clang/libllvmsparccodegen/Makefile.depend ============================================================================== --- head/lib/clang/libllvmsparccodegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmsparccodegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmsparcdesc/Makefile.depend ============================================================================== --- head/lib/clang/libllvmsparcdesc/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmsparcdesc/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmsparcdisassembler/Makefile.depend ============================================================================== --- head/lib/clang/libllvmsparcdisassembler/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmsparcdisassembler/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmsparcinfo/Makefile.depend ============================================================================== --- head/lib/clang/libllvmsparcinfo/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmsparcinfo/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Copied and modified: head/lib/clang/libllvmsymbolize/Makefile.depend (from r296549, head/lib/clang/libllvmprofiledata/Makefile.depend) ============================================================================== Modified: head/lib/clang/libllvmtarget/Makefile.depend ============================================================================== --- head/lib/clang/libllvmtarget/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmtarget/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmtransformutils/Makefile.depend ============================================================================== --- head/lib/clang/libllvmtransformutils/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmtransformutils/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmvectorize/Makefile.depend ============================================================================== --- head/lib/clang/libllvmvectorize/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmvectorize/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmx86asmparser/Makefile.depend ============================================================================== --- head/lib/clang/libllvmx86asmparser/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmx86asmparser/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmx86asmprinter/Makefile.depend ============================================================================== --- head/lib/clang/libllvmx86asmprinter/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmx86asmprinter/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,33 +6,11 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include .if ${DEP_RELDIR} == ${_DEP_RELDIR} # local dependencies - needed for -jN in clean tree -X86ATTInstPrinter.o: X86GenAsmWriter.inc.h -X86ATTInstPrinter.o: X86GenInstrInfo.inc.h -X86ATTInstPrinter.o: X86GenRegisterInfo.inc.h -X86ATTInstPrinter.o: X86GenSubtargetInfo.inc.h -X86ATTInstPrinter.po: X86GenAsmWriter.inc.h -X86ATTInstPrinter.po: X86GenInstrInfo.inc.h -X86ATTInstPrinter.po: X86GenRegisterInfo.inc.h -X86ATTInstPrinter.po: X86GenSubtargetInfo.inc.h -X86InstComments.o: X86GenInstrInfo.inc.h -X86InstComments.o: X86GenRegisterInfo.inc.h -X86InstComments.o: X86GenSubtargetInfo.inc.h -X86InstComments.po: X86GenInstrInfo.inc.h -X86InstComments.po: X86GenRegisterInfo.inc.h -X86InstComments.po: X86GenSubtargetInfo.inc.h -X86IntelInstPrinter.o: X86GenAsmWriter1.inc.h -X86IntelInstPrinter.o: X86GenInstrInfo.inc.h -X86IntelInstPrinter.o: X86GenRegisterInfo.inc.h -X86IntelInstPrinter.o: X86GenSubtargetInfo.inc.h -X86IntelInstPrinter.po: X86GenAsmWriter1.inc.h -X86IntelInstPrinter.po: X86GenInstrInfo.inc.h -X86IntelInstPrinter.po: X86GenRegisterInfo.inc.h -X86IntelInstPrinter.po: X86GenSubtargetInfo.inc.h .endif Modified: head/lib/clang/libllvmx86codegen/Makefile.depend ============================================================================== --- head/lib/clang/libllvmx86codegen/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmx86codegen/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmx86desc/Makefile.depend ============================================================================== --- head/lib/clang/libllvmx86desc/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmx86desc/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmx86disassembler/Makefile.depend ============================================================================== --- head/lib/clang/libllvmx86disassembler/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmx86disassembler/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/lib/clang/libllvmx86info/Makefile.depend ============================================================================== --- head/lib/clang/libllvmx86info/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/lib/clang/libllvmx86info/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -6,7 +6,7 @@ DIRDEPS = \ include/xlocale \ lib/libc++ \ lib/msun \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Copied and modified: head/lib/libclang_rt/asan_dynamic/Makefile.depend (from r296549, head/usr.bin/clang/llvm-bcanalyzer/Makefile.depend) ============================================================================== --- head/usr.bin/clang/llvm-bcanalyzer/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549, copy source) +++ head/lib/libclang_rt/asan_dynamic/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -5,15 +5,13 @@ DIRDEPS = \ gnu/lib/csu \ gnu/lib/libgcc \ include \ + include/arpa \ include/xlocale \ lib/${CSU_DIR} \ - lib/clang/libllvmbitreader \ - lib/clang/libllvmcore \ - lib/clang/libllvmsupport \ lib/libc \ lib/libc++ \ lib/libcompiler_rt \ - lib/libthr \ + lib/libcxxrt \ lib/msun \ lib/ncurses/ncursesw \ Modified: head/targets/pseudo/clang/Makefile.depend ============================================================================== --- head/targets/pseudo/clang/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/targets/pseudo/clang/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -11,7 +11,7 @@ DIRDEPS = \ share/doc/llvm/clang \ usr.bin/clang/clang \ usr.bin/clang/clang-tblgen \ - usr.bin/clang/tblgen \ + usr.bin/clang/llvm-tblgen \ .if ${MK_LLDB} == "yes" DIRDEPS+= \ @@ -41,7 +41,6 @@ DIRDEPS+= \ usr.bin/clang/llvm-profdata \ usr.bin/clang/llvm-rtdyld \ usr.bin/clang/llvm-symbolizer \ - usr.bin/clang/macho-dump \ usr.bin/clang/opt \ .endif Modified: head/targets/pseudo/hosttools/Makefile.depend ============================================================================== --- head/targets/pseudo/hosttools/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/targets/pseudo/hosttools/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -13,7 +13,7 @@ DIRDEPS = \ share/doc/llvm/clang.host \ usr.bin/clang/clang-tblgen.host \ usr.bin/clang/clang.host \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ usr.bin/lex/lib.host \ usr.bin/localedef.host \ usr.bin/mkcsmapper_static.host \ Modified: head/usr.bin/clang/bugpoint/Makefile.depend ============================================================================== --- head/usr.bin/clang/bugpoint/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/usr.bin/clang/bugpoint/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -15,7 +15,6 @@ DIRDEPS = \ lib/clang/libllvmcore \ lib/clang/libllvminstcombine \ lib/clang/libllvminstrumentation \ - lib/clang/libllvmipa \ lib/clang/libllvmipo \ lib/clang/libllvmirreader \ lib/clang/libllvmlinker \ @@ -33,9 +32,10 @@ DIRDEPS = \ lib/libc++ \ lib/libcompiler_rt \ lib/libthr \ + lib/libz \ lib/msun \ lib/ncurses/ncursesw \ - usr.bin/clang/tblgen.host \ + usr.bin/clang/llvm-tblgen.host \ .include Modified: head/usr.bin/clang/clang/Makefile.depend ============================================================================== --- head/usr.bin/clang/clang/Makefile.depend Tue Mar 8 21:26:25 2016 (r296549) +++ head/usr.bin/clang/clang/Makefile.depend Tue Mar 8 21:26:44 2016 (r296550) @@ -26,18 +26,17 @@ DIRDEPS = \ lib/clang/libclangstaticanalyzercore \ lib/clang/libclangstaticanalyzerfrontend \ lib/clang/libllvmaarch64asmparser \ + lib/clang/libllvmaarch64asmprinter \ lib/clang/libllvmaarch64codegen \ lib/clang/libllvmaarch64desc \ lib/clang/libllvmaarch64info \ - lib/clang/libllvmaarch64instprinter \ lib/clang/libllvmaarch64utils \ lib/clang/libllvmanalysis \ lib/clang/libllvmarmasmparser \ + lib/clang/libllvmarmasmprinter \ lib/clang/libllvmarmcodegen \ lib/clang/libllvmarmdesc \ - lib/clang/libllvmarmdisassembler \ lib/clang/libllvmarminfo \ - lib/clang/libllvmarminstprinter \ lib/clang/libllvmasmparser \ lib/clang/libllvmasmprinter \ lib/clang/libllvmbitreader \ @@ -46,7 +45,6 @@ DIRDEPS = \ lib/clang/libllvmcore \ lib/clang/libllvminstcombine \ lib/clang/libllvminstrumentation \ - lib/clang/libllvmipa \ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Tue Mar 8 22:12:04 2016 Return-Path: Delivered-To: svn-src-all@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 F09B6AC7BB2; Tue, 8 Mar 2016 22:12:04 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A4013E26; Tue, 8 Mar 2016 22:12:04 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28MC3MN045187; Tue, 8 Mar 2016 22:12:03 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28MC39M045186; Tue, 8 Mar 2016 22:12:03 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201603082212.u28MC39M045186@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Tue, 8 Mar 2016 22:12:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296551 - in vendor/NetBSD/libedit: 2016-01-16 2016-01-30 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 22:12:05 -0000 Author: pfg Date: Tue Mar 8 22:12:03 2016 New Revision: 296551 URL: https://svnweb.freebsd.org/changeset/base/296551 Log: Fix tag: we are actually at 2016-01-30. Added: vendor/NetBSD/libedit/2016-01-30/ - copied from r296550, vendor/NetBSD/libedit/2016-01-16/ Deleted: vendor/NetBSD/libedit/2016-01-16/ From owner-svn-src-all@freebsd.org Tue Mar 8 22:23:32 2016 Return-Path: Delivered-To: svn-src-all@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 49CE3AC8079; Tue, 8 Mar 2016 22:23:32 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 08CA58B6; Tue, 8 Mar 2016 22:23:31 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u28MNVqR048195; Tue, 8 Mar 2016 22:23:31 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u28MNUeR048193; Tue, 8 Mar 2016 22:23:30 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603082223.u28MNUeR048193@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 8 Mar 2016 22:23:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296552 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 22:23:32 -0000 Author: np Date: Tue Mar 8 22:23:30 2016 New Revision: 296552 URL: https://svnweb.freebsd.org/changeset/base/296552 Log: cxgbe(4): Rename regwin_lock to reg_lock. It is used to protect access to indirect registers only. Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Tue Mar 8 22:12:03 2016 (r296551) +++ head/sys/dev/cxgbe/adapter.h Tue Mar 8 22:23:30 2016 (r296552) @@ -804,7 +804,7 @@ struct adapter { TAILQ_HEAD(, sge_fl) sfl; struct callout sfl_callout; - struct mtx regwin_lock; /* for indirect reads and memory windows */ + struct mtx reg_lock; /* for indirect register access */ an_handler_t an_handler __aligned(CACHE_LINE_SIZE); fw_msg_handler_t fw_msg_handler[7]; /* NUM_FW6_TYPES */ Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Tue Mar 8 22:12:03 2016 (r296551) +++ head/sys/dev/cxgbe/t4_main.c Tue Mar 8 22:23:30 2016 (r296552) @@ -688,7 +688,7 @@ t4_attach(device_t dev) TAILQ_INIT(&sc->sfl); callout_init_mtx(&sc->sfl_callout, &sc->sfl_lock, 0); - mtx_init(&sc->regwin_lock, "register and memory window", 0, MTX_DEF); + mtx_init(&sc->reg_lock, "indirect register access", 0, MTX_DEF); rc = map_bars_0_and_4(sc); if (rc != 0) @@ -1161,8 +1161,8 @@ t4_detach(device_t dev) mtx_destroy(&sc->sfl_lock); if (mtx_initialized(&sc->ifp_lock)) mtx_destroy(&sc->ifp_lock); - if (mtx_initialized(&sc->regwin_lock)) - mtx_destroy(&sc->regwin_lock); + if (mtx_initialized(&sc->reg_lock)) + mtx_destroy(&sc->reg_lock); bzero(sc, sizeof(*sc)); @@ -4197,7 +4197,7 @@ read_vf_stat(struct adapter *sc, unsigne { u32 stats[2]; - mtx_assert(&sc->regwin_lock, MA_OWNED); + mtx_assert(&sc->reg_lock, MA_OWNED); t4_write_reg(sc, A_PL_INDIR_CMD, V_PL_AUTOINC(1) | V_PL_VFID(G_FW_VIID_VIN(viid)) | V_PL_ADDR(VF_MPS_REG(reg))); stats[0] = t4_read_reg(sc, A_PL_INDIR_DATA); @@ -4260,10 +4260,10 @@ vi_refresh_stats(struct adapter *sc, str if (timevalcmp(&tv, &vi->last_refreshed, <)) return; - mtx_lock(&sc->regwin_lock); + mtx_lock(&sc->reg_lock); t4_get_vi_stats(sc, vi->viid, &vi->stats); getmicrotime(&vi->last_refreshed); - mtx_unlock(&sc->regwin_lock); + mtx_unlock(&sc->reg_lock); } static void @@ -4283,10 +4283,10 @@ cxgbe_refresh_stats(struct adapter *sc, t4_get_port_stats(sc, pi->tx_chan, &pi->stats); for (i = 0; i < sc->chip_params->nchan; i++) { if (pi->rx_chan_map & (1 << i)) { - mtx_lock(&sc->regwin_lock); + mtx_lock(&sc->reg_lock); t4_read_indirect(sc, A_TP_MIB_INDEX, A_TP_MIB_DATA, &v, 1, A_TP_MIB_TNL_CNG_DROP_0 + i); - mtx_unlock(&sc->regwin_lock); + mtx_unlock(&sc->reg_lock); tnl_cong_drops += v; } } @@ -5693,9 +5693,9 @@ sysctl_cpl_stats(SYSCTL_HANDLER_ARGS) if (sb == NULL) return (ENOMEM); - mtx_lock(&sc->regwin_lock); + mtx_lock(&sc->reg_lock); t4_tp_get_cpl_stats(sc, &stats); - mtx_unlock(&sc->regwin_lock); + mtx_unlock(&sc->reg_lock); if (sc->chip_params->nchan > 2) { sbuf_printf(sb, " channel 0 channel 1" @@ -6673,9 +6673,9 @@ sysctl_rdma_stats(SYSCTL_HANDLER_ARGS) if (sb == NULL) return (ENOMEM); - mtx_lock(&sc->regwin_lock); + mtx_lock(&sc->reg_lock); t4_tp_get_rdma_stats(sc, &stats); - mtx_unlock(&sc->regwin_lock); + mtx_unlock(&sc->reg_lock); sbuf_printf(sb, "NoRQEModDefferals: %u\n", stats.rqe_dfr_mod); sbuf_printf(sb, "NoRQEPktDefferals: %u", stats.rqe_dfr_pkt); @@ -6702,9 +6702,9 @@ sysctl_tcp_stats(SYSCTL_HANDLER_ARGS) if (sb == NULL) return (ENOMEM); - mtx_lock(&sc->regwin_lock); + mtx_lock(&sc->reg_lock); t4_tp_get_tcp_stats(sc, &v4, &v6); - mtx_unlock(&sc->regwin_lock); + mtx_unlock(&sc->reg_lock); sbuf_printf(sb, " IP IPv6\n"); @@ -6804,9 +6804,9 @@ sysctl_tp_err_stats(SYSCTL_HANDLER_ARGS) if (sb == NULL) return (ENOMEM); - mtx_lock(&sc->regwin_lock); + mtx_lock(&sc->reg_lock); t4_tp_get_err_stats(sc, &stats); - mtx_unlock(&sc->regwin_lock); + mtx_unlock(&sc->reg_lock); if (sc->chip_params->nchan > 2) { sbuf_printf(sb, " channel 0 channel 1" @@ -8408,12 +8408,12 @@ t4_ioctl(struct cdev *dev, unsigned long /* MAC stats */ t4_clr_port_stats(sc, pi->tx_chan); pi->tx_parse_error = 0; - mtx_lock(&sc->regwin_lock); + mtx_lock(&sc->reg_lock); for_each_vi(pi, v, vi) { if (vi->flags & VI_INIT_DONE) t4_clr_vi_stats(sc, vi->viid); } - mtx_unlock(&sc->regwin_lock); + mtx_unlock(&sc->reg_lock); /* * Since this command accepts a port, clear stats for From owner-svn-src-all@freebsd.org Tue Mar 8 22:43:45 2016 Return-Path: Delivered-To: svn-src-all@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 27BBDAC8831; Tue, 8 Mar 2016 22:43:45 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (mx3.absolight.net [IPv6:2a01:678:2:100::25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "plouf.absolight.net", Issuer "CAcert Class 3 Root" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id E53F231B; Tue, 8 Mar 2016 22:43:44 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (localhost [127.0.0.1]) by prod2.absolight.net (Postfix) with ESMTP id 80E05BDC73; Tue, 8 Mar 2016 23:43:42 +0100 (CET) Received: from atuin.in.mat.cc (atuin.in.mat.cc [79.143.241.205]) by prod2.absolight.net (Postfix) with ESMTPA id 5E4FDBDC66; Tue, 8 Mar 2016 23:43:42 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by atuin.in.mat.cc (Postfix) with ESMTP id 411615584160; Tue, 8 Mar 2016 23:43:42 +0100 (CET) Date: Tue, 08 Mar 2016 23:43:42 +0100 From: Mathieu Arnold To: Xin Li , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... Message-ID: <2EE0BF0314149E051E25918E@atuin.in.mat.cc> In-Reply-To: <56DE6DFD.4020300@delphij.net> References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DE6DFD.4020300@delphij.net> X-Mailer: Mulberry/4.0.8 (Mac OS X) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="==========60CD76B6E1AB6AC3A50F==========" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 22:43:45 -0000 --==========60CD76B6E1AB6AC3A50F========== Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline +--On 7 mars 2016 22:15:25 -0800 Xin Li wrote: | | | On 3/7/16 16:29, Mathieu Arnold wrote: |> +--On 7 mars 2016 16:22:12 +0000 Xin LI wrote: |> | Author: delphij |> | Date: Mon Mar 7 16:22:11 2016 |> | New Revision: 296465 |> | URL: https://svnweb.freebsd.org/changeset/base/296465 |> | |> | Log: |> | Fix multiple OpenSSL vulnerabilities. |> | |> | Security: FreeBSD-SA-16:12.openssl |> | Approved by: so |> |> After that, poudriere bulk fails with: |> |> [00:00:07] ====>> Creating pkgng repository |> Creating repository in /tmp/packages: 100% |> Packing files for repository: 0%Child process pid=50970 terminated |> abnormally: Segmentation fault: 11 |> [00:00:08] ====>> Cleaning up |> 9amd64-pkgng-default: removed |> 9amd64-pkgng-default-n: removed |> |> pkg-static is the one doing the segfault... | | I can't seem to be able to reproduce this, what ports are you trying to | bulk? (Also note that after doing poudriere jail -u, the bulk seems to | have rebuilt pkg, I'm not sure if that matters, but it's possible, do I | need to explicitly specify something to avoid this?). Ok, I use a signed repo, which is why it fails. When I run pkg repo . it works, with pkg repo . ../repo.key it cores dump. -- Mathieu Arnold --==========60CD76B6E1AB6AC3A50F========== Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQJ8BAEBCgBmBQJW31WeXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzQUI2OTc4OUQyRUQxMjEwNjQ0MEJBNUIz QTQ1MTZGMzUxODNDRTQ4AAoJEDpFFvNRg85Igg8QAI9SPZs5VBO1GZJcut6a+3o8 YH27orB93GSgDS9LUfIKgVcB+Ta1t2IwXa7bud7IxW/azi3alij6TmVY+NmbXEJn pUO8p9uKP0HFzP7EoyLXfibEbDaTI3SMnX5omVdozIEoiiwN/pMPoIUw/SczSld0 ziIYvPuZFZiFf7FsnF8TYtw7SRZGmpYnt7DIlXaf5f1eYQ+6nefza/0zgLhDOthR 64MueRBIZQPRmRhBjX1QapQwHOJ0M0QvLa4E7rjwsCz2G4DlVq+PY7FmGL5ZsNsE k/j3nY6enhLsYZeb8GV2jEx7AdAUjz1gnFf76u32jrV7ghxHKKdLsU9lNh4jLGQS YwkWjvLcZnVP3MZQWAmiSjDQXvYdUudqG481xmLvZV5ztra/2GHY+bpvJSmW8vFV Ve9MO2lBMRskkjev2JYVXYnKRYjGOTXzymhHlRiSF/ooVxCEsrqceO3kOp1b4eJt IIxXeJ1jjFkYkqFz1XzGgQnEoNHPFzzSyRJquHYWY8dF8V87X26pFPGzrGTIv2DC AIwrrLLxN5xM54uhHAKnUrup7IyFtTge3HpRJuvPy+bD4dg+U5iouJnABrnjlAxv 7kifTu7V1nCMWazaX3WMHpo1LmDYlGq68WNBPCYpT4fXlT0bhozAWXGqIZDSR2CL gliddqQuUPLWVVnGWTkw =ZnW7 -----END PGP SIGNATURE----- --==========60CD76B6E1AB6AC3A50F==========-- From owner-svn-src-all@freebsd.org Tue Mar 8 22:45:07 2016 Return-Path: Delivered-To: svn-src-all@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 CEDC1AC88C8; Tue, 8 Mar 2016 22:45:07 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (prod2.absolight.net [79.143.243.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "plouf.absolight.net", Issuer "CAcert Class 3 Root" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 82AF06C0; Tue, 8 Mar 2016 22:45:07 +0000 (UTC) (envelope-from mat@FreeBSD.org) Received: from prod2.absolight.net (localhost [127.0.0.1]) by prod2.absolight.net (Postfix) with ESMTP id A2865BDC7F; Tue, 8 Mar 2016 23:45:05 +0100 (CET) Received: from atuin.in.mat.cc (atuin.in.mat.cc [79.143.241.205]) by prod2.absolight.net (Postfix) with ESMTPA id 9BA16BDC73; Tue, 8 Mar 2016 23:45:05 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by atuin.in.mat.cc (Postfix) with ESMTP id 7C14B55841D8; Tue, 8 Mar 2016 23:45:05 +0100 (CET) Date: Tue, 08 Mar 2016 23:45:05 +0100 From: Mathieu Arnold To: Bryan Drewery , Xin LI , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... Message-ID: In-Reply-To: <56DF0550.6000604@FreeBSD.org> References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> <56DF0234.2090307@FreeBSD.org> <56DF025B.1090706@FreeBSD.org> <56DF0550.6000604@FreeBSD.org> X-Mailer: Mulberry/4.0.8 (Mac OS X) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="==========82237419477444479CEF==========" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Mar 2016 22:45:07 -0000 --==========82237419477444479CEF========== Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline +--On 8 mars 2016 09:01:04 -0800 Bryan Drewery = wrote: | On 3/8/2016 8:52 AM, Mathieu Arnold wrote: |> +--On 8 mars 2016 08:48:27 -0800 Bryan Drewery |> wrote: |> | On 3/8/2016 8:47 AM, Bryan Drewery wrote: |> |> On 3/8/2016 8:35 AM, Mathieu Arnold wrote: |> |>> +--On 8 mars 2016 08:29:41 -0800 Bryan Drewery = |> |>> wrote: |> |>> | On 3/8/2016 8:28 AM, Mathieu Arnold wrote: |> |>> |> +--On 8 mars 2016 08:25:44 -0800 Bryan Drewery |> |>> |> wrote: |> |>> |> | On 3/7/2016 4:29 PM, Mathieu Arnold wrote: |> |>> |> |> +--On 7 mars 2016 16:22:12 +0000 Xin LI |> |>> |> |> wrote: |> |>> |> |> | Author: delphij |> |>> |> |> | Date: Mon Mar 7 16:22:11 2016 |> |>> |> |> | New Revision: 296465 |> |>> |> |> | URL: https://svnweb.freebsd.org/changeset/base/296465 |> |>> |> |> |=20 |> |>> |> |> | Log: |> |>> |> |> | Fix multiple OpenSSL vulnerabilities. |> |>> |> |> | =20 |> |>> |> |> | Security: FreeBSD-SA-16:12.openssl |> |>> |> |> | Approved by: so |> |>> |> |>=20 |> |>> |> |> After that, poudriere bulk fails with: |> |>> |> |>=20 |> |>> |> |> [00:00:07] =3D=3D=3D=3D>> Creating pkgng repository |> |>> |> |> Creating repository in /tmp/packages: 100% |> |>> |> |> Packing files for repository: 0%Child process pid=3D50970 |> |>> |> |> terminated abnormally: Segmentation fault: 11 |> |>> |> |> [00:00:08] =3D=3D=3D=3D>> Cleaning up |> |>> |> |> 9amd64-pkgng-default: removed |> |>> |> |> 9amd64-pkgng-default-n: removed |> |>> |> |>=20 |> |>> |> |> pkg-static is the one doing the segfault... |> |>> |> |>=20 |> |>> |> |=20 |> |>> |> | Is QEMU involved here? |> |>> |> |=20 |> |>> |> | Do you have PKG_REPO_FROM_HOST or PKG_REPO_SIGNING_KEY set? = (Not |> |>> |> | saying you should) |> |>> |>=20 |> |>> |> No, it's a regular 9amd64 build on a 10.2 amd64 host. |> |>> |>=20 |> |>> |=20 |> |>> | Can you please rebuild pkg with debug symbols and then run your = 9.3 |> |>> | version against the repo in gdb? |> |>>=20 |> |>> I could yes, but not today, tomorrow at the earliest. How do I = build |> |>> the port with debug symbols ? |> |>>=20 |> |>=20 |> |> WITH_DEBUG=3Dyes make |> |>=20 |> |=20 |> | You might need this too: DEBUG_FLAGS=3D"-g -O0" |>=20 |> Mmmm, ok, what commands do I need to run ? |>=20 |=20 | (assuming devel/gdb installed) | gdb710 --args /usr/local/sbin/pkg-static repo |# run | |# bt full Ok, so, it's 9.3, so there's no gdb710, but: the command ran is: root@pkg:/tmp/foo # pkg repo . ../repo.key Creating repository in .: 100% Packing files for repository: 0%Child process pid=3D16312 terminated abnormally: Segmentation fault: 11 root@pkg:/tmp/foo # gdb /usr/local/sbin/pkg pkg.core GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you = are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-marcel-freebsd"... Core was generated by `pkg'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/local/lib/libpkg.so.3...done. Loaded symbols for /usr/local/lib/libpkg.so.3 Reading symbols from /lib/libutil.so.9...done. Loaded symbols for /lib/libutil.so.9 Reading symbols from /usr/lib/libssl.so.6...done. Loaded symbols for /usr/lib/libssl.so.6 Reading symbols from /lib/libcrypto.so.6...done. Loaded symbols for /lib/libcrypto.so.6 Reading symbols from /lib/libm.so.5...done. Loaded symbols for /lib/libm.so.5 Reading symbols from /usr/lib/libelf.so.1...done. Loaded symbols for /usr/lib/libelf.so.1 Reading symbols from /lib/libjail.so.1...done. Loaded symbols for /lib/libjail.so.1 Reading symbols from /usr/lib/libarchive.so.5...done. Loaded symbols for /usr/lib/libarchive.so.5 Reading symbols from /lib/libz.so.6...done. Loaded symbols for /lib/libz.so.6 Reading symbols from /usr/lib/libbz2.so.4...done. Loaded symbols for /usr/lib/libbz2.so.4 Reading symbols from /usr/lib/liblzma.so.5...done. Loaded symbols for /usr/lib/liblzma.so.5 Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /lib/libbsdxml.so.4...done. Loaded symbols for /lib/libbsdxml.so.4 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x0000000801219438 in BN_mod_exp_mont_consttime () from /lib/libcrypto.so.6 (gdb) bt full #0 0x0000000801219438 in BN_mod_exp_mont_consttime () from /lib/libcrypto.so.6 No symbol table info available. #1 0x00000008011f735f in RSA_PKCS1_SSLeay () from /lib/libcrypto.so.6 No symbol table info available. #2 0x00000008011f82fd in RSA_PKCS1_SSLeay () from /lib/libcrypto.so.6 No symbol table info available. #3 0x00000008011d28d9 in RSA_sign () from /lib/libcrypto.so.6 No symbol table info available. #4 0x00000008008dc73b in rsa_sign (path=3D0x7fffffffe3c0 "./meta", rsa=3D0x802c19260, sigret=3D0x7fffffffda78, siglen=3D0x7fffffffda8c) at = rsa.c:287 errbuf =3D "./meta.txz\000\000\b\000\000\000\001\000\000\000\001\000\000\000\004\000\00= 0\000\000\000\000\000 =EF=BF=BD=EF=BF=BD\177\000\000=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000\000=EF=BF=BD= =EF=BF=BD=EF=BF=BD\177\000\000T\203\220\000\b\000\000\000\020\000\000\000\00= 0\000\000\000WU\000\000\000\000-\v=EF=BF=BD\004=EF=BF=BD@=EF=BF=BD~=3D=EF=BF= =BD=EF=BF=BDU\000\000\000\000212\000\00 0\000\000filesite_archiveeo002\b\000\000\000\200o002\b\000\000\000\020\000\0= 00\000\b\000\000\000=EF=BF=BDG\220\000\b\000\000\000\000\000\000\000\b\000\0= 00\000\003\000\000\000\000\000\000\000=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000\00= 0\204=EF=BF=BD=EF=BF=BD\177\000\0000=EF=BF=BD=EF=BF=BD\177\000\000"... max_len =3D 512 ret =3D 10591143 sha256 =3D 0x802c2d1f0 "fd24852c468ef31bd675129fd02b676ce7cffae895089292fa513784873689a6" #5 0x00000008008c2295 in pkg_repo_pack_db (name=3D0x800a20ec8 "meta", archive=3D0x7fffffffe3c0 "./meta", path=3D0x7fffffffe3c0 "./meta", rsa=3D0x802c19260, meta=3D0x802c68600, argv=3D0x7fffffffeb88, argc=3D1) at pkg_repo_create.c:939 pack =3D (struct packing *) 0x802c79be0 sigret =3D (unsigned char *) 0x802ca4900 "" siglen =3D 0 fname =3D "\001\000\000\000\001\000\000\000\001\000\000\000\001\000\000\000@=EF=BF=BD=EF= =BF=BD\177\000\000\216\000\b\000\000\000=EF=BF=BD=EF=BF=BD\000\000\000\000=EF= =BF=BD=EF=BF=BD=EF=BF=BD\177\000\000\004\000\000\000\000\000\000\000WU\000\0= 00\000\000-\v=EF=BF=BD\004=EF=BF=BD@=EF=BF=BD~=3D=EF=BF=BD=EF=BF=BDU\000\000= \000\000212N\206cert=EF=BF=BD\177\000\000\230=EF=BF=BD=EF=BF=BD\177\000\000p= =EF=BF=BD =EF=BF=BD\177\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\00= 0\000\000E\030=EF=BF=BD\000\b\000\000\000\000\000\000\000=EF=BF=BD\177\000\0= 00\020=EF=BF=BD\001\000\000\000\004\000\000\000\004\000\000\000\000\000\000\= 000\004\000\000\000\220=EF=BF=BD=EF=BF=BD\177\000\000:\006\217\000\b\000\000= \000=EF=BF=BD5002\b\000\000\00 0"... sig =3D (struct sbuf *) 0x0 pub =3D (struct sbuf *) 0x0 #6 0x00000008008c2797 in pkg_finish_repo (output_dir=3D0x7fffffffedd1 ".", password_cb=3D0x415ba0 , argv=3D0x7fffffffeb88, argc=3D1, filelist=3Dfalse) at pkg_repo_create.c:1038 repo_path =3D "./meta\000gesite.yaml\000\002\b\000\000\000\213Yc\000\b\000\000\0008204\000= \b", '\0' , "=EF=BF=BD\177\000\000\000\000\b\000\000\000`=EF=BF=BD=EF=BF=BD\177\000\000=EF= =BF=BD=EF=BF=BDd\000\b\000\000\000=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000\000=EF= =BF=BD=EF=BF=BD=EF=BF=BD\177\000\000\000\000\000\000\000\000\000\000=EF=BF=BD= =EF=BF=BD=EF=BF=BD\177\000\000g{c \000\b\000\000\000=EF=BF=BD&@\000\000\000\000\000\177\030\232\004\000\000\00= 0\000207\2013\000\000\000\0000=EF=BF=BDd\000\b\000\000\000\001\000\000\000\b= \000\000\000\000\000\b\000\000\0008204\000\b\000\000\000=EF=BF=BD=EF=BF=BD=EF= =BF=BD\177\000\000@=EF=BF=BD=EF=BF=BD\177\000\000\000=EF=BF=BDd\000\b"... repo_archive =3D "\225\003\000\000\000\000\000\000\230\003\000\000\000\000\000\000\225\003\00= 0\000\001\000\000\000=EF=BF=BD\000\217\000\b\000\000\000\000=EF=BF=BD=EF=BF=BD= \177\000\000Z\000\217\000\001\000\000\000\200=EF=BF=BD=EF=BF=BD\177\000\000@= ,002\b\000\000\000PKG_PLUGPKG_PLUGc\000\000\000\000\000PLUGPLUG\2 00=EF=BF=BD=EF=BF=BD\177\000\000p0002\b", '\0' , "\234}>\002\000\000\000\000\177\000\000\000:\000\000\000:\000\000\000:\237=EF= =BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000\000=EF=BF=BD\005\217\000\b\000\000= \000@,002\b\000\000\000\t\000\000\000\n\000\000\000=DC=B1=EF=BF=BD\000\b\000= \000\000@0002\b\000\000\000p=EF=BF=BD=EF=BF=BD\177\000\000... rsa =3D (struct rsa_key *) 0x802c19260 meta =3D (struct pkg_repo_meta *) 0x802c68600 st =3D {st_dev =3D 4294959664, st_ino =3D 32767, st_mode =3D 25938, st_nlink =3D 14234, st_uid =3D 2842729777, st_gid =3D 274432, st_rdev =3D = 0, st_atim =3D {tv_sec =3D 1457476951, tv_nsec =3D 6}, st_mtim =3D {tv_sec =3D 34370333240, tv_nsec =3D 0}, st_ctim =3D {tv_sec =3D -7355152794736877766, tv_nsec =3D 34370335206}, st_size =3D 34370335206, st_blocks =3D = 1457476951, st_blksize =3D 10, st_flags =3D 0, st_gen =3D 10596828, st_lspare =3D 8, st_birthtim =3D {tv_sec =3D 34370335951, tv_nsec =3D 1457476951}} ret =3D 0 nfile =3D 1 files_to_pack =3D 4 legacy =3D false #7 0x0000000000415eea in exec_repo (argc=3D2, argv=3D0x7fffffffeb80) at repo.c:155 ret =3D 0 ch =3D -1 filelist =3D false output_dir =3D 0x7fffffffedd1 "." meta_file =3D 0x0 legacy =3D false longopts =3D {{name =3D 0x429c1f "list-files", has_arg =3D 0, flag = =3D 0x0, val =3D 108}, {name =3D 0x429c2a "output-dir", has_arg =3D 1, flag =3D 0x0, = val =3D 111}, {name =3D 0x429c35 "quiet", has_arg =3D 0, flag =3D 0x0, val =3D = 113}, {name =3D 0x429c3b "meta-file", has_arg =3D 1, flag =3D 0x0, val =3D 109}, {name =3D 0x429c45 "legacy", has_arg =3D 0, flag =3D 0x0, = val =3D 76}, {name =3D 0x0, has_arg =3D 0, flag =3D 0x0, val =3D 0}} #8 0x0000000000412b9e in main (argc=3D3, argv=3D0x7fffffffeb78) at = main.c:852 i =3D 21 command =3D (struct commands *) 0x630f40 ambiguous =3D 0 chroot_path =3D 0x0 rootdir =3D 0x0 jid =3D 0 jail_str =3D 0x0 len =3D 4 ch =3D -1 '=EF=BF=BD' debug =3D 0 version =3D 0 ret =3D 0 plugins_enabled =3D true plugin_found =3D false show_commands =3D false activation_test =3D false init_flags =3D 0 c =3D (struct plugcmd *) 0x246 conffile =3D 0x0 reposdir =3D 0x0 save_argv =3D (char **) 0x7fffffffeb78 j =3D 8 longopts =3D {{name =3D 0x4276f7 "debug", has_arg =3D 0, flag =3D = 0x0, val =3D 100}, {name =3D 0x4276fd "jail", has_arg =3D 1, flag =3D 0x0, val =3D = 106}, {name =3D 0x427702 "chroot", has_arg =3D 1, flag =3D 0x0, val =3D 99}, {name =3D = 0x426a33 "config", has_arg =3D 1, flag =3D 0x0, val =3D 67}, { name =3D 0x427709 "repo-conf-dir", has_arg =3D 1, flag =3D 0x0, val =3D = 82}, {name =3D 0x427717 "rootdir", has_arg =3D 1, flag =3D 0x0, val =3D 114}, = {name =3D 0x42771f "list", has_arg =3D 0, flag =3D 0x0, val =3D 108}, {name =3D = 0x426f45 "version", has_arg =3D 0, flag =3D 0x0, val =3D 118}, { name =3D 0x427724 "option", has_arg =3D 1, flag =3D 0x0, val =3D 111}, = {name =3D 0x42772b "only-ipv4", has_arg =3D 0, flag =3D 0x0, val =3D 52}, {name =3D = 0x427735 "only-ipv6", has_arg =3D 0, flag =3D 0x0, val =3D 54}, {name =3D 0x0, = has_arg =3D 0, flag =3D 0x0, val =3D 0}} __func__ =3D "main" --=20 Mathieu Arnold --==========82237419477444479CEF========== Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQJ8BAEBCgBmBQJW31XxXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzQUI2OTc4OUQyRUQxMjEwNjQ0MEJBNUIz QTQ1MTZGMzUxODNDRTQ4AAoJEDpFFvNRg85ILZMP+gPmoW5ekC15dSlHd+Agl7Fz WRghF3h0HTK5yx5vsK30obBCliglTZZOc6QEb/yLJDbekkplZVz51wTQamSxv6Xf 6hnPOY125RdSZ/pA74GSZgQgnzgkB0JMIa3PZs6tYxHigoOB1Yl7WbbmgYBRPe78 +yIShiNFq/dnU3uciOOWtRigpdWTE/ER9GC5s46tlLixp8C4cCRWZQeq8af6oXBb IZDLO7v235e/qaZLqPtPXF2Eaj8L0XMEIjI6DV8JfKVr4ZjUz3TD+3DUb/hOM5En 9DUyKlzr4qBPNuzejA1VwwdbIFRqPntSgpNQBJ9CaMQnjDYxay1YCy8LGNKeucVc cFUrXQmAOC132jeUN9CLI3SCiAGTfOovoA0RuVwUr0AWIYBaV3MxKVOgzzy/qElG vrHOwjOCTDZcfORZ+htbq0CiS3aLmw5zHUWAlwpKCMQ0ahlul8+v32+cvOkap4Ya ZD6I8GeeUK1kOcrBTXYJYK3Csz/NVjba7u+sFuuj7NDU1EXAl2EDqWpBWHUnhcri M+rj78uCWwoflUvBRr7rVE8DcIPmjo9VNm47R5vhnlL9Ni8Hve7QsOS8Z3VowSL+ r4Ef0oIdaIxWbab2kTagkL4JhhR5wx0L1vsSz8Ug6mVCb5w2JqrApeBqlOo+8VTG hkpKsJixTPGcuVPo8agc =zf3b -----END PGP SIGNATURE----- --==========82237419477444479CEF==========-- From owner-svn-src-all@freebsd.org Wed Mar 9 00:47:36 2016 Return-Path: Delivered-To: svn-src-all@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 32E46AC7745; Wed, 9 Mar 2016 00:47:36 +0000 (UTC) (envelope-from delphij@gmail.com) Received: from mail-ig0-x22f.google.com (mail-ig0-x22f.google.com [IPv6:2607:f8b0:4001:c05::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F1480315; Wed, 9 Mar 2016 00:47:35 +0000 (UTC) (envelope-from delphij@gmail.com) Received: by mail-ig0-x22f.google.com with SMTP id ig19so66441668igb.0; Tue, 08 Mar 2016 16:47:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-transfer-encoding; bh=/ypJEfbmtxrmFnme1HJgtYyjpFMiT3k48jqR3+HTB1g=; b=O7zd6QHWaIWZ6bdSZFImsEU2PoXSJQkIiGUiXJUtxwPgUvpaAWtVCRD2PEifUF+2TG PnhniQpmczpEyg/948/svCUa+EAswP+qEX3QRTL9YGwe5dWPz4Gn3M50NIi65jYbisrG DP2w0xWiA+mDZ/R+gROL6mJB+g+HzgRW7IUFWuABQgOL/65+qT2ly4PmtIh0b3B4kpPQ ZhV+h/5kDkwDH2ebw6mooY7GXCpCr/ueEi3Lhgtm8wbkIJ0B10mfrpCLOdc6MrhG9dQf 2KDZzWDtHSji1zBTLIx6mVUGw+hobnpXBIOdSqczg1PgtpUpJHXNwoXzW04ZXPiggmJ9 rPRA== 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:date :message-id:subject:from:to:cc:content-transfer-encoding; bh=/ypJEfbmtxrmFnme1HJgtYyjpFMiT3k48jqR3+HTB1g=; b=kivW03QOF43AfTLsYS5XuRSIbEnU2i+jI1W8sVH3K3oyoUI1UgP5t3cA6htrEWL9iL EGfPpoomw2Xymj9Vaj6fkJSNgbJPcWOqAPzOZHVJqENMyybXM9TIobtmr60Pk4VJbFwj lf3yncryq7APNi+7DaXuiKhOY9DQPN8F7blXl4bVSVnt1TBkmge1TsGJYV3Yw19Chsfk Z2WtEZyBZrdy63XoTWWsTWCMmXeso3j+JJjGvKqyNnh770Xrub/Qslw6ebyUWZawaxb8 0Yj7mv6rprBoZRqguhPRbi7+DejR+NT8e3msRRVvwxzhpFj0Tp7CWVLgr76eLk96D9ai pfDg== X-Gm-Message-State: AD7BkJLYUimrjJREz8GnCo5r0WSAIGaZxIiedXRKuj/Bwhv3T6rLNjNJBXc1Yg3s9sL695z8uy82ablT4Z4PVA== MIME-Version: 1.0 X-Received: by 10.50.61.209 with SMTP id s17mr20666290igr.7.1457484455135; Tue, 08 Mar 2016 16:47:35 -0800 (PST) Received: by 10.36.54.207 with HTTP; Tue, 8 Mar 2016 16:47:35 -0800 (PST) In-Reply-To: References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> <56DF0234.2090307@FreeBSD.org> <56DF025B.1090706@FreeBSD.org> <56DF0550.6000604@FreeBSD.org> Date: Tue, 8 Mar 2016 16:47:35 -0800 Message-ID: Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... From: Xin LI To: Mathieu Arnold , Jung-Uk Kim Cc: Bryan Drewery , Xin LI , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , svn-src-releng@freebsd.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 00:47:36 -0000 This may be related to the BN changes (CVE-2016-0797 and/or CVE-2016-0702). Will reverting just that portion of r296462 (stable/9 patch would apply on 9.3 as well) help? This would help to narrow down the root cause. I can't really do any debugging right now but will take a look as soon as I= can. On Tue, Mar 8, 2016 at 2:45 PM, Mathieu Arnold wrote: > > > +--On 8 mars 2016 09:01:04 -0800 Bryan Drewery wro= te: > | On 3/8/2016 8:52 AM, Mathieu Arnold wrote: > |> +--On 8 mars 2016 08:48:27 -0800 Bryan Drewery > |> wrote: > |> | On 3/8/2016 8:47 AM, Bryan Drewery wrote: > |> |> On 3/8/2016 8:35 AM, Mathieu Arnold wrote: > |> |>> +--On 8 mars 2016 08:29:41 -0800 Bryan Drewery > |> |>> wrote: > |> |>> | On 3/8/2016 8:28 AM, Mathieu Arnold wrote: > |> |>> |> +--On 8 mars 2016 08:25:44 -0800 Bryan Drewery > |> |>> |> wrote: > |> |>> |> | On 3/7/2016 4:29 PM, Mathieu Arnold wrote: > |> |>> |> |> +--On 7 mars 2016 16:22:12 +0000 Xin LI > |> |>> |> |> wrote: > |> |>> |> |> | Author: delphij > |> |>> |> |> | Date: Mon Mar 7 16:22:11 2016 > |> |>> |> |> | New Revision: 296465 > |> |>> |> |> | URL: https://svnweb.freebsd.org/changeset/base/296465 > |> |>> |> |> | > |> |>> |> |> | Log: > |> |>> |> |> | Fix multiple OpenSSL vulnerabilities. > |> |>> |> |> | > |> |>> |> |> | Security: FreeBSD-SA-16:12.openssl > |> |>> |> |> | Approved by: so > |> |>> |> |> > |> |>> |> |> After that, poudriere bulk fails with: > |> |>> |> |> > |> |>> |> |> [00:00:07] =3D=3D=3D=3D>> Creating pkgng repository > |> |>> |> |> Creating repository in /tmp/packages: 100% > |> |>> |> |> Packing files for repository: 0%Child process pid=3D50970 > |> |>> |> |> terminated abnormally: Segmentation fault: 11 > |> |>> |> |> [00:00:08] =3D=3D=3D=3D>> Cleaning up > |> |>> |> |> 9amd64-pkgng-default: removed > |> |>> |> |> 9amd64-pkgng-default-n: removed > |> |>> |> |> > |> |>> |> |> pkg-static is the one doing the segfault... > |> |>> |> |> > |> |>> |> | > |> |>> |> | Is QEMU involved here? > |> |>> |> | > |> |>> |> | Do you have PKG_REPO_FROM_HOST or PKG_REPO_SIGNING_KEY set? (= Not > |> |>> |> | saying you should) > |> |>> |> > |> |>> |> No, it's a regular 9amd64 build on a 10.2 amd64 host. > |> |>> |> > |> |>> | > |> |>> | Can you please rebuild pkg with debug symbols and then run your = 9.3 > |> |>> | version against the repo in gdb? > |> |>> > |> |>> I could yes, but not today, tomorrow at the earliest. How do I bu= ild > |> |>> the port with debug symbols ? > |> |>> > |> |> > |> |> WITH_DEBUG=3Dyes make > |> |> > |> | > |> | You might need this too: DEBUG_FLAGS=3D"-g -O0" > |> > |> Mmmm, ok, what commands do I need to run ? > |> > | > | (assuming devel/gdb installed) > | gdb710 --args /usr/local/sbin/pkg-static repo > |# run > | > |# bt full > > Ok, so, it's 9.3, so there's no gdb710, but: > > > the command ran is: > > root@pkg:/tmp/foo # pkg repo . ../repo.key > Creating repository in .: 100% > Packing files for repository: 0%Child process pid=3D16312 terminated > abnormally: Segmentation fault: 11 > root@pkg:/tmp/foo # gdb /usr/local/sbin/pkg pkg.core > GNU gdb 6.1.1 [FreeBSD] > Copyright 2004 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you = are > welcome to change it and/or distribute copies of it under certain > conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for detail= s. > This GDB was configured as "amd64-marcel-freebsd"... > Core was generated by `pkg'. > Program terminated with signal 11, Segmentation fault. > Reading symbols from /usr/local/lib/libpkg.so.3...done. > Loaded symbols for /usr/local/lib/libpkg.so.3 > Reading symbols from /lib/libutil.so.9...done. > Loaded symbols for /lib/libutil.so.9 > Reading symbols from /usr/lib/libssl.so.6...done. > Loaded symbols for /usr/lib/libssl.so.6 > Reading symbols from /lib/libcrypto.so.6...done. > Loaded symbols for /lib/libcrypto.so.6 > Reading symbols from /lib/libm.so.5...done. > Loaded symbols for /lib/libm.so.5 > Reading symbols from /usr/lib/libelf.so.1...done. > Loaded symbols for /usr/lib/libelf.so.1 > Reading symbols from /lib/libjail.so.1...done. > Loaded symbols for /lib/libjail.so.1 > Reading symbols from /usr/lib/libarchive.so.5...done. > Loaded symbols for /usr/lib/libarchive.so.5 > Reading symbols from /lib/libz.so.6...done. > Loaded symbols for /lib/libz.so.6 > Reading symbols from /usr/lib/libbz2.so.4...done. > Loaded symbols for /usr/lib/libbz2.so.4 > Reading symbols from /usr/lib/liblzma.so.5...done. > Loaded symbols for /usr/lib/liblzma.so.5 > Reading symbols from /lib/libc.so.7...done. > Loaded symbols for /lib/libc.so.7 > Reading symbols from /lib/libbsdxml.so.4...done. > Loaded symbols for /lib/libbsdxml.so.4 > Reading symbols from /libexec/ld-elf.so.1...done. > Loaded symbols for /libexec/ld-elf.so.1 > #0 0x0000000801219438 in BN_mod_exp_mont_consttime () from > /lib/libcrypto.so.6 > (gdb) bt full > #0 0x0000000801219438 in BN_mod_exp_mont_consttime () from > /lib/libcrypto.so.6 > No symbol table info available. > #1 0x00000008011f735f in RSA_PKCS1_SSLeay () from /lib/libcrypto.so.6 > No symbol table info available. > #2 0x00000008011f82fd in RSA_PKCS1_SSLeay () from /lib/libcrypto.so.6 > No symbol table info available. > #3 0x00000008011d28d9 in RSA_sign () from /lib/libcrypto.so.6 > No symbol table info available. > #4 0x00000008008dc73b in rsa_sign (path=3D0x7fffffffe3c0 "./meta", > rsa=3D0x802c19260, sigret=3D0x7fffffffda78, siglen=3D0x7fffffffda8c) at r= sa.c:287 > errbuf =3D > "./meta.txz\000\000\b\000\000\000\001\000\000\000\001\000\000\000\004\000= \000\000\000\000\000\000 > =EF=BF=BD=EF=BF=BD\177\000\000=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000\000=EF= =BF=BD=EF=BF=BD=EF=BF=BD\177\000\000T\203\220\000\b\000\000\000\020\000\000= \000\000\000\000\000WU\000\000\000\000-\v=EF=BF=BD\004=EF=BF=BD@=EF=BF=BD~= =3D=EF=BF=BD=EF=BF=BDU\000\000\000\000212\000\00 > 0\000\000filesite_archiveeo002\b\000\000\000\200o002\b\000\000\000\020\00= 0\000\000\b\000\000\000=EF=BF=BDG\220\000\b\000\000\000\000\000\000\000\b\0= 00\000\000\003\000\000\000\000\000\000\000=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\0= 00\000\204=EF=BF=BD=EF=BF=BD\177\000\0000=EF=BF=BD=EF=BF=BD\177\000\000"... > max_len =3D 512 > ret =3D 10591143 > sha256 =3D 0x802c2d1f0 > "fd24852c468ef31bd675129fd02b676ce7cffae895089292fa513784873689a6" > #5 0x00000008008c2295 in pkg_repo_pack_db (name=3D0x800a20ec8 "meta", > archive=3D0x7fffffffe3c0 "./meta", path=3D0x7fffffffe3c0 "./meta", > rsa=3D0x802c19260, meta=3D0x802c68600, argv=3D0x7fffffffeb88, argc=3D1) a= t > pkg_repo_create.c:939 > pack =3D (struct packing *) 0x802c79be0 > sigret =3D (unsigned char *) 0x802ca4900 "" > siglen =3D 0 > fname =3D > "\001\000\000\000\001\000\000\000\001\000\000\000\001\000\000\000@=EF=BF= =BD=EF=BF=BD\177\000\000\216\000\b\000\000\000=EF=BF=BD=EF=BF=BD\000\000\00= 0\000=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000\000\004\000\000\000\000\000\000\00= 0WU\000\000\000\000-\v=EF=BF=BD\004=EF=BF=BD@=EF=BF=BD~=3D=EF=BF=BD=EF=BF= =BDU\000\000\000\000212N\206cert=EF=BF=BD\177\000\000\230=EF=BF=BD=EF=BF=BD= \177\000\000p=EF=BF=BD > =EF=BF=BD\177\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000= \000\000\000E\030=EF=BF=BD\000\b\000\000\000\000\000\000\000=EF=BF=BD\177\0= 00\000\020=EF=BF=BD\001\000\000\000\004\000\000\000\004\000\000\000\000\000= \000\000\004\000\000\000\220=EF=BF=BD=EF=BF=BD\177\000\000:\006\217\000\b\0= 00\000\000=EF=BF=BD5002\b\000\000\00 > 0"... > sig =3D (struct sbuf *) 0x0 > pub =3D (struct sbuf *) 0x0 > #6 0x00000008008c2797 in pkg_finish_repo (output_dir=3D0x7fffffffedd1 ".= ", > password_cb=3D0x415ba0 , argv=3D0x7fffffffeb88, argc=3D1, > filelist=3Dfalse) at pkg_repo_create.c:1038 > repo_path =3D > "./meta\000gesite.yaml\000\002\b\000\000\000\213Yc\000\b\000\000\0008204\= 000\b", > '\0' , > "=EF=BF=BD\177\000\000\000\000\b\000\000\000`=EF=BF=BD=EF=BF=BD\177\000\0= 00=EF=BF=BD=EF=BF=BDd\000\b\000\000\000=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000\= 000=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000\000\000\000\000\000\000\000\000\000= =EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000\000g{c > \000\b\000\000\000=EF=BF=BD&@\000\000\000\000\000\177\030\232\004\000\000= \000\000207\2013\000\000\000\0000=EF=BF=BDd\000\b\000\000\000\001\000\000\0= 00\b\000\000\000\000\000\b\000\000\0008204\000\b\000\000\000=EF=BF=BD=EF=BF= =BD=EF=BF=BD\177\000\000@=EF=BF=BD=EF=BF=BD\177\000\000\000=EF=BF=BDd\000\b= "... > repo_archive =3D > "\225\003\000\000\000\000\000\000\230\003\000\000\000\000\000\000\225\003= \000\000\001\000\000\000=EF=BF=BD\000\217\000\b\000\000\000\000=EF=BF=BD=EF= =BF=BD\177\000\000Z\000\217\000\001\000\000\000\200=EF=BF=BD=EF=BF=BD\177\0= 00\000@,002\b\000\000\000PKG_PLUGPKG_PLUGc\000\000\000\000\000PLUGPLUG\2 > 00=EF=BF=BD=EF=BF=BD\177\000\000p0002\b", '\0' , > "\234}>\002\000\000\000\000\177\000\000\000:\000\000\000:\000\000\000:\23= 7=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000\000=EF=BF=BD\005\217\000\b\00= 0\000\000@,002\b\000\000\000\t\000\000\000\n\000\000\000=DC=B1=EF=BF=BD\000= \b\000\000\000@0002\b\000\000\000p=EF=BF=BD=EF=BF=BD\177\000\000... > rsa =3D (struct rsa_key *) 0x802c19260 > meta =3D (struct pkg_repo_meta *) 0x802c68600 > st =3D {st_dev =3D 4294959664, st_ino =3D 32767, st_mode =3D 2593= 8, > st_nlink =3D 14234, st_uid =3D 2842729777, st_gid =3D 274432, st_rdev =3D= 0, > st_atim =3D {tv_sec =3D 1457476951, tv_nsec =3D 6}, st_mtim =3D {tv_sec = =3D > 34370333240, tv_nsec =3D 0}, st_ctim =3D {tv_sec =3D -7355152794736877766= , > tv_nsec =3D 34370335206}, st_size =3D 34370335206, st_blocks =3D 1457= 476951, > st_blksize =3D 10, st_flags =3D 0, st_gen =3D 10596828, st_lspare =3D 8, > st_birthtim =3D {tv_sec =3D 34370335951, tv_nsec =3D 1457476951}} > ret =3D 0 > nfile =3D 1 > files_to_pack =3D 4 > legacy =3D false > #7 0x0000000000415eea in exec_repo (argc=3D2, argv=3D0x7fffffffeb80) at > repo.c:155 > ret =3D 0 > ch =3D -1 > filelist =3D false > output_dir =3D 0x7fffffffedd1 "." > meta_file =3D 0x0 > legacy =3D false > longopts =3D {{name =3D 0x429c1f "list-files", has_arg =3D 0, fla= g =3D 0x0, > val =3D 108}, {name =3D 0x429c2a "output-dir", has_arg =3D 1, flag =3D 0x= 0, val =3D > 111}, {name =3D 0x429c35 "quiet", has_arg =3D 0, flag =3D 0x0, val =3D 11= 3}, {name > =3D 0x429c3b "meta-file", has_arg =3D 1, flag =3D 0x0, > val =3D 109}, {name =3D 0x429c45 "legacy", has_arg =3D 0, flag =3D 0x= 0, val =3D > 76}, {name =3D 0x0, has_arg =3D 0, flag =3D 0x0, val =3D 0}} > #8 0x0000000000412b9e in main (argc=3D3, argv=3D0x7fffffffeb78) at main.= c:852 > i =3D 21 > command =3D (struct commands *) 0x630f40 > ambiguous =3D 0 > chroot_path =3D 0x0 > rootdir =3D 0x0 > jid =3D 0 > jail_str =3D 0x0 > len =3D 4 > ch =3D -1 '=EF=BF=BD' > debug =3D 0 > version =3D 0 > ret =3D 0 > plugins_enabled =3D true > plugin_found =3D false > show_commands =3D false > activation_test =3D false > init_flags =3D 0 > c =3D (struct plugcmd *) 0x246 > conffile =3D 0x0 > reposdir =3D 0x0 > save_argv =3D (char **) 0x7fffffffeb78 > j =3D 8 > longopts =3D {{name =3D 0x4276f7 "debug", has_arg =3D 0, flag =3D= 0x0, val > =3D 100}, {name =3D 0x4276fd "jail", has_arg =3D 1, flag =3D 0x0, val =3D= 106}, {name > =3D 0x427702 "chroot", has_arg =3D 1, flag =3D 0x0, val =3D 99}, {name = =3D 0x426a33 > "config", has_arg =3D 1, flag =3D 0x0, val =3D 67}, { > name =3D 0x427709 "repo-conf-dir", has_arg =3D 1, flag =3D 0x0, val = =3D 82}, > {name =3D 0x427717 "rootdir", has_arg =3D 1, flag =3D 0x0, val =3D 114}, = {name =3D > 0x42771f "list", has_arg =3D 0, flag =3D 0x0, val =3D 108}, {name =3D 0x4= 26f45 > "version", has_arg =3D 0, flag =3D 0x0, val =3D 118}, { > name =3D 0x427724 "option", has_arg =3D 1, flag =3D 0x0, val =3D 111}= , {name =3D > 0x42772b "only-ipv4", has_arg =3D 0, flag =3D 0x0, val =3D 52}, {name =3D= 0x427735 > "only-ipv6", has_arg =3D 0, flag =3D 0x0, val =3D 54}, {name =3D 0x0, has= _arg =3D 0, > flag =3D 0x0, val =3D 0}} > __func__ =3D "main" > > > > > -- > Mathieu Arnold --=20 Xin LI https://www.delphij.net/ FreeBSD - The Power to Serve! Live free or die From owner-svn-src-all@freebsd.org Wed Mar 9 03:22:10 2016 Return-Path: Delivered-To: svn-src-all@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 30003AC82C0; Wed, 9 Mar 2016 03:22:10 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D8BFA831; Wed, 9 Mar 2016 03:22:09 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u293M8sZ039847; Wed, 9 Mar 2016 03:22:08 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u293M8vG039846; Wed, 9 Mar 2016 03:22:08 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603090322.u293M8vG039846@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 03:22:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296553 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 03:22:10 -0000 Author: bdrewery Date: Wed Mar 9 03:22:08 2016 New Revision: 296553 URL: https://svnweb.freebsd.org/changeset/base/296553 Log: PROGS: Track child meta files. This will allow Makefile.depend to properly capture all dependencies. It is not 100% optimal but works. Other options would be to use *.meta here which would include too much or to keep a Makefile.depend per PROG and include it from the main Makefile.depend which would not be straight forward. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.progs.mk Modified: head/share/mk/bsd.progs.mk ============================================================================== --- head/share/mk/bsd.progs.mk Tue Mar 8 22:23:30 2016 (r296552) +++ head/share/mk/bsd.progs.mk Wed Mar 9 03:22:08 2016 (r296553) @@ -20,13 +20,6 @@ # we really only use PROGS below... PROGS += ${PROGS_CXX} -# In meta mode, we can capture dependenices for _one_ of the progs. -# if makefile doesn't nominate one, we use the first. -.ifndef UPDATE_DEPENDFILE_PROG -UPDATE_DEPENDFILE_PROG = ${PROGS:[1]} -.export UPDATE_DEPENDFILE_PROG -.endif - .if defined(PROG) # just one of many PROG_OVERRIDE_VARS += BINDIR BINGRP BINOWN BINMODE DPSRCS MAN NO_WERROR \ @@ -45,11 +38,20 @@ $v ?= .endif .endfor -# for meta mode, there can be only one! -.if ${PROG} == ${UPDATE_DEPENDFILE_PROG} -UPDATE_DEPENDFILE ?= yes +.if ${MK_DIRDEPS_BUILD} == "yes" +# Leave updating the Makefile.depend to the parent. +UPDATE_DEPENDFILE = NO + +# Record our meta files for the parent to use. +CLEANFILES+= ${PROG}.meta_files +${PROG}.meta_files: .NOMETA $${.MAKE.META.CREATED} ${_this} + @echo "Updating ${.TARGET}: ${.OODATE:T:[1..8]}" + @echo ${.MAKE.META.FILES} > ${.TARGET} + +.if !defined(_SKIP_BUILD) +.END: ${PROG}.meta_files .endif -UPDATE_DEPENDFILE ?= NO +.endif # ${MK_DIRDEPS_BUILD} == "yes" # prog.mk will do the rest .else # !defined(PROG) @@ -57,8 +59,7 @@ UPDATE_DEPENDFILE ?= NO all: ${PROGS} .endif -# We cannot capture dependencies for meta mode here -UPDATE_DEPENDFILE = NO +META_XTRAS+= ${cat ${PROGS:S/$/*.meta_files/} 2>/dev/null || true:L:sh} .if ${MK_STAGING} != "no" .if !empty(PROGS) From owner-svn-src-all@freebsd.org Wed Mar 9 03:22:19 2016 Return-Path: Delivered-To: svn-src-all@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 07891AC82EB; Wed, 9 Mar 2016 03:22:19 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C9AFE992; Wed, 9 Mar 2016 03:22:18 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u293MHuh040527; Wed, 9 Mar 2016 03:22:17 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u293MHVK040526; Wed, 9 Mar 2016 03:22:17 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603090322.u293MHVK040526@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 03:22:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296554 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 03:22:19 -0000 Author: bdrewery Date: Wed Mar 9 03:22:17 2016 New Revision: 296554 URL: https://svnweb.freebsd.org/changeset/base/296554 Log: Remove things set already by bsd.progs.mk. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.test.mk Modified: head/share/mk/bsd.test.mk ============================================================================== --- head/share/mk/bsd.test.mk Wed Mar 9 03:22:08 2016 (r296553) +++ head/share/mk/bsd.test.mk Wed Mar 9 03:22:17 2016 (r296554) @@ -76,10 +76,6 @@ SUBDIR_PARALLEL= t MAN= .endif -# tell progs.mk we might want to install things -PROG_VARS+= BINDIR -PROGS_TARGETS+= install - .if !defined(NOT_FOR_TEST_SUITE) .include .endif From owner-svn-src-all@freebsd.org Wed Mar 9 03:22:22 2016 Return-Path: Delivered-To: svn-src-all@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 13A55AC8313; Wed, 9 Mar 2016 03:22:22 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D918C999; Wed, 9 Mar 2016 03:22:21 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u293MKMv040573; Wed, 9 Mar 2016 03:22:20 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u293MKNQ040571; Wed, 9 Mar 2016 03:22:20 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603090322.u293MKNQ040571@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 03:22:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296555 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 03:22:22 -0000 Author: bdrewery Date: Wed Mar 9 03:22:20 2016 New Revision: 296555 URL: https://svnweb.freebsd.org/changeset/base/296555 Log: DIRDEPS_BUILD+PROGS: Fix staging not respecting (BINDIR|PROGNAME)[._]${PROG}. Observed in tests/sys/kern. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.progs.mk head/share/mk/bsd.sys.mk Modified: head/share/mk/bsd.progs.mk ============================================================================== --- head/share/mk/bsd.progs.mk Wed Mar 9 03:22:17 2016 (r296554) +++ head/share/mk/bsd.progs.mk Wed Mar 9 03:22:20 2016 (r296555) @@ -61,11 +61,15 @@ all: ${PROGS} META_XTRAS+= ${cat ${PROGS:S/$/*.meta_files/} 2>/dev/null || true:L:sh} -.if ${MK_STAGING} != "no" -.if !empty(PROGS) -stage_files.prog: ${PROGS} -.endif -.endif # ${MK_STAGING} != "no" +.if ${MK_STAGING} != "no" && !empty(PROGS) +# Stage from parent while respecting PROGNAME and BINDIR overrides. +.for _prog in ${PROGS} +STAGE_DIR.prog.${_prog}= ${STAGE_OBJTOP}${BINDIR.${_prog}:UBINDIR_${_prog}:U${BINDIR}} +STAGE_AS_SETS+= prog.${_prog} +STAGE_AS_prog.${_prog}= ${PROGNAME.${_prog}:UPROGNAME_${_prog}:U${_prog}} +stage_as.prog.${_prog}: ${_prog} +.endfor +.endif # ${MK_STAGING} != "no" && !empty(PROGS) .endif .endif # PROGS || PROGS_CXX Modified: head/share/mk/bsd.sys.mk ============================================================================== --- head/share/mk/bsd.sys.mk Wed Mar 9 03:22:17 2016 (r296554) +++ head/share/mk/bsd.sys.mk Wed Mar 9 03:22:20 2016 (r296555) @@ -208,7 +208,7 @@ staging: beforeinstall .if ${MK_STAGING_PROG} != "no" && !defined(INTERNALPROG) STAGE_DIR.prog= ${STAGE_OBJTOP}${BINDIR} -.if !empty(PROG) || !empty(PROGS) +.if !empty(PROG) .if defined(PROGNAME) STAGE_AS_SETS+= prog STAGE_AS_${PROG}= ${PROGNAME} From owner-svn-src-all@freebsd.org Wed Mar 9 03:22:25 2016 Return-Path: Delivered-To: svn-src-all@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 7A65EAC833F; Wed, 9 Mar 2016 03:22:25 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1F18AAAA; Wed, 9 Mar 2016 03:22:25 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u293MNBn040619; Wed, 9 Mar 2016 03:22:23 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u293MN6L040618; Wed, 9 Mar 2016 03:22:23 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603090322.u293MN6L040618@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 03:22:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296556 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 03:22:25 -0000 Author: bdrewery Date: Wed Mar 9 03:22:23 2016 New Revision: 296556 URL: https://svnweb.freebsd.org/changeset/base/296556 Log: Follow-up r295827: Don't enable meta stats when recursing PROGS. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/local.meta.sys.mk Modified: head/share/mk/local.meta.sys.mk ============================================================================== --- head/share/mk/local.meta.sys.mk Wed Mar 9 03:22:20 2016 (r296555) +++ head/share/mk/local.meta.sys.mk Wed Mar 9 03:22:23 2016 (r296556) @@ -205,7 +205,9 @@ CSU_DIR := ${CSU_DIR.${MACHINE_ARCH}} .if !empty(TIME_STAMP) TRACER= ${TIME_STAMP} ${:U} .endif +.if !defined(_RECURSING_PROGS) WITH_META_STATS= t +.endif # toolchains can be a pain - especially bootstrappping them .if ${MACHINE} == "host" From owner-svn-src-all@freebsd.org Wed Mar 9 08:16:38 2016 Return-Path: Delivered-To: svn-src-all@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 82C949DB904; Wed, 9 Mar 2016 08:16:38 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail105.syd.optusnet.com.au (mail105.syd.optusnet.com.au [211.29.132.249]) by mx1.freebsd.org (Postfix) with ESMTP id 2A9A5254; Wed, 9 Mar 2016 08:16:37 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from c110-21-41-193.carlnfd1.nsw.optusnet.com.au (c110-21-41-193.carlnfd1.nsw.optusnet.com.au [110.21.41.193]) by mail105.syd.optusnet.com.au (Postfix) with ESMTPS id 4D7F81046098; Wed, 9 Mar 2016 19:16:28 +1100 (AEDT) Date: Wed, 9 Mar 2016 19:16:27 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Dmitry Chagin cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296543 - head/sys/compat/linux In-Reply-To: <201603081920.u28JKvbM088851@repo.freebsd.org> Message-ID: <20160309160342.P1249@besplex.bde.org> References: <201603081920.u28JKvbM088851@repo.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.1 cv=c+ZWOkJl c=1 sm=1 tr=0 a=73JWPhLeruqQCjN69UNZtQ==:117 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=kj9zAlcOel0A:10 a=erG0tMseV-g_RqXmBP4A:9 a=fzgNKv7FlKPP0rJi:21 a=nJ7-xClz8oyQwDSj:21 a=CjuIK1q_8ugA:10 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 08:16:38 -0000 On Tue, 8 Mar 2016, Dmitry Chagin wrote: > Log: > Put a commit message from r296502 about Linux alarm() system call > behaviour to the source. > ... > Modified: head/sys/compat/linux/linux_misc.c > ============================================================================== > --- head/sys/compat/linux/linux_misc.c Tue Mar 8 19:08:55 2016 (r296542) > +++ head/sys/compat/linux/linux_misc.c Tue Mar 8 19:20:57 2016 (r296543) > @@ -206,6 +206,11 @@ linux_alarm(struct thread *td, struct li > it.it_value.tv_usec = 0; > it.it_interval.tv_sec = 0; > it.it_interval.tv_usec = 0; > + /* > + * According to POSIX and Linux implementation > + * the alarm() system call is always successfull. > + * Ignore errors and return 0 as a Linux do. > + */ Why does this need a comment referring to external sources? FreeBSD's own man page also says that there is no error return for alarm(3). However, the man page and the implementation are quite broken. The implementation in libc does have an error return, but this is undocumented. The documentation says that that the maximum number of seconds is 100000000 (100 million), but doesn't say what happens when this limit is exceeded. The implementation of this is broken too. What actually happens for the libc version is: - secs <= 100 million works in all kernel versions - in old kernel versions, secs > 100 million fails to set the alarm; it sets errno to EINVAL and returns (u_int)-1 to misindicate the error - in FreeBSD-~[6-9], secs > 100 million works with 64-bit time_t. With 32-bit time_t, secs > INT_MAX fails; secs between INT_MAX and about 1000 million (= the time from now until overflow) causes undefined behaviour due to overflow, but this might simulate working; secs between about 1000 million and 100 million work. - in FreeBSD-~[10-current], secs > INT32_MAX / 2 fail and other cases have a chance of working. In the failing cases, the error is misindicated as in old versions except for the different threshold. > kern_setitimer(td, ITIMER_REAL, &it, &old_it); Removing the error check broke this completely. > if (timevalisset(&old_it.it_value)) { > if (old_it.it_value.tv_usec != 0) old_it is stack garbage when kern_setitimer() fails. The value in this stack garbage is now returned and errno is not set. When the error was checked, the consistent garbage value (u_int)-1 was returned, and errno was not set. This function worked almost correctly in FreeBSD-5, by duplicating most of the internals of setitimer() including its limit of 100 million which was not broken then. This limit was to avoid overflow with 32-bit time_t unless the current time is after year 2035. It was broken in 2005. It remained just broken with 32-bit time_t until FreeBSD-9. Starting in FreeBSD-10, sbintime_t is used. This reduces the brokenness with 32-bit time_t but increases it with 64-bit time_t. sbintime_t has the same signed 32-bit limit for seconds as 32-bit time_t. New ittimer code using sbintime_t is more careful about overflow, but it cannot support alarm() or large times in setitimer() even with 64-bit time_t. It actually enforces a limit of INT32_MAX / 2 (~ 1000 million) and doesn't documement this, where old code enforces a limit of 100 million and does document this. Man pages still document the old limit, but no implmentations of alarm() except the old one for linux are aware of this. Complete description of bugs in this function: X int X linux_alarm(struct thread *td, struct linux_alarm_args *args) X { X struct itimerval it, old_it; X u_int secs; X X #ifdef DEBUG X if (ldebug(alarm)) X printf(ARGS(alarm, "%u"), args->secs); X #endif X X secs = args->secs; X Style bug: extra blank line to separate related code. Strict KNF doesn't even allow blank lines to separate unrelated code. The one after the DEBUG ifdef is an example. But bugs in indent(1) give extra blank lines for ifdefs. X if (secs > INT_MAX) X secs = INT_MAX; A bounds check is needed, but this one is very wrong. We are going to assign secs to tv_sec, and need to ensure that this doesn't overflow. tv_sec used to have type long, so the correct limit for this was LONG_MAX. POSIX broke this type, and FreeBSD was broken to conform in 2005. Then the correct limit became TIME_T_MAX, but this is unavailable under that spelling. INT_MAX accidentally works as well as possible for its intended purpose it time_t is 32 bits and int is also 32 bits, but if time_t is 64-bits then it unnecessarily breaks alarm() in versions before sbintime_t. However, the limit of INT_MAX doesn't work for the purpose of breaking alarm() as little as possible. It just ensured that kern_setitimer() and thus this function always fails if kern_settimer() enforced its documented limit of 100 million. I think the change to use this limit was made after setitimer()'s limit was broken. Then this limit worked for a while with 64-bit time_t, but with 32-bit time_t, using it always gave overflow by adding INT_MAX to the current time. Now with sbintime_t and its limit of INT32_MAX / 2, using INT_MAX here ensures that kern_settimer() and thus this function always fails... The best limit to use here is 100 million, or perhaps INT32_MAX / 2 to match kern_setitimer()s new limit, after checking that this works (sbintime_t must be careful not to add INT32_MAX / 2 to either the current time or more than 1 other value near INT_MAX32 / 2). X Style bug: extra blank line. X it.it_value.tv_sec = (long) secs; Style bugs: bogus cast, and space before cast. The cast was not incorrect before POSIX broke the type of tv_sec, but it should never have been necessary (for avoiding compiler warnings) since compilers should see that the limited value fits in tv_sec. X it.it_value.tv_usec = 0; X it.it_interval.tv_sec = 0; X it.it_interval.tv_usec = 0; Style bug in previous 2 lines: the corresponding libc code uses timevalclear(). (Normally I prefer explicit code, but this function uses a macro later.) X /* X * According to POSIX and Linux implementation X * the alarm() system call is always successfull. X * Ignore errors and return 0 as a Linux does. X */ Style bugs: dubious commit, and formatting of this comment for ~60 column terminals. There are many delicate points in the error (mis)handling, but the comment only describes an uninteresting one. Comments should probably be formatted narrow terminals, but that is an unusual style. Other comment in this file use random right margins but many go out to nearly column 89. X kern_setitimer(td, ITIMER_REAL, &it, &old_it); Bug: lost error handling. After fixing the above limit of INT_MAX, the error here should never occur, and you could assert that, but the error always occurs now if secs > INT32_MAX / 2. secs <= INT32_MAX / 2 is so sure to work with the current sbintime_t code that this is not worth asserting. (Perhaps it will fail due to overflow, but kern_setitimer() will succeed.) secs <= 100000000 is even more sure to work (until 2035). X if (timevalisset(&old_it.it_value)) { Bug: beginning of accesses to the uninitialized variable old_it in the error case. Style bugs: unnecessary test, and inconsistent use of macros. libc doesn't do this test. All it does is extra work in the test to avoid doing anything more in the usual case where the old timeout has expired. X if (old_it.it_value.tv_usec != 0) X old_it.it_value.tv_sec++; X td->td_retval[0] = old_it.it_value.tv_sec; Bug: return of garbage in the error case. X } X return (0); X } Bruce From owner-svn-src-all@freebsd.org Wed Mar 9 09:12:41 2016 Return-Path: Delivered-To: svn-src-all@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 6BD6AAC9667; Wed, 9 Mar 2016 09:12:41 +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 472318A0; Wed, 9 Mar 2016 09:12:41 +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 u299Ce8I045786; Wed, 9 Mar 2016 09:12:40 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u299Ceer045784; Wed, 9 Mar 2016 09:12:40 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201603090912.u299Ceer045784@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 9 Mar 2016 09:12:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296557 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 09:12:41 -0000 Author: ae Date: Wed Mar 9 09:12:40 2016 New Revision: 296557 URL: https://svnweb.freebsd.org/changeset/base/296557 Log: Add support for IPPROTO_IPV6 socket layer for getsockopt/setsockopt calls. Also add mapping for several options from RFC 3493 and 3542. Reviewed by: dchagin Tested by: Joe Love MFC after: 2 weeks Modified: head/sys/compat/linux/linux_socket.c head/sys/compat/linux/linux_socket.h Modified: head/sys/compat/linux/linux_socket.c ============================================================================== --- head/sys/compat/linux/linux_socket.c Wed Mar 9 03:22:23 2016 (r296556) +++ head/sys/compat/linux/linux_socket.c Wed Mar 9 09:12:40 2016 (r296557) @@ -289,6 +289,63 @@ linux_to_bsd_ip_sockopt(int opt) } static int +linux_to_bsd_ip6_sockopt(int opt) +{ + + switch (opt) { + case LINUX_IPV6_NEXTHOP: + return (IPV6_NEXTHOP); + case LINUX_IPV6_UNICAST_HOPS: + return (IPV6_UNICAST_HOPS); + case LINUX_IPV6_MULTICAST_IF: + return (IPV6_MULTICAST_IF); + case LINUX_IPV6_MULTICAST_HOPS: + return (IPV6_MULTICAST_HOPS); + case LINUX_IPV6_MULTICAST_LOOP: + return (IPV6_MULTICAST_LOOP); + case LINUX_IPV6_ADD_MEMBERSHIP: + return (IPV6_JOIN_GROUP); + case LINUX_IPV6_DROP_MEMBERSHIP: + return (IPV6_LEAVE_GROUP); + case LINUX_IPV6_V6ONLY: + return (IPV6_V6ONLY); + case LINUX_IPV6_DONTFRAG: + return (IPV6_DONTFRAG); +#if 0 + case LINUX_IPV6_CHECKSUM: + return (IPV6_CHECKSUM); + case LINUX_IPV6_RECVPKTINFO: + return (IPV6_RECVPKTINFO); + case LINUX_IPV6_PKTINFO: + return (IPV6_PKTINFO); + case LINUX_IPV6_RECVHOPLIMIT: + return (IPV6_RECVHOPLIMIT); + case LINUX_IPV6_HOPLIMIT: + return (IPV6_HOPLIMIT); + case LINUX_IPV6_RECVHOPOPTS: + return (IPV6_RECVHOPOPTS); + case LINUX_IPV6_HOPOPTS: + return (IPV6_HOPOPTS); + case LINUX_IPV6_RTHDRDSTOPTS: + return (IPV6_RTHDRDSTOPTS); + case LINUX_IPV6_RECVRTHDR: + return (IPV6_RECVRTHDR); + case LINUX_IPV6_RTHDR: + return (IPV6_RTHDR); + case LINUX_IPV6_RECVDSTOPTS: + return (IPV6_RECVDSTOPTS); + case LINUX_IPV6_DSTOPTS: + return (IPV6_DSTOPTS); + case LINUX_IPV6_RECVPATHMTU: + return (IPV6_RECVPATHMTU); + case LINUX_IPV6_PATHMTU: + return (IPV6_PATHMTU); +#endif + } + return (-1); +} + +static int linux_to_bsd_so_sockopt(int opt) { @@ -1529,6 +1586,9 @@ linux_setsockopt(struct thread *td, stru case IPPROTO_IP: name = linux_to_bsd_ip_sockopt(args->optname); break; + case IPPROTO_IPV6: + name = linux_to_bsd_ip6_sockopt(args->optname); + break; case IPPROTO_TCP: name = linux_to_bsd_tcp_sockopt(args->optname); break; @@ -1615,6 +1675,9 @@ linux_getsockopt(struct thread *td, stru case IPPROTO_IP: name = linux_to_bsd_ip_sockopt(args->optname); break; + case IPPROTO_IPV6: + name = linux_to_bsd_ip6_sockopt(args->optname); + break; case IPPROTO_TCP: name = linux_to_bsd_tcp_sockopt(args->optname); break; Modified: head/sys/compat/linux/linux_socket.h ============================================================================== --- head/sys/compat/linux/linux_socket.h Wed Mar 9 03:22:23 2016 (r296556) +++ head/sys/compat/linux/linux_socket.h Wed Mar 9 09:12:40 2016 (r296557) @@ -302,6 +302,31 @@ int linux_getsockopt(struct thread *td, #define LINUX_IP_ADD_MEMBERSHIP 35 #define LINUX_IP_DROP_MEMBERSHIP 36 +#define LINUX_IPV6_CHECKSUM 7 +#define LINUX_IPV6_NEXTHOP 9 +#define LINUX_IPV6_UNICAST_HOPS 16 +#define LINUX_IPV6_MULTICAST_IF 17 +#define LINUX_IPV6_MULTICAST_HOPS 18 +#define LINUX_IPV6_MULTICAST_LOOP 19 +#define LINUX_IPV6_ADD_MEMBERSHIP 20 +#define LINUX_IPV6_DROP_MEMBERSHIP 21 +#define LINUX_IPV6_V6ONLY 26 + +#define LINUX_IPV6_RECVPKTINFO 49 +#define LINUX_IPV6_PKTINFO 50 +#define LINUX_IPV6_RECVHOPLIMIT 51 +#define LINUX_IPV6_HOPLIMIT 52 +#define LINUX_IPV6_RECVHOPOPTS 53 +#define LINUX_IPV6_HOPOPTS 54 +#define LINUX_IPV6_RTHDRDSTOPTS 55 +#define LINUX_IPV6_RECVRTHDR 56 +#define LINUX_IPV6_RTHDR 57 +#define LINUX_IPV6_RECVDSTOPTS 58 +#define LINUX_IPV6_DSTOPTS 59 +#define LINUX_IPV6_RECVPATHMTU 60 +#define LINUX_IPV6_PATHMTU 61 +#define LINUX_IPV6_DONTFRAG 62 + #define LINUX_TCP_NODELAY 1 #define LINUX_TCP_MAXSEG 2 #define LINUX_TCP_KEEPIDLE 4 From owner-svn-src-all@freebsd.org Wed Mar 9 09:12:56 2016 Return-Path: Delivered-To: svn-src-all@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 37655AC96B8; Wed, 9 Mar 2016 09:12:56 +0000 (UTC) (envelope-from antoine.brodin.freebsd@gmail.com) Received: from mail-ig0-x233.google.com (mail-ig0-x233.google.com [IPv6:2607:f8b0:4001:c05::233]) (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 EF9849F5; Wed, 9 Mar 2016 09:12:55 +0000 (UTC) (envelope-from antoine.brodin.freebsd@gmail.com) Received: by mail-ig0-x233.google.com with SMTP id vf5so6884001igb.0; Wed, 09 Mar 2016 01:12:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-transfer-encoding; bh=C+E1J/LuhKTXYJSArMgrZs/QyIMqDOOvGRQr6lEy8kk=; b=Hxk95889VKlMD3Kgbdrt4oXHDOMMy/7JLngP4O+Cz24VFwAvbhuMPuCh5BqalIGYsq LgyGO07MBk88E0J2foiLpwjcBhvp+gjvwb3P38zM9Cp+ijzTLmkRIXULLaYlnZhQ7vij GJWYYQWhOMwjkbblp3ggGIBbcLHHQIgPlrkQlI30Dzg2HQNsck7GskkevFECjJ+7+4AC GdteU3CfSW7ByEsEW9XDpagoqShW5D4l7NBES/OpeCF73olH0B+Zg+AQovb7LfdZkV7c f6pILZ8yvUhrhGxsX1Hj1+B8dWQD0G6noTHdIm5d/o6mnP0NkQ9+ATByYzVbWVnfCHTq SZ/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc:content-transfer-encoding; bh=C+E1J/LuhKTXYJSArMgrZs/QyIMqDOOvGRQr6lEy8kk=; b=Hx6rSTkdnrUPVCaZ4ot0kNNkzf0dmuV5OXE4/52uLN4GnA43KA/rnzB///GkGr8Kwr DsnRgw5jMpHHC9XL2UlpwVKOJ6iI5FAzAX7xUrcHjAIsoiuEbXIES/2Rozq8VaFWm+xy uoOoyodLvDQ7OV+ETmuFIjz1tsYr1Kh76iJ+67oCCJM9GfxUD+DcvFShySYEFq2JL9iR BAl5gmITKzmjCtL3e6+jGsl1+nkgiuwPTmxVwrXkfB50Jrw/wTFl1Qj0wKhOK2khtozf B75zgGHDolZ6F5rwyHeaRWmLQVMv/eqtcLVxvdXNj9rrAM0Nd7fOgdQHcw9qKkNigLKJ 0+kQ== X-Gm-Message-State: AD7BkJI52VwiZBJGua7c8gYvg9V7nDDeE+R+kiphXpMUA3dhk1o2oVat4+pgVCaK1o3/RGny0NNlbZQDTpErAw== MIME-Version: 1.0 X-Received: by 10.50.111.230 with SMTP id il6mr23199009igb.66.1457514775145; Wed, 09 Mar 2016 01:12:55 -0800 (PST) Sender: antoine.brodin.freebsd@gmail.com Received: by 10.107.159.135 with HTTP; Wed, 9 Mar 2016 01:12:55 -0800 (PST) In-Reply-To: References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> <56DF0234.2090307@FreeBSD.org> <56DF025B.1090706@FreeBSD.org> <56DF0550.6000604@FreeBSD.org> Date: Wed, 9 Mar 2016 09:12:55 +0000 X-Google-Sender-Auth: ADisL0jqWWG5oPAoSCX5l6tc9ac Message-ID: Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... From: Antoine Brodin To: Xin LI Cc: Mathieu Arnold , Jung-Uk Kim , Bryan Drewery , Xin LI , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , svn-src-releng@freebsd.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 09:12:56 -0000 On Wed, Mar 9, 2016 at 12:47 AM, Xin LI wrote: > This may be related to the BN changes (CVE-2016-0797 and/or > CVE-2016-0702). Will reverting just that portion of r296462 (stable/9 > patch would apply on 9.3 as well) help? This would help to narrow > down the root cause. > > I can't really do any debugging right now but will take a look as soon as= I can. fetch is also having Segmentation faults on some https sites after the 9.3-RELEASE-p37 update, see for instance: http://beefy2.nyi.freebsd.org/data/93amd64-default/410591/logs/errors/waifu= 2x-converter-cpp-1.0.0.410.log http://beefy2.nyi.freebsd.org/data/93amd64-default/410591/logs/errors/narci= ssu2-1.1.log Antoine > On Tue, Mar 8, 2016 at 2:45 PM, Mathieu Arnold wrote: >> >> >> +--On 8 mars 2016 09:01:04 -0800 Bryan Drewery wr= ote: >> | On 3/8/2016 8:52 AM, Mathieu Arnold wrote: >> |> +--On 8 mars 2016 08:48:27 -0800 Bryan Drewery >> |> wrote: >> |> | On 3/8/2016 8:47 AM, Bryan Drewery wrote: >> |> |> On 3/8/2016 8:35 AM, Mathieu Arnold wrote: >> |> |>> +--On 8 mars 2016 08:29:41 -0800 Bryan Drewery >> |> |>> wrote: >> |> |>> | On 3/8/2016 8:28 AM, Mathieu Arnold wrote: >> |> |>> |> +--On 8 mars 2016 08:25:44 -0800 Bryan Drewery >> |> |>> |> wrote: >> |> |>> |> | On 3/7/2016 4:29 PM, Mathieu Arnold wrote: >> |> |>> |> |> +--On 7 mars 2016 16:22:12 +0000 Xin LI >> |> |>> |> |> wrote: >> |> |>> |> |> | Author: delphij >> |> |>> |> |> | Date: Mon Mar 7 16:22:11 2016 >> |> |>> |> |> | New Revision: 296465 >> |> |>> |> |> | URL: https://svnweb.freebsd.org/changeset/base/296465 >> |> |>> |> |> | >> |> |>> |> |> | Log: >> |> |>> |> |> | Fix multiple OpenSSL vulnerabilities. >> |> |>> |> |> | >> |> |>> |> |> | Security: FreeBSD-SA-16:12.openssl >> |> |>> |> |> | Approved by: so >> |> |>> |> |> >> |> |>> |> |> After that, poudriere bulk fails with: >> |> |>> |> |> >> |> |>> |> |> [00:00:07] =3D=3D=3D=3D>> Creating pkgng repository >> |> |>> |> |> Creating repository in /tmp/packages: 100% >> |> |>> |> |> Packing files for repository: 0%Child process pid=3D50970 >> |> |>> |> |> terminated abnormally: Segmentation fault: 11 >> |> |>> |> |> [00:00:08] =3D=3D=3D=3D>> Cleaning up >> |> |>> |> |> 9amd64-pkgng-default: removed >> |> |>> |> |> 9amd64-pkgng-default-n: removed >> |> |>> |> |> >> |> |>> |> |> pkg-static is the one doing the segfault... >> |> |>> |> |> >> |> |>> |> | >> |> |>> |> | Is QEMU involved here? >> |> |>> |> | >> |> |>> |> | Do you have PKG_REPO_FROM_HOST or PKG_REPO_SIGNING_KEY set? = (Not >> |> |>> |> | saying you should) >> |> |>> |> >> |> |>> |> No, it's a regular 9amd64 build on a 10.2 amd64 host. >> |> |>> |> >> |> |>> | >> |> |>> | Can you please rebuild pkg with debug symbols and then run your= 9.3 >> |> |>> | version against the repo in gdb? >> |> |>> >> |> |>> I could yes, but not today, tomorrow at the earliest. How do I b= uild >> |> |>> the port with debug symbols ? >> |> |>> >> |> |> >> |> |> WITH_DEBUG=3Dyes make >> |> |> >> |> | >> |> | You might need this too: DEBUG_FLAGS=3D"-g -O0" >> |> >> |> Mmmm, ok, what commands do I need to run ? >> |> >> | >> | (assuming devel/gdb installed) >> | gdb710 --args /usr/local/sbin/pkg-static repo >> |# run >> | >> |# bt full >> >> Ok, so, it's 9.3, so there's no gdb710, but: >> >> >> the command ran is: >> >> root@pkg:/tmp/foo # pkg repo . ../repo.key >> Creating repository in .: 100% >> Packing files for repository: 0%Child process pid=3D16312 terminated >> abnormally: Segmentation fault: 11 >> root@pkg:/tmp/foo # gdb /usr/local/sbin/pkg pkg.core >> GNU gdb 6.1.1 [FreeBSD] >> Copyright 2004 Free Software Foundation, Inc. >> GDB is free software, covered by the GNU General Public License, and you= are >> welcome to change it and/or distribute copies of it under certain >> conditions. >> Type "show copying" to see the conditions. >> There is absolutely no warranty for GDB. Type "show warranty" for detai= ls. >> This GDB was configured as "amd64-marcel-freebsd"... >> Core was generated by `pkg'. >> Program terminated with signal 11, Segmentation fault. >> Reading symbols from /usr/local/lib/libpkg.so.3...done. >> Loaded symbols for /usr/local/lib/libpkg.so.3 >> Reading symbols from /lib/libutil.so.9...done. >> Loaded symbols for /lib/libutil.so.9 >> Reading symbols from /usr/lib/libssl.so.6...done. >> Loaded symbols for /usr/lib/libssl.so.6 >> Reading symbols from /lib/libcrypto.so.6...done. >> Loaded symbols for /lib/libcrypto.so.6 >> Reading symbols from /lib/libm.so.5...done. >> Loaded symbols for /lib/libm.so.5 >> Reading symbols from /usr/lib/libelf.so.1...done. >> Loaded symbols for /usr/lib/libelf.so.1 >> Reading symbols from /lib/libjail.so.1...done. >> Loaded symbols for /lib/libjail.so.1 >> Reading symbols from /usr/lib/libarchive.so.5...done. >> Loaded symbols for /usr/lib/libarchive.so.5 >> Reading symbols from /lib/libz.so.6...done. >> Loaded symbols for /lib/libz.so.6 >> Reading symbols from /usr/lib/libbz2.so.4...done. >> Loaded symbols for /usr/lib/libbz2.so.4 >> Reading symbols from /usr/lib/liblzma.so.5...done. >> Loaded symbols for /usr/lib/liblzma.so.5 >> Reading symbols from /lib/libc.so.7...done. >> Loaded symbols for /lib/libc.so.7 >> Reading symbols from /lib/libbsdxml.so.4...done. >> Loaded symbols for /lib/libbsdxml.so.4 >> Reading symbols from /libexec/ld-elf.so.1...done. >> Loaded symbols for /libexec/ld-elf.so.1 >> #0 0x0000000801219438 in BN_mod_exp_mont_consttime () from >> /lib/libcrypto.so.6 >> (gdb) bt full >> #0 0x0000000801219438 in BN_mod_exp_mont_consttime () from >> /lib/libcrypto.so.6 >> No symbol table info available. >> #1 0x00000008011f735f in RSA_PKCS1_SSLeay () from /lib/libcrypto.so.6 >> No symbol table info available. >> #2 0x00000008011f82fd in RSA_PKCS1_SSLeay () from /lib/libcrypto.so.6 >> No symbol table info available. >> #3 0x00000008011d28d9 in RSA_sign () from /lib/libcrypto.so.6 >> No symbol table info available. >> #4 0x00000008008dc73b in rsa_sign (path=3D0x7fffffffe3c0 "./meta", >> rsa=3D0x802c19260, sigret=3D0x7fffffffda78, siglen=3D0x7fffffffda8c) at = rsa.c:287 >> errbuf =3D >> "./meta.txz\000\000\b\000\000\000\001\000\000\000\001\000\000\000\004\00= 0\000\000\000\000\000\000 >> =EF=BF=BD=EF=BF=BD\177\000\000=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000\000=EF= =BF=BD=EF=BF=BD=EF=BF=BD\177\000\000T\203\220\000\b\000\000\000\020\000\000= \000\000\000\000\000WU\000\000\000\000-\v=EF=BF=BD\004=EF=BF=BD@=EF=BF=BD~= =3D=EF=BF=BD=EF=BF=BDU\000\000\000\000212\000\00 >> 0\000\000filesite_archiveeo002\b\000\000\000\200o002\b\000\000\000\020\0= 00\000\000\b\000\000\000=EF=BF=BDG\220\000\b\000\000\000\000\000\000\000\b\= 000\000\000\003\000\000\000\000\000\000\000=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\= 000\000\204=EF=BF=BD=EF=BF=BD\177\000\0000=EF=BF=BD=EF=BF=BD\177\000\000"..= . >> max_len =3D 512 >> ret =3D 10591143 >> sha256 =3D 0x802c2d1f0 >> "fd24852c468ef31bd675129fd02b676ce7cffae895089292fa513784873689a6" >> #5 0x00000008008c2295 in pkg_repo_pack_db (name=3D0x800a20ec8 "meta", >> archive=3D0x7fffffffe3c0 "./meta", path=3D0x7fffffffe3c0 "./meta", >> rsa=3D0x802c19260, meta=3D0x802c68600, argv=3D0x7fffffffeb88, argc=3D1) = at >> pkg_repo_create.c:939 >> pack =3D (struct packing *) 0x802c79be0 >> sigret =3D (unsigned char *) 0x802ca4900 "" >> siglen =3D 0 >> fname =3D >> "\001\000\000\000\001\000\000\000\001\000\000\000\001\000\000\000@=EF=BF= =BD=EF=BF=BD\177\000\000\216\000\b\000\000\000=EF=BF=BD=EF=BF=BD\000\000\00= 0\000=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000\000\004\000\000\000\000\000\000\00= 0WU\000\000\000\000-\v=EF=BF=BD\004=EF=BF=BD@=EF=BF=BD~=3D=EF=BF=BD=EF=BF= =BDU\000\000\000\000212N\206cert=EF=BF=BD\177\000\000\230=EF=BF=BD=EF=BF=BD= \177\000\000p=EF=BF=BD >> =EF=BF=BD\177\000\000\000\000\000\000\000\000\000\000\004\000\000\000\00= 0\000\000\000E\030=EF=BF=BD\000\b\000\000\000\000\000\000\000=EF=BF=BD\177\= 000\000\020=EF=BF=BD\001\000\000\000\004\000\000\000\004\000\000\000\000\00= 0\000\000\004\000\000\000\220=EF=BF=BD=EF=BF=BD\177\000\000:\006\217\000\b\= 000\000\000=EF=BF=BD5002\b\000\000\00 >> 0"... >> sig =3D (struct sbuf *) 0x0 >> pub =3D (struct sbuf *) 0x0 >> #6 0x00000008008c2797 in pkg_finish_repo (output_dir=3D0x7fffffffedd1 "= .", >> password_cb=3D0x415ba0 , argv=3D0x7fffffffeb88, argc=3D1, >> filelist=3Dfalse) at pkg_repo_create.c:1038 >> repo_path =3D >> "./meta\000gesite.yaml\000\002\b\000\000\000\213Yc\000\b\000\000\0008204= \000\b", >> '\0' , >> "=EF=BF=BD\177\000\000\000\000\b\000\000\000`=EF=BF=BD=EF=BF=BD\177\000\= 000=EF=BF=BD=EF=BF=BDd\000\b\000\000\000=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000= \000=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000\000\000\000\000\000\000\000\000\000= =EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000\000g{c >> \000\b\000\000\000=EF=BF=BD&@\000\000\000\000\000\177\030\232\004\000\00= 0\000\000207\2013\000\000\000\0000=EF=BF=BDd\000\b\000\000\000\001\000\000\= 000\b\000\000\000\000\000\b\000\000\0008204\000\b\000\000\000=EF=BF=BD=EF= =BF=BD=EF=BF=BD\177\000\000@=EF=BF=BD=EF=BF=BD\177\000\000\000=EF=BF=BDd\00= 0\b"... >> repo_archive =3D >> "\225\003\000\000\000\000\000\000\230\003\000\000\000\000\000\000\225\00= 3\000\000\001\000\000\000=EF=BF=BD\000\217\000\b\000\000\000\000=EF=BF=BD= =EF=BF=BD\177\000\000Z\000\217\000\001\000\000\000\200=EF=BF=BD=EF=BF=BD\17= 7\000\000@,002\b\000\000\000PKG_PLUGPKG_PLUGc\000\000\000\000\000PLUGPLUG\2 >> 00=EF=BF=BD=EF=BF=BD\177\000\000p0002\b", '\0' , >> "\234}>\002\000\000\000\000\177\000\000\000:\000\000\000:\000\000\000:\2= 37=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD\177\000\000=EF=BF=BD\005\217\000\b\0= 00\000\000@,002\b\000\000\000\t\000\000\000\n\000\000\000=DC=B1=EF=BF=BD\00= 0\b\000\000\000@0002\b\000\000\000p=EF=BF=BD=EF=BF=BD\177\000\000... >> rsa =3D (struct rsa_key *) 0x802c19260 >> meta =3D (struct pkg_repo_meta *) 0x802c68600 >> st =3D {st_dev =3D 4294959664, st_ino =3D 32767, st_mode =3D 259= 38, >> st_nlink =3D 14234, st_uid =3D 2842729777, st_gid =3D 274432, st_rdev = =3D 0, >> st_atim =3D {tv_sec =3D 1457476951, tv_nsec =3D 6}, st_mtim =3D {tv_sec = =3D >> 34370333240, tv_nsec =3D 0}, st_ctim =3D {tv_sec =3D -735515279473687776= 6, >> tv_nsec =3D 34370335206}, st_size =3D 34370335206, st_blocks =3D 145= 7476951, >> st_blksize =3D 10, st_flags =3D 0, st_gen =3D 10596828, st_lspare =3D 8, >> st_birthtim =3D {tv_sec =3D 34370335951, tv_nsec =3D 1457476951}} >> ret =3D 0 >> nfile =3D 1 >> files_to_pack =3D 4 >> legacy =3D false >> #7 0x0000000000415eea in exec_repo (argc=3D2, argv=3D0x7fffffffeb80) at >> repo.c:155 >> ret =3D 0 >> ch =3D -1 >> filelist =3D false >> output_dir =3D 0x7fffffffedd1 "." >> meta_file =3D 0x0 >> legacy =3D false >> longopts =3D {{name =3D 0x429c1f "list-files", has_arg =3D 0, fl= ag =3D 0x0, >> val =3D 108}, {name =3D 0x429c2a "output-dir", has_arg =3D 1, flag =3D 0= x0, val =3D >> 111}, {name =3D 0x429c35 "quiet", has_arg =3D 0, flag =3D 0x0, val =3D 1= 13}, {name >> =3D 0x429c3b "meta-file", has_arg =3D 1, flag =3D 0x0, >> val =3D 109}, {name =3D 0x429c45 "legacy", has_arg =3D 0, flag =3D 0= x0, val =3D >> 76}, {name =3D 0x0, has_arg =3D 0, flag =3D 0x0, val =3D 0}} >> #8 0x0000000000412b9e in main (argc=3D3, argv=3D0x7fffffffeb78) at main= .c:852 >> i =3D 21 >> command =3D (struct commands *) 0x630f40 >> ambiguous =3D 0 >> chroot_path =3D 0x0 >> rootdir =3D 0x0 >> jid =3D 0 >> jail_str =3D 0x0 >> len =3D 4 >> ch =3D -1 '=EF=BF=BD' >> debug =3D 0 >> version =3D 0 >> ret =3D 0 >> plugins_enabled =3D true >> plugin_found =3D false >> show_commands =3D false >> activation_test =3D false >> init_flags =3D 0 >> c =3D (struct plugcmd *) 0x246 >> conffile =3D 0x0 >> reposdir =3D 0x0 >> save_argv =3D (char **) 0x7fffffffeb78 >> j =3D 8 >> longopts =3D {{name =3D 0x4276f7 "debug", has_arg =3D 0, flag = =3D 0x0, val >> =3D 100}, {name =3D 0x4276fd "jail", has_arg =3D 1, flag =3D 0x0, val = =3D 106}, {name >> =3D 0x427702 "chroot", has_arg =3D 1, flag =3D 0x0, val =3D 99}, {name = =3D 0x426a33 >> "config", has_arg =3D 1, flag =3D 0x0, val =3D 67}, { >> name =3D 0x427709 "repo-conf-dir", has_arg =3D 1, flag =3D 0x0, val = =3D 82}, >> {name =3D 0x427717 "rootdir", has_arg =3D 1, flag =3D 0x0, val =3D 114},= {name =3D >> 0x42771f "list", has_arg =3D 0, flag =3D 0x0, val =3D 108}, {name =3D 0x= 426f45 >> "version", has_arg =3D 0, flag =3D 0x0, val =3D 118}, { >> name =3D 0x427724 "option", has_arg =3D 1, flag =3D 0x0, val =3D 111= }, {name =3D >> 0x42772b "only-ipv4", has_arg =3D 0, flag =3D 0x0, val =3D 52}, {name = =3D 0x427735 >> "only-ipv6", has_arg =3D 0, flag =3D 0x0, val =3D 54}, {name =3D 0x0, ha= s_arg =3D 0, >> flag =3D 0x0, val =3D 0}} >> __func__ =3D "main" >> >> >> >> >> -- >> Mathieu Arnold > > > > -- > Xin LI https://www.delphij.net/ > FreeBSD - The Power to Serve! Live free or die > From owner-svn-src-all@freebsd.org Wed Mar 9 09:16:54 2016 Return-Path: Delivered-To: svn-src-all@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 9E450AC98EA; Wed, 9 Mar 2016 09:16:54 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from anubis.delphij.net (anubis.delphij.net [IPv6:2001:470:1:117::25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "anubis.delphij.net", Issuer "StartCom Class 1 DV Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 731E4C81; Wed, 9 Mar 2016 09:16:54 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from Xins-MBP.home.us.delphij.net (unknown [IPv6:2601:646:8f00:8a91:f04c:6de3:ff1:793]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by anubis.delphij.net (Postfix) with ESMTPSA id 92DE9B9E2; Wed, 9 Mar 2016 01:16:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=delphij.net; s=anubis; t=1457515014; x=1457529414; bh=0WasP9OBxJCh2oMHMygZEwywA6HphPIeay2A7UgZq1U=; h=Subject:To:References:Cc:From:Date:In-Reply-To; b=TMl1eL+gHIiB2+xC74qoCIT4U8wFVtbtJtro/Vp7BwORXMiYDYg/RM4EE4nlxpTZ6 LBDUAhoMUzxJJJy2gkYpfWLSM9RQoFO5PZiQZtMBcZDa/6o33JHAVRNyL3HH7/YdK/ vn4pjLpYrx0FplpKVquxN0MH+sFeQsGysfYPY11A= Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... To: Antoine Brodin , Xin LI References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> <56DF0234.2090307@FreeBSD.org> <56DF025B.1090706@FreeBSD.org> <56DF0550.6000604@FreeBSD.org> Cc: Mathieu Arnold , Jung-Uk Kim , Bryan Drewery , Xin LI , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , svn-src-releng@freebsd.org From: Xin Li Message-ID: <56DFEA05.6060501@delphij.net> Date: Wed, 9 Mar 2016 01:16:53 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="774Dh2Jq2oobcRMhc89n9LSoJJVmQ5OiC" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 09:16:54 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --774Dh2Jq2oobcRMhc89n9LSoJJVmQ5OiC Content-Type: multipart/mixed; boundary="SeCef0iwHIoNH1LukmLLTks6deFApNAGo" From: Xin Li To: Antoine Brodin , Xin LI Cc: Mathieu Arnold , Jung-Uk Kim , Bryan Drewery , Xin LI , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , svn-src-releng@freebsd.org Message-ID: <56DFEA05.6060501@delphij.net> Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> <56DF0234.2090307@FreeBSD.org> <56DF025B.1090706@FreeBSD.org> <56DF0550.6000604@FreeBSD.org> In-Reply-To: --SeCef0iwHIoNH1LukmLLTks6deFApNAGo Content-Type: multipart/mixed; boundary="------------050501080008040300060008" This is a multi-part message in MIME format. --------------050501080008040300060008 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable FYI -- I can confirm that libcrypto is broken and have a reliable way to trigger it. So far I was able to narrow down this to this change and here is a temporary workaround (which will reintroduce CVE-2016-0702). Cheers, --------------050501080008040300060008 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="bn-revert.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="bn-revert.diff" SW5kZXg6IGNyeXB0by9vcGVuc3NsL2NyeXB0by9ibi9ibi5oCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IGNyeXB0by9vcGVuc3NsL2NyeXB0by9ibi9ibi5oCShyZXZpc2lvbiAyOTY1NTYpCisrKyBj cnlwdG8vb3BlbnNzbC9jcnlwdG8vYm4vYm4uaAkod29ya2luZyBjb3B5KQpAQCAtNjksMTMg KzY5LDEzIEBACiAgKgogICovCiAKLSNpZm5kZWYgSEVBREVSX0JOX0gNCi0jIGRlZmluZSBI RUFERVJfQk5fSA0KLQ0KLSMgaW5jbHVkZSA8bGltaXRzLmg+DQotIyBpbmNsdWRlIDxvcGVu c3NsL2Vfb3MyLmg+DQotIyBpZm5kZWYgT1BFTlNTTF9OT19GUF9BUEkNCi0jICBpbmNsdWRl IDxzdGRpby5oPiAgICAgICAgICAgIC8qIEZJTEUgKi8NCisjaWZuZGVmIEhFQURFUl9CTl9I CisjIGRlZmluZSBIRUFERVJfQk5fSAorCisjIGluY2x1ZGUgPGxpbWl0cy5oPgorIyBpbmNs dWRlIDxvcGVuc3NsL2Vfb3MyLmg+CisjIGlmbmRlZiBPUEVOU1NMX05PX0ZQX0FQSQorIyAg aW5jbHVkZSA8c3RkaW8uaD4gICAgICAgICAgICAvKiBGSUxFICovCiAjIGVuZGlmCiAjIGlu Y2x1ZGUgPG9wZW5zc2wvb3NzbF90eXAuaD4KIApAQCAtNzAyLDIzICs3MDIsMjMgQEAgY29u c3QgQklHTlVNICpCTl9nZXQwX25pc3RfcHJpbWVfMjI0KHZvaWQpOwogY29uc3QgQklHTlVN ICpCTl9nZXQwX25pc3RfcHJpbWVfMjU2KHZvaWQpOwogY29uc3QgQklHTlVNICpCTl9nZXQw X25pc3RfcHJpbWVfMzg0KHZvaWQpOwogY29uc3QgQklHTlVNICpCTl9nZXQwX25pc3RfcHJp bWVfNTIxKHZvaWQpOwotDQotLyogbGlicmFyeSBpbnRlcm5hbCBmdW5jdGlvbnMgKi8NCi0N Ci0jIGRlZmluZSBibl9leHBhbmQoYSxiaXRzKSBcDQotICAgICggXA0KLSAgICAgICAgYml0 cyA+IChJTlRfTUFYIC0gQk5fQklUUzIgKyAxKSA/IFwNCi0gICAgICAgICAgICBOVUxMIFwN Ci0gICAgICAgIDogXA0KLSAgICAgICAgICAgICgoKGJpdHMrQk5fQklUUzItMSkvQk5fQklU UzIpIDw9IChhKS0+ZG1heCkgPyBcDQotICAgICAgICAgICAgICAgIChhKSBcDQotICAgICAg ICAgICAgOiBcDQotICAgICAgICAgICAgICAgIGJuX2V4cGFuZDIoKGEpLChiaXRzK0JOX0JJ VFMyLTEpL0JOX0JJVFMyKSBcDQotICAgICkNCi0NCi0jIGRlZmluZSBibl93ZXhwYW5kKGEs d29yZHMpICgoKHdvcmRzKSA8PSAoYSktPmRtYXgpPyhhKTpibl9leHBhbmQyKChhKSwod29y ZHMpKSkNCi1CSUdOVU0gKmJuX2V4cGFuZDIoQklHTlVNICphLCBpbnQgd29yZHMpOw0KLSMg aWZuZGVmIE9QRU5TU0xfTk9fREVQUkVDQVRFRA0KKworLyogbGlicmFyeSBpbnRlcm5hbCBm dW5jdGlvbnMgKi8KKworIyBkZWZpbmUgYm5fZXhwYW5kKGEsYml0cykgXAorICAgICggXAor ICAgICAgICBiaXRzID4gKElOVF9NQVggLSBCTl9CSVRTMiArIDEpID8gXAorICAgICAgICAg ICAgTlVMTCBcCisgICAgICAgIDogXAorICAgICAgICAgICAgKCgoYml0cytCTl9CSVRTMi0x KS9CTl9CSVRTMikgPD0gKGEpLT5kbWF4KSA/IFwKKyAgICAgICAgICAgICAgICAoYSkgXAor ICAgICAgICAgICAgOiBcCisgICAgICAgICAgICAgICAgYm5fZXhwYW5kMigoYSksKGJpdHMr Qk5fQklUUzItMSkvQk5fQklUUzIpIFwKKyAgICApCisKKyMgZGVmaW5lIGJuX3dleHBhbmQo YSx3b3JkcykgKCgod29yZHMpIDw9IChhKS0+ZG1heCk/KGEpOmJuX2V4cGFuZDIoKGEpLCh3 b3JkcykpKQorQklHTlVNICpibl9leHBhbmQyKEJJR05VTSAqYSwgaW50IHdvcmRzKTsKKyMg aWZuZGVmIE9QRU5TU0xfTk9fREVQUkVDQVRFRAogQklHTlVNICpibl9kdXBfZXhwYW5kKGNv bnN0IEJJR05VTSAqYSwgaW50IHdvcmRzKTsgLyogdW51c2VkICovCiAjIGVuZGlmCiAKSW5k ZXg6IGNyeXB0by9vcGVuc3NsL2NyeXB0by9ibi9ibl9leHAuYwo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBjcnlwdG8vb3BlbnNzbC9jcnlwdG8vYm4vYm5fZXhwLmMJKHJldmlzaW9uIDI5NjU1NikK KysrIGNyeXB0by9vcGVuc3NsL2NyeXB0by9ibi9ibl9leHAuYwkod29ya2luZyBjb3B5KQpA QCAtMTA3LDEzICsxMDcsMTIgQEAKICAqIChlYXlAY3J5cHRzb2Z0LmNvbSkuICBUaGlzIHBy b2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgd3JpdHRlbiBieSBUaW0KICAqIEh1ZHNvbiAodGpo QGNyeXB0c29mdC5jb20pLgogICoKLSAqLw0KLQ0KLSNpbmNsdWRlICJjcnlwdGxpYi5oIg0K LSNpbmNsdWRlICJjb25zdGFudF90aW1lX2xvY2wuaCINCi0jaW5jbHVkZSAiYm5fbGNsLmgi DQotDQotLyogbWF4aW11bSBwcmVjb21wdXRhdGlvbiB0YWJsZSBzaXplIGZvciAqdmFyaWFi bGUqIHNsaWRpbmcgd2luZG93cyAqLw0KKyAqLworCisjaW5jbHVkZSAiY3J5cHRsaWIuaCIK KyNpbmNsdWRlICJibl9sY2wuaCIKKworLyogbWF4aW11bSBwcmVjb21wdXRhdGlvbiB0YWJs ZSBzaXplIGZvciAqdmFyaWFibGUqIHNsaWRpbmcgd2luZG93cyAqLwogI2RlZmluZSBUQUJM RV9TSVpFICAgICAgMzIKIAogLyogdGhpcyBvbmUgd29ya3MgLSBzaW1wbGUgYnV0IHdvcmtz ICovCkBAIC01MjEsNzkgKzUyMCw0MSBAQCBpbnQgQk5fbW9kX2V4cF9tb250KEJJR05VTSAq cnIsIGNvbnN0IEJJR05VTSAqYSwgYwogICogcGF0dGVybiBhcyBmYXIgYXMgY2FjaGUgbGlu ZXMgYXJlIGNvbmNlcm5lZC4gIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGFyZQogICogdXNl ZCB0byB0cmFuc2ZlciBhIEJJR05VTSBmcm9tL3RvIHRoYXQgdGFibGUuCiAgKi8KLQ0KLXN0 YXRpYyBpbnQgTU9EX0VYUF9DVElNRV9DT1BZX1RPX1BSRUJVRihCSUdOVU0gKmIsIGludCB0 b3AsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGNoYXIgKmJ1ZiwgaW50IGlkeCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50IHdpbmRvdykNCi17DQotICAgIGludCBpLCBqOw0KLSAgICBpbnQgd2lk dGggPSAxIDw8IHdpbmRvdzsNCi0gICAgQk5fVUxPTkcgKnRhYmxlID0gKEJOX1VMT05HICop YnVmOw0KLQ0KLSAgICBpZiAoYm5fd2V4cGFuZChiLCB0b3ApID09IE5VTEwpDQotICAgICAg ICByZXR1cm4gMDsNCisKK3N0YXRpYyBpbnQgTU9EX0VYUF9DVElNRV9DT1BZX1RPX1BSRUJV RihCSUdOVU0gKmIsIGludCB0b3AsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgY2hhciAqYnVmLCBpbnQgaWR4LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCkKK3sKKyAgICBzaXplX3QgaSwg ajsKKworICAgIGlmIChibl93ZXhwYW5kKGIsIHRvcCkgPT0gTlVMTCkKKyAgICAgICAgcmV0 dXJuIDA7CiAgICAgd2hpbGUgKGItPnRvcCA8IHRvcCkgewotICAgICAgICBiLT5kW2ItPnRv cCsrXSA9IDA7DQotICAgIH0NCi0NCi0gICAgZm9yIChpID0gMCwgaiA9IGlkeDsgaSA8IHRv cDsgaSsrLCBqICs9IHdpZHRoKSB7DQotICAgICAgICB0YWJsZVtqXSA9IGItPmRbaV07DQot ICAgIH0NCi0NCi0gICAgYm5fY29ycmVjdF90b3AoYik7DQorICAgICAgICBiLT5kW2ItPnRv cCsrXSA9IDA7CisgICAgfQorCisgICAgZm9yIChpID0gMCwgaiA9IGlkeDsgaSA8IHRvcCAq IHNpemVvZiBiLT5kWzBdOyBpKyssIGogKz0gd2lkdGgpIHsKKyAgICAgICAgYnVmW2pdID0g KCh1bnNpZ25lZCBjaGFyICopYi0+ZClbaV07CisgICAgfQorCisgICAgYm5fY29ycmVjdF90 b3AoYik7CiAgICAgcmV0dXJuIDE7CiB9Ci0NCi1zdGF0aWMgaW50IE1PRF9FWFBfQ1RJTUVf Q09QWV9GUk9NX1BSRUJVRihCSUdOVU0gKmIsIGludCB0b3AsDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqYnVmLCBpbnQgaWR4 LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aW5k b3cpDQotew0KLSAgICBpbnQgaSwgajsNCi0gICAgaW50IHdpZHRoID0gMSA8PCB3aW5kb3c7 DQotICAgIHZvbGF0aWxlIEJOX1VMT05HICp0YWJsZSA9ICh2b2xhdGlsZSBCTl9VTE9ORyAq KWJ1ZjsNCi0NCi0gICAgaWYgKGJuX3dleHBhbmQoYiwgdG9wKSA9PSBOVUxMKQ0KLSAgICAg ICAgcmV0dXJuIDA7DQotDQotICAgIGlmICh3aW5kb3cgPD0gMykgew0KLSAgICAgICAgZm9y IChpID0gMDsgaSA8IHRvcDsgaSsrLCB0YWJsZSArPSB3aWR0aCkgew0KLSAgICAgICAgICAg IEJOX1VMT05HIGFjYyA9IDA7DQotDQotICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IHdp ZHRoOyBqKyspIHsNCi0gICAgICAgICAgICAgICAgYWNjIHw9IHRhYmxlW2pdICYNCi0gICAg ICAgICAgICAgICAgICAgICAgICgoQk5fVUxPTkcpMCAtIChjb25zdGFudF90aW1lX2VxX2lu dChqLGlkeCkmMSkpOw0KLSAgICAgICAgICAgIH0NCi0NCi0gICAgICAgICAgICBiLT5kW2ld ID0gYWNjOw0KLSAgICAgICAgfQ0KLSAgICB9IGVsc2Ugew0KLSAgICAgICAgaW50IHhzdHJp ZGUgPSAxIDw8ICh3aW5kb3cgLSAyKTsNCi0gICAgICAgIEJOX1VMT05HIHkwLCB5MSwgeTIs IHkzOw0KLQ0KLSAgICAgICAgaSA9IGlkeCA+PiAod2luZG93IC0gMik7ICAgICAgICAvKiBl cXVpdmFsZW50IG9mIGlkeCAvIHhzdHJpZGUgKi8NCi0gICAgICAgIGlkeCAmPSB4c3RyaWRl IC0gMTsgICAgICAgICAgICAgLyogZXF1aXZhbGVudCBvZiBpZHggJSB4c3RyaWRlICovDQot DQotICAgICAgICB5MCA9IChCTl9VTE9ORykwIC0gKGNvbnN0YW50X3RpbWVfZXFfaW50KGks MCkmMSk7DQotICAgICAgICB5MSA9IChCTl9VTE9ORykwIC0gKGNvbnN0YW50X3RpbWVfZXFf aW50KGksMSkmMSk7DQotICAgICAgICB5MiA9IChCTl9VTE9ORykwIC0gKGNvbnN0YW50X3Rp bWVfZXFfaW50KGksMikmMSk7DQotICAgICAgICB5MyA9IChCTl9VTE9ORykwIC0gKGNvbnN0 YW50X3RpbWVfZXFfaW50KGksMykmMSk7DQotDQotICAgICAgICBmb3IgKGkgPSAwOyBpIDwg dG9wOyBpKyssIHRhYmxlICs9IHdpZHRoKSB7DQotICAgICAgICAgICAgQk5fVUxPTkcgYWNj ID0gMDsNCi0NCi0gICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgeHN0cmlkZTsgaisrKSB7 DQotICAgICAgICAgICAgICAgIGFjYyB8PSAoICh0YWJsZVtqICsgMCAqIHhzdHJpZGVdICYg eTApIHwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgKHRhYmxlW2ogKyAxICogeHN0cmlk ZV0gJiB5MSkgfA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAodGFibGVbaiArIDIgKiB4 c3RyaWRlXSAmIHkyKSB8DQotICAgICAgICAgICAgICAgICAgICAgICAgICh0YWJsZVtqICsg MyAqIHhzdHJpZGVdICYgeTMpICkNCi0gICAgICAgICAgICAgICAgICAgICAgICYgKChCTl9V TE9ORykwIC0gKGNvbnN0YW50X3RpbWVfZXFfaW50KGosaWR4KSYxKSk7DQotICAgICAgICAg ICAgfQ0KLQ0KLSAgICAgICAgICAgIGItPmRbaV0gPSBhY2M7DQotICAgICAgICB9DQotICAg IH0NCi0NCi0gICAgYi0+dG9wID0gdG9wOw0KKworc3RhdGljIGludCBNT0RfRVhQX0NUSU1F X0NPUFlfRlJPTV9QUkVCVUYoQklHTlVNICpiLCBpbnQgdG9wLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqYnVmLCBpbnQgaWR4 LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRo KQoreworICAgIHNpemVfdCBpLCBqOworCisgICAgaWYgKGJuX3dleHBhbmQoYiwgdG9wKSA9 PSBOVUxMKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGZvciAoaSA9IDAsIGogPSBpZHg7 IGkgPCB0b3AgKiBzaXplb2YgYi0+ZFswXTsgaSsrLCBqICs9IHdpZHRoKSB7CisgICAgICAg ICgodW5zaWduZWQgY2hhciAqKWItPmQpW2ldID0gYnVmW2pdOworICAgIH0KKworICAgIGIt PnRvcCA9IHRvcDsKICAgICBibl9jb3JyZWN0X3RvcChiKTsKICAgICByZXR1cm4gMTsKIH0K QEAgLTY4NCwxMyArNjQ1LDEzIEBAIGludCBCTl9tb2RfZXhwX21vbnRfY29uc3R0aW1lKEJJ R05VTSAqcnIsIGNvbnN0IEJJCiAgICAgLyoKICAgICAgKiBJbml0aWFsaXplIHRoZSBpbnRl cm1lZGlhdGUgcmVzdWx0LiBEbyB0aGlzIGVhcmx5IHRvIHNhdmUgZG91YmxlCiAgICAgICog Y29udmVyc2lvbiwgb25jZSBlYWNoIGZvciBhXjAgYW5kIGludGVybWVkaWF0ZSByZXN1bHQu Ci0gICAgICovDQotICAgIGlmICghQk5fdG9fbW9udGdvbWVyeShyLCBCTl92YWx1ZV9vbmUo KSwgbW9udCwgY3R4KSkNCi0gICAgICAgIGdvdG8gZXJyOw0KLSAgICBpZiAoIU1PRF9FWFBf Q1RJTUVfQ09QWV9UT19QUkVCVUYociwgdG9wLCBwb3dlcmJ1ZiwgMCwgd2luZG93KSkNCi0g ICAgICAgIGdvdG8gZXJyOw0KLQ0KLSAgICAvKiBJbml0aWFsaXplIGNvbXB1dGVUZW1wIGFz IGFeMSB3aXRoIG1vbnRnb21lcnkgcHJlY2FsY3MgKi8NCisgICAgICovCisgICAgaWYgKCFC Tl90b19tb250Z29tZXJ5KHIsIEJOX3ZhbHVlX29uZSgpLCBtb250LCBjdHgpKQorICAgICAg ICBnb3RvIGVycjsKKyAgICBpZiAoIU1PRF9FWFBfQ1RJTUVfQ09QWV9UT19QUkVCVUYociwg dG9wLCBwb3dlcmJ1ZiwgMCwgbnVtUG93ZXJzKSkKKyAgICAgICAgZ290byBlcnI7CisKKyAg ICAvKiBJbml0aWFsaXplIGNvbXB1dGVUZW1wIGFzIGFeMSB3aXRoIG1vbnRnb21lcnkgcHJl Y2FsY3MgKi8KICAgICBjb21wdXRlVGVtcCA9IEJOX0NUWF9nZXQoY3R4KTsKICAgICBhbSA9 IEJOX0NUWF9nZXQoY3R4KTsKICAgICBpZiAoY29tcHV0ZVRlbXAgPT0gTlVMTCB8fCBhbSA9 PSBOVUxMKQpAQCAtNzAzLDEzICs2NjQsMTMgQEAgaW50IEJOX21vZF9leHBfbW9udF9jb25z dHRpbWUoQklHTlVNICpyciwgY29uc3QgQkkKICAgICB9IGVsc2UKICAgICAgICAgYWEgPSBh OwogICAgIGlmICghQk5fdG9fbW9udGdvbWVyeShhbSwgYWEsIG1vbnQsIGN0eCkpCi0gICAg ICAgIGdvdG8gZXJyOw0KLSAgICBpZiAoIUJOX2NvcHkoY29tcHV0ZVRlbXAsIGFtKSkNCi0g ICAgICAgIGdvdG8gZXJyOw0KLSAgICBpZiAoIU1PRF9FWFBfQ1RJTUVfQ09QWV9UT19QUkVC VUYoYW0sIHRvcCwgcG93ZXJidWYsIDEsIHdpbmRvdykpDQotICAgICAgICBnb3RvIGVycjsN Ci0NCi0gICAgLyoNCisgICAgICAgIGdvdG8gZXJyOworICAgIGlmICghQk5fY29weShjb21w dXRlVGVtcCwgYW0pKQorICAgICAgICBnb3RvIGVycjsKKyAgICBpZiAoIU1PRF9FWFBfQ1RJ TUVfQ09QWV9UT19QUkVCVUYoYW0sIHRvcCwgcG93ZXJidWYsIDEsIG51bVBvd2VycykpCisg ICAgICAgIGdvdG8gZXJyOworCisgICAgLyoKICAgICAgKiBJZiB0aGUgd2luZG93IHNpemUg aXMgZ3JlYXRlciB0aGFuIDEsIHRoZW4gY2FsY3VsYXRlCiAgICAgICogdmFsW2k9Mi4uMl53 aW5zaXplLTFdLiBQb3dlcnMgYXJlIGNvbXB1dGVkIGFzIGEqYV4oaS0xKSAoZXZlbiBwb3dl cnMKICAgICAgKiBjb3VsZCBpbnN0ZWFkIGJlIGNvbXB1dGVkIGFzIChhXihpLzIpKV4yIHRv IHVzZSB0aGUgc2xpZ2h0IHBlcmZvcm1hbmNlCkBAIC03MTgsMTQgKzY3OSwxNCBAQCBpbnQg Qk5fbW9kX2V4cF9tb250X2NvbnN0dGltZShCSUdOVU0gKnJyLCBjb25zdCBCSQogICAgIGlm ICh3aW5kb3cgPiAxKSB7CiAgICAgICAgIGZvciAoaSA9IDI7IGkgPCBudW1Qb3dlcnM7IGkr KykgewogICAgICAgICAgICAgLyogQ2FsY3VsYXRlIGFeaSA9IGFeKGktMSkgKiBhICovCi0g ICAgICAgICAgICBpZiAoIUJOX21vZF9tdWxfbW9udGdvbWVyeQ0KLSAgICAgICAgICAgICAg ICAoY29tcHV0ZVRlbXAsIGFtLCBjb21wdXRlVGVtcCwgbW9udCwgY3R4KSkNCi0gICAgICAg ICAgICAgICAgZ290byBlcnI7DQotICAgICAgICAgICAgaWYgKCFNT0RfRVhQX0NUSU1FX0NP UFlfVE9fUFJFQlVGKGNvbXB1dGVUZW1wLCB0b3AsIHBvd2VyYnVmLCBpLA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cpKQ0KLSAgICAg ICAgICAgICAgICBnb3RvIGVycjsNCi0gICAgICAgIH0NCi0gICAgfQ0KKyAgICAgICAgICAg IGlmICghQk5fbW9kX211bF9tb250Z29tZXJ5CisgICAgICAgICAgICAgICAgKGNvbXB1dGVU ZW1wLCBhbSwgY29tcHV0ZVRlbXAsIG1vbnQsIGN0eCkpCisgICAgICAgICAgICAgICAgZ290 byBlcnI7CisgICAgICAgICAgICBpZiAoIU1PRF9FWFBfQ1RJTUVfQ09QWV9UT19QUkVCVUYK KyAgICAgICAgICAgICAgICAoY29tcHV0ZVRlbXAsIHRvcCwgcG93ZXJidWYsIGksIG51bVBv d2VycykpCisgICAgICAgICAgICAgICAgZ290byBlcnI7CisgICAgICAgIH0KKyAgICB9CiAK ICAgICAvKgogICAgICAqIEFkanVzdCB0aGUgbnVtYmVyIG9mIGJpdHMgdXAgdG8gYSBtdWx0 aXBsZSBvZiB0aGUgd2luZG93IHNpemUuIElmIHRoZQpJbmRleDogY3J5cHRvL29wZW5zc2wv Y3J5cHRvL2JuL2JuX3ByaW50LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY3J5cHRvL29wZW5zc2wv Y3J5cHRvL2JuL2JuX3ByaW50LmMJKHJldmlzaW9uIDI5NjU1NikKKysrIGNyeXB0by9vcGVu c3NsL2NyeXB0by9ibi9ibl9wcmludC5jCSh3b3JraW5nIGNvcHkpCkBAIC01NSwxNCArNTUs MTQgQEAKICAqIGNvcGllZCBhbmQgcHV0IHVuZGVyIGFub3RoZXIgZGlzdHJpYnV0aW9uIGxp Y2VuY2UKICAqIFtpbmNsdWRpbmcgdGhlIEdOVSBQdWJsaWMgTGljZW5jZS5dCiAgKi8KLQ0K LSNpbmNsdWRlIDxzdGRpby5oPg0KLSNpbmNsdWRlIDxjdHlwZS5oPg0KLSNpbmNsdWRlIDxs aW1pdHMuaD4NCi0jaW5jbHVkZSAiY3J5cHRsaWIuaCINCi0jaW5jbHVkZSA8b3BlbnNzbC9i dWZmZXIuaD4NCi0jaW5jbHVkZSAiYm5fbGNsLmgiDQogCisjaW5jbHVkZSA8c3RkaW8uaD4K KyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgImNy eXB0bGliLmgiCisjaW5jbHVkZSA8b3BlbnNzbC9idWZmZXIuaD4KKyNpbmNsdWRlICJibl9s Y2wuaCIKKwogc3RhdGljIGNvbnN0IGNoYXIgSGV4W10gPSAiMDEyMzQ1Njc4OUFCQ0RFRiI7 CiAKIC8qIE11c3QgJ09QRU5TU0xfZnJlZScgdGhlIHJldHVybmVkIGRhdGEgKi8KQEAgLTE4 NywxOSArMTg3LDE5IEBAIGludCBCTl9oZXgyYm4oQklHTlVNICoqYm4sIGNvbnN0IGNoYXIg KmEpCiAKICAgICBpZiAoKmEgPT0gJy0nKSB7CiAgICAgICAgIG5lZyA9IDE7Ci0gICAgICAg IGErKzsNCi0gICAgfQ0KLQ0KLSAgICBmb3IgKGkgPSAwOyBpIDw9IChJTlRfTUFYLzQpICYm IGlzeGRpZ2l0KCh1bnNpZ25lZCBjaGFyKWFbaV0pOyBpKyspDQotICAgICAgICBjb250aW51 ZTsNCi0NCi0gICAgaWYgKGkgPiBJTlRfTUFYLzQpDQotICAgICAgICBnb3RvIGVycjsNCi0N Ci0gICAgbnVtID0gaSArIG5lZzsNCi0gICAgaWYgKGJuID09IE5VTEwpDQotICAgICAgICBy ZXR1cm4gKG51bSk7DQorICAgICAgICBhKys7CisgICAgfQogCisgICAgZm9yIChpID0gMDsg aSA8PSAoSU5UX01BWC80KSAmJiBpc3hkaWdpdCgodW5zaWduZWQgY2hhcilhW2ldKTsgaSsr KQorICAgICAgICBjb250aW51ZTsKKworICAgIGlmIChpID4gSU5UX01BWC80KQorICAgICAg ICBnb3RvIGVycjsKKworICAgIG51bSA9IGkgKyBuZWc7CisgICAgaWYgKGJuID09IE5VTEwp CisgICAgICAgIHJldHVybiAobnVtKTsKKwogICAgIC8qIGEgaXMgdGhlIHN0YXJ0IG9mIHRo ZSBoZXggZGlnaXRzLCBhbmQgaXQgaXMgJ2knIGxvbmcgKi8KICAgICBpZiAoKmJuID09IE5V TEwpIHsKICAgICAgICAgaWYgKChyZXQgPSBCTl9uZXcoKSkgPT0gTlVMTCkKQEAgLTIwNiwx MyArMjA2LDEzIEBAIGludCBCTl9oZXgyYm4oQklHTlVNICoqYm4sIGNvbnN0IGNoYXIgKmEp CiAgICAgICAgICAgICByZXR1cm4gKDApOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHJldCA9 ICpibjsKLSAgICAgICAgQk5femVybyhyZXQpOw0KLSAgICB9DQotDQotICAgIC8qIGkgaXMg dGhlIG51bWJlciBvZiBoZXggZGlnaXRzICovDQotICAgIGlmIChibl9leHBhbmQocmV0LCBp ICogNCkgPT0gTlVMTCkNCi0gICAgICAgIGdvdG8gZXJyOw0KLQ0KKyAgICAgICAgQk5femVy byhyZXQpOworICAgIH0KKworICAgIC8qIGkgaXMgdGhlIG51bWJlciBvZiBoZXggZGlnaXRz ICovCisgICAgaWYgKGJuX2V4cGFuZChyZXQsIGkgKiA0KSA9PSBOVUxMKQorICAgICAgICBn b3RvIGVycjsKKwogICAgIGogPSBpOyAgICAgICAgICAgICAgICAgICAgICAvKiBsZWFzdCBz aWduaWZpY2FudCAnaGV4JyAqLwogICAgIG0gPSAwOwogICAgIGggPSAwOwpAQCAtMjYyLDE5 ICsyNjIsMTkgQEAgaW50IEJOX2RlYzJibihCSUdOVU0gKipibiwgY29uc3QgY2hhciAqYSkK ICAgICAgICAgcmV0dXJuICgwKTsKICAgICBpZiAoKmEgPT0gJy0nKSB7CiAgICAgICAgIG5l ZyA9IDE7Ci0gICAgICAgIGErKzsNCi0gICAgfQ0KLQ0KLSAgICBmb3IgKGkgPSAwOyBpIDw9 IChJTlRfTUFYLzQpICYmIGlzZGlnaXQoKHVuc2lnbmVkIGNoYXIpYVtpXSk7IGkrKykNCi0g ICAgICAgIGNvbnRpbnVlOw0KLQ0KLSAgICBpZiAoaSA+IElOVF9NQVgvNCkNCi0gICAgICAg IGdvdG8gZXJyOw0KLQ0KLSAgICBudW0gPSBpICsgbmVnOw0KLSAgICBpZiAoYm4gPT0gTlVM TCkNCi0gICAgICAgIHJldHVybiAobnVtKTsNCisgICAgICAgIGErKzsKKyAgICB9CiAKKyAg ICBmb3IgKGkgPSAwOyBpIDw9IChJTlRfTUFYLzQpICYmIGlzZGlnaXQoKHVuc2lnbmVkIGNo YXIpYVtpXSk7IGkrKykKKyAgICAgICAgY29udGludWU7CisKKyAgICBpZiAoaSA+IElOVF9N QVgvNCkKKyAgICAgICAgZ290byBlcnI7CisKKyAgICBudW0gPSBpICsgbmVnOworICAgIGlm IChibiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKG51bSk7CisKICAgICAvKgogICAgICAq IGEgaXMgdGhlIHN0YXJ0IG9mIHRoZSBkaWdpdHMsIGFuZCBpdCBpcyAnaScgbG9uZy4gV2Ug Y2hvcCBpdCBpbnRvCiAgICAgICogQk5fREVDX05VTSBkaWdpdHMgYXQgYSB0aW1lCkBAIC0y ODQsMTMgKzI4NCwxMyBAQCBpbnQgQk5fZGVjMmJuKEJJR05VTSAqKmJuLCBjb25zdCBjaGFy ICphKQogICAgICAgICAgICAgcmV0dXJuICgwKTsKICAgICB9IGVsc2UgewogICAgICAgICBy ZXQgPSAqYm47Ci0gICAgICAgIEJOX3plcm8ocmV0KTsNCi0gICAgfQ0KLQ0KLSAgICAvKiBp IGlzIHRoZSBudW1iZXIgb2YgZGlnaXRzLCBhIGJpdCBvZiBhbiBvdmVyIGV4cGFuZCAqLw0K LSAgICBpZiAoYm5fZXhwYW5kKHJldCwgaSAqIDQpID09IE5VTEwpDQotICAgICAgICBnb3Rv IGVycjsNCi0NCisgICAgICAgIEJOX3plcm8ocmV0KTsKKyAgICB9CisKKyAgICAvKiBpIGlz IHRoZSBudW1iZXIgb2YgZGlnaXRzLCBhIGJpdCBvZiBhbiBvdmVyIGV4cGFuZCAqLworICAg IGlmIChibl9leHBhbmQocmV0LCBpICogNCkgPT0gTlVMTCkKKyAgICAgICAgZ290byBlcnI7 CisKICAgICBqID0gQk5fREVDX05VTSAtIChpICUgQk5fREVDX05VTSk7CiAgICAgaWYgKGog PT0gQk5fREVDX05VTSkKICAgICAgICAgaiA9IDA7Cg== --------------050501080008040300060008-- --SeCef0iwHIoNH1LukmLLTks6deFApNAGo-- --774Dh2Jq2oobcRMhc89n9LSoJJVmQ5OiC Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJW3+oFAAoJEJW2GBstM+nsXqcP/0dxSTMAkTAP1ZqnUc0HFKBV DebJ0/7ZVQ7+TV1PzmZ/zheW9Yhf1Cq2rTwn42zUkswM7KJU6WQIYQ0b5v+ZTOvT kezZIbK1VGu2iuU6x5Gm+2wh51lzGF+XKyzOWW+o/PGzp+/YFLrB5NOIGI7srK4l RckUHEHgSMsQxPLHPUi+r2SuPz0U5p6T0xxa0H6jI+pM4ZjsxX7BtdIpI1hSPlEY Nl035OcnOmMBHwQOQXuZ8yu0Rh1eFBr7LKPU5GgAoGxUzjZZn4yNctSihspMagux Iy3LbglS1jH8tYC0tnthA45OnxNp2EIiOmYetwgLhE1GRMaecHMwwLq+pKTQdlpN FA+rWJ/LX1u6+X6ioMbfJzWfDBhRY+oN3vJwOm01tzyf+596iZG7hfmXVsfeKWx6 mqMmpLZJi3Gfd/SblqVt/IpmkNhLTOkkKvhY3GOtJkDYaDoTXaX7kMkf3OJdKuF1 D5xPX5dEMe5/kkvLb1T34bj1V1wROg4+hlAjfHknW58u9JY80SD6cTGtGpRRQjEa 6uzz2XS4/xyTDuKhKLL5pkR8t7QiGhVYM6LjsRZu7zzFdYnJ90bO4nHZnHmnR/1u UwQh9+Qah1S1X0CngLy5zdpTsU/JZLoiRD56J+iKLun1BSpkVirJmoRC4RgVdH6v uxzwh7zeZ1D25ZLW3jKu =Is7P -----END PGP SIGNATURE----- --774Dh2Jq2oobcRMhc89n9LSoJJVmQ5OiC-- From owner-svn-src-all@freebsd.org Wed Mar 9 09:48:34 2016 Return-Path: Delivered-To: svn-src-all@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 4EB95AC868D; Wed, 9 Mar 2016 09:48:34 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: from mail-qg0-x22c.google.com (mail-qg0-x22c.google.com [IPv6:2607:f8b0:400d:c04::22c]) (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 09CA4AAD; Wed, 9 Mar 2016 09:48:34 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: by mail-qg0-x22c.google.com with SMTP id y89so36502478qge.2; Wed, 09 Mar 2016 01:48:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=5BIJupQL5341gW7RQiU1/FJ/BHz5PjwTy3lCPX3UxjE=; b=FmMIK0iC0iOVzKPOKIbUEBWjUe4UTdQ8LbxCnwfc/sBsaCvMcJqUNuRAZ99Nq0Byps uA+yM6Ya3z4uP/RofJo55inQxVfVcDY4iTrD8/853cpfTC0wAMtXt1h1iA8AoK0w+QlG N0C5YqWQDicbD2wkdefLdMe//CKHPFBynL5Sqm7McEyQHf56cqZm6rAEZKI988u0qlRo MTgE1Nms5nYYvbHqnLaHJ/LoJngPmIK7H7LU5JopEG8di3Is7iW/WhCpRsc3p4XSeNP7 guLcAl4I0JjMg4JVaw/HpQaQ9t/HOTB2Co1FIxOFwuKLadPM+CfwWPCPr8ZSyIHHISsH HVSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:mime-version:subject:from:in-reply-to :date:cc:content-transfer-encoding:message-id:references:to; bh=5BIJupQL5341gW7RQiU1/FJ/BHz5PjwTy3lCPX3UxjE=; b=M+XzpAY0ezq2uequ6LOZOHyPr0nRVc4F7TLSd4//WSVM0Y5bmevHBQ/iTbZid8Tr9/ r49wg9EYwe+p6O43ciWDXkLvdyCyhwz0m2G/TL7ctmUCpouYuI3SR5h9ZKYpyiwAjLft jHRU+X6I2w8DKoMAuFzWDVjfZsbS/yYTf1W6e/Qk5w64Dz9AVAHtmY0LQ1S8kcxelTkH q2hZdtPSiEsfVL+uJtlBYVJCinVd5ujbbUcisUedKRzozHmm3DlkeqBYMXh3wSHRbuWJ Uuxiiv5rF2y4wYSWMnHJjHroH9/jtzZpDwaeBXLYyi9Q8SkSppgVcFzaEIzMuI0vZVS0 w0UA== X-Gm-Message-State: AD7BkJKwOyHOx1WXPy70FOc5mUpEd8e6krVW9qh9IXUt0xnI+MKWL0+SXYrQzeW9ixje2g== X-Received: by 10.140.92.180 with SMTP id b49mr32685469qge.81.1457516913226; Wed, 09 Mar 2016 01:48:33 -0800 (PST) Received: from mbp.home (179-125-130-6.desktop.com.br. [179.125.130.6]) by smtp.gmail.com with ESMTPSA id v65sm3271028qhc.6.2016.03.09.01.48.31 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Mar 2016 01:48:32 -0800 (PST) Sender: Renato Botelho Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms From: Renato Botelho In-Reply-To: <201603082033.u28KX2OL014139@repo.freebsd.org> Date: Wed, 9 Mar 2016 06:48:31 -0300 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <201603082033.u28KX2OL014139@repo.freebsd.org> To: =?utf-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 09:48:34 -0000 > On Mar 8, 2016, at 17:33, Jean-S=C3=A9bastien P=C3=A9dron = wrote: >=20 > Author: dumbbell > Date: Tue Mar 8 20:33:02 2016 > New Revision: 296548 > URL: https://svnweb.freebsd.org/changeset/base/296548 >=20 > Log: > drm/i915: Update to match Linux 3.8.13 >=20 > This update brings initial support for Haswell GPUs. >=20 > Tested by: Many users of FreeBSD, PC-BSD and HardenedBSD > Relnotes: yes > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D5554 I cannot boot anymore after moving to this revision. My laptop is a = ThinkPad T430 (IvyBridge). I got some warnings like info: [drm] MTRR allocation failed. Graphics performance may suffer. and in the end it just stops with these last 3 messages: info: [drm] MSI enabled 1 message(s) info: [drm] Supports vblank timestamp caching Rev 1 (10.10.2010). info: [drm] Driver supports precise vblank timestamp query. And never pass this point. By default I=E2=80=99m using GENERIC-NODEBUG, I=E2=80=99ll boot with old = kernel and rebuild it using GENERIC to make sure I can collect more = data. -- Renato Botelho From owner-svn-src-all@freebsd.org Wed Mar 9 10:01:30 2016 Return-Path: Delivered-To: svn-src-all@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 53264AC8BB5; Wed, 9 Mar 2016 10:01:30 +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 21374D7; Wed, 9 Mar 2016 10:01:30 +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 u29A1Tec058568; Wed, 9 Mar 2016 10:01:29 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29A1TX3058567; Wed, 9 Mar 2016 10:01:29 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201603091001.u29A1TX3058567@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 9 Mar 2016 10:01:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296558 - stable/10/sys/netipsec X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 10:01:30 -0000 Author: ae Date: Wed Mar 9 10:01:28 2016 New Revision: 296558 URL: https://svnweb.freebsd.org/changeset/base/296558 Log: MFC r295967: Fix useless check. m_pkthdr.len should be equal to orglen. Modified: stable/10/sys/netipsec/key.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/netipsec/key.c ============================================================================== --- stable/10/sys/netipsec/key.c Wed Mar 9 09:12:40 2016 (r296557) +++ stable/10/sys/netipsec/key.c Wed Mar 9 10:01:28 2016 (r296558) @@ -7245,8 +7245,7 @@ key_parse(struct mbuf *m, struct socket orglen = PFKEY_UNUNIT64(msg->sadb_msg_len); target = KEY_SENDUP_ONE; - if ((m->m_flags & M_PKTHDR) == 0 || - m->m_pkthdr.len != m->m_pkthdr.len) { + if ((m->m_flags & M_PKTHDR) == 0 || m->m_pkthdr.len != orglen) { ipseclog((LOG_DEBUG, "%s: invalid message length.\n",__func__)); PFKEYSTAT_INC(out_invlen); error = EINVAL; From owner-svn-src-all@freebsd.org Wed Mar 9 10:09:53 2016 Return-Path: Delivered-To: svn-src-all@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 16E68AC8FA5; Wed, 9 Mar 2016 10:09:53 +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 DC8C16BE; Wed, 9 Mar 2016 10:09:52 +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 u29A9pQw061038; Wed, 9 Mar 2016 10:09:51 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29A9pVi061037; Wed, 9 Mar 2016 10:09:51 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603091009.u29A9pVi061037@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 9 Mar 2016 10:09:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296559 - stable/10/share/man/man9 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 10:09:53 -0000 Author: kib Date: Wed Mar 9 10:09:51 2016 New Revision: 296559 URL: https://svnweb.freebsd.org/changeset/base/296559 Log: MFC r295998: Remove references to Giant in the description of vrele(9). Add notes about vnode lock and sleeping. MFC r296001: Fix year. Modified: stable/10/share/man/man9/vrele.9 Directory Properties: stable/10/ (props changed) Modified: stable/10/share/man/man9/vrele.9 ============================================================================== --- stable/10/share/man/man9/vrele.9 Wed Mar 9 10:01:28 2016 (r296558) +++ stable/10/share/man/man9/vrele.9 Wed Mar 9 10:09:51 2016 (r296559) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 20, 2010 +.Dd February 24, 2016 .Dt VRELE 9 .Os .Sh NAME @@ -81,9 +81,11 @@ If the .Va v_usecount field of the non-doomed vnode reaches zero, then it will be inactivated and placed on the free list. -Since the functions might need to call VOPs for the vnode, the -.Va Giant -mutex should be conditionally locked around the call. +.Pp +The +.Fn vrele +function may lock the vnode. +All three functions may sleep. .Pp The hold count for the vnode is always greater or equal to the usecount. Non-forced unmount fails when mount point owns a vnode that has non-zero From owner-svn-src-all@freebsd.org Wed Mar 9 10:14:55 2016 Return-Path: Delivered-To: svn-src-all@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 5DE14AC922B; Wed, 9 Mar 2016 10:14:55 +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 28822B02; Wed, 9 Mar 2016 10:14:55 +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 u29AEsQa063868; Wed, 9 Mar 2016 10:14:54 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29AEseU063867; Wed, 9 Mar 2016 10:14:54 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201603091014.u29AEseU063867@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 9 Mar 2016 10:14:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296560 - stable/9/sys/netipsec X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 10:14:55 -0000 Author: ae Date: Wed Mar 9 10:14:53 2016 New Revision: 296560 URL: https://svnweb.freebsd.org/changeset/base/296560 Log: MFC r295967: Fix useless check. m_pkthdr.len should be equal to orglen. Modified: stable/9/sys/netipsec/key.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/netipsec/key.c ============================================================================== --- stable/9/sys/netipsec/key.c Wed Mar 9 10:09:51 2016 (r296559) +++ stable/9/sys/netipsec/key.c Wed Mar 9 10:14:53 2016 (r296560) @@ -7338,8 +7338,7 @@ key_parse(m, so) orglen = PFKEY_UNUNIT64(msg->sadb_msg_len); target = KEY_SENDUP_ONE; - if ((m->m_flags & M_PKTHDR) == 0 || - m->m_pkthdr.len != m->m_pkthdr.len) { + if ((m->m_flags & M_PKTHDR) == 0 || m->m_pkthdr.len != orglen) { ipseclog((LOG_DEBUG, "%s: invalid message length.\n",__func__)); PFKEYSTAT_INC(out_invlen); error = EINVAL; From owner-svn-src-all@freebsd.org Wed Mar 9 10:19:34 2016 Return-Path: Delivered-To: svn-src-all@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 681E7AC9379; Wed, 9 Mar 2016 10:19:34 +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 2E329CF2; Wed, 9 Mar 2016 10:19:34 +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 u29AJXY7064060; Wed, 9 Mar 2016 10:19:33 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29AJX0D064059; Wed, 9 Mar 2016 10:19:33 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603091019.u29AJX0D064059@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 9 Mar 2016 10:19:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296561 - stable/10/sys/net X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 10:19:34 -0000 Author: kib Date: Wed Mar 9 10:19:32 2016 New Revision: 296561 URL: https://svnweb.freebsd.org/changeset/base/296561 Log: MFC r296009: In bpf_getdltlist(), do not call copyout(9) while holding bpf lock. Copy the data into temprorary malloced buffer and drop the lock for copyout. Modified: stable/10/sys/net/bpf.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/net/bpf.c ============================================================================== --- stable/10/sys/net/bpf.c Wed Mar 9 10:14:53 2016 (r296560) +++ stable/10/sys/net/bpf.c Wed Mar 9 10:19:32 2016 (r296561) @@ -2616,26 +2616,44 @@ bpf_ifdetach(void *arg __unused, struct static int bpf_getdltlist(struct bpf_d *d, struct bpf_dltlist *bfl) { - int n, error; struct ifnet *ifp; struct bpf_if *bp; + u_int *lst; + int error, n, n1; BPF_LOCK_ASSERT(); ifp = d->bd_bif->bif_ifp; +again: + n1 = 0; + LIST_FOREACH(bp, &bpf_iflist, bif_next) { + if (bp->bif_ifp == ifp) + n1++; + } + if (bfl->bfl_list == NULL) { + bfl->bfl_len = n1; + return (0); + } + if (n1 > bfl->bfl_len) + return (ENOMEM); + BPF_UNLOCK(); + lst = malloc(n1 * sizeof(u_int), M_TEMP, M_WAITOK); n = 0; - error = 0; + BPF_LOCK(); LIST_FOREACH(bp, &bpf_iflist, bif_next) { if (bp->bif_ifp != ifp) continue; - if (bfl->bfl_list != NULL) { - if (n >= bfl->bfl_len) - return (ENOMEM); - error = copyout(&bp->bif_dlt, - bfl->bfl_list + n, sizeof(u_int)); + if (n > n1) { + free(lst, M_TEMP); + goto again; } + lst[n] = bp->bif_dlt; n++; } + BPF_UNLOCK(); + error = copyout(lst, bfl->bfl_list, sizeof(u_int) * n); + free(lst, M_TEMP); + BPF_LOCK(); bfl->bfl_len = n; return (error); } From owner-svn-src-all@freebsd.org Wed Mar 9 10:21:15 2016 Return-Path: Delivered-To: svn-src-all@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 08E0AAC959A; Wed, 9 Mar 2016 10:21:15 +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 CB404F0E; Wed, 9 Mar 2016 10:21:14 +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 u29ALDhS066769; Wed, 9 Mar 2016 10:21:13 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29ALDKk066768; Wed, 9 Mar 2016 10:21:13 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603091021.u29ALDKk066768@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 9 Mar 2016 10:21:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296562 - stable/10/sys/amd64/amd64 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 10:21:15 -0000 Author: kib Date: Wed Mar 9 10:21:13 2016 New Revision: 296562 URL: https://svnweb.freebsd.org/changeset/base/296562 Log: MFC r295966: Return dst as the result from memcpy(9) on amd64. PR: 207422 Modified: stable/10/sys/amd64/amd64/support.S Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/amd64/amd64/support.S ============================================================================== --- stable/10/sys/amd64/amd64/support.S Wed Mar 9 10:19:32 2016 (r296561) +++ stable/10/sys/amd64/amd64/support.S Wed Mar 9 10:21:13 2016 (r296562) @@ -152,6 +152,7 @@ END(bcopy) */ ENTRY(memcpy) PUSH_FRAME_POINTER + movq %rdi,%rax movq %rdx,%rcx shrq $3,%rcx /* copy by 64-bit words */ cld /* copy forwards */ From owner-svn-src-all@freebsd.org Wed Mar 9 11:07:42 2016 Return-Path: Delivered-To: svn-src-all@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 7F674AC8B25; Wed, 9 Mar 2016 11:07:42 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from mail.made4.biz (mail.made4.biz [IPv6:2001:41d0:2:c018::1:3]) (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 4C185C7C; Wed, 9 Mar 2016 11:07:42 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from [176.158.145.63] (helo=magellan.dumbbell.fr) by mail.made4.biz with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86 (FreeBSD)) (envelope-from ) id 1adbxs-000Lot-AY; Wed, 09 Mar 2016 12:07:40 +0100 Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms To: Renato Botelho References: <201603082033.u28KX2OL014139@repo.freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Message-ID: <56E003F2.2040908@FreeBSD.org> Date: Wed, 9 Mar 2016 12:07:30 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="cjxOaNuBV3ah7q4n7R07HLcKf2ONExCN1" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 11:07:42 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --cjxOaNuBV3ah7q4n7R07HLcKf2ONExCN1 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 09/03/2016 10:48, Renato Botelho wrote: >> Author: dumbbell >> Date: Tue Mar 8 20:33:02 2016 >> New Revision: 296548 >> URL: https://svnweb.freebsd.org/changeset/base/296548 >> >> Log: >> drm/i915: Update to match Linux 3.8.13 >=20 > I cannot boot anymore after moving to this revision. My laptop is a Thi= nkPad T430 (IvyBridge). Hi! Could you please test the following things? 1. Try to boot without loading i915kms from /boot/loader.conf, then kldload it manually and see what happens. 2. Try to boot a kernel built with the parent commit --=20 Jean-S=C3=A9bastien P=C3=A9dron --cjxOaNuBV3ah7q4n7R07HLcKf2ONExCN1 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJW4AP8XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NzA4N0ZEMUFFQUUwRTEyREJDNkE2RjAz OUU5OTc2MUE1RkQ5NENDAAoJEDnpl2Gl/ZTM+vUQANM5szNMvM4w6Ym9YCeoO1g1 lecr9ZtHpqDjM1GP9TBnLEaMfCWwtf1YIQ7aK63iS38qdIMD28fhGoznYrYH0Lj2 QpIA5lRbuombeUQVdg5WwM2mz78BLG6IAKBkAdG2JFUCkpxSZZz0xcBr66zaG10K DEAjzaQUdFzsRKBt/Zleo/NsCsEqdaA0WFVcYshf6QsQOkS/n48v0J+ZF1yT8HNg HLNg7Bh4X70/aZBJbkfnwkcmBfU6Q/IOnURFY6pxxt77vfcZLQ+GxCKVfN14aLte ZsKnN7/au1c3DXPEio8YLyLXIuvB7O9qxx1IDpxlG12Pd4ImFB7KVsWHQ3k5T/29 UI1LhXIJhOQQVpTMjRQYzN2sZmA/zqXupfZWJ5F9mnk7GZBB4MrJGpyfJqFN+VN1 W0AvdKFZG9U1vB7+x1ZiCY5nVBvlufnq0giUapGqjgVdAH2YTXjBdevlHzQeTD3k xfgXZl73RthfTct9bNc24XJ/g5QsQiqHOdtDxhUgKYPMlxGPtKChH9BaoKcVgKhh i9nJJ3ZfOFTv3RgfEknzr5hOqJkZeFSc/pnoO64oRHw2yMYhmzX1Bnbdm70YrNxl BlQG8ftEp0ieB8wAkbeGanmSaQg8EnDkiVcM9JpUNILotYFCWhZuc1o8yZwti3kz 4ahuit0LVxPtcnol2B8D =ESMy -----END PGP SIGNATURE----- --cjxOaNuBV3ah7q4n7R07HLcKf2ONExCN1-- From owner-svn-src-all@freebsd.org Wed Mar 9 11:16:17 2016 Return-Path: Delivered-To: svn-src-all@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 08F6BAC9145; Wed, 9 Mar 2016 11:16:17 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CD8D7667; Wed, 9 Mar 2016 11:16:16 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29BGFeU082139; Wed, 9 Mar 2016 11:16:15 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29BGFJh082136; Wed, 9 Mar 2016 11:16:15 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603091116.u29BGFJh082136@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 9 Mar 2016 11:16:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296563 - in head/sys/cddl/contrib/opensolaris: common/zfs uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 11:16:17 -0000 Author: mav Date: Wed Mar 9 11:16:15 2016 New Revision: 296563 URL: https://svnweb.freebsd.org/changeset/base/296563 Log: Add new IOCTL compat shims for ABI breakage caused by r296510: MFV r296505: 6531 Provide mechanism to artificially limit disk performance Modified: head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Modified: head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c Wed Mar 9 10:21:13 2016 (r296562) +++ head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c Wed Mar 9 11:16:15 2016 (r296563) @@ -54,8 +54,69 @@ zfs_cmd_compat_get(zfs_cmd_t *zc, caddr_ zfs_cmd_deadman_t *zcdm_c; zfs_cmd_zcmd_t *zcmd_c; zfs_cmd_edbp_t *edbp_c; + zfs_cmd_resume_t *resume_c; switch (cflag) { + case ZFS_CMD_COMPAT_RESUME: + resume_c = (void *)addr; + /* zc */ + strlcpy(zc->zc_name, resume_c->zc_name, MAXPATHLEN); + strlcpy(zc->zc_value, resume_c->zc_value, MAXPATHLEN * 2); + strlcpy(zc->zc_string, resume_c->zc_string, MAXPATHLEN); + +#define FIELD_COPY(field) zc->field = resume_c->field + FIELD_COPY(zc_nvlist_src); + FIELD_COPY(zc_nvlist_src_size); + FIELD_COPY(zc_nvlist_dst); + FIELD_COPY(zc_nvlist_dst_size); + FIELD_COPY(zc_nvlist_dst_filled); + FIELD_COPY(zc_pad2); + FIELD_COPY(zc_history); + FIELD_COPY(zc_guid); + FIELD_COPY(zc_nvlist_conf); + FIELD_COPY(zc_nvlist_conf_size); + FIELD_COPY(zc_cookie); + FIELD_COPY(zc_objset_type); + FIELD_COPY(zc_perm_action); + FIELD_COPY(zc_history_len); + FIELD_COPY(zc_history_offset); + FIELD_COPY(zc_obj); + FIELD_COPY(zc_iflags); + FIELD_COPY(zc_share); + FIELD_COPY(zc_jailid); + FIELD_COPY(zc_objset_stats); + FIELD_COPY(zc_begin_record); + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(zc->zc_inject_record.zi_func, + resume_c->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + zc->zc_inject_record.zi_nlanes = 1; + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); + FIELD_COPY(zc_defer_destroy); + FIELD_COPY(zc_flags); + FIELD_COPY(zc_action_handle); + FIELD_COPY(zc_cleanup_fd); + FIELD_COPY(zc_simple); + FIELD_COPY(zc_resumable); + FIELD_COPY(zc_sendobj); + FIELD_COPY(zc_fromobj); + FIELD_COPY(zc_createtxg); + FIELD_COPY(zc_stat); +#undef FIELD_COPY + break; + case ZFS_CMD_COMPAT_EDBP: edbp_c = (void *)addr; /* zc */ @@ -63,40 +124,57 @@ zfs_cmd_compat_get(zfs_cmd_t *zc, caddr_ strlcpy(zc->zc_value, edbp_c->zc_value, MAXPATHLEN * 2); strlcpy(zc->zc_string, edbp_c->zc_string, MAXPATHLEN); -#define ZCMD_COPY(field) zc->field = edbp_c->field - ZCMD_COPY(zc_nvlist_src); - ZCMD_COPY(zc_nvlist_src_size); - ZCMD_COPY(zc_nvlist_dst); - ZCMD_COPY(zc_nvlist_dst_size); - ZCMD_COPY(zc_nvlist_dst_filled); - ZCMD_COPY(zc_pad2); - ZCMD_COPY(zc_history); - ZCMD_COPY(zc_guid); - ZCMD_COPY(zc_nvlist_conf); - ZCMD_COPY(zc_nvlist_conf_size); - ZCMD_COPY(zc_cookie); - ZCMD_COPY(zc_objset_type); - ZCMD_COPY(zc_perm_action); - ZCMD_COPY(zc_history_len); - ZCMD_COPY(zc_history_offset); - ZCMD_COPY(zc_obj); - ZCMD_COPY(zc_iflags); - ZCMD_COPY(zc_share); - ZCMD_COPY(zc_jailid); - ZCMD_COPY(zc_objset_stats); +#define FIELD_COPY(field) zc->field = edbp_c->field + FIELD_COPY(zc_nvlist_src); + FIELD_COPY(zc_nvlist_src_size); + FIELD_COPY(zc_nvlist_dst); + FIELD_COPY(zc_nvlist_dst_size); + FIELD_COPY(zc_nvlist_dst_filled); + FIELD_COPY(zc_pad2); + FIELD_COPY(zc_history); + FIELD_COPY(zc_guid); + FIELD_COPY(zc_nvlist_conf); + FIELD_COPY(zc_nvlist_conf_size); + FIELD_COPY(zc_cookie); + FIELD_COPY(zc_objset_type); + FIELD_COPY(zc_perm_action); + FIELD_COPY(zc_history_len); + FIELD_COPY(zc_history_offset); + FIELD_COPY(zc_obj); + FIELD_COPY(zc_iflags); + FIELD_COPY(zc_share); + FIELD_COPY(zc_jailid); + FIELD_COPY(zc_objset_stats); zc->zc_begin_record.drr_u.drr_begin = edbp_c->zc_begin_record; - ZCMD_COPY(zc_inject_record); - ZCMD_COPY(zc_defer_destroy); - ZCMD_COPY(zc_flags); - ZCMD_COPY(zc_action_handle); - ZCMD_COPY(zc_cleanup_fd); - ZCMD_COPY(zc_simple); + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(zc->zc_inject_record.zi_func, + edbp_c->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + zc->zc_inject_record.zi_nlanes = 1; + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); + FIELD_COPY(zc_defer_destroy); + FIELD_COPY(zc_flags); + FIELD_COPY(zc_action_handle); + FIELD_COPY(zc_cleanup_fd); + FIELD_COPY(zc_simple); zc->zc_resumable = B_FALSE; - ZCMD_COPY(zc_sendobj); - ZCMD_COPY(zc_fromobj); - ZCMD_COPY(zc_createtxg); - ZCMD_COPY(zc_stat); -#undef ZCMD_COPY + FIELD_COPY(zc_sendobj); + FIELD_COPY(zc_fromobj); + FIELD_COPY(zc_createtxg); + FIELD_COPY(zc_stat); +#undef FIELD_COPY break; case ZFS_CMD_COMPAT_ZCMD: @@ -106,43 +184,60 @@ zfs_cmd_compat_get(zfs_cmd_t *zc, caddr_ strlcpy(zc->zc_value, zcmd_c->zc_value, MAXPATHLEN * 2); strlcpy(zc->zc_string, zcmd_c->zc_string, MAXPATHLEN); -#define ZCMD_COPY(field) zc->field = zcmd_c->field - ZCMD_COPY(zc_nvlist_src); - ZCMD_COPY(zc_nvlist_src_size); - ZCMD_COPY(zc_nvlist_dst); - ZCMD_COPY(zc_nvlist_dst_size); - ZCMD_COPY(zc_nvlist_dst_filled); - ZCMD_COPY(zc_pad2); - ZCMD_COPY(zc_history); - ZCMD_COPY(zc_guid); - ZCMD_COPY(zc_nvlist_conf); - ZCMD_COPY(zc_nvlist_conf_size); - ZCMD_COPY(zc_cookie); - ZCMD_COPY(zc_objset_type); - ZCMD_COPY(zc_perm_action); - ZCMD_COPY(zc_history_len); - ZCMD_COPY(zc_history_offset); - ZCMD_COPY(zc_obj); - ZCMD_COPY(zc_iflags); - ZCMD_COPY(zc_share); - ZCMD_COPY(zc_jailid); - ZCMD_COPY(zc_objset_stats); +#define FIELD_COPY(field) zc->field = zcmd_c->field + FIELD_COPY(zc_nvlist_src); + FIELD_COPY(zc_nvlist_src_size); + FIELD_COPY(zc_nvlist_dst); + FIELD_COPY(zc_nvlist_dst_size); + FIELD_COPY(zc_nvlist_dst_filled); + FIELD_COPY(zc_pad2); + FIELD_COPY(zc_history); + FIELD_COPY(zc_guid); + FIELD_COPY(zc_nvlist_conf); + FIELD_COPY(zc_nvlist_conf_size); + FIELD_COPY(zc_cookie); + FIELD_COPY(zc_objset_type); + FIELD_COPY(zc_perm_action); + FIELD_COPY(zc_history_len); + FIELD_COPY(zc_history_offset); + FIELD_COPY(zc_obj); + FIELD_COPY(zc_iflags); + FIELD_COPY(zc_share); + FIELD_COPY(zc_jailid); + FIELD_COPY(zc_objset_stats); zc->zc_begin_record.drr_u.drr_begin = zcmd_c->zc_begin_record; - ZCMD_COPY(zc_inject_record); + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(zc->zc_inject_record.zi_func, + zcmd_c->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + zc->zc_inject_record.zi_nlanes = 1; + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); /* boolean_t -> uint32_t */ zc->zc_defer_destroy = (uint32_t)(zcmd_c->zc_defer_destroy); zc->zc_flags = 0; - ZCMD_COPY(zc_action_handle); - ZCMD_COPY(zc_cleanup_fd); - ZCMD_COPY(zc_simple); + FIELD_COPY(zc_action_handle); + FIELD_COPY(zc_cleanup_fd); + FIELD_COPY(zc_simple); zc->zc_resumable = B_FALSE; - ZCMD_COPY(zc_sendobj); - ZCMD_COPY(zc_fromobj); - ZCMD_COPY(zc_createtxg); - ZCMD_COPY(zc_stat); -#undef ZCMD_COPY + FIELD_COPY(zc_sendobj); + FIELD_COPY(zc_fromobj); + FIELD_COPY(zc_createtxg); + FIELD_COPY(zc_stat); +#undef FIELD_COPY break; @@ -152,6 +247,8 @@ zfs_cmd_compat_get(zfs_cmd_t *zc, caddr_ strlcpy(zc->zc_name, zcdm_c->zc_name, MAXPATHLEN); strlcpy(zc->zc_value, zcdm_c->zc_value, MAXPATHLEN * 2); strlcpy(zc->zc_string, zcdm_c->zc_string, MAXPATHLEN); + +#define FIELD_COPY(field) zc->field = zcdm_c->field zc->zc_guid = zcdm_c->zc_guid; zc->zc_nvlist_conf = zcdm_c->zc_nvlist_conf; zc->zc_nvlist_conf_size = zcdm_c->zc_nvlist_conf_size; @@ -181,12 +278,28 @@ zfs_cmd_compat_get(zfs_cmd_t *zc, caddr_ zc->zc_fromobj = zcdm_c->zc_fromobj; zc->zc_createtxg = zcdm_c->zc_createtxg; zc->zc_stat = zcdm_c->zc_stat; - - /* zc_inject_record doesn't change in libzfs_core */ - zcdm_c->zc_inject_record = zc->zc_inject_record; + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(zc->zc_inject_record.zi_func, + resume_c->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + zc->zc_inject_record.zi_nlanes = 1; + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); /* we always assume zc_nvlist_dst_filled is true */ zc->zc_nvlist_dst_filled = B_TRUE; +#undef FIELD_COPY break; case ZFS_CMD_COMPAT_V28: @@ -255,6 +368,7 @@ zfs_cmd_compat_get(zfs_cmd_t *zc, caddr_ zc28_c->zc_inject_record.zi_duration; zc->zc_inject_record.zi_timer = zc28_c->zc_inject_record.zi_timer; + zc->zc_inject_record.zi_nlanes = 1; zc->zc_inject_record.zi_cmd = ZINJECT_UNINITIALIZED; zc->zc_inject_record.zi_pad = 0; break; @@ -319,47 +433,121 @@ zfs_cmd_compat_put(zfs_cmd_t *zc, caddr_ zfs_cmd_deadman_t *zcdm_c; zfs_cmd_zcmd_t *zcmd_c; zfs_cmd_edbp_t *edbp_c; + zfs_cmd_resume_t *resume_c; switch (cflag) { + case ZFS_CMD_COMPAT_RESUME: + resume_c = (void *)addr; + strlcpy(resume_c->zc_name, zc->zc_name, MAXPATHLEN); + strlcpy(resume_c->zc_value, zc->zc_value, MAXPATHLEN * 2); + strlcpy(resume_c->zc_string, zc->zc_string, MAXPATHLEN); + +#define FIELD_COPY(field) resume_c->field = zc->field + FIELD_COPY(zc_nvlist_src); + FIELD_COPY(zc_nvlist_src_size); + FIELD_COPY(zc_nvlist_dst); + FIELD_COPY(zc_nvlist_dst_size); + FIELD_COPY(zc_nvlist_dst_filled); + FIELD_COPY(zc_pad2); + FIELD_COPY(zc_history); + FIELD_COPY(zc_guid); + FIELD_COPY(zc_nvlist_conf); + FIELD_COPY(zc_nvlist_conf_size); + FIELD_COPY(zc_cookie); + FIELD_COPY(zc_objset_type); + FIELD_COPY(zc_perm_action); + FIELD_COPY(zc_history_len); + FIELD_COPY(zc_history_offset); + FIELD_COPY(zc_obj); + FIELD_COPY(zc_iflags); + FIELD_COPY(zc_share); + FIELD_COPY(zc_jailid); + FIELD_COPY(zc_objset_stats); + FIELD_COPY(zc_begin_record); + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(resume_c->zc_inject_record.zi_func, + zc->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); + FIELD_COPY(zc_defer_destroy); + FIELD_COPY(zc_flags); + FIELD_COPY(zc_action_handle); + FIELD_COPY(zc_cleanup_fd); + FIELD_COPY(zc_simple); + FIELD_COPY(zc_sendobj); + FIELD_COPY(zc_fromobj); + FIELD_COPY(zc_createtxg); + FIELD_COPY(zc_stat); +#undef FIELD_COPY + break; + case ZFS_CMD_COMPAT_EDBP: edbp_c = (void *)addr; strlcpy(edbp_c->zc_name, zc->zc_name, MAXPATHLEN); strlcpy(edbp_c->zc_value, zc->zc_value, MAXPATHLEN * 2); strlcpy(edbp_c->zc_string, zc->zc_string, MAXPATHLEN); -#define ZCMD_COPY(field) edbp_c->field = zc->field - ZCMD_COPY(zc_nvlist_src); - ZCMD_COPY(zc_nvlist_src_size); - ZCMD_COPY(zc_nvlist_dst); - ZCMD_COPY(zc_nvlist_dst_size); - ZCMD_COPY(zc_nvlist_dst_filled); - ZCMD_COPY(zc_pad2); - ZCMD_COPY(zc_history); - ZCMD_COPY(zc_guid); - ZCMD_COPY(zc_nvlist_conf); - ZCMD_COPY(zc_nvlist_conf_size); - ZCMD_COPY(zc_cookie); - ZCMD_COPY(zc_objset_type); - ZCMD_COPY(zc_perm_action); - ZCMD_COPY(zc_history_len); - ZCMD_COPY(zc_history_offset); - ZCMD_COPY(zc_obj); - ZCMD_COPY(zc_iflags); - ZCMD_COPY(zc_share); - ZCMD_COPY(zc_jailid); - ZCMD_COPY(zc_objset_stats); +#define FIELD_COPY(field) edbp_c->field = zc->field + FIELD_COPY(zc_nvlist_src); + FIELD_COPY(zc_nvlist_src_size); + FIELD_COPY(zc_nvlist_dst); + FIELD_COPY(zc_nvlist_dst_size); + FIELD_COPY(zc_nvlist_dst_filled); + FIELD_COPY(zc_pad2); + FIELD_COPY(zc_history); + FIELD_COPY(zc_guid); + FIELD_COPY(zc_nvlist_conf); + FIELD_COPY(zc_nvlist_conf_size); + FIELD_COPY(zc_cookie); + FIELD_COPY(zc_objset_type); + FIELD_COPY(zc_perm_action); + FIELD_COPY(zc_history_len); + FIELD_COPY(zc_history_offset); + FIELD_COPY(zc_obj); + FIELD_COPY(zc_iflags); + FIELD_COPY(zc_share); + FIELD_COPY(zc_jailid); + FIELD_COPY(zc_objset_stats); edbp_c->zc_begin_record = zc->zc_begin_record.drr_u.drr_begin; - ZCMD_COPY(zc_inject_record); - ZCMD_COPY(zc_defer_destroy); - ZCMD_COPY(zc_flags); - ZCMD_COPY(zc_action_handle); - ZCMD_COPY(zc_cleanup_fd); - ZCMD_COPY(zc_simple); - ZCMD_COPY(zc_sendobj); - ZCMD_COPY(zc_fromobj); - ZCMD_COPY(zc_createtxg); - ZCMD_COPY(zc_stat); -#undef ZCMD_COPY + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(resume_c->zc_inject_record.zi_func, + zc->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); + FIELD_COPY(zc_defer_destroy); + FIELD_COPY(zc_flags); + FIELD_COPY(zc_action_handle); + FIELD_COPY(zc_cleanup_fd); + FIELD_COPY(zc_simple); + FIELD_COPY(zc_sendobj); + FIELD_COPY(zc_fromobj); + FIELD_COPY(zc_createtxg); + FIELD_COPY(zc_stat); +#undef FIELD_COPY break; case ZFS_CMD_COMPAT_ZCMD: @@ -369,42 +557,58 @@ zfs_cmd_compat_put(zfs_cmd_t *zc, caddr_ strlcpy(zcmd_c->zc_value, zc->zc_value, MAXPATHLEN * 2); strlcpy(zcmd_c->zc_string, zc->zc_string, MAXPATHLEN); -#define ZCMD_COPY(field) zcmd_c->field = zc->field - ZCMD_COPY(zc_nvlist_src); - ZCMD_COPY(zc_nvlist_src_size); - ZCMD_COPY(zc_nvlist_dst); - ZCMD_COPY(zc_nvlist_dst_size); - ZCMD_COPY(zc_nvlist_dst_filled); - ZCMD_COPY(zc_pad2); - ZCMD_COPY(zc_history); - ZCMD_COPY(zc_guid); - ZCMD_COPY(zc_nvlist_conf); - ZCMD_COPY(zc_nvlist_conf_size); - ZCMD_COPY(zc_cookie); - ZCMD_COPY(zc_objset_type); - ZCMD_COPY(zc_perm_action); - ZCMD_COPY(zc_history_len); - ZCMD_COPY(zc_history_offset); - ZCMD_COPY(zc_obj); - ZCMD_COPY(zc_iflags); - ZCMD_COPY(zc_share); - ZCMD_COPY(zc_jailid); - ZCMD_COPY(zc_objset_stats); +#define FIELD_COPY(field) zcmd_c->field = zc->field + FIELD_COPY(zc_nvlist_src); + FIELD_COPY(zc_nvlist_src_size); + FIELD_COPY(zc_nvlist_dst); + FIELD_COPY(zc_nvlist_dst_size); + FIELD_COPY(zc_nvlist_dst_filled); + FIELD_COPY(zc_pad2); + FIELD_COPY(zc_history); + FIELD_COPY(zc_guid); + FIELD_COPY(zc_nvlist_conf); + FIELD_COPY(zc_nvlist_conf_size); + FIELD_COPY(zc_cookie); + FIELD_COPY(zc_objset_type); + FIELD_COPY(zc_perm_action); + FIELD_COPY(zc_history_len); + FIELD_COPY(zc_history_offset); + FIELD_COPY(zc_obj); + FIELD_COPY(zc_iflags); + FIELD_COPY(zc_share); + FIELD_COPY(zc_jailid); + FIELD_COPY(zc_objset_stats); zcmd_c->zc_begin_record = zc->zc_begin_record.drr_u.drr_begin; - ZCMD_COPY(zc_inject_record); + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(resume_c->zc_inject_record.zi_func, + zc->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); /* boolean_t -> uint32_t */ zcmd_c->zc_defer_destroy = (uint32_t)(zc->zc_defer_destroy); zcmd_c->zc_temphold = 0; - ZCMD_COPY(zc_action_handle); - ZCMD_COPY(zc_cleanup_fd); - ZCMD_COPY(zc_simple); - ZCMD_COPY(zc_sendobj); - ZCMD_COPY(zc_fromobj); - ZCMD_COPY(zc_createtxg); - ZCMD_COPY(zc_stat); -#undef ZCMD_COPY + FIELD_COPY(zc_action_handle); + FIELD_COPY(zc_cleanup_fd); + FIELD_COPY(zc_simple); + FIELD_COPY(zc_sendobj); + FIELD_COPY(zc_fromobj); + FIELD_COPY(zc_createtxg); + FIELD_COPY(zc_stat); +#undef FIELD_COPY break; @@ -414,6 +618,8 @@ zfs_cmd_compat_put(zfs_cmd_t *zc, caddr_ strlcpy(zcdm_c->zc_name, zc->zc_name, MAXPATHLEN); strlcpy(zcdm_c->zc_value, zc->zc_value, MAXPATHLEN * 2); strlcpy(zcdm_c->zc_string, zc->zc_string, MAXPATHLEN); + +#define FIELD_COPY(field) zcdm_c->field = zc->field zcdm_c->zc_guid = zc->zc_guid; zcdm_c->zc_nvlist_conf = zc->zc_nvlist_conf; zcdm_c->zc_nvlist_conf_size = zc->zc_nvlist_conf_size; @@ -442,9 +648,24 @@ zfs_cmd_compat_put(zfs_cmd_t *zc, caddr_ zcdm_c->zc_fromobj = zc->zc_fromobj; zcdm_c->zc_createtxg = zc->zc_createtxg; zcdm_c->zc_stat = zc->zc_stat; - - /* zc_inject_record doesn't change in libzfs_core */ - zc->zc_inject_record = zcdm_c->zc_inject_record; + FIELD_COPY(zc_inject_record.zi_objset); + FIELD_COPY(zc_inject_record.zi_object); + FIELD_COPY(zc_inject_record.zi_start); + FIELD_COPY(zc_inject_record.zi_end); + FIELD_COPY(zc_inject_record.zi_guid); + FIELD_COPY(zc_inject_record.zi_level); + FIELD_COPY(zc_inject_record.zi_error); + FIELD_COPY(zc_inject_record.zi_type); + FIELD_COPY(zc_inject_record.zi_freq); + FIELD_COPY(zc_inject_record.zi_failfast); + strlcpy(resume_c->zc_inject_record.zi_func, + zc->zc_inject_record.zi_func, MAXNAMELEN); + FIELD_COPY(zc_inject_record.zi_iotype); + FIELD_COPY(zc_inject_record.zi_duration); + FIELD_COPY(zc_inject_record.zi_timer); + FIELD_COPY(zc_inject_record.zi_cmd); + FIELD_COPY(zc_inject_record.zi_pad); +#undef FIELD_COPY #ifndef _KERNEL if (request == ZFS_IOC_RECV) strlcpy(zcdm_c->zc_top_ds, @@ -766,6 +987,12 @@ zcmd_ioctl_compat(int fd, int request, z zp.zfs_cmd_size = sizeof(zfs_cmd_t); zp.zfs_ioctl_version = ZFS_IOCVER_CURRENT; return (ioctl(fd, ncmd, &zp)); + case ZFS_CMD_COMPAT_RESUME: + ncmd = _IOWR('Z', request, struct zfs_iocparm); + zp.zfs_cmd = (uint64_t)zc; + zp.zfs_cmd_size = sizeof(zfs_cmd_resume_t); + zp.zfs_ioctl_version = ZFS_IOCVER_RESUME; + return (ioctl(fd, ncmd, &zp)); case ZFS_CMD_COMPAT_EDBP: ncmd = _IOWR('Z', request, struct zfs_iocparm); zp.zfs_cmd = (uint64_t)zc; @@ -876,7 +1103,8 @@ zfs_ioctl_compat_innvl(zfs_cmd_t *zc, nv int err; if (cflag == ZFS_CMD_COMPAT_NONE || cflag == ZFS_CMD_COMPAT_LZC || - cflag == ZFS_CMD_COMPAT_ZCMD || cflag == ZFS_CMD_COMPAT_EDBP) + cflag == ZFS_CMD_COMPAT_ZCMD || cflag == ZFS_CMD_COMPAT_EDBP || + cflag == ZFS_CMD_COMPAT_RESUME) goto out; switch (vec) { @@ -1028,7 +1256,8 @@ zfs_ioctl_compat_outnvl(zfs_cmd_t *zc, n nvlist_t *tmpnvl; if (cflag == ZFS_CMD_COMPAT_NONE || cflag == ZFS_CMD_COMPAT_LZC || - cflag == ZFS_CMD_COMPAT_ZCMD || cflag == ZFS_CMD_COMPAT_EDBP) + cflag == ZFS_CMD_COMPAT_ZCMD || cflag == ZFS_CMD_COMPAT_EDBP || + cflag == ZFS_CMD_COMPAT_RESUME) return (outnvl); switch (vec) { Modified: head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.h Wed Mar 9 10:21:13 2016 (r296562) +++ head/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.h Wed Mar 9 11:16:15 2016 (r296563) @@ -53,7 +53,8 @@ extern "C" { #define ZFS_IOCVER_ZCMD 3 #define ZFS_IOCVER_EDBP 4 #define ZFS_IOCVER_RESUME 5 -#define ZFS_IOCVER_CURRENT ZFS_IOCVER_RESUME +#define ZFS_IOCVER_INLANES 6 +#define ZFS_IOCVER_CURRENT ZFS_IOCVER_INLANES /* compatibility conversion flag */ #define ZFS_CMD_COMPAT_NONE 0 @@ -63,6 +64,7 @@ extern "C" { #define ZFS_CMD_COMPAT_LZC 4 #define ZFS_CMD_COMPAT_ZCMD 5 #define ZFS_CMD_COMPAT_EDBP 6 +#define ZFS_CMD_COMPAT_RESUME 7 #define ZFS_IOC_COMPAT_PASS 254 #define ZFS_IOC_COMPAT_FAIL 255 @@ -167,6 +169,25 @@ typedef struct zfs_cmd_v28 { zfs_stat_t zc_stat; } zfs_cmd_v28_t; +typedef struct zinject_record_deadman { + uint64_t zi_objset; + uint64_t zi_object; + uint64_t zi_start; + uint64_t zi_end; + uint64_t zi_guid; + uint32_t zi_level; + uint32_t zi_error; + uint64_t zi_type; + uint32_t zi_freq; + uint32_t zi_failfast; + char zi_func[MAXNAMELEN]; + uint32_t zi_iotype; + int32_t zi_duration; + uint64_t zi_timer; + uint32_t zi_cmd; + uint32_t zi_pad; +} zinject_record_deadman_t; + typedef struct zfs_cmd_deadman { char zc_name[MAXPATHLEN]; char zc_value[MAXPATHLEN * 2]; @@ -192,7 +213,7 @@ typedef struct zfs_cmd_deadman { dmu_objset_stats_t zc_objset_stats; struct drr_begin zc_begin_record; /* zc_inject_record doesn't change in libzfs_core */ - zinject_record_t zc_inject_record; + zinject_record_deadman_t zc_inject_record; boolean_t zc_defer_destroy; boolean_t zc_temphold; uint64_t zc_action_handle; @@ -235,7 +256,7 @@ typedef struct zfs_cmd_zcmd { uint64_t zc_jailid; dmu_objset_stats_t zc_objset_stats; struct drr_begin zc_begin_record; - zinject_record_t zc_inject_record; + zinject_record_deadman_t zc_inject_record; boolean_t zc_defer_destroy; boolean_t zc_temphold; uint64_t zc_action_handle; @@ -278,7 +299,7 @@ typedef struct zfs_cmd_edbp { uint64_t zc_jailid; dmu_objset_stats_t zc_objset_stats; struct drr_begin zc_begin_record; - zinject_record_t zc_inject_record; + zinject_record_deadman_t zc_inject_record; uint32_t zc_defer_destroy; uint32_t zc_flags; uint64_t zc_action_handle; @@ -291,6 +312,49 @@ typedef struct zfs_cmd_edbp { zfs_stat_t zc_stat; } zfs_cmd_edbp_t; +typedef struct zfs_cmd_resume { + char zc_name[MAXPATHLEN]; /* name of pool or dataset */ + uint64_t zc_nvlist_src; /* really (char *) */ + uint64_t zc_nvlist_src_size; + uint64_t zc_nvlist_dst; /* really (char *) */ + uint64_t zc_nvlist_dst_size; + boolean_t zc_nvlist_dst_filled; /* put an nvlist in dst? */ + int zc_pad2; + + /* + * The following members are for legacy ioctls which haven't been + * converted to the new method. + */ + uint64_t zc_history; /* really (char *) */ + char zc_value[MAXPATHLEN * 2]; + char zc_string[MAXNAMELEN]; + uint64_t zc_guid; + uint64_t zc_nvlist_conf; /* really (char *) */ + uint64_t zc_nvlist_conf_size; + uint64_t zc_cookie; + uint64_t zc_objset_type; + uint64_t zc_perm_action; + uint64_t zc_history_len; + uint64_t zc_history_offset; + uint64_t zc_obj; + uint64_t zc_iflags; /* internal to zfs(7fs) */ + zfs_share_t zc_share; + uint64_t zc_jailid; + dmu_objset_stats_t zc_objset_stats; + dmu_replay_record_t zc_begin_record; + zinject_record_deadman_t zc_inject_record; + uint32_t zc_defer_destroy; + uint32_t zc_flags; + uint64_t zc_action_handle; + int zc_cleanup_fd; + uint8_t zc_simple; + boolean_t zc_resumable; + uint64_t zc_sendobj; + uint64_t zc_fromobj; + uint64_t zc_createtxg; + zfs_stat_t zc_stat; +} zfs_cmd_resume_t; + #ifdef _KERNEL unsigned static long zfs_ioctl_v15_to_v28[] = { 0, /* 0 ZFS_IOC_POOL_CREATE */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Wed Mar 9 10:21:13 2016 (r296562) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Wed Mar 9 11:16:15 2016 (r296563) @@ -6221,6 +6221,14 @@ zfsdev_ioctl(struct cdev *dev, u_long zc goto out; } break; + case ZFS_IOCVER_RESUME: + if (zc_iocparm->zfs_cmd_size != sizeof(zfs_cmd_resume_t)) { + error = SET_ERROR(EFAULT); + goto out; + } + compat = B_TRUE; + cflag = ZFS_CMD_COMPAT_RESUME; + break; case ZFS_IOCVER_EDBP: if (zc_iocparm->zfs_cmd_size != sizeof(zfs_cmd_edbp_t)) { error = SET_ERROR(EFAULT); From owner-svn-src-all@freebsd.org Wed Mar 9 11:29:05 2016 Return-Path: Delivered-To: svn-src-all@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 C3F81AC9695; Wed, 9 Mar 2016 11:29:05 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: from mail-qg0-x22b.google.com (mail-qg0-x22b.google.com [IPv6:2607:f8b0:400d:c04::22b]) (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 7B8E8DB5; Wed, 9 Mar 2016 11:29:05 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: by mail-qg0-x22b.google.com with SMTP id u110so38138845qge.3; Wed, 09 Mar 2016 03:29:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:mime-version:from:in-reply-to:date:cc:message-id :references:to; bh=5+cw3UEkKkU/0fNHB0oyXp2l+oz/Pv8aWe8tk5gjfg8=; b=BwNhxWSuGT+m66QCFTyUYjKNwDCoSCV/lAgH7oUdRtu3nslfAjawtZUaCjUTBmxGlJ C7nhQrejvrdGQF1HgtmH6yjgOZ9KOBm4LFjnEIXAC+V5/uSLMUVxpFYAHI9Lyjc72hI+ ebUU1BCjWlr5c3hb4UXhUGhyry3/jxxwrOiNXI6BHcegmPHYOLl+ncOizvD+mDO1kboa jk9bYkg0b1uHAZ+HDDH1KvaK8H8goB0BMQPSzzMlBISkukCrbaX2BM+pHmO8cN/83Hlw JVvIfktTPdRQzaeXS8KKhuFL2wgByW2Y2R4h3kak4xexdXEAoSQosNx6dqKu8nHbodPf I71A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:from:in-reply-to :date:cc:message-id:references:to; bh=5+cw3UEkKkU/0fNHB0oyXp2l+oz/Pv8aWe8tk5gjfg8=; b=VwtAzYB026JxwNueFajSxMMjE1kFbbQRJphYHQO6xmAemhwlXu4gQgwRkCt0uQKMUE q4u+lp7OrRf2lsl2bkBvfdapuYWuEnP3krKaWUEGWKbxmkltQ8vyCXK40FrqS11XHXIK 6NPxBc+8aD4jQ9t/Bbo5pHiI8JMnkfzoXHP0Rf6TgxIiTZJkofTEjNZJMEesPxbsjAsF w1vLsUVNFZVKxvVkakr0hy9whWgC7uPZX1i8J285L2uDFrQfYoZaFfmEAdPMUky3b3RV Hg4ojBdtwXMQv90WNL6O4Gfl7L0gLsILBTHOqyRIyv+59lP5tIpALyet7aogV/c8smqm RsQA== X-Gm-Message-State: AD7BkJJWbKLts0cx6PpqwT64xQ28s71X7URC4heHdGOYww8gUbMwoE8Cnz2mzSyi592lEQ== X-Received: by 10.140.42.106 with SMTP id b97mr42668092qga.6.1457522944585; Wed, 09 Mar 2016 03:29:04 -0800 (PST) Received: from macbook-pro.home ([191.205.106.121]) by smtp.gmail.com with ESMTPSA id p104sm3417694qgp.20.2016.03.09.03.29.02 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Mar 2016 03:29:03 -0800 (PST) Sender: Renato Botelho Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_F4477B9D-2DBB-4C74-A05E-A8B4A203A4A7"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: Renato Botelho In-Reply-To: <56E003F2.2040908@FreeBSD.org> Date: Wed, 9 Mar 2016 08:29:01 -0300 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> To: =?utf-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 11:29:05 -0000 --Apple-Mail=_F4477B9D-2DBB-4C74-A05E-A8B4A203A4A7 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 9, 2016, at 08:07, Jean-S=C3=A9bastien P=C3=A9dron = wrote: >=20 > On 09/03/2016 10:48, Renato Botelho wrote: >>> Author: dumbbell >>> Date: Tue Mar 8 20:33:02 2016 >>> New Revision: 296548 >>> URL: https://svnweb.freebsd.org/changeset/base/296548 >>>=20 >>> Log: >>> drm/i915: Update to match Linux 3.8.13 >>=20 >> I cannot boot anymore after moving to this revision. My laptop is a = ThinkPad T430 (IvyBridge). >=20 > Hi! >=20 > Could you please test the following things? >=20 > 1. Try to boot without loading i915kms from /boot/loader.conf, then > kldload it manually and see what happens. > 2. Try to boot a kernel built with the parent commit Looks like something broke the system completely, I=E2=80=99m getting = core dumps on ZFS and cannot mount all my partitions. Maybe this could = be the cause of the problems with i915 too. I=E2=80=99ll work on recovering my system to a good state and then I = will do a bisect to detect if this particular revision really broke it = and will let you know. Thanks -- Renato Botelho --Apple-Mail=_F4477B9D-2DBB-4C74-A05E-A8B4A203A4A7 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIcBAEBCgAGBQJW4Aj+AAoJEPHw56GfYleQlYMP/1nMz5+Xr8obKuccf9C6M5FO j+x0kXeQS9D4Mj/iNl7t7GnnBsgRJZxyKeNM14m6pxBLbYFGwt/aiZit5TL4gqxx SBLCxMXKC5UQ+7e+4ChWtFYHESia0oOn4Tej211W+Z5pS0uCEyE5Z3crNqXyLYbj sNLcAaqQyDHrzjsM2sXkvXIxpVLjR9gnNGXTjeUqj2Jt/8Gcyfe7Z0fkSJ2gmbyp NixUFCSZngGP3Nah1luqELSfWL1TVqmuo/9rGmAvyuZtTc2FKPyxjBjTT8xifmkw m7YGjWe/dvqH/I6ddZyUt4GlGqV0mn7FflsFm7djxnSh4jxgsgvHkl6UY/6OwjEJ VhCx3/v/IoalF44HpAc3qLNBpmDYyB9iG7SlfIKVwrvqiKncDlRm2/PSL2xsr9HR NIHCyNIiuJ4MnQvLT+cboBTpdX/YEaTpTkf/7liKvdImc5lZJDjAA0IeQKPUCqf2 ZeFyG2de8RSoQ+ps7n02VDatP6UOSL7xyk8H/p/JlWEr4HMhL33q75esel7rHSt1 OHCnT8l4aOGk+lefnP/iL3Pyz/psp6vZ6S7dxXPyB9QunvV2eQyJjZkt0FIeskrw kZZnsjPICFN2zcSKanKMOvvDo2x5slwkiGSgPje/vZLEnzkftD6Pl/Gf8nFr2tT/ Tbrke1KTc6hKiMdD+qFu =Hvo/ -----END PGP SIGNATURE----- --Apple-Mail=_F4477B9D-2DBB-4C74-A05E-A8B4A203A4A7-- From owner-svn-src-all@freebsd.org Wed Mar 9 11:35:23 2016 Return-Path: Delivered-To: svn-src-all@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 E2611AC9A6D; Wed, 9 Mar 2016 11:35:23 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from mail.made4.biz (mail.made4.biz [IPv6:2001:41d0:2:c018::1:3]) (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 AD0F07EC; Wed, 9 Mar 2016 11:35:23 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from [176.158.145.63] (helo=magellan.dumbbell.fr) by mail.made4.biz with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86 (FreeBSD)) (envelope-from ) id 1adcOf-000MHm-Vf; Wed, 09 Mar 2016 12:35:22 +0100 Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms To: Renato Botelho References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Message-ID: <56E00A79.3040006@FreeBSD.org> Date: Wed, 9 Mar 2016 12:35:21 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="bn7mrRmSgT0AsunaHVGv8KJwoWbtF5hVP" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 11:35:24 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --bn7mrRmSgT0AsunaHVGv8KJwoWbtF5hVP Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 09/03/2016 12:29, Renato Botelho wrote: > Looks like something broke the system completely, I=E2=80=99m getting c= ore=20 > dumps on ZFS and cannot mount all my partitions. Maybe this could be > > the cause of the problems with i915 too. The ZFS issue is fixed in r296563. See: https://lists.freebsd.org/pipermail/freebsd-current/2016-March/060037.htm= l --=20 Jean-S=C3=A9bastien P=C3=A9dron --bn7mrRmSgT0AsunaHVGv8KJwoWbtF5hVP Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJW4Ap5XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NzA4N0ZEMUFFQUUwRTEyREJDNkE2RjAz OUU5OTc2MUE1RkQ5NENDAAoJEDnpl2Gl/ZTMZF4QAJfByoVUloGizFYHGinLF6VS 5JRvAnongD28tLp8aKqhY9liJ+4bjrmrm7xApVzjpowsfI7dMUzP4kPdSo4+KT7C cyHJZ8ElzZHH3fuMTfrj8WegF7FVghyNN8hSwG9y5YbrFu5bl39tTNHAmK0MJB/M vSxABExoV1OP0me1s0ArvMFjlV9dXmaaTyoWUoN0gWlD1uRHk0k5SSQcPQNdC6xq BdWae8rT6n6aXv9RInk8OL1hESX0O3YoAjbNBxX2Tk3phI1hWTG/KxP5OA016fuh ToVHc/ovs3w3ZKwvRxvydpvTupOquw8SZZ4BWPNLegMD1fIjAZeYDoZKvg9o8t7l HhwafH9PINlUouJVd68rokbC/IKS8gmg5xlUaEshqsnOKI4/gztei91YnCAAS13G f6KpBfwJtBPJS1jlQaIiTDk5nOH5Q4K5GMwS+jZfgnqfdok81U16ap1fbHGyGCnG 0zlJh3OMRE2Vk+fo8IdtUQioXRNLtb6LifN938D4DOhsuVWGxmZX/4fa6J6eBtny OYtuaMPL4weVS+YEgbtVgHtAklEU+TNQSDMhrQBuz5qNIXaArzqXUqqp3X8C2Fh/ RNkpn82dNo8sBbUowVzhVNfeOMlB01PPlVW+g9FIPrtPDhVl6h/b03nw1VTVVrx8 G3cwxOyIjDrZafqq/UZk =gK6h -----END PGP SIGNATURE----- --bn7mrRmSgT0AsunaHVGv8KJwoWbtF5hVP-- From owner-svn-src-all@freebsd.org Wed Mar 9 11:45:50 2016 Return-Path: Delivered-To: svn-src-all@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 5A59CAC9E11; Wed, 9 Mar 2016 11:45:50 +0000 (UTC) (envelope-from sgalabov@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 36A75D8B; Wed, 9 Mar 2016 11:45:50 +0000 (UTC) (envelope-from sgalabov@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29BjnVX091222; Wed, 9 Mar 2016 11:45:49 GMT (envelope-from sgalabov@FreeBSD.org) Received: (from sgalabov@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29BjnYE091219; Wed, 9 Mar 2016 11:45:49 GMT (envelope-from sgalabov@FreeBSD.org) Message-Id: <201603091145.u29BjnYE091219@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sgalabov set sender to sgalabov@FreeBSD.org using -f From: Stanislav Galabov Date: Wed, 9 Mar 2016 11:45:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296564 - in head/sys/boot/uboot: common lib X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 11:45:50 -0000 Author: sgalabov Date: Wed Mar 9 11:45:48 2016 New Revision: 296564 URL: https://svnweb.freebsd.org/changeset/base/296564 Log: Improve U-Boot API detection Until now, ubldr has been trying to locate the U-Boot API using a hint address (U-Boot's current stack pointer), aligning it to 1MiB and going over a 3MiB (or 1MiB in case of MIPS) memory region searching for a valid API signature. This change introduces an alternative way of doing this, namely the following: - both U-Boot's bootelf and go commands actually pass argc and argv to the entry point (e.g., ubldr's start function, but they should also be passed over to main() transparently) - so, instead of trying to go and look for a valid API signature, we look at the parameters passed to main() - if there's an option '-a' with argument, which is a valid hexadecimal unsigned long number (x), we try to verify whether we have a valid API signature at address x. If so - we use it. If not - we fallback to the original way of locating the API signature. The U-Boot change, which causes the API structure address to be exported as an environment variable, was committed to mainline U-Boot as commit 22aa61f707574dd569296f521fcfc46a05f51c48 Reviewed by: andrew, adrian Approved by: adrian (mentor) Sponsored by: Smartcom - Bulgaria AD Differential Revision: https://reviews.freebsd.org/D5492 Modified: head/sys/boot/uboot/common/main.c head/sys/boot/uboot/lib/glue.c head/sys/boot/uboot/lib/glue.h Modified: head/sys/boot/uboot/common/main.c ============================================================================== --- head/sys/boot/uboot/common/main.c Wed Mar 9 11:16:15 2016 (r296563) +++ head/sys/boot/uboot/common/main.c Wed Mar 9 11:45:48 2016 (r296564) @@ -387,7 +387,7 @@ probe_disks(int devidx, int load_type, i } int -main(void) +main(int argc, char **argv) { struct api_signature *sig = NULL; int load_type, load_unit, load_slice, load_partition; @@ -395,12 +395,15 @@ main(void) const char *ldev; /* + * We first check if a command line argument was passed to us containing + * API's signature address. If it wasn't then we try to search for the + * API signature via the usual hinted address. * If we can't find the magic signature and related info, exit with a * unique error code that U-Boot reports as "## Application terminated, * rc = 0xnnbadab1". Hopefully 'badab1' looks enough like "bad api" to * provide a clue. It's better than 0xffffffff anyway. */ - if (!api_search_sig(&sig)) + if (!api_parse_cmdline_sig(argc, argv, &sig) && !api_search_sig(&sig)) return (0x01badab1); syscall_ptr = sig->syscall; Modified: head/sys/boot/uboot/lib/glue.c ============================================================================== --- head/sys/boot/uboot/lib/glue.c Wed Mar 9 11:16:15 2016 (r296563) +++ head/sys/boot/uboot/lib/glue.c Wed Mar 9 11:45:48 2016 (r296564) @@ -68,6 +68,41 @@ valid_sig(struct api_signature *sig) } /* + * Checks to see if API signature's address was given to us as a command line + * argument by U-Boot. + * + * returns 1/0 depending on found/not found result + */ +int +api_parse_cmdline_sig(int argc, char **argv, struct api_signature **sig) +{ + unsigned long api_address; + int c; + + api_address = 0; + opterr = 0; + optreset = 1; + optind = 1; + + while ((c = getopt (argc, argv, "a:")) != -1) + switch (c) { + case 'a': + api_address = strtoul(optarg, NULL, 16); + break; + default: + break; + } + + if (api_address != 0) { + *sig = (struct api_signature *)api_address; + if (valid_sig(*sig)) + return (1); + } + + return (0); +} + +/* * Searches for the U-Boot API signature * * returns 1/0 depending on found/not found result Modified: head/sys/boot/uboot/lib/glue.h ============================================================================== --- head/sys/boot/uboot/lib/glue.h Wed Mar 9 11:16:15 2016 (r296563) +++ head/sys/boot/uboot/lib/glue.h Wed Mar 9 11:45:48 2016 (r296564) @@ -58,6 +58,7 @@ int syscall(int, int *, ...); void *syscall_ptr; +int api_parse_cmdline_sig(int argc, char **argv, struct api_signature **sig); int api_search_sig(struct api_signature **sig); #define UB_MAX_MR 16 /* max mem regions number */ From owner-svn-src-all@freebsd.org Wed Mar 9 13:45:04 2016 Return-Path: Delivered-To: svn-src-all@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 D9ED0AC9263; Wed, 9 Mar 2016 13:45:04 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A851BF1C; Wed, 9 Mar 2016 13:45:04 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29Dj3sE027066; Wed, 9 Mar 2016 13:45:03 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29Dj31g027065; Wed, 9 Mar 2016 13:45:03 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201603091345.u29Dj31g027065@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Wed, 9 Mar 2016 13:45:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296565 - head/lib/libc/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 13:45:05 -0000 Author: trasz Date: Wed Mar 9 13:45:03 2016 New Revision: 296565 URL: https://svnweb.freebsd.org/changeset/base/296565 Log: Fix spelling of MAXNAMLEN. MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/lib/libc/sys/getdirentries.2 Modified: head/lib/libc/sys/getdirentries.2 ============================================================================== --- head/lib/libc/sys/getdirentries.2 Wed Mar 9 11:45:48 2016 (r296564) +++ head/lib/libc/sys/getdirentries.2 Wed Mar 9 13:45:03 2016 (r296565) @@ -75,7 +75,7 @@ uint32_t d_fileno; uint16_t d_reclen; uint8_t d_type; uint8_t d_namlen; -char d_name[MAXNAMELEN + 1]; /* see below */ +char d_name[MAXNAMLEN + 1]; /* see below */ .Ed .Pp The @@ -103,7 +103,7 @@ entry specifies the length of the file n Thus the actual size of .Fa d_name may vary from 1 to -.Dv MAXNAMELEN +.Dv MAXNAMLEN \&+ 1. .Pp Entries may be separated by extra space. From owner-svn-src-all@freebsd.org Wed Mar 9 14:47:06 2016 Return-Path: Delivered-To: svn-src-all@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 F1566AC9DDF; Wed, 9 Mar 2016 14:47:06 +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 C13587D1; Wed, 9 Mar 2016 14:47:06 +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 u29El5t0045115; Wed, 9 Mar 2016 14:47:05 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29El58h045114; Wed, 9 Mar 2016 14:47:05 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201603091447.u29El58h045114@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 9 Mar 2016 14:47:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296566 - head/sbin/ipfw X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 14:47:07 -0000 Author: ae Date: Wed Mar 9 14:47:05 2016 New Revision: 296566 URL: https://svnweb.freebsd.org/changeset/base/296566 Log: Set buffer to empty string to prevent duplicated output in some cases. PR: 193888 Modified: head/sbin/ipfw/ipfw2.c Modified: head/sbin/ipfw/ipfw2.c ============================================================================== --- head/sbin/ipfw/ipfw2.c Wed Mar 9 13:45:03 2016 (r296565) +++ head/sbin/ipfw/ipfw2.c Wed Mar 9 14:47:05 2016 (r296566) @@ -424,6 +424,7 @@ bp_flush(struct buf_pr *b) b->ptr = b->buf; b->avail = b->size; + b->buf[0] = '\0'; } /* From owner-svn-src-all@freebsd.org Wed Mar 9 15:34:04 2016 Return-Path: Delivered-To: svn-src-all@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 B6D67AC92CB; Wed, 9 Mar 2016 15:34:04 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: from mail-qg0-x235.google.com (mail-qg0-x235.google.com [IPv6:2607:f8b0:400d:c04::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6DF4F687; Wed, 9 Mar 2016 15:34:04 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: by mail-qg0-x235.google.com with SMTP id u110so44350048qge.3; Wed, 09 Mar 2016 07:34:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:mime-version:from:in-reply-to:date:cc:message-id :references:to; bh=5kR6A08nL58vsg8k5w6Mnlr9XWNRtcjubesS1UljfJ8=; b=DgBUJRp56Q6ix7BGMdGtXwV3A05L8s3fuOEFogy+malRKeGZGjfcS8NJ3D2R+84Qoq TYu4327ZUbMwPcrzTMysblNGFFFu+mLXHZpdCT+aevn8rjysQwDpbmTN3phscysic0vl yzwmaJ8Jg2h+loVgHlSHpLVpDXNSloQBmiTX8gEtLJ16OY7NBnVT5i/XIqJW3rnyEZna CZmAkFm0K8GJ072IbGtKwP3FbCe9RFfRJRsFjsi6YkFb5RtP5hNbtdsK5sP4egxfl1r9 IQUNCEdO1z0uznAYKXpR4B82yLllXJBPfAJejtu1euQbH3Z5oRlNvl/efSGq3YrDCcVb Z0uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:from:in-reply-to :date:cc:message-id:references:to; bh=5kR6A08nL58vsg8k5w6Mnlr9XWNRtcjubesS1UljfJ8=; b=IcABfFLTwpWtx8D6U00EBk1GnmbTfGUzzYZcyuRlJBB6YMKQEP+XX08nHK1rgjwaBf fzJ8qQbA1Hq71zVLlucF0JOoOpCLF16JkuqebjHTN4ngy/rBEcaM+TbOs4/PoGzLaf5j iexFiFFPnvkzdLuC4woq51P3k2b4XqBRjPn6byBX5/4lS80F12ZBr9CpDbOjMw7V5jXi rFzwVwIWspeIGvFB9m++Mb1qS2f+ow7AW3vXPabVPPNB1k+tfmKYky6JmPU7bZqh6ySv 0DVrjfrIClGdgUA1OQ/dm0ApuQPS9g+hRpHpmvNKdMKVh7HHpzcAmXyLGoX4u5h1moxN jEww== X-Gm-Message-State: AD7BkJL31hnXhf8yC5E7TrBL3NgFL7SBneHiWcn5n6gSeWC3kfaEyouKqBHH+jYXOVk+RQ== X-Received: by 10.140.99.69 with SMTP id p63mr43295607qge.97.1457537643609; Wed, 09 Mar 2016 07:34:03 -0800 (PST) Received: from macbook-pro.home ([191.205.106.121]) by smtp.gmail.com with ESMTPSA id d6sm3878882qkb.13.2016.03.09.07.34.01 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Mar 2016 07:34:02 -0800 (PST) Sender: Renato Botelho Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_B2AD6A47-EF78-49D9-8400-BCE53F550802"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: Renato Botelho In-Reply-To: <56E003F2.2040908@FreeBSD.org> Date: Wed, 9 Mar 2016 12:33:58 -0300 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> To: =?utf-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 15:34:04 -0000 --Apple-Mail=_B2AD6A47-EF78-49D9-8400-BCE53F550802 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 9, 2016, at 08:07, Jean-S=C3=A9bastien P=C3=A9dron = wrote: >=20 > On 09/03/2016 10:48, Renato Botelho wrote: >>> Author: dumbbell >>> Date: Tue Mar 8 20:33:02 2016 >>> New Revision: 296548 >>> URL: https://svnweb.freebsd.org/changeset/base/296548 >>>=20 >>> Log: >>> drm/i915: Update to match Linux 3.8.13 >>=20 >> I cannot boot anymore after moving to this revision. My laptop is a = ThinkPad T430 (IvyBridge). >=20 > Hi! >=20 > Could you please test the following things? >=20 > 1. Try to boot without loading i915kms from /boot/loader.conf, then > kldload it manually and see what happens. It works fine if I load it after boot. > 2. Try to boot a kernel built with the parent commit I=E2=80=99ll revert tree to parent commit, apply ZFS fix manually and = rebuild then I will let you know -- Renato Botelho --Apple-Mail=_B2AD6A47-EF78-49D9-8400-BCE53F550802 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIcBAEBCgAGBQJW4EJmAAoJEPHw56GfYleQCSoP/1PAzW/ngVFiIUnU8DR4PNhq UJdpckOsPEGnuogytDQV3u4OP0AjsaAUJ/mdp+J1Fgd8FxBAT+xlpFOcrKRdmlYd ISgy5AEWpbAS+osNO4sS3/icRD5jLj4pF3/GBdM7Nmt9K/g64HuuFDSckkEIJr7x ODkHIfXcRtEaWQNRZHfDsTUYvsV3xCr459BpeA9aqalK7Aci3+muSj7IFYIB5vHF IeVF6/LZ4YmiYZINVJ3scHLPT1gqtqYDn3w3GGqpJtjqmadrRGcM7QfFym4qvlX/ KuK3X0y39/TQWUexrNn1NaceRZIYrNVK0c31SKxvgMe1GHxdr7zVC4sq1tJwHO0V jUSak6P2YHldYc8Ko/ixfUgKuGvjiKdGmPvWEO4l5utAvF56pAqnZpyA7VWgoSgy 5OXaxL02zk/Jhf06EuHe7bpVD8tl7QJYz1kueJbkImo2zx173H2Naa19eG6Lyf+3 +TG2jqgG58xxXhkNN/0YX/eNEvM6GZaESWVvfm2xt8oPqHRNa5Sh9PUcPy0wamxq EkRnVt1AoUrXPZQRR66JG/4QHBj4ip5Ya2ub6g8fK5lVUQdwHbzhz4r2RgL6TxM8 Gjjz7kRRJ4Ie9cYFl1McxGm2UqS6Y/qKnB4RRdLH35VekoyynnE/ylZrUZl67gMZ 8RpoFKTNAzUGAUFDwazK =rn0R -----END PGP SIGNATURE----- --Apple-Mail=_B2AD6A47-EF78-49D9-8400-BCE53F550802-- From owner-svn-src-all@freebsd.org Wed Mar 9 15:55:06 2016 Return-Path: Delivered-To: svn-src-all@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 02C66AC9C97; Wed, 9 Mar 2016 15:55:06 +0000 (UTC) (envelope-from manu@bidouilliste.com) Received: from mail.blih.net (mail.blih.net [212.83.177.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.blih.net", Issuer "mail.blih.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id BCE919D4; Wed, 9 Mar 2016 15:55:04 +0000 (UTC) (envelope-from manu@bidouilliste.com) Received: from mail.blih.net (mail.blih.net [212.83.177.182]) by mail.blih.net (OpenSMTPD) with ESMTP id 05b464ee; Wed, 9 Mar 2016 16:48:21 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=bidouilliste.com; h=date :from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; s=mail; bh=mOvrKd3KnB7+HVsDeCO7exMG2HQ=; b=hmxAgjw4tJnc9oEpb35i6360UdgF iP7AOkCrGZq6GuZdMQetkUZ/UzSyJwAazEYDhn5CQpayj9LSmmxElbFjld2cBHEf T0vAJmklUd2FAHpOcODPxUtTXUIZshXjK2kAwXwlNKpoziGKsYre8yvhZyHjTjvM fWxAO418VvwICxE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=bidouilliste.com; h=date :from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; q=dns; s= mail; b=aQX8jNUBo9ZW9ECktzhg6ZLT91Hw++CuD6ExoJKPGfy5mIG1cv5m5VPr fnpxTEenl8JFmu+kbChI0xMF98Ff24/03mFjGLXczoq4cjl+LGcSeUBUWlsQikNS jjqpUdwZDnW+vweEYN1ovPRGqe6d1pAJ8O+c0xsJwG4mMJ2PB+I= Received: from atlantis.staff.bocal.org (163.5.250.242 [163.5.250.242]) by mail.blih.net (OpenSMTPD) with ESMTPSA id b9f711cc TLS version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO; Wed, 9 Mar 2016 16:48:21 +0100 (CET) Date: Wed, 9 Mar 2016 16:48:21 +0100 From: Emmanuel Vadot To: Renato Botelho Cc: =?ISO-8859-1?Q?Jean-S=E9bastien_P=E9dron?= , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms Message-Id: <20160309164821.70d6ba0f5cb76fd243ecfcc8@bidouilliste.com> In-Reply-To: References: <201603082033.u28KX2OL014139@repo.freebsd.org> X-Mailer: Sylpheed 3.5.0 (GTK+ 2.24.29; amd64-portbld-freebsd10.1) Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 15:55:06 -0000 On Wed, 9 Mar 2016 06:48:31 -0300 Renato Botelho wrote: > > On Mar 8, 2016, at 17:33, Jean-S=E9bastien P=E9dron wrote: > >=20 > > Author: dumbbell > > Date: Tue Mar 8 20:33:02 2016 > > New Revision: 296548 > > URL: https://svnweb.freebsd.org/changeset/base/296548 > >=20 > > Log: > > drm/i915: Update to match Linux 3.8.13 > >=20 > > This update brings initial support for Haswell GPUs. > >=20 > > Tested by: Many users of FreeBSD, PC-BSD and HardenedBSD > > Relnotes: yes > > Sponsored by: The FreeBSD Foundation > > Differential Revision: https://reviews.freebsd.org/D5554 >=20 > I cannot boot anymore after moving to this revision. My laptop is a Think= Pad T430 (IvyBridge). >=20 > I got some warnings like >=20 > info: [drm] MTRR allocation failed. Graphics performance may suffer. >=20 > and in the end it just stops with these last 3 messages: >=20 > info: [drm] MSI enabled 1 message(s) > info: [drm] Supports vblank timestamp caching Rev 1 (10.10.2010). > info: [drm] Driver supports precise vblank timestamp query. >=20 > And never pass this point. >=20 > By default I?m using GENERIC-NODEBUG, I?ll boot with old kernel and rebui= ld it using GENERIC to make sure I can collect more data. > -- > Renato Botelho I think that I have the same problem (but with haswell) When I load manually i915kms I don't have any problem but there is still s= ome error message printed : info: [drm] Initialized drm 1.1.0 20060810 drmn0: on vgapci0 info: [drm] Memory usable by graphics device =3D 2048M info: [drm] MTRR allocation failed. Graphics performance may suffer. iicbus0: error: [drm:pid697:i915_write32] *ERROR* Unknown = unclaimed register before writing to c5100 on iicbb0 addr 0xff iic0: on iicbus0 iic1: on iicbus1 iicbus2: on iicbb1 addr 0x0 iic2: on iicbus2 iic3: on iicbus3 iicbus4: on iicbb2 addr 0x0 iic4: on iicbus4 iic5: on iicbus5 iicbus6: on iicbb3 addr 0x0 iic6: on iicbus6 iic7: on iicbus7 iicbus8: on iicbb4 addr 0x0 iic8: on iicbus8 iic9: on iicbus9 iicbus10: on iicbb5 addr 0x0 iic10: on iicbus10 iic11: on iicbus11 info: [drm] MSI enabled 1 message(s) info: [drm] Supports vblank timestamp caching Rev 1 (10.10.2010). info: [drm] Driver supports precise vblank timestamp query. error: [drm:pid697:lpt_init_pch_refclk] *ERROR* FDI mPHY reset assert timeo= ut error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction error: [drm:pid697:intel_sbi_read] *ERROR* timeout waiting for SBI to compl= ete read transaction error: [drm:pid697:intel_sbi_write] *ERROR* timeout waiting for SBI to comp= lete write transaction drmn0: taking over the fictitious range 0xc0000000-0xd0000000 When loaded via loader the kernel hangs after this line : error: [drm:pid697:lpt_init_pch_refclk] *ERROR* FDI mPHY reset assert timeo= ut --=20 Emmanuel Vadot From owner-svn-src-all@freebsd.org Wed Mar 9 15:58:47 2016 Return-Path: Delivered-To: svn-src-all@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 E92F8AC9DAC; Wed, 9 Mar 2016 15:58:47 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: from mail-qk0-x233.google.com (mail-qk0-x233.google.com [IPv6:2607:f8b0:400d:c09::233]) (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 9D4CEB90; Wed, 9 Mar 2016 15:58:47 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: by mail-qk0-x233.google.com with SMTP id s5so21873687qkd.0; Wed, 09 Mar 2016 07:58:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:mime-version:from:in-reply-to:date:cc:message-id :references:to; bh=BWBH1gt6GapjZ3SwCA90C5p/h16b6RF4YpFq6J+T/cM=; b=dwz4nJStPCBYS+wE07bVA2q3xPdLCvpQxqCiLNtJjU6UndN5KAKOBsVp26fHT6TsmM ayoKRhI597GBYvmcGYycmqVlShVmjRFa6nzNl7zqTT9m+REzxhmwHSkOTg9BF6+9IjhL MaxxIUTVt02ncB5SeOzBFkG9EFg8fTZgBKfw2ZkCRXXfdPly8lewgzxz1EVTOkTwldLN lZ9Jl19PzZRyUyxRr6CzwpdEdOL7lDOtsqzgGdC0ST1G8lggYREdJ32cNIne/YBFFKBj vPlWSCp5VSjMsp6zA7JY56gGfLRIaIKtGfbyDZOpOfhBa+C7nX5b4PJ0HjHb0OR0kZ6k BY3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:from:in-reply-to :date:cc:message-id:references:to; bh=BWBH1gt6GapjZ3SwCA90C5p/h16b6RF4YpFq6J+T/cM=; b=JWMNpNXDtvS/giVBFwJ5mrCt+seUZl5JrRGyONYME6MGzFBXAb2qI9/vyRyw+GcTiZ YQqyjg6rWCyX9ZdLSSrDvbqdKyrsVD5RDxfbdrSxjyvN9ze2+7CicLdYBgBphIO/Foq8 HwJFFz9md6TUXlnjc5VA4UIllw8ikDvVi1vZ2VnvDHPWwF8TXv7sEtcHfdOdifqBcDSz 6KhMk/ZtTFR5iMOprqQJDPJFp5GfDBc0UA4+BjAEBNx+eRAVFix8ehDKvv3EPqi6HqOw ZU06Vu89pTchrUcEu9K3oYgvMrUNYat/tVuja/OTMOHJEXbClGnA4R0HplPGiaxJTL3P 8mXA== X-Gm-Message-State: AD7BkJJG99ywQGpWKBQ2YJ0aycCQ11PIWFF9wUNV0GY0pI4Zo6vE4ah9l0b1hFQvw80Hxw== X-Received: by 10.55.217.151 with SMTP id q23mr43517190qkl.88.1457539126778; Wed, 09 Mar 2016 07:58:46 -0800 (PST) Received: from macbook-pro.home ([191.205.106.121]) by smtp.gmail.com with ESMTPSA id v65sm3900220qhc.6.2016.03.09.07.58.44 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Mar 2016 07:58:45 -0800 (PST) Sender: Renato Botelho Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_F20C99BD-643B-4CD5-9CDE-34ADCA1ADCB6"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: Renato Botelho In-Reply-To: <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> Date: Wed, 9 Mar 2016 12:58:41 -0300 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> To: =?utf-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 15:58:48 -0000 --Apple-Mail=_F20C99BD-643B-4CD5-9CDE-34ADCA1ADCB6 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 9, 2016, at 12:33, Renato Botelho wrote: >=20 >> On Mar 9, 2016, at 08:07, Jean-S=C3=A9bastien P=C3=A9dron = wrote: >>=20 >> On 09/03/2016 10:48, Renato Botelho wrote: >>>> Author: dumbbell >>>> Date: Tue Mar 8 20:33:02 2016 >>>> New Revision: 296548 >>>> URL: https://svnweb.freebsd.org/changeset/base/296548 >>>>=20 >>>> Log: >>>> drm/i915: Update to match Linux 3.8.13 >>>=20 >>> I cannot boot anymore after moving to this revision. My laptop is a = ThinkPad T430 (IvyBridge). >>=20 >> Hi! >>=20 >> Could you please test the following things? >>=20 >> 1. Try to boot without loading i915kms from /boot/loader.conf, then >> kldload it manually and see what happens. >=20 > It works fine if I load it after boot. >=20 >> 2. Try to boot a kernel built with the parent commit >=20 > I=E2=80=99ll revert tree to parent commit, apply ZFS fix manually and = rebuild then I will let you know After revert it to r296547 and manually apply ZFS fix I can successfully = load i915kms during boot. Just let me know what I can do to help from now to collect all the data = you need. I=E2=80=99ll move it to recent -current and load i915kms after = boot. -- Renato Botelho --Apple-Mail=_F20C99BD-643B-4CD5-9CDE-34ADCA1ADCB6 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIcBAEBCgAGBQJW4EgxAAoJEPHw56GfYleQhi0P/0cn011Pr8M6L5/FX1/Y/64k yzzLOeU11e6v0wCkjgkY12E1jkqF9LfPu3Qp2KxSu0JVxDwm9nB5hq2dT/5d3Drh k20jE5VS/Yvp7OVKsvGbx9xcMXXAW9ASVGkMFerqy49h7a14qsiaB8L9n9W6fEPz SBDgRJ/Fl4rKPNQRaUgc5fNQmnkex7XXKVBdmCR4+Z6J8Y6gbilkQE8S9QIft4T7 z2BnS6MWjeCC/Wbf/nFvv/hjm+/o5dRmZgBnmqJ9CSrmjmsq24sadFDMAGxNnjiQ KJXoE3R2GRz7OLGJvrD81dYHoFnDrMejTVbbk3LwnQhxVkbiXn9KuBJjV5u68xdE LLTLEKB82Witk7ANM8ixcPEfd9ScGQ+qk9KVkyLE03H1Evc9UrikBL4q72R9nd5X OMQgUyLL3+ZMpeUa3/Bw2+GBsNlw5M3IQy2/QJI+g5a0Q8LJhodI6ek/aicaxFqp ONza2/2GUQOHSLY+Knhl+6a04ACPPuNRoQNTMnTXxeplO6lZjd+Rc2jw8+7DDdxi YoigP6MY5ljqjF5z+qWH+8WdfyBXBJCl9F2C7GPJk1ysriBdd0Qq9DgTSJvL2Jla +52Mgh8xew5nW17u4O1Du7+E1PByscGYyZxbGMoflkaeOGEEamQHZ5XUemf3DkWb JmqPA23HikbCFykKMtI8 =Vq4R -----END PGP SIGNATURE----- --Apple-Mail=_F20C99BD-643B-4CD5-9CDE-34ADCA1ADCB6-- From owner-svn-src-all@freebsd.org Wed Mar 9 16:05:14 2016 Return-Path: Delivered-To: svn-src-all@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 5CA52AC925C; Wed, 9 Mar 2016 16:05:14 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2E4B763E; Wed, 9 Mar 2016 16:05:14 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29G5DiH069273; Wed, 9 Mar 2016 16:05:13 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29G5DW6069272; Wed, 9 Mar 2016 16:05:13 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603091605.u29G5DW6069272@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 9 Mar 2016 16:05:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296567 - head/cddl/contrib/opensolaris/lib/libzfs/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 16:05:14 -0000 Author: mav Date: Wed Mar 9 16:05:13 2016 New Revision: 296567 URL: https://svnweb.freebsd.org/changeset/base/296567 Log: Missed addition to r296563 to fix newer tools to work with older kernel. Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c Wed Mar 9 14:47:05 2016 (r296566) +++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c Wed Mar 9 16:05:13 2016 (r296567) @@ -74,6 +74,9 @@ zcmd_ioctl(int fd, int request, zfs_cmd_ if (zfs_ioctl_version >= ZFS_IOCVER_DEADMAN) { switch (zfs_ioctl_version) { + case ZFS_IOCVER_RESUME: + cflag = ZFS_CMD_COMPAT_RESUME; + break; case ZFS_IOCVER_EDBP: cflag = ZFS_CMD_COMPAT_EDBP; break; From owner-svn-src-all@freebsd.org Wed Mar 9 16:28:49 2016 Return-Path: Delivered-To: svn-src-all@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 27BF5AC9D6F; Wed, 9 Mar 2016 16:28:49 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-ig0-x232.google.com (mail-ig0-x232.google.com [IPv6:2607:f8b0:4001:c05::232]) (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 E5FB5759; Wed, 9 Mar 2016 16:28:48 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by mail-ig0-x232.google.com with SMTP id z8so48495714ige.0; Wed, 09 Mar 2016 08:28:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=k9sgUJlqRXalXMsyMf20w3ZHf1jSPxW4iZihrnpfMvk=; b=q4vhpZaW0/V7X+oUz1gtgB7McX5/JBzEprH9nZ9dUAHKnAR3mlL1VQkCG148rWcFc+ grbCvHRnHFClonU6DlBwNlCZtMLJG/1DzaM+t6RpeQDNQW4AgjAElfjA5SxD76wkoca7 kBa5Guyrzyd+s/gV2mjRMqPEktyRWWOpcYIwoG0puAniKAOq6o8szzc5FoKEo4F5OSi6 +ztyJZjHsVK40+OUVq7tK1iU3cnH/Wd9a7gePzChP+ROdaAbKBU/JKMVyUcbtGVlPeXw fB2ljfw65xhjNlZST8QqMryIAyJBWg15TW1JichZFFLwvycEPe8AmsRzRFn2ZVqdnuya sDYg== 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:date :message-id:subject:from:to:cc; bh=k9sgUJlqRXalXMsyMf20w3ZHf1jSPxW4iZihrnpfMvk=; b=FqnvUGK7xK28m1xTtRx1CVG01+m/iNP2pCRcJhmUxj9jLQOBei+kyunD97tw9tU1nt ddhX00ngZxXV7iOJs7YpZF9AZNGF7h/E7fqUyA+rOSEhbO0euEdDOHBoF0Gnrp/f9NNv pIBPei9tVuxIQHO2fi7kL1rFzdIz+HuxA16E/n82aiW6zQUlavKEcsWfPJEfaVsht1HC JvOhMvwb8TUfVy8NSw6Im4+oJ+/qJInPwLGb7JPzPDCRq1oiyhzxYOfVW775srNgIFEe q5qQNZOuDW1pUg50pRvGDHabOuCDOuzQJogDV8R9kSj37mw2i/nUyumeRaOgJKziDUlF yUxg== X-Gm-Message-State: AD7BkJKG+h4pZp6wU/FwUS643EkBD6ddNv551QGCWlRMnWtZphTujuM8hIIxXonyZ3vidL84/HIa/dbDATg6Ew== MIME-Version: 1.0 X-Received: by 10.50.43.134 with SMTP id w6mr24207945igl.22.1457540928267; Wed, 09 Mar 2016 08:28:48 -0800 (PST) Received: by 10.36.14.19 with HTTP; Wed, 9 Mar 2016 08:28:48 -0800 (PST) In-Reply-To: References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> Date: Wed, 9 Mar 2016 08:28:48 -0800 Message-ID: Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms From: Adrian Chadd To: Renato Botelho Cc: =?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?= , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 16:28:49 -0000 Hm, I thought some of the drm code required interrupts to be up for i2c transactions to complete? Maybe it's gotten worse in the later linux kernel versions? -adrian From owner-svn-src-all@freebsd.org Wed Mar 9 17:36:45 2016 Return-Path: Delivered-To: svn-src-all@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 5DAA8AC9CA2; Wed, 9 Mar 2016 17:36:45 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-ig0-x231.google.com (mail-ig0-x231.google.com [IPv6:2607:f8b0:4001:c05::231]) (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 2A122A26; Wed, 9 Mar 2016 17:36:45 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-ig0-x231.google.com with SMTP id vs8so78154037igb.1; Wed, 09 Mar 2016 09:36:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=9IVhy81Ti2XldvBDyoj97BW37dkiJQQx4iAkQvLRCa8=; b=sYQqu2ptKw0Amm+QC6/fLgYx6uAlQ8CjdE7xDbzNv4ODrzeqor7b7UFk8BX783ZMOK X+bpMeeYQ++Lg//USr21lgHxj7UR+z59kea4hiQn3BAbb48Zx2EtU1sdXaWrnOzuBwsm qCnslZE9v7rKvBJsuuLmFHP2RKYQKFLW0hOdBHggflxwjrFXau/Xa9blakdBwKrTn2zr 0uRVUH7rDHCH3LtQZNgLiBuhHyhL/s0yDgQ65lARM7gGPux1yol1cPWsloG89tlCeQeL SvVvnfey0nfU9Ie1NCdChuthKfAcoK8jy0/mU8GZ6ctHAEOZOkuKWzCC79nfGRiAsaXV i9vQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=9IVhy81Ti2XldvBDyoj97BW37dkiJQQx4iAkQvLRCa8=; b=c8V93RDsy+bEfSIXkdijFZ3oH64PakVAiw4JAX7YIJQS70wNcCJc0+5QbuxdxVKARZ lPRWCFT3TtmeyzlT+8Ui1nhFyFaoVcUQCGcD+6Smad9sGsW2tn2YNXNfFTV3MmGp4E/w rfDF4AITVq8L8/qiNWeSuwZd3tsSiiGcxnDN9+25VYZbcfG9rX0XFuFTi1+cdacjvXmT mPyfhZLAuxODj5HB1VSlY7wLBIc30IaaoPjF59oET1fHbVAXNq9SbHTkgyeukuSmM/mK qha8tm2NXIloaywC3nz9+VpRUmoi7xRfA5nRAM4WCnGlCNfJTnyouoLkZKYUR8oKH+Lv e/bg== X-Gm-Message-State: AD7BkJJDZ9dB9fwRFrNNoOzrb3hCqu1rMxkijW29eA0mm+9Ltcdy8H69r1R+9JeUrVuIr2VuI1TmTlMkhnx8Sg== X-Received: by 10.50.132.102 with SMTP id ot6mr23385502igb.97.1457545004530; Wed, 09 Mar 2016 09:36:44 -0800 (PST) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.39.66 with HTTP; Wed, 9 Mar 2016 09:36:25 -0800 (PST) In-Reply-To: <201603091605.u29G5DW6069272@repo.freebsd.org> References: <201603091605.u29G5DW6069272@repo.freebsd.org> From: Ed Maste Date: Wed, 9 Mar 2016 12:36:25 -0500 X-Google-Sender-Auth: rNRHbsa3uIyuCctgGzS-sUyqBY0 Message-ID: Subject: Re: svn commit: r296567 - head/cddl/contrib/opensolaris/lib/libzfs/common To: Alexander Motin Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 17:36:45 -0000 On 9 March 2016 at 11:05, Alexander Motin wrote: > Author: mav > Date: Wed Mar 9 16:05:13 2016 > New Revision: 296567 > URL: https://svnweb.freebsd.org/changeset/base/296567 > > Log: > Missed addition to r296563 to fix newer tools to work with older kernel. Thanks! From owner-svn-src-all@freebsd.org Wed Mar 9 17:40:35 2016 Return-Path: Delivered-To: svn-src-all@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 44D5DAC9E19; Wed, 9 Mar 2016 17:40:35 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 16924C62; Wed, 9 Mar 2016 17:40:35 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29HeYjG098117; Wed, 9 Mar 2016 17:40:34 GMT (envelope-from truckman@FreeBSD.org) Received: (from truckman@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29HeYmU098116; Wed, 9 Mar 2016 17:40:34 GMT (envelope-from truckman@FreeBSD.org) Message-Id: <201603091740.u29HeYmU098116@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: truckman set sender to truckman@FreeBSD.org using -f From: Don Lewis Date: Wed, 9 Mar 2016 17:40:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296568 - stable/10/contrib/diff/src X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 17:40:35 -0000 Author: truckman Date: Wed Mar 9 17:40:33 2016 New Revision: 296568 URL: https://svnweb.freebsd.org/changeset/base/296568 Log: MFC r283869 (by araujo) Fix the wrong format, format specifies type 'int' but the argument has type 'long', it was spotted by clang. Modified: stable/10/contrib/diff/src/context.c Directory Properties: stable/10/ (props changed) Modified: stable/10/contrib/diff/src/context.c ============================================================================== --- stable/10/contrib/diff/src/context.c Wed Mar 9 16:05:13 2016 (r296567) +++ stable/10/contrib/diff/src/context.c Wed Mar 9 17:40:33 2016 (r296568) @@ -62,7 +62,7 @@ print_context_label (char const *mark, { time_t sec = inf->stat.st_mtime; verify (info_preserved, sizeof inf->stat.st_mtime <= sizeof sec); - sprintf (buf, "%jd.%.9d", (intmax_t)sec, nsec); + sprintf (buf, "%jd.%.9ld", (intmax_t)sec, nsec); } fprintf (outfile, "%s %s\t%s\n", mark, inf->name, buf); } From owner-svn-src-all@freebsd.org Wed Mar 9 18:38:05 2016 Return-Path: Delivered-To: svn-src-all@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 51B05AC89CE; Wed, 9 Mar 2016 18:38:05 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 22FE09D0; Wed, 9 Mar 2016 18:38:05 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29Ic4mS016774; Wed, 9 Mar 2016 18:38:04 GMT (envelope-from sobomax@FreeBSD.org) Received: (from sobomax@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29Ic4VR016773; Wed, 9 Mar 2016 18:38:04 GMT (envelope-from sobomax@FreeBSD.org) Message-Id: <201603091838.u29Ic4VR016773@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sobomax set sender to sobomax@FreeBSD.org using -f From: Maxim Sobolev Date: Wed, 9 Mar 2016 18:38:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296569 - head/sys/mips/rt305x X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 18:38:05 -0000 Author: sobomax Date: Wed Mar 9 18:38:03 2016 New Revision: 296569 URL: https://svnweb.freebsd.org/changeset/base/296569 Log: Second argument of the mips_timer_init_params() is boolean, so pass in "1" for true consistently. Modified: head/sys/mips/rt305x/rt305x_machdep.c Modified: head/sys/mips/rt305x/rt305x_machdep.c ============================================================================== --- head/sys/mips/rt305x/rt305x_machdep.c Wed Mar 9 17:40:33 2016 (r296568) +++ head/sys/mips/rt305x/rt305x_machdep.c Wed Mar 9 18:38:03 2016 (r296569) @@ -203,5 +203,5 @@ platform_start(__register_t a0 __unused, mips_init(); - mips_timer_init_params(platform_counter_freq, 2); + mips_timer_init_params(platform_counter_freq, 1); } From owner-svn-src-all@freebsd.org Wed Mar 9 18:38:32 2016 Return-Path: Delivered-To: svn-src-all@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 79BF2AC8A34; Wed, 9 Mar 2016 18:38:32 +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 3C553B3A; Wed, 9 Mar 2016 18:38:32 +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 u29IcVE7016835; Wed, 9 Mar 2016 18:38:31 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29IcVeB016832; Wed, 9 Mar 2016 18:38:31 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603091838.u29IcVeB016832@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 9 Mar 2016 18:38:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296570 - in head: sys/amd64/cloudabi64 sys/arm64/cloudabi64 usr.bin/kdump X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 18:38:32 -0000 Author: jhb Date: Wed Mar 9 18:38:30 2016 New Revision: 296570 URL: https://svnweb.freebsd.org/changeset/base/296570 Log: Fix reporting of the CloudABI ABI in kdump. - Advertise the word size for CloudABI ABIs via the SV_LP64 flag. All of the other ABIs include either SV_ILP32 or SV_LP64. - Fix kdump to not assume a 32-bit ABI if the ABI flags field is non-zero but SV_LP64 isn't set. Instead, only assume a 32-bit ABI if SV_ILP32 is set and fallback to the unknown value of "00" if neither SV_LP64 nor SV_ILP32 is set. Reviewed by: kib, ed Differential Revision: https://reviews.freebsd.org/D5560 Modified: head/sys/amd64/cloudabi64/cloudabi64_sysvec.c head/sys/arm64/cloudabi64/cloudabi64_sysvec.c head/usr.bin/kdump/kdump.c Modified: head/sys/amd64/cloudabi64/cloudabi64_sysvec.c ============================================================================== --- head/sys/amd64/cloudabi64/cloudabi64_sysvec.c Wed Mar 9 18:38:03 2016 (r296569) +++ head/sys/amd64/cloudabi64/cloudabi64_sysvec.c Wed Mar 9 18:38:30 2016 (r296570) @@ -143,7 +143,7 @@ static struct sysentvec cloudabi64_elf_s .sv_usrstack = USRSTACK, .sv_stackprot = VM_PROT_READ | VM_PROT_WRITE, .sv_copyout_strings = cloudabi64_copyout_strings, - .sv_flags = SV_ABI_CLOUDABI | SV_CAPSICUM, + .sv_flags = SV_ABI_CLOUDABI | SV_CAPSICUM | SV_LP64, .sv_set_syscall_retval = cloudabi64_set_syscall_retval, .sv_fetch_syscall_args = cloudabi64_fetch_syscall_args, .sv_syscallnames = cloudabi64_syscallnames, Modified: head/sys/arm64/cloudabi64/cloudabi64_sysvec.c ============================================================================== --- head/sys/arm64/cloudabi64/cloudabi64_sysvec.c Wed Mar 9 18:38:03 2016 (r296569) +++ head/sys/arm64/cloudabi64/cloudabi64_sysvec.c Wed Mar 9 18:38:30 2016 (r296570) @@ -144,7 +144,7 @@ static struct sysentvec cloudabi64_elf_s .sv_usrstack = USRSTACK, .sv_stackprot = VM_PROT_READ | VM_PROT_WRITE, .sv_copyout_strings = cloudabi64_copyout_strings, - .sv_flags = SV_ABI_CLOUDABI | SV_CAPSICUM, + .sv_flags = SV_ABI_CLOUDABI | SV_CAPSICUM | SV_LP64, .sv_set_syscall_retval = cloudabi64_set_syscall_retval, .sv_fetch_syscall_args = cloudabi64_fetch_syscall_args, .sv_syscallnames = cloudabi64_syscallnames, Modified: head/usr.bin/kdump/kdump.c ============================================================================== --- head/usr.bin/kdump/kdump.c Wed Mar 9 18:38:03 2016 (r296569) +++ head/usr.bin/kdump/kdump.c Wed Mar 9 18:38:30 2016 (r296570) @@ -529,12 +529,11 @@ abidump(struct ktr_header *kth) break; } - if (flags != 0) { - if (flags & SV_LP64) - arch = "64"; - else - arch = "32"; - } else + if (flags & SV_LP64) + arch = "64"; + else if (flags & SV_ILP32) + arch = "32"; + else arch = "00"; printf("%s%s ", abi, arch); From owner-svn-src-all@freebsd.org Wed Mar 9 18:45:43 2016 Return-Path: Delivered-To: svn-src-all@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 F01F2AC8D7A; Wed, 9 Mar 2016 18:45:42 +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 CCE33ED; Wed, 9 Mar 2016 18:45:42 +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 u29IjfKJ019750; Wed, 9 Mar 2016 18:45:41 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29Ijfnw019747; Wed, 9 Mar 2016 18:45:41 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603091845.u29Ijfnw019747@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 9 Mar 2016 18:45:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296571 - head/usr.bin/truss X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 18:45:43 -0000 Author: jhb Date: Wed Mar 9 18:45:41 2016 New Revision: 296571 URL: https://svnweb.freebsd.org/changeset/base/296571 Log: Use ptrace(2) LWP events to track threads reliably in truss. - truss can now log the system call invoked by a thread during a voluntary process exit. No return value is logged, but the value passed to exit() is included in the trace output. Arguments passed to thread exit system calls such as thr_exit() are not logged as voluntary thread exits cannot be distinguished from involuntary thread exits during a system call. - New events are now reported for thread births and exits similar to the recently added events for new child processes when following forks. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D5561 Modified: head/usr.bin/truss/setup.c head/usr.bin/truss/syscalls.c head/usr.bin/truss/truss.h Modified: head/usr.bin/truss/setup.c ============================================================================== --- head/usr.bin/truss/setup.c Wed Mar 9 18:38:30 2016 (r296570) +++ head/usr.bin/truss/setup.c Wed Mar 9 18:45:41 2016 (r296571) @@ -61,7 +61,9 @@ SET_DECLARE(procabi, struct procabi); static sig_atomic_t detaching; -static void new_proc(struct trussinfo *, pid_t); +static void enter_syscall(struct trussinfo *, struct threadinfo *, + struct ptrace_lwpinfo *); +static void new_proc(struct trussinfo *, pid_t, lwpid_t); /* * setup_and_wait() is called to start a process. All it really does @@ -87,7 +89,7 @@ setup_and_wait(struct trussinfo *info, c if (waitpid(pid, NULL, 0) < 0) err(1, "unexpect stop in waitpid"); - new_proc(info, pid); + new_proc(info, pid, 0); } /* @@ -109,7 +111,7 @@ start_tracing(struct trussinfo *info, pi if (waitpid(pid, NULL, 0) < 0) err(1, "Unexpect stop in waitpid"); - new_proc(info, pid); + new_proc(info, pid, 0); } /* @@ -170,14 +172,71 @@ find_abi(pid_t pid) return (NULL); } +static struct threadinfo * +new_thread(struct procinfo *p, lwpid_t lwpid) +{ + struct threadinfo *nt; + + /* + * If this happens it means there is a bug in truss. Unfortunately + * this will kill any processes truss is attached to. + */ + LIST_FOREACH(nt, &p->threadlist, entries) { + if (nt->tid == lwpid) + errx(1, "Duplicate thread for LWP %ld", (long)lwpid); + } + + nt = calloc(1, sizeof(struct threadinfo)); + if (nt == NULL) + err(1, "calloc() failed"); + nt->proc = p; + nt->tid = lwpid; + LIST_INSERT_HEAD(&p->threadlist, nt, entries); + return (nt); +} + +static void +free_thread(struct threadinfo *t) +{ + + LIST_REMOVE(t, entries); + free(t); +} + static void -new_proc(struct trussinfo *info, pid_t pid) +add_threads(struct trussinfo *info, struct procinfo *p) +{ + struct ptrace_lwpinfo pl; + struct threadinfo *t; + lwpid_t *lwps; + int i, nlwps; + + nlwps = ptrace(PT_GETNUMLWPS, p->pid, NULL, 0); + if (nlwps == -1) + err(1, "Unable to fetch number of LWPs"); + assert(nlwps > 0); + lwps = calloc(nlwps, sizeof(*lwps)); + nlwps = ptrace(PT_GETLWPLIST, p->pid, (caddr_t)lwps, nlwps); + if (nlwps == -1) + err(1, "Unable to fetch LWP list"); + for (i = 0; i < nlwps; i++) { + t = new_thread(p, lwps[i]); + if (ptrace(PT_LWPINFO, lwps[i], (caddr_t)&pl, sizeof(pl)) == -1) + err(1, "ptrace(PT_LWPINFO)"); + if (pl.pl_flags & PL_FLAG_SCE) + enter_syscall(info, t, &pl); + } + free(lwps); +} + +static void +new_proc(struct trussinfo *info, pid_t pid, lwpid_t lwpid) { struct procinfo *np; /* * If this happens it means there is a bug in truss. Unfortunately - * this will kill any processes are attached to. + * this will kill any processes truss is attached to. */ LIST_FOREACH(np, &info->proclist, entries) { if (np->pid == pid) @@ -187,11 +246,18 @@ new_proc(struct trussinfo *info, pid_t p if (info->flags & FOLLOWFORKS) if (ptrace(PT_FOLLOW_FORK, pid, NULL, 1) == -1) err(1, "Unable to follow forks for pid %ld", (long)pid); + if (ptrace(PT_LWP_EVENTS, pid, NULL, 1) == -1) + err(1, "Unable to enable LWP events for pid %ld", (long)pid); np = calloc(1, sizeof(struct procinfo)); np->pid = pid; np->abi = find_abi(pid); - SLIST_INIT(&np->threadlist); + LIST_INIT(&np->threadlist); LIST_INSERT_HEAD(&info->proclist, np, entries); + + if (lwpid != 0) + new_thread(np, lwpid); + else + add_threads(info, np); } static void @@ -199,7 +265,7 @@ free_proc(struct procinfo *p) { struct threadinfo *t, *t2; - SLIST_FOREACH_SAFE(t, &p->threadlist, entries, t2) { + LIST_FOREACH_SAFE(t, &p->threadlist, entries, t2) { free(t); } LIST_REMOVE(p, entries); @@ -232,7 +298,6 @@ find_proc(struct trussinfo *info, pid_t /* * Change curthread member based on (pid, lwpid). - * If it is a new thread, create a threadinfo structure. */ static void find_thread(struct trussinfo *info, pid_t pid, lwpid_t lwpid) @@ -243,55 +308,30 @@ find_thread(struct trussinfo *info, pid_ np = find_proc(info, pid); assert(np != NULL); - SLIST_FOREACH(nt, &np->threadlist, entries) { + LIST_FOREACH(nt, &np->threadlist, entries) { if (nt->tid == lwpid) { info->curthread = nt; return; } } - - nt = calloc(1, sizeof(struct threadinfo)); - if (nt == NULL) - err(1, "calloc() failed"); - nt->proc = np; - nt->tid = lwpid; - SLIST_INSERT_HEAD(&np->threadlist, nt, entries); - info->curthread = nt; + errx(1, "could not find thread"); } /* - * When a process exits, it no longer has any threads left. However, - * the main loop expects a valid curthread. In cases when a thread - * triggers the termination (e.g. calling exit or triggering a fault) - * we would ideally use that thread. However, if a process is killed - * by a signal sent from another process then there is no "correct" - * thread. We just punt and use the first thread. + * When a process exits, it should have exactly one thread left. + * All of the other threads should have reported thread exit events. */ static void find_exit_thread(struct trussinfo *info, pid_t pid) { - struct procinfo *np; - struct threadinfo *nt; + struct procinfo *p; - np = find_proc(info, pid); - assert(np != NULL); + p = find_proc(info, pid); + assert(p != NULL); - if (SLIST_EMPTY(&np->threadlist)) { - /* - * If an existing process exits right after we attach - * to it but before it posts any events, there won't - * be any threads. Create a dummy thread and set its - * "before" time to the global start time. - */ - nt = calloc(1, sizeof(struct threadinfo)); - if (nt == NULL) - err(1, "calloc() failed"); - nt->proc = np; - nt->tid = 0; - SLIST_INSERT_HEAD(&np->threadlist, nt, entries); - nt->before = info->start_time; - } - info->curthread = SLIST_FIRST(&np->threadlist); + info->curthread = LIST_FIRST(&p->threadlist); + assert(info->curthread != NULL); + assert(LIST_NEXT(info->curthread, entries) == NULL); } static void @@ -322,13 +362,12 @@ free_syscall(struct threadinfo *t) } static void -enter_syscall(struct trussinfo *info, struct ptrace_lwpinfo *pl) +enter_syscall(struct trussinfo *info, struct threadinfo *t, + struct ptrace_lwpinfo *pl) { - struct threadinfo *t; struct syscall *sc; u_int i, narg; - t = info->curthread; alloc_syscall(t, pl); narg = MIN(pl->pl_syscall_narg, nitems(t->cs.args)); if (narg != 0 && t->proc->abi->fetch_args(info, narg) != 0) { @@ -377,6 +416,28 @@ enter_syscall(struct trussinfo *info, st clock_gettime(CLOCK_REALTIME, &t->before); } +/* + * When a thread exits voluntarily (including when a thread calls + * exit() to trigger a process exit), the thread's internal state + * holds the arguments passed to the exit system call. When the + * thread's exit is reported, log that system call without a return + * value. + */ +static void +thread_exit_syscall(struct trussinfo *info) +{ + struct threadinfo *t; + + t = info->curthread; + if (!t->in_syscall) + return; + + clock_gettime(CLOCK_REALTIME, &t->after); + + print_syscall_ret(info, 0, NULL); + free_syscall(t); +} + static void exit_syscall(struct trussinfo *info, struct ptrace_lwpinfo *pl) { @@ -430,6 +491,7 @@ exit_syscall(struct trussinfo *info, str * new ABI isn't supported, stop tracing this process. */ if (pl->pl_flags & PL_FLAG_EXEC) { + assert(LIST_NEXT(LIST_FIRST(&p->threadlist), entries) == NULL); p->abi = find_abi(p->pid); if (p->abi == NULL) { if (ptrace(PT_DETACH, p->pid, (caddr_t)1, 0) < 0) @@ -472,6 +534,29 @@ print_line_prefix(struct trussinfo *info } static void +report_thread_death(struct trussinfo *info) +{ + struct threadinfo *t; + + t = info->curthread; + clock_gettime(CLOCK_REALTIME, &t->after); + print_line_prefix(info); + fprintf(info->outfile, "\n", (long)t->tid); +} + +static void +report_thread_birth(struct trussinfo *info) +{ + struct threadinfo *t; + + t = info->curthread; + clock_gettime(CLOCK_REALTIME, &t->after); + t->before = t->after; + print_line_prefix(info); + fprintf(info->outfile, "\n", (long)t->tid); +} + +static void report_exit(struct trussinfo *info, siginfo_t *si) { struct threadinfo *t; @@ -544,8 +629,11 @@ eventloop(struct trussinfo *info) case CLD_KILLED: case CLD_DUMPED: find_exit_thread(info, si.si_pid); - if ((info->flags & COUNTONLY) == 0) + if ((info->flags & COUNTONLY) == 0) { + if (si.si_code == CLD_EXITED) + thread_exit_syscall(info); report_exit(info, &si); + } free_proc(info->curthread->proc); info->curthread = NULL; break; @@ -555,16 +643,27 @@ eventloop(struct trussinfo *info) err(1, "ptrace(PT_LWPINFO)"); if (pl.pl_flags & PL_FLAG_CHILD) { - new_proc(info, si.si_pid); + new_proc(info, si.si_pid, pl.pl_lwpid); assert(LIST_FIRST(&info->proclist)->abi != NULL); - } + } else if (pl.pl_flags & PL_FLAG_BORN) + new_thread(find_proc(info, si.si_pid), + pl.pl_lwpid); find_thread(info, si.si_pid, pl.pl_lwpid); if (si.si_status == SIGTRAP && - (pl.pl_flags & (PL_FLAG_SCE|PL_FLAG_SCX)) != 0) { - if (pl.pl_flags & PL_FLAG_SCE) - enter_syscall(info, &pl); + (pl.pl_flags & (PL_FLAG_BORN|PL_FLAG_EXITED| + PL_FLAG_SCE|PL_FLAG_SCX)) != 0) { + if (pl.pl_flags & PL_FLAG_BORN) { + if ((info->flags & COUNTONLY) == 0) + report_thread_birth(info); + } else if (pl.pl_flags & PL_FLAG_EXITED) { + if ((info->flags & COUNTONLY) == 0) + report_thread_death(info); + free_thread(info->curthread); + info->curthread = NULL; + } else if (pl.pl_flags & PL_FLAG_SCE) + enter_syscall(info, info->curthread, &pl); else if (pl.pl_flags & PL_FLAG_SCX) exit_syscall(info, &pl); pending_signal = 0; Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Wed Mar 9 18:38:30 2016 (r296570) +++ head/usr.bin/truss/syscalls.c Wed Mar 9 18:45:41 2016 (r296571) @@ -2054,6 +2054,16 @@ print_syscall_ret(struct trussinfo *trus print_syscall(trussinfo); fflush(trussinfo->outfile); + + if (retval == NULL) { + /* + * This system call resulted in the current thread's exit, + * so there is no return value or error to display. + */ + fprintf(trussinfo->outfile, "\n"); + return; + } + if (errorp) { error = sysdecode_abi_to_freebsd_errno(t->proc->abi->abi, retval[0]); Modified: head/usr.bin/truss/truss.h ============================================================================== --- head/usr.bin/truss/truss.h Wed Mar 9 18:38:30 2016 (r296570) +++ head/usr.bin/truss/truss.h Wed Mar 9 18:45:41 2016 (r296571) @@ -73,7 +73,7 @@ struct current_syscall { struct threadinfo { - SLIST_ENTRY(threadinfo) entries; + LIST_ENTRY(threadinfo) entries; struct procinfo *proc; lwpid_t tid; int in_syscall; @@ -87,7 +87,7 @@ struct procinfo { pid_t pid; struct procabi *abi; - SLIST_HEAD(, threadinfo) threadlist; + LIST_HEAD(, threadinfo) threadlist; }; struct trussinfo From owner-svn-src-all@freebsd.org Wed Mar 9 19:05:14 2016 Return-Path: Delivered-To: svn-src-all@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 F328DAC9593; Wed, 9 Mar 2016 19:05:13 +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 C45E5D0D; Wed, 9 Mar 2016 19:05:13 +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 u29J5Cat025960; Wed, 9 Mar 2016 19:05:12 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29J5BtH025949; Wed, 9 Mar 2016 19:05:11 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603091905.u29J5BtH025949@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 9 Mar 2016 19:05:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296572 - in head/sys: compat/freebsd32 kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 19:05:14 -0000 Author: jhb Date: Wed Mar 9 19:05:11 2016 New Revision: 296572 URL: https://svnweb.freebsd.org/changeset/base/296572 Log: Simplify AIO initialization now that it is standard. - Mark AIO system calls as STD and remove the helpers to dynamically register them. - Use COMPAT6 for the old system calls with the older sigevent instead of an 'o' prefix. - Simplify the POSIX configuration to note that AIO is always available. - Handle AIO in the default VOP_PATHCONF instead of special casing it in the pathconf() system call. fpathconf() is still hackish. - Remove freebsd32_aio_cancel() as it just called the native one directly. Reviewed by: kib Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D5589 Modified: head/sys/compat/freebsd32/syscalls.master head/sys/kern/kern_descrip.c head/sys/kern/posix4_mib.c head/sys/kern/syscalls.master head/sys/kern/vfs_aio.c head/sys/kern/vfs_default.c head/sys/kern/vfs_syscalls.c head/sys/sys/signalvar.h head/sys/sys/unistd.h head/sys/sys/vnode.h Modified: head/sys/compat/freebsd32/syscalls.master ============================================================================== --- head/sys/compat/freebsd32/syscalls.master Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/compat/freebsd32/syscalls.master Wed Mar 9 19:05:11 2016 (r296572) @@ -477,11 +477,11 @@ u_int nfds, int timeout); } 253 AUE_ISSETUGID NOPROTO { int issetugid(void); } 254 AUE_LCHOWN NOPROTO { int lchown(char *path, int uid, int gid); } -255 AUE_NULL NOSTD { int freebsd32_aio_read( \ +255 AUE_NULL STD { int freebsd32_aio_read( \ struct aiocb32 *aiocbp); } -256 AUE_NULL NOSTD { int freebsd32_aio_write( \ +256 AUE_NULL STD { int freebsd32_aio_write( \ struct aiocb32 *aiocbp); } -257 AUE_NULL NOSTD { int freebsd32_lio_listio(int mode, \ +257 AUE_NULL STD { int freebsd32_lio_listio(int mode, \ struct aiocb32 * const *acb_list, \ int nent, struct sigevent32 *sig); } 258 AUE_NULL UNIMPL nosys @@ -562,20 +562,20 @@ 312 AUE_SETRESGID NOPROTO { int setresgid(gid_t rgid, gid_t egid, \ gid_t sgid); } 313 AUE_NULL OBSOL signanosleep -314 AUE_NULL NOSTD { int freebsd32_aio_return( \ +314 AUE_NULL STD { int freebsd32_aio_return( \ struct aiocb32 *aiocbp); } -315 AUE_NULL NOSTD { int freebsd32_aio_suspend( \ +315 AUE_NULL STD { int freebsd32_aio_suspend( \ struct aiocb32 * const * aiocbp, int nent, \ const struct timespec32 *timeout); } -316 AUE_NULL NOSTD { int freebsd32_aio_cancel(int fd, \ +316 AUE_NULL NOPROTO { int aio_cancel(int fd, \ + struct aiocb *aiocbp); } +317 AUE_NULL STD { int freebsd32_aio_error( \ struct aiocb32 *aiocbp); } -317 AUE_NULL NOSTD { int freebsd32_aio_error( \ - struct aiocb32 *aiocbp); } -318 AUE_NULL NOSTD { int freebsd32_oaio_read( \ +318 AUE_NULL COMPAT6 { int freebsd32_aio_read( \ struct oaiocb32 *aiocbp); } -319 AUE_NULL NOSTD { int freebsd32_oaio_write( \ +319 AUE_NULL COMPAT6 { int freebsd32_aio_write( \ struct oaiocb32 *aiocbp); } -320 AUE_NULL NOSTD { int freebsd32_olio_listio(int mode, \ +320 AUE_NULL COMPAT6 { int freebsd32_lio_listio(int mode, \ struct oaiocb32 * const *acb_list, \ int nent, struct osigevent32 *sig); } 321 AUE_NULL NOPROTO { int yield(void); } @@ -653,7 +653,7 @@ 358 AUE_EXTATTR_DELETE_FILE NOPROTO { int extattr_delete_file( \ const char *path, int attrnamespace, \ const char *attrname); } -359 AUE_NULL NOSTD { int freebsd32_aio_waitcomplete( \ +359 AUE_NULL STD { int freebsd32_aio_waitcomplete( \ struct aiocb32 **aiocbp, \ struct timespec32 *timeout); } 360 AUE_GETRESUID NOPROTO { int getresuid(uid_t *ruid, uid_t *euid, \ @@ -837,7 +837,7 @@ 462 AUE_NULL NOPROTO|NOSTD { int kmq_unlink(const char *path); } 463 AUE_NULL NOPROTO { int abort2(const char *why, int nargs, void **args); } 464 AUE_NULL NOPROTO { int thr_set_name(long id, const char *name); } -465 AUE_NULL NOSTD { int freebsd32_aio_fsync(int op, \ +465 AUE_NULL STD { int freebsd32_aio_fsync(int op, \ struct aiocb32 *aiocbp); } 466 AUE_RTPRIO NOPROTO { int rtprio_thread(int function, \ lwpid_t lwpid, struct rtprio *rtp); } @@ -1055,7 +1055,7 @@ __socklen_t * __restrict anamelen, \ int flags); } 542 AUE_PIPE NOPROTO { int pipe2(int *fildes, int flags); } -543 AUE_NULL NOSTD { int freebsd32_aio_mlock( \ +543 AUE_NULL STD { int freebsd32_aio_mlock( \ struct aiocb32 *aiocbp); } #ifdef PAD64_REQUIRED 544 AUE_NULL STD { int freebsd32_procctl(int idtype, int pad, \ Modified: head/sys/kern/kern_descrip.c ============================================================================== --- head/sys/kern/kern_descrip.c Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/kern/kern_descrip.c Wed Mar 9 19:05:11 2016 (r296572) @@ -1395,9 +1395,8 @@ sys_fpathconf(struct thread *td, struct if (error != 0) return (error); - /* If asynchronous I/O is available, it works for all descriptors. */ if (uap->name == _PC_ASYNC_IO) { - td->td_retval[0] = async_io_version; + td->td_retval[0] = _POSIX_ASYNCHRONOUS_IO; goto out; } vp = fp->f_vnode; Modified: head/sys/kern/posix4_mib.c ============================================================================== --- head/sys/kern/posix4_mib.c Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/kern/posix4_mib.c Wed Mar 9 19:05:11 2016 (r296572) @@ -77,8 +77,7 @@ SYSCTL_NODE(_kern, OID_AUTO, p1003_1b, C #endif -SYSCTL_INT(_p1003_1b, CTL_P1003_1B_ASYNCHRONOUS_IO, \ - asynchronous_io, CTLFLAG_RD, &async_io_version, 0, ""); +P1B_SYSCTL(CTL_P1003_1B_ASYNCHRONOUS_IO, asynchronous_io); P1B_SYSCTL(CTL_P1003_1B_MAPPED_FILES, mapped_files); P1B_SYSCTL(CTL_P1003_1B_MEMLOCK, memlock); P1B_SYSCTL(CTL_P1003_1B_MEMLOCK_RANGE, memlock_range); @@ -170,12 +169,6 @@ p31b_set_standard(void *dummy) p31b_setcfg(CTL_P1003_1B_MAPPED_FILES, 200112L); p31b_setcfg(CTL_P1003_1B_SHARED_MEMORY_OBJECTS, 200112L); p31b_setcfg(CTL_P1003_1B_PAGESIZE, PAGE_SIZE); - if (!p31b_iscfg(CTL_P1003_1B_AIO_LISTIO_MAX)) - p31b_setcfg(CTL_P1003_1B_AIO_LISTIO_MAX, -1); - if (!p31b_iscfg(CTL_P1003_1B_AIO_MAX)) - p31b_setcfg(CTL_P1003_1B_AIO_MAX, -1); - if (!p31b_iscfg(CTL_P1003_1B_AIO_PRIO_DELTA_MAX)) - p31b_setcfg(CTL_P1003_1B_AIO_PRIO_DELTA_MAX, -1); } SYSINIT(p31b_set_standard, SI_SUB_P1003_1B, SI_ORDER_ANY, p31b_set_standard, Modified: head/sys/kern/syscalls.master ============================================================================== --- head/sys/kern/syscalls.master Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/kern/syscalls.master Wed Mar 9 19:05:11 2016 (r296572) @@ -475,9 +475,9 @@ u_int nfds, int timeout); } 253 AUE_ISSETUGID STD { int issetugid(void); } 254 AUE_LCHOWN STD { int lchown(char *path, int uid, int gid); } -255 AUE_NULL NOSTD { int aio_read(struct aiocb *aiocbp); } -256 AUE_NULL NOSTD { int aio_write(struct aiocb *aiocbp); } -257 AUE_NULL NOSTD { int lio_listio(int mode, \ +255 AUE_NULL STD { int aio_read(struct aiocb *aiocbp); } +256 AUE_NULL STD { int aio_write(struct aiocb *aiocbp); } +257 AUE_NULL STD { int lio_listio(int mode, \ struct aiocb * const *acb_list, \ int nent, struct sigevent *sig); } 258 AUE_NULL UNIMPL nosys @@ -554,16 +554,16 @@ 312 AUE_SETRESGID STD { int setresgid(gid_t rgid, gid_t egid, \ gid_t sgid); } 313 AUE_NULL OBSOL signanosleep -314 AUE_NULL NOSTD { int aio_return(struct aiocb *aiocbp); } -315 AUE_NULL NOSTD { int aio_suspend( \ +314 AUE_NULL STD { int aio_return(struct aiocb *aiocbp); } +315 AUE_NULL STD { int aio_suspend( \ struct aiocb * const * aiocbp, int nent, \ const struct timespec *timeout); } -316 AUE_NULL NOSTD { int aio_cancel(int fd, \ +316 AUE_NULL STD { int aio_cancel(int fd, \ struct aiocb *aiocbp); } -317 AUE_NULL NOSTD { int aio_error(struct aiocb *aiocbp); } -318 AUE_NULL NOSTD { int oaio_read(struct oaiocb *aiocbp); } -319 AUE_NULL NOSTD { int oaio_write(struct oaiocb *aiocbp); } -320 AUE_NULL NOSTD { int olio_listio(int mode, \ +317 AUE_NULL STD { int aio_error(struct aiocb *aiocbp); } +318 AUE_NULL COMPAT6 { int aio_read(struct oaiocb *aiocbp); } +319 AUE_NULL COMPAT6 { int aio_write(struct oaiocb *aiocbp); } +320 AUE_NULL COMPAT6 { int lio_listio(int mode, \ struct oaiocb * const *acb_list, \ int nent, struct osigevent *sig); } 321 AUE_NULL STD { int yield(void); } @@ -643,7 +643,7 @@ 358 AUE_EXTATTR_DELETE_FILE STD { int extattr_delete_file(const char *path, \ int attrnamespace, \ const char *attrname); } -359 AUE_NULL NOSTD { int aio_waitcomplete( \ +359 AUE_NULL STD { int aio_waitcomplete( \ struct aiocb **aiocbp, \ struct timespec *timeout); } 360 AUE_GETRESUID STD { int getresuid(uid_t *ruid, uid_t *euid, \ @@ -830,7 +830,7 @@ 462 AUE_NULL NOSTD { int kmq_unlink(const char *path); } 463 AUE_NULL STD { int abort2(const char *why, int nargs, void **args); } 464 AUE_NULL STD { int thr_set_name(long id, const char *name); } -465 AUE_NULL NOSTD { int aio_fsync(int op, struct aiocb *aiocbp); } +465 AUE_NULL STD { int aio_fsync(int op, struct aiocb *aiocbp); } 466 AUE_RTPRIO STD { int rtprio_thread(int function, \ lwpid_t lwpid, struct rtprio *rtp); } 467 AUE_NULL UNIMPL nosys @@ -977,7 +977,7 @@ __socklen_t * __restrict anamelen, \ int flags); } 542 AUE_PIPE STD { int pipe2(int *fildes, int flags); } -543 AUE_NULL NOSTD { int aio_mlock(struct aiocb *aiocbp); } +543 AUE_NULL STD { int aio_mlock(struct aiocb *aiocbp); } 544 AUE_NULL STD { int procctl(idtype_t idtype, id_t id, \ int com, void *data); } 545 AUE_POLL STD { int ppoll(struct pollfd *fds, u_int nfds, \ Modified: head/sys/kern/vfs_aio.c ============================================================================== --- head/sys/kern/vfs_aio.c Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/kern/vfs_aio.c Wed Mar 9 19:05:11 2016 (r296572) @@ -161,6 +161,7 @@ static int max_buf_aio = MAX_BUF_AIO; SYSCTL_INT(_vfs_aio, OID_AUTO, max_buf_aio, CTLFLAG_RW, &max_buf_aio, 0, "Maximum buf aio requests per process (stored in the process)"); +#ifdef COMPAT_FREEBSD6 typedef struct oaiocb { int aio_fildes; /* File descriptor */ off_t aio_offset; /* File offset for I/O */ @@ -171,6 +172,7 @@ typedef struct oaiocb { int aio_reqprio; /* Request priority -- ignored */ struct __aiocb_private _aiocb_private; } oaiocb_t; +#endif /* * Below is a key of locks used to protect each member of struct kaiocb @@ -368,52 +370,7 @@ static moduledata_t aio_mod = { NULL }; -static struct syscall_helper_data aio_syscalls[] = { - SYSCALL_INIT_HELPER(aio_cancel), - SYSCALL_INIT_HELPER(aio_error), - SYSCALL_INIT_HELPER(aio_fsync), - SYSCALL_INIT_HELPER(aio_mlock), - SYSCALL_INIT_HELPER(aio_read), - SYSCALL_INIT_HELPER(aio_return), - SYSCALL_INIT_HELPER(aio_suspend), - SYSCALL_INIT_HELPER(aio_waitcomplete), - SYSCALL_INIT_HELPER(aio_write), - SYSCALL_INIT_HELPER(lio_listio), - SYSCALL_INIT_HELPER(oaio_read), - SYSCALL_INIT_HELPER(oaio_write), - SYSCALL_INIT_HELPER(olio_listio), - SYSCALL_INIT_LAST -}; - -#ifdef COMPAT_FREEBSD32 -#include -#include -#include -#include -#include -#include -#include - -static struct syscall_helper_data aio32_syscalls[] = { - SYSCALL32_INIT_HELPER(freebsd32_aio_return), - SYSCALL32_INIT_HELPER(freebsd32_aio_suspend), - SYSCALL32_INIT_HELPER(freebsd32_aio_cancel), - SYSCALL32_INIT_HELPER(freebsd32_aio_error), - SYSCALL32_INIT_HELPER(freebsd32_aio_fsync), - SYSCALL32_INIT_HELPER(freebsd32_aio_mlock), - SYSCALL32_INIT_HELPER(freebsd32_aio_read), - SYSCALL32_INIT_HELPER(freebsd32_aio_write), - SYSCALL32_INIT_HELPER(freebsd32_aio_waitcomplete), - SYSCALL32_INIT_HELPER(freebsd32_lio_listio), - SYSCALL32_INIT_HELPER(freebsd32_oaio_read), - SYSCALL32_INIT_HELPER(freebsd32_oaio_write), - SYSCALL32_INIT_HELPER(freebsd32_olio_listio), - SYSCALL_INIT_LAST -}; -#endif - -DECLARE_MODULE(aio, aio_mod, - SI_SUB_VFS, SI_ORDER_ANY); +DECLARE_MODULE(aio, aio_mod, SI_SUB_VFS, SI_ORDER_ANY); MODULE_VERSION(aio, 1); /* @@ -422,7 +379,6 @@ MODULE_VERSION(aio, 1); static int aio_onceonly(void) { - int error; exit_tag = EVENTHANDLER_REGISTER(process_exit, aio_proc_rundown, NULL, EVENTHANDLER_PRI_ANY); @@ -447,19 +403,11 @@ aio_onceonly(void) NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); aiod_lifetime = AIOD_LIFETIME_DEFAULT; jobrefid = 1; - async_io_version = _POSIX_VERSION; + p31b_setcfg(CTL_P1003_1B_ASYNCHRONOUS_IO, _POSIX_ASYNCHRONOUS_IO); p31b_setcfg(CTL_P1003_1B_AIO_LISTIO_MAX, AIO_LISTIO_MAX); p31b_setcfg(CTL_P1003_1B_AIO_MAX, MAX_AIO_QUEUE); p31b_setcfg(CTL_P1003_1B_AIO_PRIO_DELTA_MAX, 0); - error = syscall_helper_register(aio_syscalls, SY_THR_STATIC_KLD); - if (error) - return (error); -#ifdef COMPAT_FREEBSD32 - error = syscall32_helper_register(aio32_syscalls, SY_THR_STATIC_KLD); - if (error) - return (error); -#endif return (0); } @@ -1340,6 +1288,7 @@ unref: return (error); } +#ifdef COMPAT_FREEBSD6 static int convert_old_sigevent(struct osigevent *osig, struct sigevent *nsig) { @@ -1379,6 +1328,7 @@ aiocb_copyin_old_sigevent(struct aiocb * ojob = (struct oaiocb *)kjob; return (convert_old_sigevent(&ojob->aio_sigevent, &kjob->aio_sigevent)); } +#endif static int aiocb_copyin(struct aiocb *ujob, struct aiocb *kjob) @@ -1439,6 +1389,7 @@ static struct aiocb_ops aiocb_ops = { .store_aiocb = aiocb_store_aiocb, }; +#ifdef COMPAT_FREEBSD6 static struct aiocb_ops aiocb_ops_osigevent = { .copyin = aiocb_copyin_old_sigevent, .fetch_status = aiocb_fetch_status, @@ -1448,6 +1399,7 @@ static struct aiocb_ops aiocb_ops_osigev .store_kernelinfo = aiocb_store_kernelinfo, .store_aiocb = aiocb_store_aiocb, }; +#endif /* * Queue a new AIO request. Choosing either the threaded or direct physio VCHR @@ -2094,13 +2046,15 @@ sys_aio_error(struct thread *td, struct } /* syscall - asynchronous read from a file (REALTIME) */ +#ifdef COMPAT_FREEBSD6 int -sys_oaio_read(struct thread *td, struct oaio_read_args *uap) +freebsd6_aio_read(struct thread *td, struct freebsd6_aio_read_args *uap) { return (aio_aqueue(td, (struct aiocb *)uap->aiocbp, NULL, LIO_READ, &aiocb_ops_osigevent)); } +#endif int sys_aio_read(struct thread *td, struct aio_read_args *uap) @@ -2110,13 +2064,15 @@ sys_aio_read(struct thread *td, struct a } /* syscall - asynchronous write to a file (REALTIME) */ +#ifdef COMPAT_FREEBSD6 int -sys_oaio_write(struct thread *td, struct oaio_write_args *uap) +freebsd6_aio_write(struct thread *td, struct freebsd6_aio_write_args *uap) { return (aio_aqueue(td, (struct aiocb *)uap->aiocbp, NULL, LIO_WRITE, &aiocb_ops_osigevent)); } +#endif int sys_aio_write(struct thread *td, struct aio_write_args *uap) @@ -2268,8 +2224,9 @@ kern_lio_listio(struct thread *td, int m } /* syscall - list directed I/O (REALTIME) */ +#ifdef COMPAT_FREEBSD6 int -sys_olio_listio(struct thread *td, struct olio_listio_args *uap) +freebsd6_lio_listio(struct thread *td, struct freebsd6_lio_listio_args *uap) { struct aiocb **acb_list; struct sigevent *sigp, sig; @@ -2303,6 +2260,7 @@ sys_olio_listio(struct thread *td, struc free(acb_list, M_LIO); return (error); } +#endif /* syscall - list directed I/O (REALTIME) */ int @@ -2582,6 +2540,13 @@ filt_lio(struct knote *kn, long hint) } #ifdef COMPAT_FREEBSD32 +#include +#include +#include +#include +#include +#include +#include struct __aiocb_private32 { int32_t status; @@ -2589,6 +2554,7 @@ struct __aiocb_private32 { uint32_t kernelinfo; }; +#ifdef COMPAT_FREEBSD6 typedef struct oaiocb32 { int aio_fildes; /* File descriptor */ uint64_t aio_offset __packed; /* File offset for I/O */ @@ -2599,6 +2565,7 @@ typedef struct oaiocb32 { int aio_reqprio; /* Request priority -- ignored */ struct __aiocb_private32 _aiocb_private; } oaiocb32_t; +#endif typedef struct aiocb32 { int32_t aio_fildes; /* File descriptor */ @@ -2613,6 +2580,7 @@ typedef struct aiocb32 { struct sigevent32 aio_sigevent; /* Signal to deliver */ } aiocb32_t; +#ifdef COMPAT_FREEBSD6 static int convert_old_sigevent32(struct osigevent32 *osig, struct sigevent *nsig) { @@ -2662,6 +2630,7 @@ aiocb32_copyin_old_sigevent(struct aiocb return (convert_old_sigevent32(&job32.aio_sigevent, &kjob->aio_sigevent)); } +#endif static int aiocb32_copyin(struct aiocb *ujob, struct aiocb *kjob) @@ -2746,6 +2715,7 @@ static struct aiocb_ops aiocb32_ops = { .store_aiocb = aiocb32_store_aiocb, }; +#ifdef COMPAT_FREEBSD6 static struct aiocb_ops aiocb32_ops_osigevent = { .copyin = aiocb32_copyin_old_sigevent, .fetch_status = aiocb32_fetch_status, @@ -2755,6 +2725,7 @@ static struct aiocb_ops aiocb32_ops_osig .store_kernelinfo = aiocb32_store_kernelinfo, .store_aiocb = aiocb32_store_aiocb, }; +#endif int freebsd32_aio_return(struct thread *td, struct freebsd32_aio_return_args *uap) @@ -2800,26 +2771,22 @@ freebsd32_aio_suspend(struct thread *td, } int -freebsd32_aio_cancel(struct thread *td, struct freebsd32_aio_cancel_args *uap) -{ - - return (sys_aio_cancel(td, (struct aio_cancel_args *)uap)); -} - -int freebsd32_aio_error(struct thread *td, struct freebsd32_aio_error_args *uap) { return (kern_aio_error(td, (struct aiocb *)uap->aiocbp, &aiocb32_ops)); } +#ifdef COMPAT_FREEBSD6 int -freebsd32_oaio_read(struct thread *td, struct freebsd32_oaio_read_args *uap) +freebsd6_freebsd32_aio_read(struct thread *td, + struct freebsd6_freebsd32_aio_read_args *uap) { return (aio_aqueue(td, (struct aiocb *)uap->aiocbp, NULL, LIO_READ, &aiocb32_ops_osigevent)); } +#endif int freebsd32_aio_read(struct thread *td, struct freebsd32_aio_read_args *uap) @@ -2829,13 +2796,16 @@ freebsd32_aio_read(struct thread *td, st &aiocb32_ops)); } +#ifdef COMPAT_FREEBSD6 int -freebsd32_oaio_write(struct thread *td, struct freebsd32_oaio_write_args *uap) +freebsd6_freebsd32_aio_write(struct thread *td, + struct freebsd6_freebsd32_aio_write_args *uap) { return (aio_aqueue(td, (struct aiocb *)uap->aiocbp, NULL, LIO_WRITE, &aiocb32_ops_osigevent)); } +#endif int freebsd32_aio_write(struct thread *td, struct freebsd32_aio_write_args *uap) @@ -2884,8 +2854,10 @@ freebsd32_aio_fsync(struct thread *td, s &aiocb32_ops)); } +#ifdef COMPAT_FREEBSD6 int -freebsd32_olio_listio(struct thread *td, struct freebsd32_olio_listio_args *uap) +freebsd6_freebsd32_lio_listio(struct thread *td, + struct freebsd6_freebsd32_lio_listio_args *uap) { struct aiocb **acb_list; struct sigevent *sigp, sig; @@ -2928,6 +2900,7 @@ freebsd32_olio_listio(struct thread *td, free(acb_list, M_LIO); return (error); } +#endif int freebsd32_lio_listio(struct thread *td, struct freebsd32_lio_listio_args *uap) Modified: head/sys/kern/vfs_default.c ============================================================================== --- head/sys/kern/vfs_default.c Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/kern/vfs_default.c Wed Mar 9 19:05:11 2016 (r296572) @@ -472,6 +472,9 @@ vop_stdpathconf(ap) { switch (ap->a_name) { + case _PC_ASYNC_IO: + *ap->a_retval = _POSIX_ASYNCHRONOUS_IO; + return (0); case _PC_NAME_MAX: *ap->a_retval = NAME_MAX; return (0); Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/kern/vfs_syscalls.c Wed Mar 9 19:05:11 2016 (r296572) @@ -106,14 +106,6 @@ static int vn_access(struct vnode *vp, i struct thread *td); /* - * The module initialization routine for POSIX asynchronous I/O will - * set this to the version of AIO that it implements. (Zero means - * that it is not implemented.) This value is used here by pathconf() - * and in kern_descrip.c by fpathconf(). - */ -int async_io_version; - -/* * Sync each mounted filesystem. */ #ifndef _SYS_SYSPROTO_H_ @@ -2347,11 +2339,7 @@ kern_pathconf(struct thread *td, char *p return (error); NDFREE(&nd, NDF_ONLY_PNBUF); - /* If asynchronous I/O is available, it works for all files. */ - if (name == _PC_ASYNC_IO) - td->td_retval[0] = async_io_version; - else - error = VOP_PATHCONF(nd.ni_vp, name, td->td_retval); + error = VOP_PATHCONF(nd.ni_vp, name, td->td_retval); vput(nd.ni_vp); return (error); } Modified: head/sys/sys/signalvar.h ============================================================================== --- head/sys/sys/signalvar.h Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/sys/signalvar.h Wed Mar 9 19:05:11 2016 (r296572) @@ -199,6 +199,7 @@ __sigseteq(sigset_t *set1, sigset_t *set return (1); } +#ifdef COMPAT_FREEBSD6 struct osigevent { int sigev_notify; /* Notification type */ union { @@ -207,6 +208,7 @@ struct osigevent { } __sigev_u; union sigval sigev_value; /* Signal value */ }; +#endif typedef struct ksiginfo { TAILQ_ENTRY(ksiginfo) ksi_link; Modified: head/sys/sys/unistd.h ============================================================================== --- head/sys/sys/unistd.h Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/sys/unistd.h Wed Mar 9 19:05:11 2016 (r296572) @@ -50,7 +50,7 @@ * returns -1, the functions may be stubbed out. */ #define _POSIX_ADVISORY_INFO 200112L -#define _POSIX_ASYNCHRONOUS_IO 0 +#define _POSIX_ASYNCHRONOUS_IO 200112L #define _POSIX_CHOWN_RESTRICTED 1 #define _POSIX_CLOCK_SELECTION (-1) #define _POSIX_CPUTIME 200112L Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Wed Mar 9 18:45:41 2016 (r296571) +++ head/sys/sys/vnode.h Wed Mar 9 19:05:11 2016 (r296572) @@ -422,7 +422,6 @@ extern int vttoif_tab[]; */ extern struct vnode *rootvnode; /* root (i.e. "/") vnode */ extern struct mount *rootdevmp; /* "/dev" mount */ -extern int async_io_version; /* 0 or POSIX version of AIO i'face */ extern int desiredvnodes; /* number of vnodes desired */ extern struct uma_zone *namei_zone; extern struct vattr va_null; /* predefined null vattr structure */ From owner-svn-src-all@freebsd.org Wed Mar 9 19:06:49 2016 Return-Path: Delivered-To: svn-src-all@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 72DE2AC965D; Wed, 9 Mar 2016 19:06:49 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 12EFCEA3; Wed, 9 Mar 2016 19:06:49 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29J6mxU026063; Wed, 9 Mar 2016 19:06:48 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29J6l1q026052; Wed, 9 Mar 2016 19:06:47 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603091906.u29J6l1q026052@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 9 Mar 2016 19:06:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296573 - in head/sys: compat/freebsd32 kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 19:06:49 -0000 Author: jhb Date: Wed Mar 9 19:06:46 2016 New Revision: 296573 URL: https://svnweb.freebsd.org/changeset/base/296573 Log: Regen. Modified: head/sys/compat/freebsd32/freebsd32_proto.h head/sys/compat/freebsd32/freebsd32_syscall.h head/sys/compat/freebsd32/freebsd32_syscalls.c head/sys/compat/freebsd32/freebsd32_sysent.c head/sys/compat/freebsd32/freebsd32_systrace_args.c head/sys/kern/init_sysent.c head/sys/kern/syscalls.c head/sys/kern/systrace_args.c head/sys/sys/syscall.h head/sys/sys/syscall.mk head/sys/sys/sysproto.h Modified: head/sys/compat/freebsd32/freebsd32_proto.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32_proto.h Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/compat/freebsd32/freebsd32_proto.h Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 277610 2015-01-23 21:07:08Z jilles + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ #ifndef _FREEBSD32_SYSPROTO_H_ @@ -285,25 +285,9 @@ struct freebsd32_aio_suspend_args { char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)]; char timeout_l_[PADL_(const struct timespec32 *)]; const struct timespec32 * timeout; char timeout_r_[PADR_(const struct timespec32 *)]; }; -struct freebsd32_aio_cancel_args { - char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; - char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)]; -}; struct freebsd32_aio_error_args { char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)]; }; -struct freebsd32_oaio_read_args { - char aiocbp_l_[PADL_(struct oaiocb32 *)]; struct oaiocb32 * aiocbp; char aiocbp_r_[PADR_(struct oaiocb32 *)]; -}; -struct freebsd32_oaio_write_args { - char aiocbp_l_[PADL_(struct oaiocb32 *)]; struct oaiocb32 * aiocbp; char aiocbp_r_[PADR_(struct oaiocb32 *)]; -}; -struct freebsd32_olio_listio_args { - char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)]; - char acb_list_l_[PADL_(struct oaiocb32 *const *)]; struct oaiocb32 *const * acb_list; char acb_list_r_[PADR_(struct oaiocb32 *const *)]; - char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)]; - char sig_l_[PADL_(struct osigevent32 *)]; struct osigevent32 * sig; char sig_r_[PADR_(struct osigevent32 *)]; -}; struct freebsd32_jail_args { char jail_l_[PADL_(struct jail32 *)]; struct jail32 * jail; char jail_r_[PADR_(struct jail32 *)]; }; @@ -755,11 +739,7 @@ int freebsd32_modstat(struct thread *, s int freebsd32_kldstat(struct thread *, struct freebsd32_kldstat_args *); int freebsd32_aio_return(struct thread *, struct freebsd32_aio_return_args *); int freebsd32_aio_suspend(struct thread *, struct freebsd32_aio_suspend_args *); -int freebsd32_aio_cancel(struct thread *, struct freebsd32_aio_cancel_args *); int freebsd32_aio_error(struct thread *, struct freebsd32_aio_error_args *); -int freebsd32_oaio_read(struct thread *, struct freebsd32_oaio_read_args *); -int freebsd32_oaio_write(struct thread *, struct freebsd32_oaio_write_args *); -int freebsd32_olio_listio(struct thread *, struct freebsd32_olio_listio_args *); int freebsd32_jail(struct thread *, struct freebsd32_jail_args *); int freebsd32_sigtimedwait(struct thread *, struct freebsd32_sigtimedwait_args *); int freebsd32_sigwaitinfo(struct thread *, struct freebsd32_sigwaitinfo_args *); @@ -1043,6 +1023,18 @@ struct freebsd6_freebsd32_ftruncate_args char length1_l_[PADL_(uint32_t)]; uint32_t length1; char length1_r_[PADR_(uint32_t)]; char length2_l_[PADL_(uint32_t)]; uint32_t length2; char length2_r_[PADR_(uint32_t)]; }; +struct freebsd6_freebsd32_aio_read_args { + char aiocbp_l_[PADL_(struct oaiocb32 *)]; struct oaiocb32 * aiocbp; char aiocbp_r_[PADR_(struct oaiocb32 *)]; +}; +struct freebsd6_freebsd32_aio_write_args { + char aiocbp_l_[PADL_(struct oaiocb32 *)]; struct oaiocb32 * aiocbp; char aiocbp_r_[PADR_(struct oaiocb32 *)]; +}; +struct freebsd6_freebsd32_lio_listio_args { + char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)]; + char acb_list_l_[PADL_(struct oaiocb32 *const *)]; struct oaiocb32 *const * acb_list; char acb_list_r_[PADR_(struct oaiocb32 *const *)]; + char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)]; + char sig_l_[PADL_(struct osigevent32 *)]; struct osigevent32 * sig; char sig_r_[PADR_(struct osigevent32 *)]; +}; #ifdef PAD64_REQUIRED #else #endif @@ -1061,6 +1053,9 @@ int freebsd6_freebsd32_mmap(struct threa int freebsd6_freebsd32_lseek(struct thread *, struct freebsd6_freebsd32_lseek_args *); int freebsd6_freebsd32_truncate(struct thread *, struct freebsd6_freebsd32_truncate_args *); int freebsd6_freebsd32_ftruncate(struct thread *, struct freebsd6_freebsd32_ftruncate_args *); +int freebsd6_freebsd32_aio_read(struct thread *, struct freebsd6_freebsd32_aio_read_args *); +int freebsd6_freebsd32_aio_write(struct thread *, struct freebsd6_freebsd32_aio_write_args *); +int freebsd6_freebsd32_lio_listio(struct thread *, struct freebsd6_freebsd32_lio_listio_args *); #endif /* COMPAT_FREEBSD6 */ @@ -1181,11 +1176,10 @@ int freebsd7_freebsd32_shmctl(struct thr #define FREEBSD32_SYS_AUE_freebsd32_kldstat AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_aio_return AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_aio_suspend AUE_NULL -#define FREEBSD32_SYS_AUE_freebsd32_aio_cancel AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_aio_error AUE_NULL -#define FREEBSD32_SYS_AUE_freebsd32_oaio_read AUE_NULL -#define FREEBSD32_SYS_AUE_freebsd32_oaio_write AUE_NULL -#define FREEBSD32_SYS_AUE_freebsd32_olio_listio AUE_NULL +#define FREEBSD32_SYS_AUE_freebsd6_freebsd32_aio_read AUE_NULL +#define FREEBSD32_SYS_AUE_freebsd6_freebsd32_aio_write AUE_NULL +#define FREEBSD32_SYS_AUE_freebsd6_freebsd32_lio_listio AUE_NULL #define FREEBSD32_SYS_AUE_freebsd4_freebsd32_sendfile AUE_SENDFILE #define FREEBSD32_SYS_AUE_freebsd32_jail AUE_JAIL #define FREEBSD32_SYS_AUE_freebsd4_freebsd32_sigaction AUE_SIGACTION Modified: head/sys/compat/freebsd32/freebsd32_syscall.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32_syscall.h Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/compat/freebsd32/freebsd32_syscall.h Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 277610 2015-01-23 21:07:08Z jilles + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ #define FREEBSD32_SYS_syscall 0 @@ -253,11 +253,11 @@ /* 313 is obsolete signanosleep */ #define FREEBSD32_SYS_freebsd32_aio_return 314 #define FREEBSD32_SYS_freebsd32_aio_suspend 315 -#define FREEBSD32_SYS_freebsd32_aio_cancel 316 +#define FREEBSD32_SYS_aio_cancel 316 #define FREEBSD32_SYS_freebsd32_aio_error 317 -#define FREEBSD32_SYS_freebsd32_oaio_read 318 -#define FREEBSD32_SYS_freebsd32_oaio_write 319 -#define FREEBSD32_SYS_freebsd32_olio_listio 320 +#define FREEBSD32_SYS_freebsd6_freebsd32_aio_read 318 +#define FREEBSD32_SYS_freebsd6_freebsd32_aio_write 319 +#define FREEBSD32_SYS_freebsd6_freebsd32_lio_listio 320 #define FREEBSD32_SYS_yield 321 /* 322 is obsolete thr_sleep */ /* 323 is obsolete thr_wakeup */ Modified: head/sys/compat/freebsd32/freebsd32_syscalls.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_syscalls.c Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/compat/freebsd32/freebsd32_syscalls.c Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 277610 2015-01-23 21:07:08Z jilles + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ const char *freebsd32_syscallnames[] = { @@ -326,11 +326,11 @@ const char *freebsd32_syscallnames[] = { "obs_signanosleep", /* 313 = obsolete signanosleep */ "freebsd32_aio_return", /* 314 = freebsd32_aio_return */ "freebsd32_aio_suspend", /* 315 = freebsd32_aio_suspend */ - "freebsd32_aio_cancel", /* 316 = freebsd32_aio_cancel */ + "aio_cancel", /* 316 = aio_cancel */ "freebsd32_aio_error", /* 317 = freebsd32_aio_error */ - "freebsd32_oaio_read", /* 318 = freebsd32_oaio_read */ - "freebsd32_oaio_write", /* 319 = freebsd32_oaio_write */ - "freebsd32_olio_listio", /* 320 = freebsd32_olio_listio */ + "compat6.freebsd32_aio_read", /* 318 = freebsd6 freebsd32_aio_read */ + "compat6.freebsd32_aio_write", /* 319 = freebsd6 freebsd32_aio_write */ + "compat6.freebsd32_lio_listio", /* 320 = freebsd6 freebsd32_lio_listio */ "yield", /* 321 = yield */ "obs_thr_sleep", /* 322 = obsolete thr_sleep */ "obs_thr_wakeup", /* 323 = obsolete thr_wakeup */ Modified: head/sys/compat/freebsd32/freebsd32_sysent.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_sysent.c Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/compat/freebsd32/freebsd32_sysent.c Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 277610 2015-01-23 21:07:08Z jilles + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ #include "opt_compat.h" @@ -302,9 +302,9 @@ struct sysent freebsd32_sysent[] = { { AS(openbsd_poll_args), (sy_call_t *)sys_openbsd_poll, AUE_POLL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 252 = openbsd_poll */ { 0, (sy_call_t *)sys_issetugid, AUE_ISSETUGID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 253 = issetugid */ { AS(lchown_args), (sy_call_t *)sys_lchown, AUE_LCHOWN, NULL, 0, 0, 0, SY_THR_STATIC }, /* 254 = lchown */ - { AS(freebsd32_aio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 255 = freebsd32_aio_read */ - { AS(freebsd32_aio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 256 = freebsd32_aio_write */ - { AS(freebsd32_lio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 257 = freebsd32_lio_listio */ + { AS(freebsd32_aio_read_args), (sy_call_t *)freebsd32_aio_read, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 255 = freebsd32_aio_read */ + { AS(freebsd32_aio_write_args), (sy_call_t *)freebsd32_aio_write, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 256 = freebsd32_aio_write */ + { AS(freebsd32_lio_listio_args), (sy_call_t *)freebsd32_lio_listio, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 257 = freebsd32_lio_listio */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 258 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 259 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 260 = nosys */ @@ -361,13 +361,13 @@ struct sysent freebsd32_sysent[] = { { AS(setresuid_args), (sy_call_t *)sys_setresuid, AUE_SETRESUID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 311 = setresuid */ { AS(setresgid_args), (sy_call_t *)sys_setresgid, AUE_SETRESGID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 312 = setresgid */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 313 = obsolete signanosleep */ - { AS(freebsd32_aio_return_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 314 = freebsd32_aio_return */ - { AS(freebsd32_aio_suspend_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 315 = freebsd32_aio_suspend */ - { AS(freebsd32_aio_cancel_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 316 = freebsd32_aio_cancel */ - { AS(freebsd32_aio_error_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 317 = freebsd32_aio_error */ - { AS(freebsd32_oaio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 318 = freebsd32_oaio_read */ - { AS(freebsd32_oaio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 319 = freebsd32_oaio_write */ - { AS(freebsd32_olio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 320 = freebsd32_olio_listio */ + { AS(freebsd32_aio_return_args), (sy_call_t *)freebsd32_aio_return, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 314 = freebsd32_aio_return */ + { AS(freebsd32_aio_suspend_args), (sy_call_t *)freebsd32_aio_suspend, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 315 = freebsd32_aio_suspend */ + { AS(aio_cancel_args), (sy_call_t *)sys_aio_cancel, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 316 = aio_cancel */ + { AS(freebsd32_aio_error_args), (sy_call_t *)freebsd32_aio_error, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 317 = freebsd32_aio_error */ + { compat6(AS(freebsd6_freebsd32_aio_read_args),freebsd32_aio_read), AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 318 = freebsd6 freebsd32_aio_read */ + { compat6(AS(freebsd6_freebsd32_aio_write_args),freebsd32_aio_write), AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 319 = freebsd6 freebsd32_aio_write */ + { compat6(AS(freebsd6_freebsd32_lio_listio_args),freebsd32_lio_listio), AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 320 = freebsd6 freebsd32_lio_listio */ { 0, (sy_call_t *)sys_yield, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 321 = yield */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 322 = obsolete thr_sleep */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 323 = obsolete thr_wakeup */ @@ -406,7 +406,7 @@ struct sysent freebsd32_sysent[] = { { AS(extattr_set_file_args), (sy_call_t *)sys_extattr_set_file, AUE_EXTATTR_SET_FILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 356 = extattr_set_file */ { AS(extattr_get_file_args), (sy_call_t *)sys_extattr_get_file, AUE_EXTATTR_GET_FILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 357 = extattr_get_file */ { AS(extattr_delete_file_args), (sy_call_t *)sys_extattr_delete_file, AUE_EXTATTR_DELETE_FILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 358 = extattr_delete_file */ - { AS(freebsd32_aio_waitcomplete_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 359 = freebsd32_aio_waitcomplete */ + { AS(freebsd32_aio_waitcomplete_args), (sy_call_t *)freebsd32_aio_waitcomplete, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 359 = freebsd32_aio_waitcomplete */ { AS(getresuid_args), (sy_call_t *)sys_getresuid, AUE_GETRESUID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 360 = getresuid */ { AS(getresgid_args), (sy_call_t *)sys_getresgid, AUE_GETRESGID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 361 = getresgid */ { 0, (sy_call_t *)sys_kqueue, AUE_KQUEUE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 362 = kqueue */ @@ -512,7 +512,7 @@ struct sysent freebsd32_sysent[] = { { AS(kmq_unlink_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 462 = kmq_unlink */ { AS(abort2_args), (sy_call_t *)sys_abort2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 463 = abort2 */ { AS(thr_set_name_args), (sy_call_t *)sys_thr_set_name, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 464 = thr_set_name */ - { AS(freebsd32_aio_fsync_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 465 = freebsd32_aio_fsync */ + { AS(freebsd32_aio_fsync_args), (sy_call_t *)freebsd32_aio_fsync, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 465 = freebsd32_aio_fsync */ { AS(rtprio_thread_args), (sy_call_t *)sys_rtprio_thread, AUE_RTPRIO, NULL, 0, 0, 0, SY_THR_STATIC }, /* 466 = rtprio_thread */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 467 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 468 = nosys */ @@ -609,7 +609,7 @@ struct sysent freebsd32_sysent[] = { { AS(chflagsat_args), (sy_call_t *)sys_chflagsat, AUE_CHFLAGSAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 540 = chflagsat */ { AS(accept4_args), (sy_call_t *)sys_accept4, AUE_ACCEPT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 541 = accept4 */ { AS(pipe2_args), (sy_call_t *)sys_pipe2, AUE_PIPE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 542 = pipe2 */ - { AS(freebsd32_aio_mlock_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 543 = freebsd32_aio_mlock */ + { AS(freebsd32_aio_mlock_args), (sy_call_t *)freebsd32_aio_mlock, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 543 = freebsd32_aio_mlock */ #ifdef PAD64_REQUIRED { AS(freebsd32_procctl_args), (sy_call_t *)freebsd32_procctl, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 544 = freebsd32_procctl */ #else Modified: head/sys/compat/freebsd32/freebsd32_systrace_args.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_systrace_args.c Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/compat/freebsd32/freebsd32_systrace_args.c Wed Mar 9 19:06:46 2016 (r296573) @@ -1556,11 +1556,11 @@ systrace_args(int sysnum, void *params, *n_args = 3; break; } - /* freebsd32_aio_cancel */ + /* aio_cancel */ case 316: { - struct freebsd32_aio_cancel_args *p = params; + struct aio_cancel_args *p = params; iarg[0] = p->fd; /* int */ - uarg[1] = (intptr_t) p->aiocbp; /* struct aiocb32 * */ + uarg[1] = (intptr_t) p->aiocbp; /* struct aiocb * */ *n_args = 2; break; } @@ -1571,30 +1571,6 @@ systrace_args(int sysnum, void *params, *n_args = 1; break; } - /* freebsd32_oaio_read */ - case 318: { - struct freebsd32_oaio_read_args *p = params; - uarg[0] = (intptr_t) p->aiocbp; /* struct oaiocb32 * */ - *n_args = 1; - break; - } - /* freebsd32_oaio_write */ - case 319: { - struct freebsd32_oaio_write_args *p = params; - uarg[0] = (intptr_t) p->aiocbp; /* struct oaiocb32 * */ - *n_args = 1; - break; - } - /* freebsd32_olio_listio */ - case 320: { - struct freebsd32_olio_listio_args *p = params; - iarg[0] = p->mode; /* int */ - uarg[1] = (intptr_t) p->acb_list; /* struct oaiocb32 *const * */ - iarg[2] = p->nent; /* int */ - uarg[3] = (intptr_t) p->sig; /* struct osigevent32 * */ - *n_args = 4; - break; - } /* yield */ case 321: { *n_args = 0; @@ -5813,14 +5789,14 @@ systrace_entry_setargdesc(int sysnum, in break; }; break; - /* freebsd32_aio_cancel */ + /* aio_cancel */ case 316: switch(ndx) { case 0: p = "int"; break; case 1: - p = "struct aiocb32 *"; + p = "struct aiocb *"; break; default: break; @@ -5836,45 +5812,6 @@ systrace_entry_setargdesc(int sysnum, in break; }; break; - /* freebsd32_oaio_read */ - case 318: - switch(ndx) { - case 0: - p = "struct oaiocb32 *"; - break; - default: - break; - }; - break; - /* freebsd32_oaio_write */ - case 319: - switch(ndx) { - case 0: - p = "struct oaiocb32 *"; - break; - default: - break; - }; - break; - /* freebsd32_olio_listio */ - case 320: - switch(ndx) { - case 0: - p = "int"; - break; - case 1: - p = "struct oaiocb32 *const *"; - break; - case 2: - p = "int"; - break; - case 3: - p = "struct osigevent32 *"; - break; - default: - break; - }; - break; /* yield */ case 321: break; @@ -9884,7 +9821,7 @@ systrace_return_setargdesc(int sysnum, i if (ndx == 0 || ndx == 1) p = "int"; break; - /* freebsd32_aio_cancel */ + /* aio_cancel */ case 316: if (ndx == 0 || ndx == 1) p = "int"; @@ -9894,21 +9831,6 @@ systrace_return_setargdesc(int sysnum, i if (ndx == 0 || ndx == 1) p = "int"; break; - /* freebsd32_oaio_read */ - case 318: - if (ndx == 0 || ndx == 1) - p = "int"; - break; - /* freebsd32_oaio_write */ - case 319: - if (ndx == 0 || ndx == 1) - p = "int"; - break; - /* freebsd32_olio_listio */ - case 320: - if (ndx == 0 || ndx == 1) - p = "int"; - break; /* yield */ case 321: /* mlockall */ Modified: head/sys/kern/init_sysent.c ============================================================================== --- head/sys/kern/init_sysent.c Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/kern/init_sysent.c Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/kern/syscalls.master 285388 2015-07-11 15:22:11Z adrian + * created from FreeBSD: head/sys/kern/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ #include "opt_compat.h" @@ -295,9 +295,9 @@ struct sysent sysent[] = { { AS(openbsd_poll_args), (sy_call_t *)sys_openbsd_poll, AUE_POLL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 252 = openbsd_poll */ { 0, (sy_call_t *)sys_issetugid, AUE_ISSETUGID, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 253 = issetugid */ { AS(lchown_args), (sy_call_t *)sys_lchown, AUE_LCHOWN, NULL, 0, 0, 0, SY_THR_STATIC }, /* 254 = lchown */ - { AS(aio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 255 = aio_read */ - { AS(aio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 256 = aio_write */ - { AS(lio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 257 = lio_listio */ + { AS(aio_read_args), (sy_call_t *)sys_aio_read, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 255 = aio_read */ + { AS(aio_write_args), (sy_call_t *)sys_aio_write, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 256 = aio_write */ + { AS(lio_listio_args), (sy_call_t *)sys_lio_listio, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 257 = lio_listio */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 258 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 259 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 260 = nosys */ @@ -354,13 +354,13 @@ struct sysent sysent[] = { { AS(setresuid_args), (sy_call_t *)sys_setresuid, AUE_SETRESUID, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 311 = setresuid */ { AS(setresgid_args), (sy_call_t *)sys_setresgid, AUE_SETRESGID, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 312 = setresgid */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 313 = obsolete signanosleep */ - { AS(aio_return_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 314 = aio_return */ - { AS(aio_suspend_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 315 = aio_suspend */ - { AS(aio_cancel_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 316 = aio_cancel */ - { AS(aio_error_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 317 = aio_error */ - { AS(oaio_read_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 318 = oaio_read */ - { AS(oaio_write_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 319 = oaio_write */ - { AS(olio_listio_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 320 = olio_listio */ + { AS(aio_return_args), (sy_call_t *)sys_aio_return, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 314 = aio_return */ + { AS(aio_suspend_args), (sy_call_t *)sys_aio_suspend, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 315 = aio_suspend */ + { AS(aio_cancel_args), (sy_call_t *)sys_aio_cancel, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 316 = aio_cancel */ + { AS(aio_error_args), (sy_call_t *)sys_aio_error, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 317 = aio_error */ + { compat6(AS(freebsd6_aio_read_args),aio_read), AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 318 = freebsd6 aio_read */ + { compat6(AS(freebsd6_aio_write_args),aio_write), AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 319 = freebsd6 aio_write */ + { compat6(AS(freebsd6_lio_listio_args),lio_listio), AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 320 = freebsd6 lio_listio */ { 0, (sy_call_t *)sys_yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 321 = yield */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 322 = obsolete thr_sleep */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 323 = obsolete thr_wakeup */ @@ -399,7 +399,7 @@ struct sysent sysent[] = { { AS(extattr_set_file_args), (sy_call_t *)sys_extattr_set_file, AUE_EXTATTR_SET_FILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 356 = extattr_set_file */ { AS(extattr_get_file_args), (sy_call_t *)sys_extattr_get_file, AUE_EXTATTR_GET_FILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 357 = extattr_get_file */ { AS(extattr_delete_file_args), (sy_call_t *)sys_extattr_delete_file, AUE_EXTATTR_DELETE_FILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 358 = extattr_delete_file */ - { AS(aio_waitcomplete_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 359 = aio_waitcomplete */ + { AS(aio_waitcomplete_args), (sy_call_t *)sys_aio_waitcomplete, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 359 = aio_waitcomplete */ { AS(getresuid_args), (sy_call_t *)sys_getresuid, AUE_GETRESUID, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 360 = getresuid */ { AS(getresgid_args), (sy_call_t *)sys_getresgid, AUE_GETRESGID, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 361 = getresgid */ { 0, (sy_call_t *)sys_kqueue, AUE_KQUEUE, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 362 = kqueue */ @@ -505,7 +505,7 @@ struct sysent sysent[] = { { AS(kmq_unlink_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 462 = kmq_unlink */ { AS(abort2_args), (sy_call_t *)sys_abort2, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 463 = abort2 */ { AS(thr_set_name_args), (sy_call_t *)sys_thr_set_name, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 464 = thr_set_name */ - { AS(aio_fsync_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_ABSENT }, /* 465 = aio_fsync */ + { AS(aio_fsync_args), (sy_call_t *)sys_aio_fsync, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 465 = aio_fsync */ { AS(rtprio_thread_args), (sy_call_t *)sys_rtprio_thread, AUE_RTPRIO, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 466 = rtprio_thread */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 467 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 468 = nosys */ @@ -583,7 +583,7 @@ struct sysent sysent[] = { { AS(chflagsat_args), (sy_call_t *)sys_chflagsat, AUE_CHFLAGSAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 540 = chflagsat */ { AS(accept4_args), (sy_call_t *)sys_accept4, AUE_ACCEPT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 541 = accept4 */ { AS(pipe2_args), (sy_call_t *)sys_pipe2, AUE_PIPE, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 542 = pipe2 */ - { AS(aio_mlock_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 543 = aio_mlock */ + { AS(aio_mlock_args), (sy_call_t *)sys_aio_mlock, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 543 = aio_mlock */ { AS(procctl_args), (sy_call_t *)sys_procctl, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 544 = procctl */ { AS(ppoll_args), (sy_call_t *)sys_ppoll, AUE_POLL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 545 = ppoll */ { AS(futimens_args), (sy_call_t *)sys_futimens, AUE_FUTIMES, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 546 = futimens */ Modified: head/sys/kern/syscalls.c ============================================================================== --- head/sys/kern/syscalls.c Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/kern/syscalls.c Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/kern/syscalls.master 285388 2015-07-11 15:22:11Z adrian + * created from FreeBSD: head/sys/kern/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ const char *syscallnames[] = { @@ -325,9 +325,9 @@ const char *syscallnames[] = { "aio_suspend", /* 315 = aio_suspend */ "aio_cancel", /* 316 = aio_cancel */ "aio_error", /* 317 = aio_error */ - "oaio_read", /* 318 = oaio_read */ - "oaio_write", /* 319 = oaio_write */ - "olio_listio", /* 320 = olio_listio */ + "compat6.aio_read", /* 318 = freebsd6 aio_read */ + "compat6.aio_write", /* 319 = freebsd6 aio_write */ + "compat6.lio_listio", /* 320 = freebsd6 lio_listio */ "yield", /* 321 = yield */ "obs_thr_sleep", /* 322 = obsolete thr_sleep */ "obs_thr_wakeup", /* 323 = obsolete thr_wakeup */ Modified: head/sys/kern/systrace_args.c ============================================================================== --- head/sys/kern/systrace_args.c Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/kern/systrace_args.c Wed Mar 9 19:06:46 2016 (r296573) @@ -1605,30 +1605,6 @@ systrace_args(int sysnum, void *params, *n_args = 1; break; } - /* oaio_read */ - case 318: { - struct oaio_read_args *p = params; - uarg[0] = (intptr_t) p->aiocbp; /* struct oaiocb * */ - *n_args = 1; - break; - } - /* oaio_write */ - case 319: { - struct oaio_write_args *p = params; - uarg[0] = (intptr_t) p->aiocbp; /* struct oaiocb * */ - *n_args = 1; - break; - } - /* olio_listio */ - case 320: { - struct olio_listio_args *p = params; - iarg[0] = p->mode; /* int */ - uarg[1] = (intptr_t) p->acb_list; /* struct oaiocb *const * */ - iarg[2] = p->nent; /* int */ - uarg[3] = (intptr_t) p->sig; /* struct osigevent * */ - *n_args = 4; - break; - } /* yield */ case 321: { *n_args = 0; @@ -5899,45 +5875,6 @@ systrace_entry_setargdesc(int sysnum, in break; }; break; - /* oaio_read */ - case 318: - switch(ndx) { - case 0: - p = "struct oaiocb *"; - break; - default: - break; - }; - break; - /* oaio_write */ - case 319: - switch(ndx) { - case 0: - p = "struct oaiocb *"; - break; - default: - break; - }; - break; - /* olio_listio */ - case 320: - switch(ndx) { - case 0: - p = "int"; - break; - case 1: - p = "struct oaiocb *const *"; - break; - case 2: - p = "int"; - break; - case 3: - p = "struct osigevent *"; - break; - default: - break; - }; - break; /* yield */ case 321: break; @@ -9876,21 +9813,6 @@ systrace_return_setargdesc(int sysnum, i if (ndx == 0 || ndx == 1) p = "int"; break; - /* oaio_read */ - case 318: - if (ndx == 0 || ndx == 1) - p = "int"; - break; - /* oaio_write */ - case 319: - if (ndx == 0 || ndx == 1) - p = "int"; - break; - /* olio_listio */ - case 320: - if (ndx == 0 || ndx == 1) - p = "int"; - break; /* yield */ case 321: /* mlockall */ Modified: head/sys/sys/syscall.h ============================================================================== --- head/sys/sys/syscall.h Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/sys/syscall.h Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/kern/syscalls.master 285388 2015-07-11 15:22:11Z adrian + * created from FreeBSD: head/sys/kern/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ #define SYS_syscall 0 @@ -260,9 +260,9 @@ #define SYS_aio_suspend 315 #define SYS_aio_cancel 316 #define SYS_aio_error 317 -#define SYS_oaio_read 318 -#define SYS_oaio_write 319 -#define SYS_olio_listio 320 +#define SYS_freebsd6_aio_read 318 +#define SYS_freebsd6_aio_write 319 +#define SYS_freebsd6_lio_listio 320 #define SYS_yield 321 /* 322 is obsolete thr_sleep */ /* 323 is obsolete thr_wakeup */ Modified: head/sys/sys/syscall.mk ============================================================================== --- head/sys/sys/syscall.mk Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/sys/syscall.mk Wed Mar 9 19:06:46 2016 (r296573) @@ -1,7 +1,7 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. # $FreeBSD$ -# created from FreeBSD: head/sys/kern/syscalls.master 285388 2015-07-11 15:22:11Z adrian +# created from FreeBSD: head/sys/kern/syscalls.master 296572 2016-03-09 19:05:11Z jhb MIASM = \ syscall.o \ exit.o \ @@ -211,9 +211,9 @@ MIASM = \ aio_suspend.o \ aio_cancel.o \ aio_error.o \ - oaio_read.o \ - oaio_write.o \ - olio_listio.o \ + freebsd6_aio_read.o \ + freebsd6_aio_write.o \ + freebsd6_lio_listio.o \ yield.o \ mlockall.o \ munlockall.o \ Modified: head/sys/sys/sysproto.h ============================================================================== --- head/sys/sys/sysproto.h Wed Mar 9 19:05:11 2016 (r296572) +++ head/sys/sys/sysproto.h Wed Mar 9 19:06:46 2016 (r296573) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/kern/syscalls.master 285388 2015-07-11 15:22:11Z adrian + * created from FreeBSD: head/sys/kern/syscalls.master 296572 2016-03-09 19:05:11Z jhb */ #ifndef _SYS_SYSPROTO_H_ @@ -844,18 +844,6 @@ struct aio_cancel_args { struct aio_error_args { char aiocbp_l_[PADL_(struct aiocb *)]; struct aiocb * aiocbp; char aiocbp_r_[PADR_(struct aiocb *)]; }; -struct oaio_read_args { - char aiocbp_l_[PADL_(struct oaiocb *)]; struct oaiocb * aiocbp; char aiocbp_r_[PADR_(struct oaiocb *)]; -}; -struct oaio_write_args { - char aiocbp_l_[PADL_(struct oaiocb *)]; struct oaiocb * aiocbp; char aiocbp_r_[PADR_(struct oaiocb *)]; -}; -struct olio_listio_args { - char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)]; - char acb_list_l_[PADL_(struct oaiocb *const *)]; struct oaiocb *const * acb_list; char acb_list_r_[PADR_(struct oaiocb *const *)]; - char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)]; - char sig_l_[PADL_(struct osigevent *)]; struct osigevent * sig; char sig_r_[PADR_(struct osigevent *)]; -}; struct yield_args { register_t dummy; }; @@ -1989,9 +1977,6 @@ int sys_aio_return(struct thread *, stru int sys_aio_suspend(struct thread *, struct aio_suspend_args *); int sys_aio_cancel(struct thread *, struct aio_cancel_args *); int sys_aio_error(struct thread *, struct aio_error_args *); -int sys_oaio_read(struct thread *, struct oaio_read_args *); -int sys_oaio_write(struct thread *, struct oaio_write_args *); -int sys_olio_listio(struct thread *, struct olio_listio_args *); int sys_yield(struct thread *, struct yield_args *); int sys_mlockall(struct thread *, struct mlockall_args *); int sys_munlockall(struct thread *, struct munlockall_args *); @@ -2465,12 +2450,27 @@ struct freebsd6_ftruncate_args { char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)]; }; +struct freebsd6_aio_read_args { + char aiocbp_l_[PADL_(struct oaiocb *)]; struct oaiocb * aiocbp; char aiocbp_r_[PADR_(struct oaiocb *)]; +}; +struct freebsd6_aio_write_args { + char aiocbp_l_[PADL_(struct oaiocb *)]; struct oaiocb * aiocbp; char aiocbp_r_[PADR_(struct oaiocb *)]; +}; +struct freebsd6_lio_listio_args { + char mode_l_[PADL_(int)]; int mode; char mode_r_[PADR_(int)]; + char acb_list_l_[PADL_(struct oaiocb *const *)]; struct oaiocb *const * acb_list; char acb_list_r_[PADR_(struct oaiocb *const *)]; + char nent_l_[PADL_(int)]; int nent; char nent_r_[PADR_(int)]; + char sig_l_[PADL_(struct osigevent *)]; struct osigevent * sig; char sig_r_[PADR_(struct osigevent *)]; +}; int freebsd6_pread(struct thread *, struct freebsd6_pread_args *); int freebsd6_pwrite(struct thread *, struct freebsd6_pwrite_args *); int freebsd6_mmap(struct thread *, struct freebsd6_mmap_args *); int freebsd6_lseek(struct thread *, struct freebsd6_lseek_args *); int freebsd6_truncate(struct thread *, struct freebsd6_truncate_args *); int freebsd6_ftruncate(struct thread *, struct freebsd6_ftruncate_args *); +int freebsd6_aio_read(struct thread *, struct freebsd6_aio_read_args *); +int freebsd6_aio_write(struct thread *, struct freebsd6_aio_write_args *); +int freebsd6_lio_listio(struct thread *, struct freebsd6_lio_listio_args *); #endif /* COMPAT_FREEBSD6 */ @@ -2741,9 +2741,9 @@ int freebsd7_shmctl(struct thread *, str #define SYS_AUE_aio_suspend AUE_NULL #define SYS_AUE_aio_cancel AUE_NULL #define SYS_AUE_aio_error AUE_NULL -#define SYS_AUE_oaio_read AUE_NULL -#define SYS_AUE_oaio_write AUE_NULL -#define SYS_AUE_olio_listio AUE_NULL +#define SYS_AUE_freebsd6_aio_read AUE_NULL +#define SYS_AUE_freebsd6_aio_write AUE_NULL +#define SYS_AUE_freebsd6_lio_listio AUE_NULL #define SYS_AUE_yield AUE_NULL #define SYS_AUE_mlockall AUE_MLOCKALL #define SYS_AUE_munlockall AUE_MUNLOCKALL From owner-svn-src-all@freebsd.org Wed Mar 9 19:36:26 2016 Return-Path: Delivered-To: svn-src-all@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 85B7AACA2F4; Wed, 9 Mar 2016 19:36:26 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 5762F20C; Wed, 9 Mar 2016 19:36:26 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29JaPXi035205; Wed, 9 Mar 2016 19:36:25 GMT (envelope-from sobomax@FreeBSD.org) Received: (from sobomax@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29JaPS8035203; Wed, 9 Mar 2016 19:36:25 GMT (envelope-from sobomax@FreeBSD.org) Message-Id: <201603091936.u29JaPS8035203@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sobomax set sender to sobomax@FreeBSD.org using -f From: Maxim Sobolev Date: Wed, 9 Mar 2016 19:36:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296574 - in head/sys: dev/md modules/md X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 19:36:26 -0000 Author: sobomax Date: Wed Mar 9 19:36:25 2016 New Revision: 296574 URL: https://svnweb.freebsd.org/changeset/base/296574 Log: For the MD_ROOT option don't inject /dev/md0 as root dev when ROOTDEVNAME is defined explicitly. It's kinda pointless and results in extra step in boot sequence which is not really needed, i.e.: md0: Embedded image 1331200 bytes at 0x8038b7b4 Trying to mount root from ufs:/dev/md0 []... Mounting from ufs:/dev/md0 failed with error 22. Trying to mount root from ufs:md0.uzip []... warning: no time-of-day clock registered, system time will not be set accurately start_init: trying /sbin/init Modified: head/sys/dev/md/md.c head/sys/modules/md/Makefile Modified: head/sys/dev/md/md.c ============================================================================== --- head/sys/dev/md/md.c Wed Mar 9 19:06:46 2016 (r296573) +++ head/sys/dev/md/md.c Wed Mar 9 19:36:25 2016 (r296574) @@ -58,6 +58,7 @@ * From: src/sys/dev/vn/vn.c,v 1.122 2000/12/16 16:06:03 */ +#include "opt_rootdevname.h" #include "opt_geom.h" #include "opt_md.h" @@ -1732,7 +1733,7 @@ md_preloaded(u_char *image, size_t lengt sc->pl_ptr = image; sc->pl_len = length; sc->start = mdstart_preload; -#ifdef MD_ROOT +#if defined(MD_ROOT) && !defined(ROOTDEVNAME) if (sc->unit == 0) rootdevnames[0] = MD_ROOT_FSTYPE ":/dev/md0"; #endif Modified: head/sys/modules/md/Makefile ============================================================================== --- head/sys/modules/md/Makefile Wed Mar 9 19:06:46 2016 (r296573) +++ head/sys/modules/md/Makefile Wed Mar 9 19:36:25 2016 (r296574) @@ -3,6 +3,6 @@ .PATH: ${.CURDIR}/../../dev/md KMOD= geom_md -SRCS= md.c opt_md.h opt_geom.h vnode_if.h +SRCS= md.c opt_md.h opt_geom.h opt_rootdevname.h vnode_if.h .include From owner-svn-src-all@freebsd.org Wed Mar 9 19:50:36 2016 Return-Path: Delivered-To: svn-src-all@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 83250ACA8F2; Wed, 9 Mar 2016 19:50:36 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 557EAC89; Wed, 9 Mar 2016 19:50:36 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29JoZSG040691; Wed, 9 Mar 2016 19:50:35 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29JoZJr040689; Wed, 9 Mar 2016 19:50:35 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603091950.u29JoZJr040689@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 19:50:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296575 - in head: share/man/man4 sys/dev/filemon X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 19:50:36 -0000 Author: bdrewery Date: Wed Mar 9 19:50:35 2016 New Revision: 296575 URL: https://svnweb.freebsd.org/changeset/base/296575 Log: FILEMON_SET_FD: Disallow changing the fd. MFC after: 1 week Suggested by: mjg Sponsored by: EMC / Isilon Storage Division Modified: head/share/man/man4/filemon.4 head/sys/dev/filemon/filemon.c Modified: head/share/man/man4/filemon.4 ============================================================================== --- head/share/man/man4/filemon.4 Wed Mar 9 19:36:25 2016 (r296574) +++ head/share/man/man4/filemon.4 Wed Mar 9 19:50:35 2016 (r296575) @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 28, 2016 +.Dd March 9, 2016 .Dt FILEMON 4 .Os .Sh NAME @@ -125,6 +125,19 @@ function returns the value 0 if successf otherwise the value \-1 is returned and the global variable .Va errno is set to indicate the error. +.Sh ERRORS +The +.Fn ioctl +system call +with +.Dv FILEMON_SET_FD +will fail if: +.Bl -tag -width Er +.It Bq Er EEXIST +The +.Nm +handle is already associated with a file descriptor. +.El .Sh FILES .Bl -tag -width ".Pa /dev/filemon" .It Pa /dev/filemon Modified: head/sys/dev/filemon/filemon.c ============================================================================== --- head/sys/dev/filemon/filemon.c Wed Mar 9 19:36:25 2016 (r296574) +++ head/sys/dev/filemon/filemon.c Wed Mar 9 19:50:35 2016 (r296575) @@ -163,8 +163,10 @@ filemon_ioctl(struct cdev *dev, u_long c switch (cmd) { /* Set the output file descriptor. */ case FILEMON_SET_FD: - if (filemon->fp != NULL) - fdrop(filemon->fp, td); + if (filemon->fp != NULL) { + error = EEXIST; + break; + } error = fget_write(td, *(int *)data, cap_rights_init(&rights, CAP_PWRITE), From owner-svn-src-all@freebsd.org Wed Mar 9 20:15:05 2016 Return-Path: Delivered-To: svn-src-all@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 1663BAC9005; Wed, 9 Mar 2016 20:15:05 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D28E11A62; Wed, 9 Mar 2016 20:15:04 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29KF36L047596; Wed, 9 Mar 2016 20:15:03 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29KF3QI047595; Wed, 9 Mar 2016 20:15:03 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603092015.u29KF3QI047595@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 20:15:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296576 - head/tools/regression/filemon X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 20:15:05 -0000 Author: bdrewery Date: Wed Mar 9 20:15:03 2016 New Revision: 296576 URL: https://svnweb.freebsd.org/changeset/base/296576 Log: Remove these broken filemon tests. They were not very useful in their current state. It only ran a fork bomb, confirmed headers/footers matched, hard-coded the number of expected entries (rather than ensuring each entry is present when expected), and was missing a sizeof_long.c file from r251368 which makes its intent for testing 32-bit binaries unclear. More extensive tests should be written with ATF now. Deleted: head/tools/regression/filemon/ From owner-svn-src-all@freebsd.org Wed Mar 9 20:48:05 2016 Return-Path: Delivered-To: svn-src-all@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 8C377AC9B2E; Wed, 9 Mar 2016 20:48:05 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: from mail-qk0-x22d.google.com (mail-qk0-x22d.google.com [IPv6:2607:f8b0:400d:c09::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3EFA0BBE; Wed, 9 Mar 2016 20:48:05 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: by mail-qk0-x22d.google.com with SMTP id s68so25788249qkh.3; Wed, 09 Mar 2016 12:48:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:mime-version:from:in-reply-to:date:cc:message-id :references:to; bh=imaM4jXpcuaE9RnVhPXj4qgHofiMygY+sXlyY7KV1X4=; b=RowKg/MGwS9iIfAIpblsAeclQmlDIGYMeGJEHifBhmI9WmhE71CAP2dnIEZAuUjqAV PcZ1A0u1PuvKPTUJtSvHK3rLAnmPvynkb9fa9VrPnk3OkIrm8sW9UfDAYqdXfneB3G70 qQNZtHDXiXc7+MBaFckjagy2VZfqgASlNUd0o5AlKTZDJwCnzZCYuEsuXCAiFpTJl/+1 o1NfJTBOZ4GRO7zW4FADNtWAmwPs3LPUiTwhF6GP6vpwuzdJsnVUEIPFwAhySU8xr9I+ fK2d7Wi01mQT1zXQ6xKqASwg2iOcM4IOISex1Ln1BBV8rr7TBBlbDR46jn2L6qunwSal Ca7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:from:in-reply-to :date:cc:message-id:references:to; bh=imaM4jXpcuaE9RnVhPXj4qgHofiMygY+sXlyY7KV1X4=; b=FaoLaAP01H+D3sM4TKTwu+GBRyc5wKWcuw6JUNXtT2jG429tSnuivclpg88VmK34R9 OJxw1oyD7KvpDLUbDKiRzxpa7Y2mHtMKouyyBykvyZjeiFWdOuYgA+BVrxMBKiNlm0uj 3wz5FqIGOVOODKaG3Hx1UkUUSCGJgSUBATGCcejxyz+K+iV8yUKsn6IpGR+MO1AYtkDV 9C6d6hlVJ8JZVAzZ6IAR5KGySsKmGNLkZ3omYZ9lDEcNd2s0szYWXzH9/alRSOzQidwi QaFhkPtikRwmRdzrGempj+MRtfIqN01j+LLjdJszg/jl2neNKEn6a5APJMXiKvlI+zAz 0PZg== X-Gm-Message-State: AD7BkJIVtBNWXnAWxP5b9xjbVTfNapUP0k4V2fnfXnVp0mosFBjKB+m2U9OpwzhogGUjMA== X-Received: by 10.55.53.207 with SMTP id c198mr388178qka.24.1457556484336; Wed, 09 Mar 2016 12:48:04 -0800 (PST) Received: from macbook-pro.home ([191.205.106.121]) by smtp.gmail.com with ESMTPSA id 103sm174030qgm.42.2016.03.09.12.48.01 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Mar 2016 12:48:03 -0800 (PST) Sender: Renato Botelho Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_D1FF0331-015F-43B0-B5BD-D4EFD6C2E0A8"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: Renato Botelho In-Reply-To: Date: Wed, 9 Mar 2016 17:47:59 -0300 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <54346962-7404-4EA0-AF31-1B2B87138FEE@FreeBSD.org> References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> To: =?utf-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 20:48:05 -0000 --Apple-Mail=_D1FF0331-015F-43B0-B5BD-D4EFD6C2E0A8 Content-Type: multipart/mixed; boundary="Apple-Mail=_74A5B699-7058-487B-BD95-EE9CA3187BD1" --Apple-Mail=_74A5B699-7058-487B-BD95-EE9CA3187BD1 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 9, 2016, at 12:58, Renato Botelho wrote: >=20 >> On Mar 9, 2016, at 12:33, Renato Botelho wrote: >>=20 >>> On Mar 9, 2016, at 08:07, Jean-S=C3=A9bastien P=C3=A9dron = wrote: >>>=20 >>> On 09/03/2016 10:48, Renato Botelho wrote: >>>>=20 >>>> I cannot boot anymore after moving to this revision. My laptop is a = ThinkPad T430 (IvyBridge). >>>=20 >>> Hi! >>>=20 >>> Could you please test the following things? >>>=20 >>> 1. Try to boot without loading i915kms from /boot/loader.conf, then >>> kldload it manually and see what happens. >>=20 >> It works fine if I load it after boot. >>=20 >>> 2. Try to boot a kernel built with the parent commit >>=20 >> I=E2=80=99ll revert tree to parent commit, apply ZFS fix manually and = rebuild then I will let you know >=20 > After revert it to r296547 and manually apply ZFS fix I can = successfully load i915kms during boot. >=20 > Just let me know what I can do to help from now to collect all the = data you need. I=E2=80=99ll move it to recent -current and load i915kms = after boot. Here is dmesg output on r296567, loading i915kms after boot and running = startx: --Apple-Mail=_74A5B699-7058-487B-BD95-EE9CA3187BD1 Content-Disposition: attachment; filename=dmesg_output.txt Content-Type: text/plain; name="dmesg_output.txt" Content-Transfer-Encoding: quoted-printable Copyright (c) 1992-2016 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights = reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 11.0-CURRENT #6 r296567: Wed Mar 9 15:08:44 BRT 2016 root@:/usr/obj/usr/src/sys/GENERIC amd64 FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) (based on = LLVM 3.8.0) WARNING: WITNESS option enabled, expect reduced performance. VT(efifb): resolution 640x480 CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz (2494.39-MHz K8-class CPU) Origin=3D"GenuineIntel" Id=3D0x306a9 Family=3D0x6 Model=3D0x3a = Stepping=3D9 = Features=3D0xbfebfbff = Features2=3D0x7fbae3bf AMD Features=3D0x28100800 AMD Features2=3D0x1 Structured Extended Features=3D0x281 XSAVE Features=3D0x1 VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID TSC: P-state invariant, performance statistics real memory =3D 12884901888 (12288 MB) avail memory =3D 12233527296 (11666 MB) Event timer "LAPIC" quality 600 ACPI APIC Table: FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs FreeBSD/SMP: 1 package(s) x 2 core(s) x 2 SMT threads cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 cpu2 (AP): APIC ID: 2 cpu3 (AP): APIC ID: 3 random: unblocking device. ioapic0 irqs 0-23 on motherboard random: entropy device external interface kbd1 at kbdmux0 netmap: loaded module module_register_init: MOD_LOAD (vesa, 0xffffffff80efff90, 0) error 19 random: registering fast source Intel Secure Key RNG random: fast provider: "Intel Secure Key RNG" cryptosoft0: on motherboard acpi0: on motherboard acpi_ec0: port 0x62,0x66 on acpi0 acpi0: Power Button (fixed) cpu0: on acpi0 cpu1: on acpi0 cpu2: on acpi0 cpu3: on acpi0 attimer0: port 0x40-0x43 irq 0 on acpi0 Timecounter "i8254" frequency 1193182 Hz quality 0 Event timer "i8254" frequency 1193182 Hz quality 100 hpet0: iomem 0xfed00000-0xfed003ff on acpi0 Timecounter "HPET" frequency 14318180 Hz quality 950 Event timer "HPET" frequency 14318180 Hz quality 550 Event timer "HPET1" frequency 14318180 Hz quality 440 Event timer "HPET2" frequency 14318180 Hz quality 440 Event timer "HPET3" frequency 14318180 Hz quality 440 Event timer "HPET4" frequency 14318180 Hz quality 440 atrtc0: port 0x70-0x71 irq 8 on acpi0 Event timer "RTC" frequency 32768 Hz quality 0 Timecounter "ACPI-fast" frequency 3579545 Hz quality 900 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0 acpi_lid0: on acpi0 acpi_button0: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci0: on pcib0 vgapci0: port 0x6000-0x603f mem = 0xf0000000-0xf03fffff,0xe0000000-0xefffffff at device 2.0 on pci0 agp0: on vgapci0 agp0: aperture size is 256M, detected 65532k stolen memory vgapci0: Boot video device xhci0: mem = 0xf2520000-0xf252ffff at device 20.0 on pci0 xhci0: 32 bytes context size, 64-bit DMA xhci0: Port routing mask set to 0xffffffff usbus0 on xhci0 pci0: at device 22.0 (no driver attached) em0: port 0x6080-0x609f = mem 0xf2500000-0xf251ffff,0xf253b000-0xf253bfff at device 25.0 on pci0 em0: Using an MSI interrupt em0: Ethernet address: 00:21:cc:ca:81:68 em0: netmap queues/slots: TX 1/1024, RX 1/1024 ehci0: mem = 0xf253a000-0xf253a3ff at device 26.0 on pci0 usbus1: EHCI version 1.0 usbus1 on ehci0 hdac0: mem 0xf2530000-0xf2533fff at = device 27.0 on pci0 pcib1: at device 28.0 on pci0 pci1: on pcib1 sdhci_pci0: mem 0xf1d00000-0xf1d000ff at device 0.0 = on pci1 sdhci_pci0: 1 slot(s) allocated pcib2: at device 28.1 on pci0 pci2: on pcib2 rtwn0: port 0x4000-0x40ff mem 0xf1c00000-0xf1c03fff = at device 0.0 on pci2 rtwn0: MAC/BB RTL8188CE, RF 6052 1T1R pcib3: at device 28.2 on pci0 pci3: on pcib3 ehci1: mem = 0xf2539000-0xf25393ff at device 29.0 on pci0 usbus2: EHCI version 1.0 usbus2 on ehci1 isab0: at device 31.0 on pci0 isa0: on isab0 ahci0: port = 0x60a8-0x60af,0x60b4-0x60b7,0x60a0-0x60a7,0x60b0-0x60b3,0x6060-0x607f = mem 0xf2538000-0xf25387ff at device 31.2 on pci0 ahci0: AHCI v1.30 with 6 6Gbps ports, Port Multiplier not supported ahcich0: at channel 0 on ahci0 ahcich1: at channel 1 on ahci0 ahcich4: at channel 4 on ahci0 ahciem0: on ahci0 acpi_tz0: on acpi0 atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model Generic PS/2 mouse, device ID 0 battery0: on acpi0 acpi_acad0: on acpi0 ppc0: cannot reserve I/O port range est0: on cpu0 est1: on cpu1 est2: on cpu2 est3: on cpu3 usbus0: 5.0Gbps Super Speed USB v3.0 ZFS filesystem version: 5 ZFS storage pool version: features support (5000) Timecounters tick every 1.000 msec IPsec: Initialized Security Association Processing. hdacc0: at cad 0 on hdac0 hdaa0: at nid 1 on hdacc0 pcm0: at nid 20,21 and 24 on hdaa0 pcm1: at nid 18 on hdaa0 hdacc1: at cad 3 on hdac0 hdaa1: at nid 1 on hdacc1 pcm2: at nid 5 on hdaa1 pcm3: at nid 6 on hdaa1 pcm4: at nid 7 on hdaa1 usbus1: 480Mbps High Speed USB v2.0 usbus2: 480Mbps High Speed USB v2.0 ugen0.1: <0x8086> at usbus0 uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on = usbus0 ugen1.1: at usbus1 uhub1: on usbus1 ugen2.1: at usbus2 uhub2: on usbus2 ses0 at ahciem0 bus 0 scbus3 target 0 lun 0 ses0: SEMB S-E-S 2.00 device cd0 at ahcich1 bus 0 scbus1 target 0 lun 0 cd0: Removable CD-ROM SCSI device cd0: Serial Number M14C9BD4905 cd0: 150.000MB/s transfers (SATA 1.x, UDMA2, ATAPI 12bytes, PIO = 8192bytes) cd0: Attempt to query device size failed: NOT READY, Medium not present = - tray closed ses0: SEMB SES Device ada0 at ahcich0 bus 0 scbus0 target 0 lun 0 ada0: ATA8-ACS SATA 2.x device ada0: Serial Number TF1500Y9GY454B ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes) ada0: Command Queueing enabled ada0: 476940MB (976773168 512 byte sectors) SMP: AP CPU #1 Launched! SMP: AP CPU #3 Launched! SMP: AP CPU #2 Launched! Timecounter "TSC-low" frequency 1247194924 Hz quality 1000 WARNING: WITNESS option enabled, expect reduced performance. Trying to mount root from zfs:zroot/ROOT/default []... uhub0: 8 ports with 8 removable, self powered Root mount waiting for: usbus2 usbus1 uhub1: 3 ports with 3 removable, self powered uhub2: 3 ports with 3 removable, self powered Root mount waiting for: usbus2 usbus1 ugen1.2: at usbus1 uhub3: = on usbus1 ugen2.2: at usbus2 uhub4: = on usbus2 Root mount waiting for: usbus2 usbus1 uhub3: 6 ports with 6 removable, self powered uhub4: 8 ports with 8 removable, self powered ugen1.3: at usbus1 Root mount waiting for: usbus1 ugen1.4: at usbus1 ugen1.5: at usbus1 GEOM_ELI: Device ada0p2.eli created. GEOM_ELI: Encryption: AES-XTS 128 GEOM_ELI: Crypto: software ubt0: on usbus1 WARNING: attempt to domain_add(bluetooth) after domainfinalize() WARNING: attempt to domain_add(netgraph) after domainfinalize() em0: link state changed to UP bridge254: Ethernet address: 02:e6:6a:d1:36:fe info: [drm] Initialized drm 1.1.0 20060810 drmn0: on vgapci0 info: [drm] Memory usable by graphics device =3D 2048M info: [drm] MTRR allocation failed. Graphics performance may suffer. iicbus0: on iicbb0 addr 0xff iic0: on iicbus0 iic1: on iicbus1 iicbus2: on iicbb1 addr 0x0 iic2: on iicbus2 iic3: on iicbus3 iicbus4: on iicbb2 addr 0x0 iic4: on iicbus4 iic5: on iicbus5 iicbus6: on iicbb3 addr 0x0 iic6: on iicbus6 iic7: on iicbus7 iicbus8: on iicbb4 addr 0x0 iic8: on iicbus8 iic9: on iicbus9 iicbus10: on iicbb5 addr 0x0 iic10: on iicbus10 iic11: on iicbus11 info: [drm] MSI enabled 1 message(s) info: [drm] Supports vblank timestamp caching Rev 1 (10.10.2010). info: [drm] Driver supports precise vblank timestamp query. info: [drm] GMBUS [i915 gmbus dpb] timed out, falling back to bit = banging on pin 5 drmn0: taking over the fictitious range 0xe0000000-0xf0000000 info: [drm] Connector LVDS-1: get mode from tunables: info: [drm] - kern.vt.fb.modes.LVDS-1 info: [drm] - kern.vt.fb.default_mode info: [drm] Connector VGA-1: get mode from tunables: info: [drm] - kern.vt.fb.modes.VGA-1 info: [drm] - kern.vt.fb.default_mode info: [drm] Connector HDMI-A-1: get mode from tunables: info: [drm] - kern.vt.fb.modes.HDMI-A-1 info: [drm] - kern.vt.fb.default_mode info: [drm] Connector DP-1: get mode from tunables: info: [drm] - kern.vt.fb.modes.DP-1 info: [drm] - kern.vt.fb.default_mode info: [drm] Connector HDMI-A-2: get mode from tunables: info: [drm] - kern.vt.fb.modes.HDMI-A-2 info: [drm] - kern.vt.fb.default_mode info: [drm] Connector HDMI-A-3: get mode from tunables: info: [drm] - kern.vt.fb.modes.HDMI-A-3 info: [drm] - kern.vt.fb.default_mode info: [drm] Connector DP-2: get mode from tunables: info: [drm] - kern.vt.fb.modes.DP-2 info: [drm] - kern.vt.fb.default_mode info: [drm] Connector DP-3: get mode from tunables: info: [drm] - kern.vt.fb.modes.DP-3 info: [drm] - kern.vt.fb.default_mode fbd0 on drmn0 VT: Replacing driver "efifb" with new "fb". info: [drm] Initialized i915 1.6.0 20080730 for drmn0 on minor 0 info: [drm] Enabling RC6 states: RC6 on, RC6p on, RC6pp off --Apple-Mail=_74A5B699-7058-487B-BD95-EE9CA3187BD1 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii -- Renato Botelho --Apple-Mail=_74A5B699-7058-487B-BD95-EE9CA3187BD1-- --Apple-Mail=_D1FF0331-015F-43B0-B5BD-D4EFD6C2E0A8 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIcBAEBCgAGBQJW4Iv/AAoJEPHw56GfYleQSq0P/AnuE9hW1/7K9BgM8mZCfzgv IGzVn3vTdZU/hh5z+xclJCa2j2jBfQx1lJgIg0eaNsfB02R61kkqCGhGVaSZ9/Dm cMCScOkqyBhbRnEdxJ8aqtfaGwOZMQN/qLGWUqNUCLi4ngwxMKs5M2O6nvcIzRG8 jTv//tvpwTxXTPnG3HZAt4LE7Hxyqlrr1CXApW8wkqVVLmN4B45ISDtohOxryIrR CAiSVckwOT8BNZygSYEUoyN8wX9vrLM89PYgOOxQQ1RZmmkBKYiKh/GbR2u5ZRbc I4+jePNPe4W8kTTYs9EKgrBOCKqShjJoaYl70cqNE1ySUOtMU1pcbq/t/ZnXsa5g 45ds8uFISyZNq+lASZ8kpLJo7Z9JuoKHZJ4bfCWxoBLM7U07jo+7dOj7N43WyOpY /lm2Mh3htgUVGZpJ/Fkk5UOzGmeV2EZd4KEKwsKPSFo3rVxxMgsuspZuCW9crlu2 XMMCEkxIZFKbvCoOw/aBnucWOWXP3vQngyuyaILG4mWWz3idWXMi1Kn66DzTqgvp xm37av931VjjMz9w9T5kNmaqeQXhNZg7H3mF9F27cI9E+XEdS9AXBXeBR6CSUDf2 iKOo6syBwJDfBQYACt2bAo+gbDkXAWkbSSnYH7aDOiqY79nRXs/e87lUrFw2lJoX noOay6KTg3q/mz/4SVj1 =y4ll -----END PGP SIGNATURE----- --Apple-Mail=_D1FF0331-015F-43B0-B5BD-D4EFD6C2E0A8-- From owner-svn-src-all@freebsd.org Wed Mar 9 20:48:46 2016 Return-Path: Delivered-To: svn-src-all@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 B3736AC9BB0; Wed, 9 Mar 2016 20:48:46 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-ig0-x231.google.com (mail-ig0-x231.google.com [IPv6:2607:f8b0:4001:c05::231]) (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 803F4D2C; Wed, 9 Mar 2016 20:48:46 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by mail-ig0-x231.google.com with SMTP id vs8so1649229igb.1; Wed, 09 Mar 2016 12:48:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=MPZQLiDV+9QAYyM4kbDF2ixcEJDmkLCFgSrZtse5yV8=; b=Lqk0yKhte1yY6b7lOlNbLS5cVqduFRKx/3aSUzech1Kz6LKTgRXXE+tis2thabqJzY PWnj1lZdGUUMc7O2oPfkn0pcgxc8UBAYb9zkw4eonkn7bJhE+depmi6n8pu+XVjS03pG QqnUewywFbJ9v0JA+3B/GZq8JLRa+wkf83pnpXK1QxeY1PV+dAc+XU15ZxAhJQBoNBuB PVODuI5YlzRH5SS1NVXsxttcA31y2bZajIDp4OkXSS2E7h2BOGz2IjlVbj3DIf5zupq+ bh+16Z7MZrBc/kzioT2uXJoZD33N8KFM36qp7XYYf4ury/K2nshKpYVhYTamsBVl9Lo0 Gr+Q== 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:date :message-id:subject:from:to:cc; bh=MPZQLiDV+9QAYyM4kbDF2ixcEJDmkLCFgSrZtse5yV8=; b=dfcjt5ipLIUxzBM4e3zDmbH/PEfvn4TAmzo5ePLwQ4YvIkCRbMdNsiFJ8axpGNPw5w 1NWCLIxyw1dCzRa0o+1C0YVNvgsKttCKQ/w2SRyFGnanQTyyeOFc990JlA0PTVUYLhXP gX0+S/P++cdcvisGU00dya49UQYtzD12/XCEfTF1LA2rQYqy5FZRo6kCAFpO1v+QBene J0eT88eXt9fhYiDv1alMLrUAgIYckPy3CPRQEyPmeEwD8axCVmd+KYL4dOMe3LqdsHcG FRSVGm/SDiHt64/nwkXX67vwzSJDMDCBQmTWa5g5nGwxN+gJzYkQXJOHdmJBR9JSxi56 vqOg== X-Gm-Message-State: AD7BkJIARuL3tnanHjCqQG+6392OrSt9T2rHShgjYSh03zRY9GlqolANivCAqAfuRfneWClWaLTslsb0LBuYCQ== MIME-Version: 1.0 X-Received: by 10.50.78.200 with SMTP id d8mr308242igx.61.1457556526007; Wed, 09 Mar 2016 12:48:46 -0800 (PST) Received: by 10.36.14.19 with HTTP; Wed, 9 Mar 2016 12:48:45 -0800 (PST) In-Reply-To: <201603082033.u28KX2OL014139@repo.freebsd.org> References: <201603082033.u28KX2OL014139@repo.freebsd.org> Date: Wed, 9 Mar 2016 12:48:45 -0800 Message-ID: Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms From: Adrian Chadd To: =?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?= Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 20:48:46 -0000 Woo! Just so its' not lost - people in irc have found power consumption has jumped dramatically since this commit. :( -adrian From owner-svn-src-all@freebsd.org Wed Mar 9 21:00:58 2016 Return-Path: Delivered-To: svn-src-all@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 CDC37AC803C; Wed, 9 Mar 2016 21:00:58 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 9FED7372; Wed, 9 Mar 2016 21:00:58 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29L0vFB061922; Wed, 9 Mar 2016 21:00:57 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29L0vAc061921; Wed, 9 Mar 2016 21:00:57 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201603092100.u29L0vAc061921@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Wed, 9 Mar 2016 21:00:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296577 - head/bin/sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 21:00:58 -0000 Author: jilles Date: Wed Mar 9 21:00:57 2016 New Revision: 296577 URL: https://svnweb.freebsd.org/changeset/base/296577 Log: sh: Avoid out-of-bounds access in setoptionbyindex() for 'set -o nolog'. Reported by: hrs Modified: head/bin/sh/options.c Modified: head/bin/sh/options.c ============================================================================== --- head/bin/sh/options.c Wed Mar 9 20:15:03 2016 (r296576) +++ head/bin/sh/options.c Wed Mar 9 21:00:57 2016 (r296577) @@ -285,7 +285,7 @@ minus_o(char *name, int val) static void setoptionbyindex(int idx, int val) { - if (optletter[idx] == 'p' && !val && privileged) { + if (&optval[idx] == &privileged && !val && privileged) { if (setgid(getgid()) == -1) error("setgid"); if (setuid(getuid()) == -1) @@ -294,9 +294,9 @@ setoptionbyindex(int idx, int val) optval[idx] = val; if (val) { /* #%$ hack for ksh semantics */ - if (optletter[idx] == 'V') + if (&optval[idx] == &Vflag) Eflag = 0; - else if (optletter[idx] == 'E') + else if (&optval[idx] == &Eflag) Vflag = 0; } } From owner-svn-src-all@freebsd.org Wed Mar 9 21:05:23 2016 Return-Path: Delivered-To: svn-src-all@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 4A141AC8347; Wed, 9 Mar 2016 21:05:23 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 1C363AF0; Wed, 9 Mar 2016 21:05:23 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29L5MQI062856; Wed, 9 Mar 2016 21:05:22 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29L5Muc062854; Wed, 9 Mar 2016 21:05:22 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201603092105.u29L5Muc062854@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Wed, 9 Mar 2016 21:05:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296578 - head/bin/sh/tests/builtins X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 21:05:23 -0000 Author: jilles Date: Wed Mar 9 21:05:21 2016 New Revision: 296578 URL: https://svnweb.freebsd.org/changeset/base/296578 Log: sh: Add test for 'set -o nolog'. The option does not do anything so check that the output of 'set +o' is different. Added: head/bin/sh/tests/builtins/set3.0 (contents, props changed) Modified: head/bin/sh/tests/builtins/Makefile Modified: head/bin/sh/tests/builtins/Makefile ============================================================================== --- head/bin/sh/tests/builtins/Makefile Wed Mar 9 21:00:57 2016 (r296577) +++ head/bin/sh/tests/builtins/Makefile Wed Mar 9 21:05:21 2016 (r296578) @@ -140,6 +140,7 @@ FILES+= return7.4 FILES+= return8.0 FILES+= set1.0 FILES+= set2.0 +FILES+= set3.0 FILES+= trap1.0 FILES+= trap10.0 FILES+= trap11.0 Added: head/bin/sh/tests/builtins/set3.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/sh/tests/builtins/set3.0 Wed Mar 9 21:05:21 2016 (r296578) @@ -0,0 +1,4 @@ +# $FreeBSD$ + +settings1=$(set +o) && set -o nolog && settings2=$(set +o) && +[ "$settings1" != "$settings2" ] From owner-svn-src-all@freebsd.org Wed Mar 9 21:12:28 2016 Return-Path: Delivered-To: svn-src-all@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 28807AC86B6; Wed, 9 Mar 2016 21:12:28 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0407EF54; Wed, 9 Mar 2016 21:12:27 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29LCRHu065749; Wed, 9 Mar 2016 21:12:27 GMT (envelope-from davidcs@FreeBSD.org) Received: (from davidcs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29LCRHl065748; Wed, 9 Mar 2016 21:12:27 GMT (envelope-from davidcs@FreeBSD.org) Message-Id: <201603092112.u29LCRHl065748@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: davidcs set sender to davidcs@FreeBSD.org using -f From: David C Somayajulu Date: Wed, 9 Mar 2016 21:12:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296579 - head/sys/dev/bxe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 21:12:28 -0000 Author: davidcs Date: Wed Mar 9 21:12:26 2016 New Revision: 296579 URL: https://svnweb.freebsd.org/changeset/base/296579 Log: Fix code so that buf_ring allocation for Tx Queues and their mutexes is done during during bxe_attach() and freed during bxe_detach() MFC after: 5 days Modified: head/sys/dev/bxe/bxe.c Modified: head/sys/dev/bxe/bxe.c ============================================================================== --- head/sys/dev/bxe/bxe.c Wed Mar 9 21:05:21 2016 (r296578) +++ head/sys/dev/bxe/bxe.c Wed Mar 9 21:12:26 2016 (r296579) @@ -669,6 +669,8 @@ static void bxe_handle_fp_tq(void *conte static int bxe_add_cdev(struct bxe_softc *sc); static void bxe_del_cdev(struct bxe_softc *sc); static int bxe_grc_dump(struct bxe_softc *sc); +static int bxe_alloc_buf_rings(struct bxe_softc *sc); +static void bxe_free_buf_rings(struct bxe_softc *sc); /* calculate crc32 on a buffer (NOTE: crc32_length MUST be aligned to 8) */ uint32_t @@ -4193,9 +4195,20 @@ bxe_nic_unload(struct bxe_softc *sc, { uint8_t global = FALSE; uint32_t val; + int i; BXE_CORE_LOCK_ASSERT(sc); + if_setdrvflagbits(sc->ifp, 0, IFF_DRV_RUNNING); + + for (i = 0; i < sc->num_queues; i++) { + struct bxe_fastpath *fp; + + fp = &sc->fp[i]; + BXE_FP_TX_LOCK(fp); + BXE_FP_TX_UNLOCK(fp); + } + BLOGD(sc, DBG_LOAD, "Starting NIC unload...\n"); /* mark driver as unloaded in shmem2 */ @@ -5726,7 +5739,7 @@ bxe_tx_mq_start_locked(struct bxe_softc } if (!sc->link_vars.link_up || - (ifp->if_drv_flags & + (if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) { rc = drbr_enqueue_drv(ifp, tx_br, m); goto bxe_tx_mq_start_locked_exit; @@ -6239,8 +6252,6 @@ bxe_free_fp_buffers(struct bxe_softc *sc m_freem(m); BXE_FP_TX_UNLOCK(fp); } - buf_ring_free(fp->tx_br, M_DEVBUF); - fp->tx_br = NULL; } #endif @@ -6270,14 +6281,6 @@ bxe_free_fp_buffers(struct bxe_softc *sc } /* XXX verify all mbufs were reclaimed */ - - if (mtx_initialized(&fp->tx_mtx)) { - mtx_destroy(&fp->tx_mtx); - } - - if (mtx_initialized(&fp->rx_mtx)) { - mtx_destroy(&fp->rx_mtx); - } } } @@ -6499,15 +6502,6 @@ bxe_alloc_fp_buffers(struct bxe_softc *s for (i = 0; i < sc->num_queues; i++) { fp = &sc->fp[i]; -#if __FreeBSD_version >= 800000 - fp->tx_br = buf_ring_alloc(BXE_BR_SIZE, M_DEVBUF, - M_NOWAIT, &fp->tx_mtx); - if (fp->tx_br == NULL) { - BLOGE(sc, "buf_ring alloc fail for fp[%02d]\n", i); - goto bxe_alloc_fp_buffers_error; - } -#endif - ring_prod = cqe_ring_prod = 0; fp->rx_bd_cons = 0; fp->rx_cq_cons = 0; @@ -9615,14 +9609,6 @@ bxe_init_eth_fp(struct bxe_softc *sc, fp->sc = sc; fp->index = idx; - snprintf(fp->tx_mtx_name, sizeof(fp->tx_mtx_name), - "bxe%d_fp%d_tx_lock", sc->unit, idx); - mtx_init(&fp->tx_mtx, fp->tx_mtx_name, NULL, MTX_DEF); - - snprintf(fp->rx_mtx_name, sizeof(fp->rx_mtx_name), - "bxe%d_fp%d_rx_lock", sc->unit, idx); - mtx_init(&fp->rx_mtx, fp->rx_mtx_name, NULL, MTX_DEF); - fp->igu_sb_id = (sc->igu_base_sb + idx + CNIC_SUPPORT(sc)); fp->fw_sb_id = (sc->base_fw_ndsb + idx + CNIC_SUPPORT(sc)); @@ -15788,6 +15774,89 @@ bxe_add_sysctls(struct bxe_softc *sc) } } +static int +bxe_alloc_buf_rings(struct bxe_softc *sc) +{ +#if __FreeBSD_version >= 800000 + + int i; + struct bxe_fastpath *fp; + + for (i = 0; i < sc->num_queues; i++) { + + fp = &sc->fp[i]; + + fp->tx_br = buf_ring_alloc(BXE_BR_SIZE, M_DEVBUF, + M_NOWAIT, &fp->tx_mtx); + if (fp->tx_br == NULL) + return (-1); + } +#endif + return (0); +} + +static void +bxe_free_buf_rings(struct bxe_softc *sc) +{ +#if __FreeBSD_version >= 800000 + + int i; + struct bxe_fastpath *fp; + + for (i = 0; i < sc->num_queues; i++) { + + fp = &sc->fp[i]; + + if (fp->tx_br) { + buf_ring_free(fp->tx_br, M_DEVBUF); + fp->tx_br = NULL; + } + } + +#endif +} + +static void +bxe_init_fp_mutexs(struct bxe_softc *sc) +{ + int i; + struct bxe_fastpath *fp; + + for (i = 0; i < sc->num_queues; i++) { + + fp = &sc->fp[i]; + + snprintf(fp->tx_mtx_name, sizeof(fp->tx_mtx_name), + "bxe%d_fp%d_tx_lock", sc->unit, i); + mtx_init(&fp->tx_mtx, fp->tx_mtx_name, NULL, MTX_DEF); + + snprintf(fp->rx_mtx_name, sizeof(fp->rx_mtx_name), + "bxe%d_fp%d_rx_lock", sc->unit, i); + mtx_init(&fp->rx_mtx, fp->rx_mtx_name, NULL, MTX_DEF); + } +} + +static void +bxe_destroy_fp_mutexs(struct bxe_softc *sc) +{ + int i; + struct bxe_fastpath *fp; + + for (i = 0; i < sc->num_queues; i++) { + + fp = &sc->fp[i]; + + if (mtx_initialized(&fp->tx_mtx)) { + mtx_destroy(&fp->tx_mtx); + } + + if (mtx_initialized(&fp->rx_mtx)) { + mtx_destroy(&fp->rx_mtx); + } + } +} + + /* * Device attach function. * @@ -15899,8 +15968,25 @@ bxe_attach(device_t dev) return (ENXIO); } + bxe_init_fp_mutexs(sc); + + if (bxe_alloc_buf_rings(sc) != 0) { + bxe_free_buf_rings(sc); + bxe_interrupt_free(sc); + bxe_del_cdev(sc); + if (sc->ifp != NULL) { + ether_ifdetach(sc->ifp); + } + ifmedia_removeall(&sc->ifmedia); + bxe_release_mutexes(sc); + bxe_deallocate_bars(sc); + pci_disable_busmaster(dev); + return (ENXIO); + } + /* allocate ilt */ if (bxe_alloc_ilt_mem(sc) != 0) { + bxe_free_buf_rings(sc); bxe_interrupt_free(sc); bxe_del_cdev(sc); if (sc->ifp != NULL) { @@ -15916,6 +16002,7 @@ bxe_attach(device_t dev) /* allocate the host hardware/software hsi structures */ if (bxe_alloc_hsi_mem(sc) != 0) { bxe_free_ilt_mem(sc); + bxe_free_buf_rings(sc); bxe_interrupt_free(sc); bxe_del_cdev(sc); if (sc->ifp != NULL) { @@ -16023,12 +16110,16 @@ bxe_detach(device_t dev) /* free ilt */ bxe_free_ilt_mem(sc); + bxe_free_buf_rings(sc); + /* release the interrupts */ bxe_interrupt_free(sc); /* Release the mutexes*/ + bxe_destroy_fp_mutexs(sc); bxe_release_mutexes(sc); + /* Release the PCIe BAR mapped memory */ bxe_deallocate_bars(sc); From owner-svn-src-all@freebsd.org Wed Mar 9 21:30:23 2016 Return-Path: Delivered-To: svn-src-all@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 77338AC8FBE; Wed, 9 Mar 2016 21:30:23 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 309651B4A; Wed, 9 Mar 2016 21:30:23 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29LUMOI069852; Wed, 9 Mar 2016 21:30:22 GMT (envelope-from davidcs@FreeBSD.org) Received: (from davidcs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29LUMbt069850; Wed, 9 Mar 2016 21:30:22 GMT (envelope-from davidcs@FreeBSD.org) Message-Id: <201603092130.u29LUMbt069850@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: davidcs set sender to davidcs@FreeBSD.org using -f From: David C Somayajulu Date: Wed, 9 Mar 2016 21:30:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296580 - in stable/10/sys: dev/bxe modules/bxe X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 21:30:23 -0000 Author: davidcs Date: Wed Mar 9 21:30:21 2016 New Revision: 296580 URL: https://svnweb.freebsd.org/changeset/base/296580 Log: MFC r296071 Upgrade the firmware carried in driver and loaded during hardware initialization (a.k.a STORM firmware) to version 7.13.1 (latest version) Modified: stable/10/sys/dev/bxe/57710_init_values.c stable/10/sys/dev/bxe/57710_int_offsets.h stable/10/sys/dev/bxe/57711_init_values.c stable/10/sys/dev/bxe/57711_int_offsets.h stable/10/sys/dev/bxe/57712_init_values.c stable/10/sys/dev/bxe/57712_int_offsets.h stable/10/sys/dev/bxe/bxe.c stable/10/sys/dev/bxe/bxe.h stable/10/sys/dev/bxe/bxe_elink.c stable/10/sys/dev/bxe/bxe_elink.h stable/10/sys/dev/bxe/bxe_stats.c stable/10/sys/dev/bxe/ecore_fw_defs.h stable/10/sys/dev/bxe/ecore_hsi.h stable/10/sys/dev/bxe/ecore_init.h stable/10/sys/dev/bxe/ecore_init_ops.h stable/10/sys/dev/bxe/ecore_mfw_req.h stable/10/sys/dev/bxe/ecore_reg.h stable/10/sys/dev/bxe/ecore_sp.c stable/10/sys/dev/bxe/ecore_sp.h stable/10/sys/modules/bxe/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/bxe/57710_init_values.c ============================================================================== --- stable/10/sys/dev/bxe/57710_init_values.c Wed Mar 9 21:12:26 2016 (r296579) +++ stable/10/sys/dev/bxe/57710_init_values.c Wed Mar 9 21:30:21 2016 (r296580) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2007-2014 QLogic Corporation. All rights reserved. + * Copyright (c) 2007-2017 QLogic Corporation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -11,7 +11,7 @@ * 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 COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS' + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS @@ -104,19 +104,19 @@ static const struct raw_op init_ops_e1[] /* #define CFC_COMMON_START 88 */ {OP_ZR, 0x104c00, 0x100}, {OP_WR, 0x104028, 0x10}, - {OP_WR, 0x104044, 0x3fff}, + {OP_SW, 0x104040, 0x20469}, {OP_WR, 0x104058, 0x280000}, {OP_WR, 0x104084, 0x84924a}, {OP_WR, 0x104058, 0x0}, /* #define CFC_COMMON_END 89 */ /* #define CSDM_COMMON_START 110 */ - {OP_SW, 0xc2008, 0x30469}, - {OP_SW, 0xc201c, 0x4046c}, - {OP_SW, 0xc2038, 0x110470}, + {OP_SW, 0xc2008, 0x3046b}, + {OP_SW, 0xc201c, 0x4046e}, + {OP_SW, 0xc2038, 0x110472}, {OP_ZR, 0xc207c, 0x4f}, - {OP_SW, 0xc21b8, 0x110481}, + {OP_SW, 0xc21b8, 0x110483}, {OP_ZR, 0xc21fc, 0xf}, - {OP_SW, 0xc2238, 0x40492}, + {OP_SW, 0xc2238, 0x40494}, {OP_RD, 0xc2248, 0x0}, {OP_RD, 0xc224c, 0x0}, {OP_RD, 0xc2250, 0x0}, @@ -141,76 +141,76 @@ static const struct raw_op init_ops_e1[] /* #define CSDM_COMMON_END 111 */ /* #define CSEM_COMMON_START 132 */ {OP_FW, 0x200400, 0xe00000}, - {OP_WR_64, 0x200780, 0x100496}, + {OP_WR_64, 0x200780, 0x100498}, {OP_ZR, 0x220000, 0x1600}, {OP_ZR, 0x228000, 0x40}, {OP_ZR, 0x223bd0, 0x8}, {OP_ZR, 0x224800, 0x6}, - {OP_SW, 0x224818, 0x40498}, + {OP_SW, 0x224818, 0x4049a}, {OP_ZR, 0x224828, 0xc}, - {OP_SW, 0x224858, 0x4049c}, + {OP_SW, 0x224858, 0x4049e}, {OP_ZR, 0x224868, 0xc}, - {OP_SW, 0x224898, 0x404a0}, + {OP_SW, 0x224898, 0x404a2}, {OP_ZR, 0x2248a8, 0xc}, - {OP_SW, 0x2248d8, 0x404a4}, + {OP_SW, 0x2248d8, 0x404a6}, {OP_ZR, 0x2248e8, 0xc}, - {OP_SW, 0x224918, 0x404a8}, + {OP_SW, 0x224918, 0x404aa}, {OP_ZR, 0x224928, 0xc}, - {OP_SW, 0x224958, 0x404ac}, + {OP_SW, 0x224958, 0x404ae}, {OP_ZR, 0x224968, 0xc}, - {OP_SW, 0x224998, 0x404b0}, + {OP_SW, 0x224998, 0x404b2}, {OP_ZR, 0x2249a8, 0xc}, - {OP_SW, 0x2249d8, 0x404b4}, + {OP_SW, 0x2249d8, 0x404b6}, {OP_ZR, 0x2249e8, 0xc}, - {OP_SW, 0x224a18, 0x404b8}, + {OP_SW, 0x224a18, 0x404ba}, {OP_ZR, 0x224a28, 0xc}, - {OP_SW, 0x224a58, 0x404bc}, + {OP_SW, 0x224a58, 0x404be}, {OP_ZR, 0x224a68, 0xc}, - {OP_SW, 0x224a98, 0x404c0}, + {OP_SW, 0x224a98, 0x404c2}, {OP_ZR, 0x224aa8, 0xc}, - {OP_SW, 0x224ad8, 0x404c4}, + {OP_SW, 0x224ad8, 0x404c6}, {OP_ZR, 0x224ae8, 0xc}, - {OP_SW, 0x224b18, 0x404c8}, + {OP_SW, 0x224b18, 0x404ca}, {OP_ZR, 0x224b28, 0xc}, - {OP_SW, 0x224b58, 0x404cc}, + {OP_SW, 0x224b58, 0x404ce}, {OP_ZR, 0x224b68, 0xc}, - {OP_SW, 0x224b98, 0x404d0}, + {OP_SW, 0x224b98, 0x404d2}, {OP_ZR, 0x224ba8, 0xc}, - {OP_SW, 0x224bd8, 0x404d4}, + {OP_SW, 0x224bd8, 0x404d6}, {OP_ZR, 0x224be8, 0xc}, - {OP_SW, 0x224c18, 0x404d8}, + {OP_SW, 0x224c18, 0x404da}, {OP_ZR, 0x224c28, 0xc}, - {OP_SW, 0x224c58, 0x404dc}, + {OP_SW, 0x224c58, 0x404de}, {OP_ZR, 0x224c68, 0xc}, - {OP_SW, 0x224c98, 0x404e0}, + {OP_SW, 0x224c98, 0x404e2}, {OP_ZR, 0x224ca8, 0xc}, - {OP_SW, 0x224cd8, 0x404e4}, + {OP_SW, 0x224cd8, 0x404e6}, {OP_ZR, 0x224ce8, 0xc}, - {OP_SW, 0x224d18, 0x404e8}, + {OP_SW, 0x224d18, 0x404ea}, {OP_ZR, 0x224d28, 0xc}, - {OP_SW, 0x224d58, 0x404ec}, + {OP_SW, 0x224d58, 0x404ee}, {OP_ZR, 0x224d68, 0xc}, - {OP_SW, 0x224d98, 0x404f0}, + {OP_SW, 0x224d98, 0x404f2}, {OP_ZR, 0x224da8, 0xc}, - {OP_SW, 0x224dd8, 0x404f4}, + {OP_SW, 0x224dd8, 0x404f6}, {OP_ZR, 0x224de8, 0xc}, - {OP_SW, 0x224e18, 0x404f8}, + {OP_SW, 0x224e18, 0x404fa}, {OP_ZR, 0x224e28, 0xc}, - {OP_SW, 0x224e58, 0x404fc}, + {OP_SW, 0x224e58, 0x404fe}, {OP_ZR, 0x224e68, 0xc}, - {OP_SW, 0x224e98, 0x40500}, + {OP_SW, 0x224e98, 0x40502}, {OP_ZR, 0x224ea8, 0xc}, - {OP_SW, 0x224ed8, 0x40504}, + {OP_SW, 0x224ed8, 0x40506}, {OP_ZR, 0x224ee8, 0xc}, - {OP_SW, 0x224f18, 0x40508}, + {OP_SW, 0x224f18, 0x4050a}, {OP_ZR, 0x224f28, 0xc}, - {OP_SW, 0x224f58, 0x4050c}, + {OP_SW, 0x224f58, 0x4050e}, {OP_ZR, 0x224f68, 0xc}, - {OP_SW, 0x224f98, 0x40510}, + {OP_SW, 0x224f98, 0x40512}, {OP_ZR, 0x224fa8, 0xc}, - {OP_SW, 0x224fd8, 0x40514}, + {OP_SW, 0x224fd8, 0x40516}, {OP_ZR, 0x224fe8, 0x6}, - {OP_SW, 0x225198, 0x40518}, + {OP_SW, 0x225198, 0x4051a}, {OP_WR, 0x238000, 0x10}, {OP_WR, 0x238040, 0x12}, {OP_WR, 0x238080, 0x30}, @@ -227,16 +227,16 @@ static const struct raw_op init_ops_e1[] {OP_IF_MODE_AND, 2, 0x4}, /* emul */ {OP_WR, 0x238300, 0x138}, {OP_WR, 0x238340, 0x0}, - {OP_FW, 0x240000, 0x27300000}, - {OP_WR_64, 0x249cc0, 0x6ace051c}, + {OP_FW, 0x240000, 0x22600000}, + {OP_WR_64, 0x248980, 0x6d36051e}, {OP_RD, 0x200000, 0x0}, {OP_RD, 0x200004, 0x0}, {OP_RD, 0x200008, 0x0}, {OP_RD, 0x20000c, 0x0}, {OP_RD, 0x200010, 0x0}, {OP_RD, 0x200014, 0x0}, - {OP_SW, 0x200020, 0x1a051e}, - {OP_SW, 0x2000a4, 0x20538}, + {OP_SW, 0x200020, 0x1a0520}, + {OP_SW, 0x2000a4, 0x2053a}, {OP_WR, 0x200224, 0x0}, {OP_WR, 0x200234, 0x0}, {OP_WR, 0x20024c, 0x0}, @@ -259,17 +259,17 @@ static const struct raw_op init_ops_e1[] /* #define CSEM_PORT1_END 137 */ /* #define DMAE_COMMON_START 176 */ {OP_ZR, 0x102400, 0xe0}, - {OP_SW, 0x10201c, 0x2053a}, + {OP_SW, 0x10201c, 0x2053c}, {OP_WR, 0x1020c0, 0x1}, - {OP_SW, 0x102004, 0x2053c}, + {OP_SW, 0x102004, 0x2053e}, /* #define DMAE_COMMON_END 177 */ /* #define DORQ_COMMON_START 198 */ {OP_WR, 0x170008, 0x2}, {OP_WR, 0x17002c, 0x3}, - {OP_SW, 0x170038, 0x2053e}, - {OP_SW, 0x170044, 0x60540}, - {OP_SW, 0x170060, 0x50546}, - {OP_SW, 0x170078, 0x2054b}, + {OP_SW, 0x170038, 0x20540}, + {OP_SW, 0x170044, 0x60542}, + {OP_SW, 0x170060, 0x50548}, + {OP_SW, 0x170078, 0x2054d}, {OP_WR, 0x170004, 0xf}, /* #define DORQ_COMMON_END 199 */ /* #define HC_COMMON_START 220 */ @@ -280,7 +280,7 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x108040, 0x2}, {OP_ZR, 0x108028, 0x2}, {OP_WR, 0x108038, 0x10}, - {OP_SW, 0x108040, 0x2054d}, + {OP_SW, 0x108040, 0x2054f}, {OP_WR, 0x108050, 0x0}, {OP_WR, 0x108100, 0x0}, {OP_ZR, 0x108120, 0x2}, @@ -300,7 +300,7 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x108048, 0x2}, {OP_ZR, 0x108030, 0x2}, {OP_WR, 0x10803c, 0x10}, - {OP_SW, 0x108048, 0x2054f}, + {OP_SW, 0x108048, 0x20551}, {OP_WR, 0x108054, 0x0}, {OP_WR, 0x108104, 0x0}, {OP_ZR, 0x108128, 0x2}, @@ -318,13 +318,13 @@ static const struct raw_op init_ops_e1[] /* #define MISC_COMMON_START 264 */ {OP_WR, 0xa468, 0xaffdc}, {OP_WR, 0xa280, 0x1}, - {OP_SW, 0xa294, 0x40551}, + {OP_SW, 0xa294, 0x40553}, {OP_WR, 0xa4fc, 0xff000000}, /* #define MISC_COMMON_END 265 */ /* #define NIG_COMMON_START 286 */ - {OP_SW, 0x100b4, 0x20555}, + {OP_SW, 0x100b4, 0x20557}, {OP_WR, 0x100dc, 0x1}, - {OP_SW, 0x10100, 0x20557}, + {OP_SW, 0x10100, 0x20559}, /* #define NIG_COMMON_END 287 */ /* #define NIG_PORT0_START 288 */ {OP_WR, 0x1007c, 0x300000}, @@ -355,7 +355,7 @@ static const struct raw_op init_ops_e1[] /* #define PBF_COMMON_START 308 */ {OP_WR, 0x140000, 0x1}, {OP_WR, 0x14000c, 0x1}, - {OP_SW, 0x140040, 0x20559}, + {OP_SW, 0x140040, 0x2055b}, {OP_WR, 0x14000c, 0x0}, {OP_WR, 0x140000, 0x0}, {OP_WR, 0x14006c, 0x0}, @@ -373,16 +373,16 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x140060, 0x0}, /* #define PBF_PORT1_END 313 */ /* #define PRS_COMMON_START 352 */ - {OP_SW, 0x40004, 0x12055b}, - {OP_SW, 0x40054, 0x3056d}, + {OP_SW, 0x40004, 0x12055d}, + {OP_SW, 0x40054, 0x3056f}, {OP_WR, 0x40070, 0x4}, - {OP_SW, 0x40078, 0x40570}, + {OP_SW, 0x40078, 0x40572}, {OP_ZR, 0x40088, 0x5}, - {OP_SW, 0x4009c, 0x30574}, + {OP_SW, 0x4009c, 0x30576}, {OP_ZR, 0x400a8, 0x4}, - {OP_SW, 0x400b8, 0x50577}, + {OP_SW, 0x400b8, 0x50579}, {OP_ZR, 0x400cc, 0x4}, - {OP_SW, 0x400dc, 0x4057c}, + {OP_SW, 0x400dc, 0x4057e}, {OP_ZR, 0x400ec, 0x4}, {OP_RD, 0x40124, 0x0}, {OP_RD, 0x40128, 0x0}, @@ -391,67 +391,67 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x40134, 0xf}, /* #define PRS_COMMON_END 353 */ /* #define PXP2_COMMON_START 374 */ - {OP_SW, 0x120490, 0x220580}, + {OP_SW, 0x120490, 0x220582}, {OP_WR, 0x120520, 0x2}, {OP_WR, 0x120388, 0x64}, {OP_WR, 0x120390, 0x8}, - {OP_SW, 0x12039c, 0x305a2}, + {OP_SW, 0x12039c, 0x305a4}, {OP_WR, 0x1203bc, 0x4}, {OP_WR, 0x1203c4, 0x4}, {OP_WR, 0x1203d0, 0x0}, {OP_WR, 0x1203dc, 0x0}, {OP_WR, 0x12036c, 0x1}, {OP_WR, 0x120368, 0x3f}, - {OP_SW, 0x1201bc, 0x3c05a5}, - {OP_SW, 0x1202b0, 0x205e1}, - {OP_SW, 0x120324, 0x205e3}, + {OP_SW, 0x1201bc, 0x3c05a7}, + {OP_SW, 0x1202b0, 0x205e3}, + {OP_SW, 0x120324, 0x205e5}, {OP_WR, 0x1201b0, 0x1}, /* #define PXP2_COMMON_END 375 */ /* #define PXP_COMMON_START 396 */ - {OP_WB, 0x103800, 0x505e5}, - {OP_WB, 0x103c00, 0x505ea}, - {OP_WB, 0x103c20, 0x505ef}, + {OP_WB, 0x103800, 0x505e7}, + {OP_WB, 0x103c00, 0x505ec}, + {OP_WB, 0x103c20, 0x505f1}, /* #define PXP_COMMON_END 397 */ /* #define QM_COMMON_START 418 */ - {OP_SW, 0x168030, 0x805f4}, + {OP_SW, 0x168030, 0x805f6}, {OP_WR, 0x168054, 0x2}, - {OP_SW, 0x168060, 0x505fc}, + {OP_SW, 0x168060, 0x505fe}, {OP_ZR, 0x168074, 0x7}, - {OP_SW, 0x168090, 0x20601}, - {OP_SW, 0x16809c, 0x50603}, + {OP_SW, 0x168090, 0x20603}, + {OP_SW, 0x16809c, 0x50605}, {OP_ZR, 0x1680b0, 0x7}, - {OP_SW, 0x1680cc, 0x80608}, + {OP_SW, 0x1680cc, 0x8060a}, {OP_WR, 0x1680f0, 0x7}, {OP_ZR, 0x1680f4, 0xc}, - {OP_SW, 0x168124, 0x40610}, + {OP_SW, 0x168124, 0x40612}, {OP_ZR, 0x168134, 0xc}, - {OP_SW, 0x168164, 0x3b0614}, + {OP_SW, 0x168164, 0x3b0616}, {OP_ZR, 0x168250, 0x4}, - {OP_SW, 0x168260, 0x2064f}, + {OP_SW, 0x168260, 0x20651}, {OP_ZR, 0x168268, 0x8}, - {OP_SW, 0x168288, 0x80651}, + {OP_SW, 0x168288, 0x80653}, {OP_ZR, 0x1682a8, 0xa}, {OP_WR, 0x168804, 0x4}, - {OP_SW, 0x16880c, 0x100659}, + {OP_SW, 0x16880c, 0x10065b}, {OP_WR, 0x1680ec, 0xff}, /* #define QM_COMMON_END 419 */ /* #define SRC_COMMON_START 440 */ - {OP_SW, 0x40408, 0x140669}, + {OP_SW, 0x40408, 0x14066b}, /* #define SRC_COMMON_END 441 */ /* #define TCM_COMMON_START 462 */ - {OP_SW, 0x50044, 0x2067d}, - {OP_SW, 0x50050, 0x4067f}, + {OP_SW, 0x50044, 0x2067f}, + {OP_SW, 0x50050, 0x40681}, {OP_ZR, 0x50060, 0x4}, - {OP_SW, 0x50090, 0x130683}, + {OP_SW, 0x50090, 0x130685}, {OP_WR, 0x50114, 0x1}, - {OP_SW, 0x5011c, 0x20696}, + {OP_SW, 0x5011c, 0x20698}, {OP_WR, 0x50204, 0x1}, - {OP_SW, 0x5020c, 0x20698}, - {OP_SW, 0x5021c, 0x3069a}, + {OP_SW, 0x5020c, 0x2069a}, + {OP_SW, 0x5021c, 0x3069c}, {OP_ZR, 0x50240, 0xa}, - {OP_SW, 0x50280, 0x20069d}, + {OP_SW, 0x50280, 0x20069f}, {OP_ZR, 0x54000, 0xd00}, - {OP_SW, 0x50004, 0x1006bd}, + {OP_SW, 0x50004, 0x1006bf}, /* #define TCM_COMMON_END 463 */ /* #define TCM_PORT0_START 464 */ {OP_WR, 0x500e0, 0xe}, @@ -461,7 +461,7 @@ static const struct raw_op init_ops_e1[] /* #define TCM_PORT1_END 467 */ /* #define TM_COMMON_START 484 */ {OP_ZR, 0x164024, 0x2}, - {OP_SW, 0x164030, 0x306cd}, + {OP_SW, 0x164030, 0x306cf}, {OP_WR, 0x164044, 0x20}, {OP_WR, 0x164070, 0x1c}, {OP_WR, 0x164208, 0x1}, @@ -479,7 +479,7 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x16401c, 0x9c}, {OP_WR, 0x164000, 0x1}, {OP_WR, 0x1640d8, 0x1}, - {OP_SW, 0x164008, 0x306d0}, + {OP_SW, 0x164008, 0x306d2}, /* #define TM_COMMON_END 485 */ /* #define TM_PORT0_START 486 */ {OP_WR, 0x164240, 0x0}, @@ -492,10 +492,10 @@ static const struct raw_op init_ops_e1[] {OP_WB_ZR, 0x164280, 0x2}, /* #define TM_PORT1_END 489 */ /* #define TSDM_COMMON_START 506 */ - {OP_SW, 0x42008, 0x406d3}, - {OP_SW, 0x4201c, 0x406d7}, + {OP_SW, 0x42008, 0x406d5}, + {OP_SW, 0x4201c, 0x406d9}, {OP_ZR, 0x42038, 0x80}, - {OP_SW, 0x42238, 0x406db}, + {OP_SW, 0x42238, 0x406dd}, {OP_RD, 0x42248, 0x0}, {OP_RD, 0x4224c, 0x0}, {OP_RD, 0x42250, 0x0}, @@ -520,17 +520,17 @@ static const struct raw_op init_ops_e1[] /* #define TSDM_COMMON_END 507 */ /* #define TSEM_COMMON_START 528 */ {OP_FW, 0x180400, 0xd80000}, - {OP_WR_64, 0x180760, 0x1406df}, + {OP_WR_64, 0x180760, 0x1406e1}, {OP_ZR, 0x1a0000, 0x1600}, {OP_ZR, 0x1a8000, 0x40}, - {OP_SW, 0x1a08b0, 0x206e1}, - {OP_SW, 0x1a19c8, 0x206e3}, - {OP_SW, 0x1a2fc0, 0x406e5}, + {OP_SW, 0x1a08b0, 0x206e3}, + {OP_SW, 0x1a19c8, 0x206e5}, + {OP_SW, 0x1a2fc0, 0x406e7}, {OP_ZR, 0x1a2fd0, 0x6}, - {OP_SW, 0x1a2fe8, 0x206e9}, - {OP_SW, 0x1a3000, 0x3f906eb}, + {OP_SW, 0x1a2fe8, 0x206eb}, + {OP_SW, 0x1a3000, 0x3f906ed}, {OP_ZR, 0x1a3fe4, 0x7}, - {OP_SW, 0x1a4870, 0x40ae4}, + {OP_SW, 0x1a4870, 0x40ae6}, {OP_WR, 0x1b8000, 0x34}, {OP_WR, 0x1b8040, 0x18}, {OP_WR, 0x1b8080, 0xc}, @@ -547,16 +547,16 @@ static const struct raw_op init_ops_e1[] {OP_IF_MODE_AND, 2, 0x4}, /* emul */ {OP_WR, 0x1b8300, 0x138}, {OP_WR, 0x1b8340, 0x0}, - {OP_FW, 0x1c0000, 0x535c0000}, - {OP_WR_64, 0x1d4d70, 0x56520ae8}, + {OP_FW, 0x1c0000, 0x48600000}, + {OP_WR_64, 0x1d2180, 0x5bd00aea}, {OP_RD, 0x180000, 0x0}, {OP_RD, 0x180004, 0x0}, {OP_RD, 0x180008, 0x0}, {OP_RD, 0x18000c, 0x0}, {OP_RD, 0x180010, 0x0}, {OP_RD, 0x180014, 0x0}, - {OP_SW, 0x180020, 0x1a0aea}, - {OP_SW, 0x1800a4, 0x20b04}, + {OP_SW, 0x180020, 0x1a0aec}, + {OP_SW, 0x1800a4, 0x20b06}, {OP_WR, 0x180224, 0x0}, {OP_WR, 0x180234, 0x0}, {OP_WR, 0x18024c, 0x0}, @@ -570,11 +570,11 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x1a2500, 0x10}, {OP_ZR, 0x1a2580, 0x12}, {OP_ZR, 0x1a2610, 0x12}, - {OP_SW, 0x1a2fb0, 0x20b06}, + {OP_SW, 0x1a2fb0, 0x20b08}, {OP_ZR, 0x1a4000, 0x6}, {OP_ZR, 0x1a4030, 0x2}, {OP_ZR, 0x1a4820, 0x2}, - {OP_SW, 0x1a4c50, 0x20b08}, + {OP_SW, 0x1a4c50, 0x20b0a}, /* #define TSEM_PORT0_END 531 */ /* #define TSEM_PORT1_START 532 */ {OP_ZR, 0x1a0810, 0x2}, @@ -583,26 +583,26 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x1a2540, 0x10}, {OP_ZR, 0x1a25c8, 0x12}, {OP_ZR, 0x1a2658, 0x12}, - {OP_SW, 0x1a2fb8, 0x20b0a}, + {OP_SW, 0x1a2fb8, 0x20b0c}, {OP_ZR, 0x1a4018, 0x6}, {OP_ZR, 0x1a4038, 0x2}, {OP_ZR, 0x1a4828, 0x2}, - {OP_SW, 0x1a4c58, 0x20b0c}, + {OP_SW, 0x1a4c58, 0x20b0e}, /* #define TSEM_PORT1_END 533 */ /* #define UCM_COMMON_START 550 */ {OP_WR, 0xe004c, 0x32}, - {OP_SW, 0xe0054, 0x40b0e}, + {OP_SW, 0xe0054, 0x40b10}, {OP_ZR, 0xe0064, 0x4}, - {OP_SW, 0xe0094, 0x130b12}, + {OP_SW, 0xe0094, 0x130b14}, {OP_WR, 0xe0144, 0x1}, - {OP_SW, 0xe014c, 0x20b25}, + {OP_SW, 0xe014c, 0x20b27}, {OP_WR, 0xe0204, 0x1}, - {OP_SW, 0xe020c, 0x20b27}, - {OP_SW, 0xe021c, 0x40b29}, - {OP_SW, 0xe0280, 0x1b0b2d}, + {OP_SW, 0xe020c, 0x20b29}, + {OP_SW, 0xe021c, 0x40b2b}, + {OP_SW, 0xe0280, 0x1b0b2f}, {OP_ZR, 0xe02ec, 0x17}, {OP_ZR, 0xe2000, 0x800}, - {OP_SW, 0xe0004, 0x110b48}, + {OP_SW, 0xe0004, 0x110b4a}, /* #define UCM_COMMON_END 551 */ /* #define UCM_PORT0_START 552 */ {OP_WR, 0xe0110, 0xf}, @@ -614,13 +614,13 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0xc1000, 0x28}, /* #define UPB_COMMON_END 573 */ /* #define USDM_COMMON_START 594 */ - {OP_SW, 0xc4008, 0x40b59}, - {OP_SW, 0xc401c, 0x40b5d}, - {OP_SW, 0xc4038, 0x20b61}, + {OP_SW, 0xc4008, 0x40b5b}, + {OP_SW, 0xc401c, 0x40b5f}, + {OP_SW, 0xc4038, 0x20b63}, {OP_ZR, 0xc4040, 0x5e}, {OP_WR, 0xc41b8, 0x1}, {OP_ZR, 0xc41bc, 0x1f}, - {OP_SW, 0xc4238, 0x40b63}, + {OP_SW, 0xc4238, 0x40b65}, {OP_RD, 0xc4248, 0x0}, {OP_RD, 0xc424c, 0x0}, {OP_RD, 0xc4250, 0x0}, @@ -646,13 +646,13 @@ static const struct raw_op init_ops_e1[] /* #define USDM_COMMON_END 595 */ /* #define USEM_COMMON_START 616 */ {OP_FW, 0x300400, 0xda0000}, - {OP_WR_64, 0x300768, 0x130b67}, + {OP_WR_64, 0x300768, 0x130b69}, {OP_ZR, 0x320000, 0x1600}, {OP_ZR, 0x328000, 0x40}, - {OP_SW, 0x321830, 0x20b69}, - {OP_SW, 0x322e70, 0x40b6b}, + {OP_SW, 0x321830, 0x20b6b}, + {OP_SW, 0x322e70, 0x40b6d}, {OP_ZR, 0x325080, 0x8}, - {OP_SW, 0x3250a0, 0x20b6f}, + {OP_SW, 0x3250a0, 0x20b71}, {OP_WR, 0x338000, 0x1a}, {OP_WR, 0x338040, 0x4e}, {OP_WR, 0x338080, 0x10}, @@ -669,16 +669,16 @@ static const struct raw_op init_ops_e1[] {OP_IF_MODE_AND, 2, 0x4}, /* emul */ {OP_WR, 0x338300, 0x138}, {OP_WR, 0x338340, 0x0}, - {OP_FW, 0x340000, 0x59440000}, - {OP_WR_64, 0x356510, 0x535e0b71}, + {OP_FW, 0x340000, 0x88540000}, + {OP_WR_64, 0x362150, 0x3bd60b73}, {OP_RD, 0x300000, 0x0}, {OP_RD, 0x300004, 0x0}, {OP_RD, 0x300008, 0x0}, {OP_RD, 0x30000c, 0x0}, {OP_RD, 0x300010, 0x0}, {OP_RD, 0x300014, 0x0}, - {OP_SW, 0x300020, 0x1a0b73}, - {OP_SW, 0x3000a4, 0x20b8d}, + {OP_SW, 0x300020, 0x1a0b75}, + {OP_SW, 0x3000a4, 0x20b8f}, {OP_WR, 0x300224, 0x0}, {OP_WR, 0x300234, 0x0}, {OP_WR, 0x30024c, 0x0}, @@ -733,23 +733,23 @@ static const struct raw_op init_ops_e1[] /* #define USEM_PORT1_END 621 */ /* #define XCM_COMMON_START 638 */ {OP_WR, 0x20058, 0x32}, - {OP_SW, 0x20060, 0x40b8f}, + {OP_SW, 0x20060, 0x40b91}, {OP_ZR, 0x20070, 0x4}, - {OP_SW, 0x200a0, 0xe0b93}, - {OP_SW, 0x200dc, 0x70ba1}, + {OP_SW, 0x200a0, 0xe0b95}, + {OP_SW, 0x200dc, 0x70ba3}, {OP_WR, 0x200fc, 0x6}, {OP_WR, 0x20120, 0x0}, {OP_WR, 0x20134, 0x2}, {OP_WR, 0x201b0, 0x1}, {OP_WR, 0x2020c, 0x1}, - {OP_SW, 0x20214, 0x20ba8}, + {OP_SW, 0x20214, 0x20baa}, {OP_WR, 0x20404, 0x1}, - {OP_SW, 0x2040c, 0x20baa}, - {OP_SW, 0x2041c, 0x40bac}, - {OP_SW, 0x20480, 0x1f0bb0}, + {OP_SW, 0x2040c, 0x20bac}, + {OP_SW, 0x2041c, 0x40bae}, + {OP_SW, 0x20480, 0x1f0bb2}, {OP_ZR, 0x204fc, 0x13}, {OP_ZR, 0x28000, 0x2000}, - {OP_SW, 0x20004, 0x140bcf}, + {OP_SW, 0x20004, 0x140bd1}, /* #define XCM_COMMON_END 639 */ /* #define XCM_PORT0_START 640 */ {OP_WR, 0x20108, 0xc8}, @@ -775,15 +775,15 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x161000, 0x28}, /* #define XPB_COMMON_END 661 */ /* #define XSDM_COMMON_START 682 */ - {OP_SW, 0x166008, 0x30be3}, - {OP_SW, 0x16601c, 0x40be6}, - {OP_SW, 0x166038, 0xd0bea}, + {OP_SW, 0x166008, 0x30be5}, + {OP_SW, 0x16601c, 0x40be8}, + {OP_SW, 0x166038, 0xd0bec}, {OP_ZR, 0x16606c, 0x13}, - {OP_SW, 0x1660b8, 0x20bf7}, + {OP_SW, 0x1660b8, 0x20bf9}, {OP_ZR, 0x1660c0, 0x3e}, {OP_WR, 0x1661b8, 0x1}, {OP_ZR, 0x1661bc, 0x1f}, - {OP_SW, 0x166238, 0x40bf9}, + {OP_SW, 0x166238, 0x40bfb}, {OP_RD, 0x166248, 0x0}, {OP_RD, 0x16624c, 0x0}, {OP_RD, 0x166250, 0x0}, @@ -808,19 +808,19 @@ static const struct raw_op init_ops_e1[] /* #define XSDM_COMMON_END 683 */ /* #define XSEM_COMMON_START 704 */ {OP_FW, 0x280400, 0xda0000}, - {OP_WR_64, 0x280768, 0x130bfd}, + {OP_WR_64, 0x280768, 0x130bff}, {OP_ZR, 0x2a0000, 0x1600}, {OP_ZR, 0x2a8000, 0x40}, - {OP_SW, 0x2a2500, 0x20bff}, - {OP_SW, 0x2a2960, 0x40c01}, - {OP_SW, 0x2a2f48, 0x20c05}, - {OP_SW, 0x2a3368, 0x20c07}, - {OP_SW, 0x2a3920, 0x20c09}, - {OP_SW, 0x2a3930, 0x20c0b}, - {OP_SW, 0x2a3ac8, 0x20c0d}, + {OP_SW, 0x2a2500, 0x20c01}, + {OP_SW, 0x2a2960, 0x40c03}, + {OP_SW, 0x2a2f48, 0x20c07}, + {OP_SW, 0x2a3368, 0x20c09}, + {OP_SW, 0x2a3920, 0x20c0b}, + {OP_SW, 0x2a3930, 0x20c0d}, + {OP_SW, 0x2a3ac8, 0x20c0f}, {OP_ZR, 0x2a3ad0, 0x6}, - {OP_SW, 0x2a3b98, 0x20c0f}, - {OP_SW, 0x2a3c20, 0x40c11}, + {OP_SW, 0x2a3b98, 0x20c11}, + {OP_SW, 0x2a3c20, 0x40c13}, {OP_WR, 0x2a3cd0, 0x0}, {OP_WR, 0x2b8000, 0x0}, {OP_WR, 0x2b8040, 0x18}, @@ -840,16 +840,16 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x2b8340, 0x0}, {OP_IF_MODE_AND, 1, 0x20}, /* port2 */ {OP_WR, 0x2a3cd4, 0x0}, - {OP_FW, 0x2c0000, 0x6c0c0000}, - {OP_WR_64, 0x2db030, 0x49fa0c15}, + {OP_FW, 0x2c0000, 0x64e40000}, + {OP_WR_64, 0x2d9390, 0x4d8e0c17}, {OP_RD, 0x280000, 0x0}, {OP_RD, 0x280004, 0x0}, {OP_RD, 0x280008, 0x0}, {OP_RD, 0x28000c, 0x0}, {OP_RD, 0x280010, 0x0}, {OP_RD, 0x280014, 0x0}, - {OP_SW, 0x280020, 0x1a0c17}, - {OP_SW, 0x2800a4, 0x20c31}, + {OP_SW, 0x280020, 0x1a0c19}, + {OP_SW, 0x2800a4, 0x20c33}, {OP_WR, 0x280224, 0x0}, {OP_WR, 0x280234, 0x0}, {OP_WR, 0x28024c, 0x0}, @@ -860,8 +860,8 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x2a3910, 0x2}, {OP_ZR, 0x2a3938, 0x20}, {OP_ZR, 0x2a3a38, 0x10}, - {OP_SW, 0x2a3ae8, 0x20c33}, - {OP_SW, 0x2a3af8, 0x100c35}, + {OP_SW, 0x2a3ae8, 0x20c35}, + {OP_SW, 0x2a3af8, 0x100c37}, {OP_ZR, 0x2a3c30, 0x2}, {OP_ZR, 0x2a5000, 0x2}, {OP_ZR, 0x2a5010, 0x2}, @@ -874,8 +874,8 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x2a3918, 0x2}, {OP_ZR, 0x2a39b8, 0x20}, {OP_ZR, 0x2a3a78, 0x10}, - {OP_SW, 0x2a3af0, 0x20c45}, - {OP_SW, 0x2a3b38, 0x100c47}, + {OP_SW, 0x2a3af0, 0x20c47}, + {OP_SW, 0x2a3b38, 0x100c49}, {OP_ZR, 0x2a3c38, 0x2}, {OP_ZR, 0x2a5008, 0x2}, {OP_ZR, 0x2a5018, 0x2}, @@ -888,20 +888,20 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0xa000, 0x16}, /* #define MISC_AEU_COMMON_END 727 */ /* #define MISC_AEU_PORT0_START 728 */ - {OP_SW, 0xa06c, 0x60c57}, + {OP_SW, 0xa06c, 0x60c59}, {OP_ZR, 0xa084, 0x5}, {OP_WR, 0xa098, 0xfe00000}, {OP_ZR, 0xa09c, 0x14}, - {OP_SW, 0xa0ec, 0x80c5d}, + {OP_SW, 0xa0ec, 0x80c5f}, {OP_ZR, 0xa22c, 0x4}, {OP_WR, 0xa060, 0x307}, /* #define MISC_AEU_PORT0_END 729 */ /* #define MISC_AEU_PORT1_START 730 */ - {OP_SW, 0xa10c, 0x60c65}, + {OP_SW, 0xa10c, 0x60c67}, {OP_ZR, 0xa124, 0x5}, {OP_WR, 0xa138, 0xfe00000}, {OP_ZR, 0xa13c, 0x14}, - {OP_SW, 0xa18c, 0x80c6b}, + {OP_SW, 0xa18c, 0x80c6d}, {OP_ZR, 0xa23c, 0x4}, {OP_WR, 0xa064, 0x307}, /* #define MISC_AEU_PORT1_END 731 */ @@ -1183,14 +1183,15 @@ static const uint32_t init_data_e1[] = { 0x00000000, 0x00100000, 0x00000000, 0xffffffff, 0x00cfffff, 0x00000000, 0x00000000, 0x000000cc, 0x00000000, 0x00200000, 0x00000000, 0xffffffff, 0x00cfffff, 0x00000000, 0x00000000, 0x000000cc, 0x00000000, 0x00400000, - 0x00000000, 0x00000a11, 0x00000a00, 0x00000a04, 0x0000ffff, 0x0000ffff, - 0x0000ffff, 0x0000ffff, 0x00000020, 0x00000021, 0x00000022, 0x00000023, - 0x00000024, 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x00000029, - 0x0000002a, 0x0000002b, 0x0000002c, 0x0000002d, 0x0000002e, 0x0000002f, - 0x00000010, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, + 0x00000000, 0x00000200, 0x00003dff, 0x00000a11, 0x00000a00, 0x00000a04, + 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x00000020, 0x00000021, + 0x00000022, 0x00000023, 0x00000024, 0x00000025, 0x00000026, 0x00000027, + 0x00000028, 0x00000029, 0x0000002a, 0x0000002b, 0x0000002c, 0x0000002d, + 0x0000002e, 0x0000002f, 0x00000010, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x07ffffff, 0x0000003f, 0x07ffffff, 0x0000000f, 0x00007ff8, 0x00007ff8, + 0x00000001, 0x00000001, 0x07ffffff, 0x0000003f, 0x07ffffff, 0x0000000f, + 0x00007ff8, 0x00007ff8, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, @@ -1211,347 +1212,346 @@ static const uint32_t init_data_e1[] = { 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, - 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, - 0x0000ff1c, 0x0fffffff, 0x0000ff00, 0x00000000, 0x0000ff00, 0x00000000, - 0x00000312, 0x00003500, 0x00000001, 0x00000002, 0x00000003, 0x00000000, - 0x00000004, 0x00000001, 0x00000000, 0x00000001, 0x00000004, 0x00000000, - 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00000004, 0x00000000, - 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00000004, 0x00000000, - 0x00000004, 0x00000003, 0x00000000, 0x00000000, 0x00003fff, 0x000003ff, - 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x007c1004, 0x00000004, - 0x00000000, 0x00000002, 0x00000090, 0x00000090, 0x00800090, 0x08100000, - 0x0000008a, 0x00000080, 0x00000081, 0x00000080, 0x00000006, 0x000007d0, - 0x0000076c, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x071d2911, - 0x00000000, 0x009c0424, 0x00000000, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00007fff, 0x000000ff, 0x000000ff, 0x000000ff, - 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x0000003e, - 0x00000000, 0x0000003f, 0x0000003f, 0x0000003f, 0x00000000, 0x0000003f, - 0x0000003f, 0x0000003f, 0x0000000f, 0x00000043, 0x00000000, 0x00000006, - 0x00000000, 0x12170000, 0x22170000, 0x32170000, 0x12150000, 0x22150000, - 0x32150000, 0x02100000, 0x00100000, 0x10100000, 0x20100000, 0x30100000, - 0x00100000, 0x12140000, 0x22140000, 0x32140000, 0x00e38340, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0xf0003000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffff3328, 0xffff3338, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, + 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff00, 0x00000000, + 0x0000ff00, 0x00000000, 0x00000002, 0x00001500, 0x00000001, 0x00000002, + 0x00000003, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000001, + 0x00000004, 0x00000000, 0x00000001, 0x00000003, 0x00000000, 0x00000001, + 0x00000004, 0x00000000, 0x00000001, 0x00000003, 0x00000000, 0x00000001, + 0x00000004, 0x00000000, 0x00000004, 0x00000003, 0x00000000, 0x00000000, + 0x00003fff, 0x000003ff, 0x00000000, 0x00000001, 0x00000001, 0x00000001, + 0x007c1004, 0x00000004, 0x00000000, 0x00000002, 0x00000090, 0x00000090, + 0x00800090, 0x08100000, 0x0000008a, 0x00000080, 0x00000081, 0x00000080, + 0x00000006, 0x000007d0, 0x0000076c, 0x0000ffff, 0x0000ffff, 0x0000ffff, + 0x0000ffff, 0x071d2911, 0x00000000, 0x009c0424, 0x00000000, 0x00000001, + 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00007fff, 0x000000ff, + 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, + 0x000000ff, 0x0000003e, 0x00000000, 0x0000003f, 0x0000003f, 0x0000003f, + 0x00000000, 0x0000003f, 0x0000003f, 0x0000003f, 0x0000000f, 0x00000043, + 0x00000000, 0x00000006, 0x00000000, 0x12170000, 0x22170000, 0x32170000, + 0x12150000, 0x22150000, 0x32150000, 0x02100000, 0x00100000, 0x10100000, + 0x20100000, 0x30100000, 0x00100000, 0x12140000, 0x22140000, 0x32140000, + 0x00e38340, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, + 0xffffffff, 0xffffffff, 0xffffffff, 0xf0003000, 0xffffffff, 0xffffffff, + 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffff3328, + 0xffff3338, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0x00003c10, 0x00000008, 0x00000000, 0x00000000, 0x00000040, - 0x00001808, 0x00000803, 0x00000803, 0x00000040, 0x00000003, 0x00000803, - 0x00000803, 0x00000803, 0x00010003, 0x00000803, 0x00000803, 0x00000003, - 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, + 0xffffffff, 0xffffffff, 0xffffffff, 0x00003c10, 0x00000008, 0x00000000, + 0x00000000, 0x00000040, 0x00001808, 0x00000803, 0x00000803, 0x00000040, + 0x00000003, 0x00000803, 0x00000803, 0x00000803, 0x00010003, 0x00000803, + 0x00000803, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, - 0x00000003, 0x00000003, 0x00002403, 0x0000002f, 0x00000009, 0x00000019, - 0x00000184, 0x00000183, 0x00000306, 0x00000019, 0x00000006, 0x00000306, - 0x00000306, 0x00000306, 0x00000c86, 0x00000306, 0x00000306, 0x00000006, + 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00002403, 0x0000002f, + 0x00000009, 0x00000019, 0x00000184, 0x00000183, 0x00000306, 0x00000019, + 0x00000006, 0x00000306, 0x00000306, 0x00000306, 0x00000c86, 0x00000306, + 0x00000306, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, - 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, - 0x00000006, 0x00000006, 0x00000306, 0x00000013, 0x00000006, 0x00001004, - 0x00001004, 0x00106440, 0x00106440, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00002000, - 0x0000007c, 0x0000003d, 0x0000003f, 0x0000009c, 0x00000006, 0x00000005, - 0x0000000a, 0x00000005, 0x00000140, 0x00000140, 0x00000000, 0x00000000, - 0x000000c0, 0x0000013f, 0x00007fff, 0x00000048, 0x00000048, 0x00000000, - 0x00000000, 0x00000048, 0x00000004, 0x00000004, 0x00000004, 0x00000004, - 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000009, - 0x0000000b, 0x0000000a, 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, + 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000306, 0x00000013, + 0x00000006, 0x00001004, 0x00001004, 0x00106440, 0x00106440, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00002000, 0x0000007c, 0x0000003d, 0x0000003f, 0x0000009c, + 0x00000006, 0x00000005, 0x0000000a, 0x00000005, 0x00000140, 0x00000140, + 0x00000000, 0x00000000, 0x000000c0, 0x0000013f, 0x00007fff, 0x00000048, + 0x00000048, 0x00000000, 0x00000000, 0x00000048, 0x00000004, 0x00000004, + 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000004, + 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000004, 0x00000009, + 0x0000000b, 0x0000000a, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, + 0x00000001, 0x00000001, 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000004, 0x00000009, - 0x0000000b, 0x0000000a, 0x00000000, 0x00000000, 0x00000800, 0x00000200, - 0x000001ff, 0x00000400, 0x00000000, 0x00000000, 0x1e491e49, 0x1e491e49, - 0x0e490e49, 0x0e490e49, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, - 0x000025e4, 0x00008000, 0x00000013, 0x0fff0fff, 0x00000000, 0x00000000, - 0x0fff0fff, 0x10001000, 0x10001000, 0x20002000, 0x20002000, 0x80008000, - 0x80008000, 0x40004000, 0x40004000, 0x00000000, 0x00000001, 0x01010101, - 0x01200101, 0x20010101, 0x01011001, 0x01010101, 0x01200101, 0x20010101, - 0x01011001, 0x20010101, 0x01011001, 0x01010101, 0x01200101, 0x20010101, - 0x01011001, 0x01010101, 0x01200101, 0x00000123, 0x00000123, 0x00000123, + 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000000, 0x00000000, + 0x00000800, 0x00000200, 0x000001ff, 0x00000400, 0x00000000, 0x00000000, + 0x1e491e49, 0x1e491e49, 0x0e490e49, 0x0e490e49, 0xffffffff, 0x00000000, + 0xffffffff, 0x00000000, 0x000025e4, 0x00008000, 0x00000013, 0x0fff0fff, + 0x00000000, 0x00000000, 0x0fff0fff, 0x10001000, 0x10001000, 0x20002000, + 0x20002000, 0x80008000, 0x80008000, 0x40004000, 0x40004000, 0x00000000, + 0x00000001, 0x01010101, 0x01200101, 0x20010101, 0x01011001, 0x01010101, + 0x01200101, 0x20010101, 0x01011001, 0x20010101, 0x01011001, 0x01010101, + 0x01200101, 0x20010101, 0x01011001, 0x01010101, 0x01200101, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, - 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000020, - 0x00000032, 0x00000007, 0x00000007, 0x00000000, 0x00000008, 0x02150020, - 0x02150020, 0x00000030, 0x08100000, 0x00000033, 0x00000030, 0x00000031, - 0x00000002, 0x00000005, 0x00000006, 0x00000002, 0x00000002, 0x00000000, - 0x00000005, 0x00000002, 0x00000002, 0x00000002, 0x00000001, 0x00000006, - 0x00000001, 0x00000002, 0x00000040, 0x00000040, 0x00000020, 0x00000013, - 0x00000020, 0x00010000, 0x000204c0, 0x00030980, 0x00040e40, 0x00051300, - 0x000617c0, 0x00071c80, 0x00082140, 0x00092600, 0x000a2ac0, 0x000b2f80, - 0x000c3440, 0x000d3900, 0x000e3dc0, 0x000f4280, 0x00104740, 0x00114c00, - 0x001250c0, 0x00135580, 0x00145a40, 0x00155f00, 0x001663c0, 0x00176880, - 0x00186d40, 0x00197200, 0x001a76c0, 0x001b7b80, 0x001c8040, 0x001d8500, - 0x001e89c0, 0x001f8e80, 0x00009340, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000008, 0x0000000c, 0x00000010, 0x00000001, 0x00000001, - 0x00000001, 0x00000211, 0x00000200, 0x00000204, 0x00000219, 0x0000ffff, - 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x07ffffff, 0x0000003f, 0x07ffffff, - 0x0000000f, 0x00007ff8, 0x00007ff8, 0x00000000, 0x140aff00, 0x00000000, - 0x00000001, 0x00201001, 0x00000000, 0x01008600, 0x00000100, 0x00000001, - 0x00000000, 0x00008602, 0x00000000, 0x00000000, 0x00000000, 0x00008604, - 0x00000000, 0x00000000, 0x00000000, 0x00008606, 0x00000000, 0x00000000, - 0x00000000, 0x00008608, 0x00000000, 0x00000000, 0x00000000, 0x0000860a, - 0x00000000, 0x00000000, 0x00000000, 0x0000860c, 0x00000000, 0x00000000, - 0x00000000, 0x0000860e, 0x00000000, 0x00000000, 0x00000000, 0x00008610, - 0x00000000, 0x00000000, 0x00000000, 0x00008612, 0x00000000, 0x00000000, - 0x00000000, 0x00008614, 0x00000000, 0x00000000, 0x00000000, 0x00008616, - 0x00000000, 0x00000000, 0x00000000, 0x00008618, 0x00000000, 0x00000000, - 0x00000000, 0x0000861a, 0x00000000, 0x00000000, 0x00000000, 0x0000861c, - 0x00000000, 0x00000000, 0x00000000, 0x0000861e, 0x00000000, 0x00000000, - 0x00000000, 0x00008620, 0x00000000, 0x00000000, 0x00000000, 0x00008622, - 0x00000000, 0x00000000, 0x00000000, 0x00008624, 0x00000000, 0x00000000, - 0x00000000, 0x00008626, 0x00000000, 0x00000000, 0x00000000, 0x00008628, - 0x00000000, 0x00000000, 0x00000000, 0x0000862a, 0x00000000, 0x00000000, - 0x00000000, 0x0000862c, 0x00000000, 0x00000000, 0x00000000, 0x0000862e, - 0x00000000, 0x00000000, 0x00000000, 0x00008630, 0x00000000, 0x00000000, - 0x00000000, 0x00008632, 0x00000000, 0x00000000, 0x00000000, 0x00008634, - 0x00000000, 0x00000000, 0x00000000, 0x00008636, 0x00000000, 0x00000000, - 0x00000000, 0x00008638, 0x00000000, 0x00000000, 0x00000000, 0x0000863a, - 0x00000000, 0x00000000, 0x00000000, 0x0000863c, 0x00000000, 0x00000000, - 0x00000000, 0x0000863e, 0x00000000, 0x00000000, 0x00000000, 0x00008640, - 0x00000000, 0x00000000, 0x00000000, 0x00008642, 0x00000000, 0x00000000, - 0x00000000, 0x00008644, 0x00000000, 0x00000000, 0x00000000, 0x00008646, - 0x00000000, 0x00000000, 0x00000000, 0x00008648, 0x00000000, 0x00000000, - 0x00000000, 0x0000864a, 0x00000000, 0x00000000, 0x00000000, 0x0000864c, - 0x00000000, 0x00000000, 0x00000000, 0x0000864e, 0x00000000, 0x00000000, - 0x00000000, 0x00008650, 0x00000000, 0x00000000, 0x00000000, 0x00008652, - 0x00000000, 0x00000000, 0x00000000, 0x00008654, 0x00000000, 0x00000000, - 0x00000000, 0x00008656, 0x00000000, 0x00000000, 0x00000000, 0x00008658, - 0x00000000, 0x00000000, 0x00000000, 0x0000865a, 0x00000000, 0x00000000, - 0x00000000, 0x0000865c, 0x00000000, 0x00000000, 0x00000000, 0x0000865e, - 0x00000000, 0x00000000, 0x00000000, 0x00008660, 0x00000000, 0x00000000, - 0x00000000, 0x00008662, 0x00000000, 0x00000000, 0x00000000, 0x00008664, - 0x00000000, 0x00000000, 0x00000000, 0x00008666, 0x00000000, 0x00000000, - 0x00000000, 0x00008668, 0x00000000, 0x00000000, 0x00000000, 0x0000866a, - 0x00000000, 0x00000000, 0x00000000, 0x0000866c, 0x00000000, 0x00000000, - 0x00000000, 0x0000866e, 0x00000000, 0x00000000, 0x00000000, 0x00008670, - 0x00000000, 0x00000000, 0x00000000, 0x00008672, 0x00000000, 0x00000000, - 0x00000000, 0x00008674, 0x00000000, 0x00000000, 0x00000000, 0x00008676, - 0x00000000, 0x00000000, 0x00000000, 0x00008678, 0x00000000, 0x00000000, - 0x00000000, 0x0000867a, 0x00000000, 0x00000000, 0x00000000, 0x0000867c, - 0x00000000, 0x00000000, 0x00000000, 0x0000867e, 0x00000000, 0x00000000, - 0x00000000, 0x00008680, 0x00000000, 0x00000000, 0x00000000, 0x00008682, - 0x00000000, 0x00000000, 0x00000000, 0x00008684, 0x00000000, 0x00000000, - 0x00000000, 0x00008686, 0x00000000, 0x00000000, 0x00000000, 0x00008688, - 0x00000000, 0x00000000, 0x00000000, 0x0000868a, 0x00000000, 0x00000000, - 0x00000000, 0x0000868c, 0x00000000, 0x00000000, 0x00000000, 0x0000868e, - 0x00000000, 0x00000000, 0x00000000, 0x00008690, 0x00000000, 0x00000000, - 0x00000000, 0x00008692, 0x00000000, 0x00000000, 0x00000000, 0x00008694, - 0x00000000, 0x00000000, 0x00000000, 0x00008696, 0x00000000, 0x00000000, - 0x00000000, 0x00008698, 0x00000000, 0x00000000, 0x00000000, 0x0000869a, - 0x00000000, 0x00000000, 0x00000000, 0x0000869c, 0x00000000, 0x00000000, - 0x00000000, 0x0000869e, 0x00000000, 0x00000000, 0x00000000, 0x000086a0, - 0x00000000, 0x00000000, 0x00000000, 0x000086a2, 0x00000000, 0x00000000, - 0x00000000, 0x000086a4, 0x00000000, 0x00000000, 0x00000000, 0x000086a6, - 0x00000000, 0x00000000, 0x00000000, 0x000086a8, 0x00000000, 0x00000000, - 0x00000000, 0x000086aa, 0x00000000, 0x00000000, 0x00000000, 0x000086ac, - 0x00000000, 0x00000000, 0x00000000, 0x000086ae, 0x00000000, 0x00000000, - 0x00000000, 0x000086b0, 0x00000000, 0x00000000, 0x00000000, 0x000086b2, - 0x00000000, 0x00000000, 0x00000000, 0x000086b4, 0x00000000, 0x00000000, - 0x00000000, 0x000086b6, 0x00000000, 0x00000000, 0x00000000, 0x000086b8, - 0x00000000, 0x00000000, 0x00000000, 0x000086ba, 0x00000000, 0x00000000, - 0x00000000, 0x000086bc, 0x00000000, 0x00000000, 0x00000000, 0x000086be, - 0x00000000, 0x00000000, 0x00000000, 0x000086c0, 0x00000000, 0x00000000, - 0x00000000, 0x000086c2, 0x00000000, 0x00000000, 0x00000000, 0x000086c4, - 0x00000000, 0x00000000, 0x00000000, 0x000086c6, 0x00000000, 0x00000000, - 0x00000000, 0x000086c8, 0x00000000, 0x00000000, 0x00000000, 0x000086ca, - 0x00000000, 0x00000000, 0x00000000, 0x000086cc, 0x00000000, 0x00000000, - 0x00000000, 0x000086ce, 0x00000000, 0x00000000, 0x00000000, 0x000086d0, - 0x00000000, 0x00000000, 0x00000000, 0x000086d2, 0x00000000, 0x00000000, - 0x00000000, 0x000086d4, 0x00000000, 0x00000000, 0x00000000, 0x000086d6, - 0x00000000, 0x00000000, 0x00000000, 0x000086d8, 0x00000000, 0x00000000, - 0x00000000, 0x000086da, 0x00000000, 0x00000000, 0x00000000, 0x000086dc, - 0x00000000, 0x00000000, 0x00000000, 0x000086de, 0x00000000, 0x00000000, - 0x00000000, 0x000086e0, 0x00000000, 0x00000000, 0x00000000, 0x000086e2, - 0x00000000, 0x00000000, 0x00000000, 0x000086e4, 0x00000000, 0x00000000, - 0x00000000, 0x000086e6, 0x00000000, 0x00000000, 0x00000000, 0x000086e8, - 0x00000000, 0x00000000, 0x00000000, 0x000086ea, 0x00000000, 0x00000000, - 0x00000000, 0x000086ec, 0x00000000, 0x00000000, 0x00000000, 0x000086ee, - 0x00000000, 0x00000000, 0x00000000, 0x000086f0, 0x00000000, 0x00000000, - 0x00000000, 0x000086f2, 0x00000000, 0x00000000, 0x00000000, 0x000086f4, - 0x00000000, 0x00000000, 0x00000000, 0x000086f6, 0x00000000, 0x00000000, - 0x00000000, 0x000086f8, 0x00000000, 0x00000000, 0x00000000, 0x000086fa, - 0x00000000, 0x00000000, 0x00000000, 0x000086fc, 0x00000000, 0x00000000, - 0x00000000, 0x000086fe, 0x00000000, 0x00000000, 0x00000000, 0x00008700, - 0x00000000, 0x00000000, 0x00000000, 0x00008702, 0x00000000, 0x00000000, - 0x00000000, 0x00008704, 0x00000000, 0x00000000, 0x00000000, 0x00008706, - 0x00000000, 0x00000000, 0x00000000, 0x00008708, 0x00000000, 0x00000000, - 0x00000000, 0x0000870a, 0x00000000, 0x00000000, 0x00000000, 0x0000870c, - 0x00000000, 0x00000000, 0x00000000, 0x0000870e, 0x00000000, 0x00000000, - 0x00000000, 0x00008710, 0x00000000, 0x00000000, 0x00000000, 0x00008712, - 0x00000000, 0x00000000, 0x00000000, 0x00008714, 0x00000000, 0x00000000, - 0x00000000, 0x00008716, 0x00000000, 0x00000000, 0x00000000, 0x00008718, - 0x00000000, 0x00000000, 0x00000000, 0x0000871a, 0x00000000, 0x00000000, - 0x00000000, 0x0000871c, 0x00000000, 0x00000000, 0x00000000, 0x0000871e, - 0x00000000, 0x00000000, 0x00000000, 0x00008720, 0x00000000, 0x00000000, - 0x00000000, 0x00008722, 0x00000000, 0x00000000, 0x00000000, 0x00008724, - 0x00000000, 0x00000000, 0x00000000, 0x00008726, 0x00000000, 0x00000000, - 0x00000000, 0x00008728, 0x00000000, 0x00000000, 0x00000000, 0x0000872a, - 0x00000000, 0x00000000, 0x00000000, 0x0000872c, 0x00000000, 0x00000000, - 0x00000000, 0x0000872e, 0x00000000, 0x00000000, 0x00000000, 0x00008730, - 0x00000000, 0x00000000, 0x00000000, 0x00008732, 0x00000000, 0x00000000, - 0x00000000, 0x00008734, 0x00000000, 0x00000000, 0x00000000, 0x00008736, - 0x00000000, 0x00000000, 0x00000000, 0x00008738, 0x00000000, 0x00000000, - 0x00000000, 0x0000873a, 0x00000000, 0x00000000, 0x00000000, 0x0000873c, - 0x00000000, 0x00000000, 0x00000000, 0x0000873e, 0x00000000, 0x00000000, - 0x00000000, 0x00008740, 0x00000000, 0x00000000, 0x00000000, 0x00008742, - 0x00000000, 0x00000000, 0x00000000, 0x00008744, 0x00000000, 0x00000000, - 0x00000000, 0x00008746, 0x00000000, 0x00000000, 0x00000000, 0x00008748, - 0x00000000, 0x00000000, 0x00000000, 0x0000874a, 0x00000000, 0x00000000, - 0x00000000, 0x0000874c, 0x00000000, 0x00000000, 0x00000000, 0x0000874e, - 0x00000000, 0x00000000, 0x00000000, 0x00008750, 0x00000000, 0x00000000, - 0x00000000, 0x00008752, 0x00000000, 0x00000000, 0x00000000, 0x00008754, - 0x00000000, 0x00000000, 0x00000000, 0x00008756, 0x00000000, 0x00000000, - 0x00000000, 0x00008758, 0x00000000, 0x00000000, 0x00000000, 0x0000875a, - 0x00000000, 0x00000000, 0x00000000, 0x0000875c, 0x00000000, 0x00000000, - 0x00000000, 0x0000875e, 0x00000000, 0x00000000, 0x00000000, 0x00008760, - 0x00000000, 0x00000000, 0x00000000, 0x00008762, 0x00000000, 0x00000000, - 0x00000000, 0x00008764, 0x00000000, 0x00000000, 0x00000000, 0x00008766, - 0x00000000, 0x00000000, 0x00000000, 0x00008768, 0x00000000, 0x00000000, - 0x00000000, 0x0000876a, 0x00000000, 0x00000000, 0x00000000, 0x0000876c, - 0x00000000, 0x00000000, 0x00000000, 0x0000876e, 0x00000000, 0x00000000, - 0x00000000, 0x00008770, 0x00000000, 0x00000000, 0x00000000, 0x00008772, - 0x00000000, 0x00000000, 0x00000000, 0x00008774, 0x00000000, 0x00000000, - 0x00000000, 0x00008776, 0x00000000, 0x00000000, 0x00000000, 0x00008778, - 0x00000000, 0x00000000, 0x00000000, 0x0000877a, 0x00000000, 0x00000000, - 0x00000000, 0x0000877c, 0x00000000, 0x00000000, 0x00000000, 0x0000877e, - 0x00000000, 0x00000000, 0x00000000, 0x00008780, 0x00000000, 0x00000000, - 0x00000000, 0x00008782, 0x00000000, 0x00000000, 0x00000000, 0x00008784, - 0x00000000, 0x00000000, 0x00000000, 0x00008786, 0x00000000, 0x00000000, - 0x00000000, 0x00008788, 0x00000000, 0x00000000, 0x00000000, 0x0000878a, - 0x00000000, 0x00000000, 0x00000000, 0x0000878c, 0x00000000, 0x00000000, - 0x00000000, 0x0000878e, 0x00000000, 0x00000000, 0x00000000, 0x00008790, - 0x00000000, 0x00000000, 0x00000000, 0x00008792, 0x00000000, 0x00000000, - 0x00000000, 0x00008794, 0x00000000, 0x00000000, 0x00000000, 0x00008796, - 0x00000000, 0x00000000, 0x00000000, 0x00008798, 0x00000000, 0x00000000, - 0x00000000, 0x0000879a, 0x00000000, 0x00000000, 0x00000000, 0x0000879c, - 0x00000000, 0x00000000, 0x00000000, 0x0000879e, 0x00000000, 0x00000000, - 0x00000000, 0x000087a0, 0x00000000, 0x00000000, 0x00000000, 0x000087a2, - 0x00000000, 0x00000000, 0x00000000, 0x000087a4, 0x00000000, 0x00000000, - 0x00000000, 0x000087a6, 0x00000000, 0x00000000, 0x00000000, 0x000087a8, - 0x00000000, 0x00000000, 0x00000000, 0x000087aa, 0x00000000, 0x00000000, - 0x00000000, 0x000087ac, 0x00000000, 0x00000000, 0x00000000, 0x000087ae, - 0x00000000, 0x00000000, 0x00000000, 0x000087b0, 0x00000000, 0x00000000, - 0x00000000, 0x000087b2, 0x00000000, 0x00000000, 0x00000000, 0x000087b4, - 0x00000000, 0x00000000, 0x00000000, 0x000087b6, 0x00000000, 0x00000000, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Wed Mar 9 21:40:02 2016 Return-Path: Delivered-To: svn-src-all@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 76425AC9509; Wed, 9 Mar 2016 21:40:02 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2D59F1C0; Wed, 9 Mar 2016 21:40:02 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29Le15c072819; Wed, 9 Mar 2016 21:40:01 GMT (envelope-from davidcs@FreeBSD.org) Received: (from davidcs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29Le1hC072817; Wed, 9 Mar 2016 21:40:01 GMT (envelope-from davidcs@FreeBSD.org) Message-Id: <201603092140.u29Le1hC072817@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: davidcs set sender to davidcs@FreeBSD.org using -f From: David C Somayajulu Date: Wed, 9 Mar 2016 21:40:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296581 - in stable/9/sys: dev/bxe modules/bxe X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 21:40:02 -0000 Author: davidcs Date: Wed Mar 9 21:40:00 2016 New Revision: 296581 URL: https://svnweb.freebsd.org/changeset/base/296581 Log: MFC r296071 Upgrade the firmware carried in driver and loaded during hardware initialization (a.k.a STORM firmware) to version 7.13.1 (latest version) Modified: stable/9/sys/dev/bxe/57710_init_values.c stable/9/sys/dev/bxe/57710_int_offsets.h stable/9/sys/dev/bxe/57711_init_values.c stable/9/sys/dev/bxe/57711_int_offsets.h stable/9/sys/dev/bxe/57712_init_values.c stable/9/sys/dev/bxe/57712_int_offsets.h stable/9/sys/dev/bxe/bxe.c stable/9/sys/dev/bxe/bxe.h stable/9/sys/dev/bxe/bxe_elink.c stable/9/sys/dev/bxe/bxe_elink.h stable/9/sys/dev/bxe/bxe_stats.c stable/9/sys/dev/bxe/ecore_fw_defs.h stable/9/sys/dev/bxe/ecore_hsi.h stable/9/sys/dev/bxe/ecore_init.h stable/9/sys/dev/bxe/ecore_init_ops.h stable/9/sys/dev/bxe/ecore_mfw_req.h stable/9/sys/dev/bxe/ecore_reg.h stable/9/sys/dev/bxe/ecore_sp.c stable/9/sys/dev/bxe/ecore_sp.h stable/9/sys/modules/bxe/Makefile Directory Properties: stable/9/ (props changed) stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) stable/9/sys/modules/ (props changed) Modified: stable/9/sys/dev/bxe/57710_init_values.c ============================================================================== --- stable/9/sys/dev/bxe/57710_init_values.c Wed Mar 9 21:30:21 2016 (r296580) +++ stable/9/sys/dev/bxe/57710_init_values.c Wed Mar 9 21:40:00 2016 (r296581) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2007-2014 QLogic Corporation. All rights reserved. + * Copyright (c) 2007-2017 QLogic Corporation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -11,7 +11,7 @@ * 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 COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS' + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS @@ -104,19 +104,19 @@ static const struct raw_op init_ops_e1[] /* #define CFC_COMMON_START 88 */ {OP_ZR, 0x104c00, 0x100}, {OP_WR, 0x104028, 0x10}, - {OP_WR, 0x104044, 0x3fff}, + {OP_SW, 0x104040, 0x20469}, {OP_WR, 0x104058, 0x280000}, {OP_WR, 0x104084, 0x84924a}, {OP_WR, 0x104058, 0x0}, /* #define CFC_COMMON_END 89 */ /* #define CSDM_COMMON_START 110 */ - {OP_SW, 0xc2008, 0x30469}, - {OP_SW, 0xc201c, 0x4046c}, - {OP_SW, 0xc2038, 0x110470}, + {OP_SW, 0xc2008, 0x3046b}, + {OP_SW, 0xc201c, 0x4046e}, + {OP_SW, 0xc2038, 0x110472}, {OP_ZR, 0xc207c, 0x4f}, - {OP_SW, 0xc21b8, 0x110481}, + {OP_SW, 0xc21b8, 0x110483}, {OP_ZR, 0xc21fc, 0xf}, - {OP_SW, 0xc2238, 0x40492}, + {OP_SW, 0xc2238, 0x40494}, {OP_RD, 0xc2248, 0x0}, {OP_RD, 0xc224c, 0x0}, {OP_RD, 0xc2250, 0x0}, @@ -141,76 +141,76 @@ static const struct raw_op init_ops_e1[] /* #define CSDM_COMMON_END 111 */ /* #define CSEM_COMMON_START 132 */ {OP_FW, 0x200400, 0xe00000}, - {OP_WR_64, 0x200780, 0x100496}, + {OP_WR_64, 0x200780, 0x100498}, {OP_ZR, 0x220000, 0x1600}, {OP_ZR, 0x228000, 0x40}, {OP_ZR, 0x223bd0, 0x8}, {OP_ZR, 0x224800, 0x6}, - {OP_SW, 0x224818, 0x40498}, + {OP_SW, 0x224818, 0x4049a}, {OP_ZR, 0x224828, 0xc}, - {OP_SW, 0x224858, 0x4049c}, + {OP_SW, 0x224858, 0x4049e}, {OP_ZR, 0x224868, 0xc}, - {OP_SW, 0x224898, 0x404a0}, + {OP_SW, 0x224898, 0x404a2}, {OP_ZR, 0x2248a8, 0xc}, - {OP_SW, 0x2248d8, 0x404a4}, + {OP_SW, 0x2248d8, 0x404a6}, {OP_ZR, 0x2248e8, 0xc}, - {OP_SW, 0x224918, 0x404a8}, + {OP_SW, 0x224918, 0x404aa}, {OP_ZR, 0x224928, 0xc}, - {OP_SW, 0x224958, 0x404ac}, + {OP_SW, 0x224958, 0x404ae}, {OP_ZR, 0x224968, 0xc}, - {OP_SW, 0x224998, 0x404b0}, + {OP_SW, 0x224998, 0x404b2}, {OP_ZR, 0x2249a8, 0xc}, - {OP_SW, 0x2249d8, 0x404b4}, + {OP_SW, 0x2249d8, 0x404b6}, {OP_ZR, 0x2249e8, 0xc}, - {OP_SW, 0x224a18, 0x404b8}, + {OP_SW, 0x224a18, 0x404ba}, {OP_ZR, 0x224a28, 0xc}, - {OP_SW, 0x224a58, 0x404bc}, + {OP_SW, 0x224a58, 0x404be}, {OP_ZR, 0x224a68, 0xc}, - {OP_SW, 0x224a98, 0x404c0}, + {OP_SW, 0x224a98, 0x404c2}, {OP_ZR, 0x224aa8, 0xc}, - {OP_SW, 0x224ad8, 0x404c4}, + {OP_SW, 0x224ad8, 0x404c6}, {OP_ZR, 0x224ae8, 0xc}, - {OP_SW, 0x224b18, 0x404c8}, + {OP_SW, 0x224b18, 0x404ca}, {OP_ZR, 0x224b28, 0xc}, - {OP_SW, 0x224b58, 0x404cc}, + {OP_SW, 0x224b58, 0x404ce}, {OP_ZR, 0x224b68, 0xc}, - {OP_SW, 0x224b98, 0x404d0}, + {OP_SW, 0x224b98, 0x404d2}, {OP_ZR, 0x224ba8, 0xc}, - {OP_SW, 0x224bd8, 0x404d4}, + {OP_SW, 0x224bd8, 0x404d6}, {OP_ZR, 0x224be8, 0xc}, - {OP_SW, 0x224c18, 0x404d8}, + {OP_SW, 0x224c18, 0x404da}, {OP_ZR, 0x224c28, 0xc}, - {OP_SW, 0x224c58, 0x404dc}, + {OP_SW, 0x224c58, 0x404de}, {OP_ZR, 0x224c68, 0xc}, - {OP_SW, 0x224c98, 0x404e0}, + {OP_SW, 0x224c98, 0x404e2}, {OP_ZR, 0x224ca8, 0xc}, - {OP_SW, 0x224cd8, 0x404e4}, + {OP_SW, 0x224cd8, 0x404e6}, {OP_ZR, 0x224ce8, 0xc}, - {OP_SW, 0x224d18, 0x404e8}, + {OP_SW, 0x224d18, 0x404ea}, {OP_ZR, 0x224d28, 0xc}, - {OP_SW, 0x224d58, 0x404ec}, + {OP_SW, 0x224d58, 0x404ee}, {OP_ZR, 0x224d68, 0xc}, - {OP_SW, 0x224d98, 0x404f0}, + {OP_SW, 0x224d98, 0x404f2}, {OP_ZR, 0x224da8, 0xc}, - {OP_SW, 0x224dd8, 0x404f4}, + {OP_SW, 0x224dd8, 0x404f6}, {OP_ZR, 0x224de8, 0xc}, - {OP_SW, 0x224e18, 0x404f8}, + {OP_SW, 0x224e18, 0x404fa}, {OP_ZR, 0x224e28, 0xc}, - {OP_SW, 0x224e58, 0x404fc}, + {OP_SW, 0x224e58, 0x404fe}, {OP_ZR, 0x224e68, 0xc}, - {OP_SW, 0x224e98, 0x40500}, + {OP_SW, 0x224e98, 0x40502}, {OP_ZR, 0x224ea8, 0xc}, - {OP_SW, 0x224ed8, 0x40504}, + {OP_SW, 0x224ed8, 0x40506}, {OP_ZR, 0x224ee8, 0xc}, - {OP_SW, 0x224f18, 0x40508}, + {OP_SW, 0x224f18, 0x4050a}, {OP_ZR, 0x224f28, 0xc}, - {OP_SW, 0x224f58, 0x4050c}, + {OP_SW, 0x224f58, 0x4050e}, {OP_ZR, 0x224f68, 0xc}, - {OP_SW, 0x224f98, 0x40510}, + {OP_SW, 0x224f98, 0x40512}, {OP_ZR, 0x224fa8, 0xc}, - {OP_SW, 0x224fd8, 0x40514}, + {OP_SW, 0x224fd8, 0x40516}, {OP_ZR, 0x224fe8, 0x6}, - {OP_SW, 0x225198, 0x40518}, + {OP_SW, 0x225198, 0x4051a}, {OP_WR, 0x238000, 0x10}, {OP_WR, 0x238040, 0x12}, {OP_WR, 0x238080, 0x30}, @@ -227,16 +227,16 @@ static const struct raw_op init_ops_e1[] {OP_IF_MODE_AND, 2, 0x4}, /* emul */ {OP_WR, 0x238300, 0x138}, {OP_WR, 0x238340, 0x0}, - {OP_FW, 0x240000, 0x27300000}, - {OP_WR_64, 0x249cc0, 0x6ace051c}, + {OP_FW, 0x240000, 0x22600000}, + {OP_WR_64, 0x248980, 0x6d36051e}, {OP_RD, 0x200000, 0x0}, {OP_RD, 0x200004, 0x0}, {OP_RD, 0x200008, 0x0}, {OP_RD, 0x20000c, 0x0}, {OP_RD, 0x200010, 0x0}, {OP_RD, 0x200014, 0x0}, - {OP_SW, 0x200020, 0x1a051e}, - {OP_SW, 0x2000a4, 0x20538}, + {OP_SW, 0x200020, 0x1a0520}, + {OP_SW, 0x2000a4, 0x2053a}, {OP_WR, 0x200224, 0x0}, {OP_WR, 0x200234, 0x0}, {OP_WR, 0x20024c, 0x0}, @@ -259,17 +259,17 @@ static const struct raw_op init_ops_e1[] /* #define CSEM_PORT1_END 137 */ /* #define DMAE_COMMON_START 176 */ {OP_ZR, 0x102400, 0xe0}, - {OP_SW, 0x10201c, 0x2053a}, + {OP_SW, 0x10201c, 0x2053c}, {OP_WR, 0x1020c0, 0x1}, - {OP_SW, 0x102004, 0x2053c}, + {OP_SW, 0x102004, 0x2053e}, /* #define DMAE_COMMON_END 177 */ /* #define DORQ_COMMON_START 198 */ {OP_WR, 0x170008, 0x2}, {OP_WR, 0x17002c, 0x3}, - {OP_SW, 0x170038, 0x2053e}, - {OP_SW, 0x170044, 0x60540}, - {OP_SW, 0x170060, 0x50546}, - {OP_SW, 0x170078, 0x2054b}, + {OP_SW, 0x170038, 0x20540}, + {OP_SW, 0x170044, 0x60542}, + {OP_SW, 0x170060, 0x50548}, + {OP_SW, 0x170078, 0x2054d}, {OP_WR, 0x170004, 0xf}, /* #define DORQ_COMMON_END 199 */ /* #define HC_COMMON_START 220 */ @@ -280,7 +280,7 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x108040, 0x2}, {OP_ZR, 0x108028, 0x2}, {OP_WR, 0x108038, 0x10}, - {OP_SW, 0x108040, 0x2054d}, + {OP_SW, 0x108040, 0x2054f}, {OP_WR, 0x108050, 0x0}, {OP_WR, 0x108100, 0x0}, {OP_ZR, 0x108120, 0x2}, @@ -300,7 +300,7 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x108048, 0x2}, {OP_ZR, 0x108030, 0x2}, {OP_WR, 0x10803c, 0x10}, - {OP_SW, 0x108048, 0x2054f}, + {OP_SW, 0x108048, 0x20551}, {OP_WR, 0x108054, 0x0}, {OP_WR, 0x108104, 0x0}, {OP_ZR, 0x108128, 0x2}, @@ -318,13 +318,13 @@ static const struct raw_op init_ops_e1[] /* #define MISC_COMMON_START 264 */ {OP_WR, 0xa468, 0xaffdc}, {OP_WR, 0xa280, 0x1}, - {OP_SW, 0xa294, 0x40551}, + {OP_SW, 0xa294, 0x40553}, {OP_WR, 0xa4fc, 0xff000000}, /* #define MISC_COMMON_END 265 */ /* #define NIG_COMMON_START 286 */ - {OP_SW, 0x100b4, 0x20555}, + {OP_SW, 0x100b4, 0x20557}, {OP_WR, 0x100dc, 0x1}, - {OP_SW, 0x10100, 0x20557}, + {OP_SW, 0x10100, 0x20559}, /* #define NIG_COMMON_END 287 */ /* #define NIG_PORT0_START 288 */ {OP_WR, 0x1007c, 0x300000}, @@ -355,7 +355,7 @@ static const struct raw_op init_ops_e1[] /* #define PBF_COMMON_START 308 */ {OP_WR, 0x140000, 0x1}, {OP_WR, 0x14000c, 0x1}, - {OP_SW, 0x140040, 0x20559}, + {OP_SW, 0x140040, 0x2055b}, {OP_WR, 0x14000c, 0x0}, {OP_WR, 0x140000, 0x0}, {OP_WR, 0x14006c, 0x0}, @@ -373,16 +373,16 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x140060, 0x0}, /* #define PBF_PORT1_END 313 */ /* #define PRS_COMMON_START 352 */ - {OP_SW, 0x40004, 0x12055b}, - {OP_SW, 0x40054, 0x3056d}, + {OP_SW, 0x40004, 0x12055d}, + {OP_SW, 0x40054, 0x3056f}, {OP_WR, 0x40070, 0x4}, - {OP_SW, 0x40078, 0x40570}, + {OP_SW, 0x40078, 0x40572}, {OP_ZR, 0x40088, 0x5}, - {OP_SW, 0x4009c, 0x30574}, + {OP_SW, 0x4009c, 0x30576}, {OP_ZR, 0x400a8, 0x4}, - {OP_SW, 0x400b8, 0x50577}, + {OP_SW, 0x400b8, 0x50579}, {OP_ZR, 0x400cc, 0x4}, - {OP_SW, 0x400dc, 0x4057c}, + {OP_SW, 0x400dc, 0x4057e}, {OP_ZR, 0x400ec, 0x4}, {OP_RD, 0x40124, 0x0}, {OP_RD, 0x40128, 0x0}, @@ -391,67 +391,67 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x40134, 0xf}, /* #define PRS_COMMON_END 353 */ /* #define PXP2_COMMON_START 374 */ - {OP_SW, 0x120490, 0x220580}, + {OP_SW, 0x120490, 0x220582}, {OP_WR, 0x120520, 0x2}, {OP_WR, 0x120388, 0x64}, {OP_WR, 0x120390, 0x8}, - {OP_SW, 0x12039c, 0x305a2}, + {OP_SW, 0x12039c, 0x305a4}, {OP_WR, 0x1203bc, 0x4}, {OP_WR, 0x1203c4, 0x4}, {OP_WR, 0x1203d0, 0x0}, {OP_WR, 0x1203dc, 0x0}, {OP_WR, 0x12036c, 0x1}, {OP_WR, 0x120368, 0x3f}, - {OP_SW, 0x1201bc, 0x3c05a5}, - {OP_SW, 0x1202b0, 0x205e1}, - {OP_SW, 0x120324, 0x205e3}, + {OP_SW, 0x1201bc, 0x3c05a7}, + {OP_SW, 0x1202b0, 0x205e3}, + {OP_SW, 0x120324, 0x205e5}, {OP_WR, 0x1201b0, 0x1}, /* #define PXP2_COMMON_END 375 */ /* #define PXP_COMMON_START 396 */ - {OP_WB, 0x103800, 0x505e5}, - {OP_WB, 0x103c00, 0x505ea}, - {OP_WB, 0x103c20, 0x505ef}, + {OP_WB, 0x103800, 0x505e7}, + {OP_WB, 0x103c00, 0x505ec}, + {OP_WB, 0x103c20, 0x505f1}, /* #define PXP_COMMON_END 397 */ /* #define QM_COMMON_START 418 */ - {OP_SW, 0x168030, 0x805f4}, + {OP_SW, 0x168030, 0x805f6}, {OP_WR, 0x168054, 0x2}, - {OP_SW, 0x168060, 0x505fc}, + {OP_SW, 0x168060, 0x505fe}, {OP_ZR, 0x168074, 0x7}, - {OP_SW, 0x168090, 0x20601}, - {OP_SW, 0x16809c, 0x50603}, + {OP_SW, 0x168090, 0x20603}, + {OP_SW, 0x16809c, 0x50605}, {OP_ZR, 0x1680b0, 0x7}, - {OP_SW, 0x1680cc, 0x80608}, + {OP_SW, 0x1680cc, 0x8060a}, {OP_WR, 0x1680f0, 0x7}, {OP_ZR, 0x1680f4, 0xc}, - {OP_SW, 0x168124, 0x40610}, + {OP_SW, 0x168124, 0x40612}, {OP_ZR, 0x168134, 0xc}, - {OP_SW, 0x168164, 0x3b0614}, + {OP_SW, 0x168164, 0x3b0616}, {OP_ZR, 0x168250, 0x4}, - {OP_SW, 0x168260, 0x2064f}, + {OP_SW, 0x168260, 0x20651}, {OP_ZR, 0x168268, 0x8}, - {OP_SW, 0x168288, 0x80651}, + {OP_SW, 0x168288, 0x80653}, {OP_ZR, 0x1682a8, 0xa}, {OP_WR, 0x168804, 0x4}, - {OP_SW, 0x16880c, 0x100659}, + {OP_SW, 0x16880c, 0x10065b}, {OP_WR, 0x1680ec, 0xff}, /* #define QM_COMMON_END 419 */ /* #define SRC_COMMON_START 440 */ - {OP_SW, 0x40408, 0x140669}, + {OP_SW, 0x40408, 0x14066b}, /* #define SRC_COMMON_END 441 */ /* #define TCM_COMMON_START 462 */ - {OP_SW, 0x50044, 0x2067d}, - {OP_SW, 0x50050, 0x4067f}, + {OP_SW, 0x50044, 0x2067f}, + {OP_SW, 0x50050, 0x40681}, {OP_ZR, 0x50060, 0x4}, - {OP_SW, 0x50090, 0x130683}, + {OP_SW, 0x50090, 0x130685}, {OP_WR, 0x50114, 0x1}, - {OP_SW, 0x5011c, 0x20696}, + {OP_SW, 0x5011c, 0x20698}, {OP_WR, 0x50204, 0x1}, - {OP_SW, 0x5020c, 0x20698}, - {OP_SW, 0x5021c, 0x3069a}, + {OP_SW, 0x5020c, 0x2069a}, + {OP_SW, 0x5021c, 0x3069c}, {OP_ZR, 0x50240, 0xa}, - {OP_SW, 0x50280, 0x20069d}, + {OP_SW, 0x50280, 0x20069f}, {OP_ZR, 0x54000, 0xd00}, - {OP_SW, 0x50004, 0x1006bd}, + {OP_SW, 0x50004, 0x1006bf}, /* #define TCM_COMMON_END 463 */ /* #define TCM_PORT0_START 464 */ {OP_WR, 0x500e0, 0xe}, @@ -461,7 +461,7 @@ static const struct raw_op init_ops_e1[] /* #define TCM_PORT1_END 467 */ /* #define TM_COMMON_START 484 */ {OP_ZR, 0x164024, 0x2}, - {OP_SW, 0x164030, 0x306cd}, + {OP_SW, 0x164030, 0x306cf}, {OP_WR, 0x164044, 0x20}, {OP_WR, 0x164070, 0x1c}, {OP_WR, 0x164208, 0x1}, @@ -479,7 +479,7 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x16401c, 0x9c}, {OP_WR, 0x164000, 0x1}, {OP_WR, 0x1640d8, 0x1}, - {OP_SW, 0x164008, 0x306d0}, + {OP_SW, 0x164008, 0x306d2}, /* #define TM_COMMON_END 485 */ /* #define TM_PORT0_START 486 */ {OP_WR, 0x164240, 0x0}, @@ -492,10 +492,10 @@ static const struct raw_op init_ops_e1[] {OP_WB_ZR, 0x164280, 0x2}, /* #define TM_PORT1_END 489 */ /* #define TSDM_COMMON_START 506 */ - {OP_SW, 0x42008, 0x406d3}, - {OP_SW, 0x4201c, 0x406d7}, + {OP_SW, 0x42008, 0x406d5}, + {OP_SW, 0x4201c, 0x406d9}, {OP_ZR, 0x42038, 0x80}, - {OP_SW, 0x42238, 0x406db}, + {OP_SW, 0x42238, 0x406dd}, {OP_RD, 0x42248, 0x0}, {OP_RD, 0x4224c, 0x0}, {OP_RD, 0x42250, 0x0}, @@ -520,17 +520,17 @@ static const struct raw_op init_ops_e1[] /* #define TSDM_COMMON_END 507 */ /* #define TSEM_COMMON_START 528 */ {OP_FW, 0x180400, 0xd80000}, - {OP_WR_64, 0x180760, 0x1406df}, + {OP_WR_64, 0x180760, 0x1406e1}, {OP_ZR, 0x1a0000, 0x1600}, {OP_ZR, 0x1a8000, 0x40}, - {OP_SW, 0x1a08b0, 0x206e1}, - {OP_SW, 0x1a19c8, 0x206e3}, - {OP_SW, 0x1a2fc0, 0x406e5}, + {OP_SW, 0x1a08b0, 0x206e3}, + {OP_SW, 0x1a19c8, 0x206e5}, + {OP_SW, 0x1a2fc0, 0x406e7}, {OP_ZR, 0x1a2fd0, 0x6}, - {OP_SW, 0x1a2fe8, 0x206e9}, - {OP_SW, 0x1a3000, 0x3f906eb}, + {OP_SW, 0x1a2fe8, 0x206eb}, + {OP_SW, 0x1a3000, 0x3f906ed}, {OP_ZR, 0x1a3fe4, 0x7}, - {OP_SW, 0x1a4870, 0x40ae4}, + {OP_SW, 0x1a4870, 0x40ae6}, {OP_WR, 0x1b8000, 0x34}, {OP_WR, 0x1b8040, 0x18}, {OP_WR, 0x1b8080, 0xc}, @@ -547,16 +547,16 @@ static const struct raw_op init_ops_e1[] {OP_IF_MODE_AND, 2, 0x4}, /* emul */ {OP_WR, 0x1b8300, 0x138}, {OP_WR, 0x1b8340, 0x0}, - {OP_FW, 0x1c0000, 0x535c0000}, - {OP_WR_64, 0x1d4d70, 0x56520ae8}, + {OP_FW, 0x1c0000, 0x48600000}, + {OP_WR_64, 0x1d2180, 0x5bd00aea}, {OP_RD, 0x180000, 0x0}, {OP_RD, 0x180004, 0x0}, {OP_RD, 0x180008, 0x0}, {OP_RD, 0x18000c, 0x0}, {OP_RD, 0x180010, 0x0}, {OP_RD, 0x180014, 0x0}, - {OP_SW, 0x180020, 0x1a0aea}, - {OP_SW, 0x1800a4, 0x20b04}, + {OP_SW, 0x180020, 0x1a0aec}, + {OP_SW, 0x1800a4, 0x20b06}, {OP_WR, 0x180224, 0x0}, {OP_WR, 0x180234, 0x0}, {OP_WR, 0x18024c, 0x0}, @@ -570,11 +570,11 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x1a2500, 0x10}, {OP_ZR, 0x1a2580, 0x12}, {OP_ZR, 0x1a2610, 0x12}, - {OP_SW, 0x1a2fb0, 0x20b06}, + {OP_SW, 0x1a2fb0, 0x20b08}, {OP_ZR, 0x1a4000, 0x6}, {OP_ZR, 0x1a4030, 0x2}, {OP_ZR, 0x1a4820, 0x2}, - {OP_SW, 0x1a4c50, 0x20b08}, + {OP_SW, 0x1a4c50, 0x20b0a}, /* #define TSEM_PORT0_END 531 */ /* #define TSEM_PORT1_START 532 */ {OP_ZR, 0x1a0810, 0x2}, @@ -583,26 +583,26 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x1a2540, 0x10}, {OP_ZR, 0x1a25c8, 0x12}, {OP_ZR, 0x1a2658, 0x12}, - {OP_SW, 0x1a2fb8, 0x20b0a}, + {OP_SW, 0x1a2fb8, 0x20b0c}, {OP_ZR, 0x1a4018, 0x6}, {OP_ZR, 0x1a4038, 0x2}, {OP_ZR, 0x1a4828, 0x2}, - {OP_SW, 0x1a4c58, 0x20b0c}, + {OP_SW, 0x1a4c58, 0x20b0e}, /* #define TSEM_PORT1_END 533 */ /* #define UCM_COMMON_START 550 */ {OP_WR, 0xe004c, 0x32}, - {OP_SW, 0xe0054, 0x40b0e}, + {OP_SW, 0xe0054, 0x40b10}, {OP_ZR, 0xe0064, 0x4}, - {OP_SW, 0xe0094, 0x130b12}, + {OP_SW, 0xe0094, 0x130b14}, {OP_WR, 0xe0144, 0x1}, - {OP_SW, 0xe014c, 0x20b25}, + {OP_SW, 0xe014c, 0x20b27}, {OP_WR, 0xe0204, 0x1}, - {OP_SW, 0xe020c, 0x20b27}, - {OP_SW, 0xe021c, 0x40b29}, - {OP_SW, 0xe0280, 0x1b0b2d}, + {OP_SW, 0xe020c, 0x20b29}, + {OP_SW, 0xe021c, 0x40b2b}, + {OP_SW, 0xe0280, 0x1b0b2f}, {OP_ZR, 0xe02ec, 0x17}, {OP_ZR, 0xe2000, 0x800}, - {OP_SW, 0xe0004, 0x110b48}, + {OP_SW, 0xe0004, 0x110b4a}, /* #define UCM_COMMON_END 551 */ /* #define UCM_PORT0_START 552 */ {OP_WR, 0xe0110, 0xf}, @@ -614,13 +614,13 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0xc1000, 0x28}, /* #define UPB_COMMON_END 573 */ /* #define USDM_COMMON_START 594 */ - {OP_SW, 0xc4008, 0x40b59}, - {OP_SW, 0xc401c, 0x40b5d}, - {OP_SW, 0xc4038, 0x20b61}, + {OP_SW, 0xc4008, 0x40b5b}, + {OP_SW, 0xc401c, 0x40b5f}, + {OP_SW, 0xc4038, 0x20b63}, {OP_ZR, 0xc4040, 0x5e}, {OP_WR, 0xc41b8, 0x1}, {OP_ZR, 0xc41bc, 0x1f}, - {OP_SW, 0xc4238, 0x40b63}, + {OP_SW, 0xc4238, 0x40b65}, {OP_RD, 0xc4248, 0x0}, {OP_RD, 0xc424c, 0x0}, {OP_RD, 0xc4250, 0x0}, @@ -646,13 +646,13 @@ static const struct raw_op init_ops_e1[] /* #define USDM_COMMON_END 595 */ /* #define USEM_COMMON_START 616 */ {OP_FW, 0x300400, 0xda0000}, - {OP_WR_64, 0x300768, 0x130b67}, + {OP_WR_64, 0x300768, 0x130b69}, {OP_ZR, 0x320000, 0x1600}, {OP_ZR, 0x328000, 0x40}, - {OP_SW, 0x321830, 0x20b69}, - {OP_SW, 0x322e70, 0x40b6b}, + {OP_SW, 0x321830, 0x20b6b}, + {OP_SW, 0x322e70, 0x40b6d}, {OP_ZR, 0x325080, 0x8}, - {OP_SW, 0x3250a0, 0x20b6f}, + {OP_SW, 0x3250a0, 0x20b71}, {OP_WR, 0x338000, 0x1a}, {OP_WR, 0x338040, 0x4e}, {OP_WR, 0x338080, 0x10}, @@ -669,16 +669,16 @@ static const struct raw_op init_ops_e1[] {OP_IF_MODE_AND, 2, 0x4}, /* emul */ {OP_WR, 0x338300, 0x138}, {OP_WR, 0x338340, 0x0}, - {OP_FW, 0x340000, 0x59440000}, - {OP_WR_64, 0x356510, 0x535e0b71}, + {OP_FW, 0x340000, 0x88540000}, + {OP_WR_64, 0x362150, 0x3bd60b73}, {OP_RD, 0x300000, 0x0}, {OP_RD, 0x300004, 0x0}, {OP_RD, 0x300008, 0x0}, {OP_RD, 0x30000c, 0x0}, {OP_RD, 0x300010, 0x0}, {OP_RD, 0x300014, 0x0}, - {OP_SW, 0x300020, 0x1a0b73}, - {OP_SW, 0x3000a4, 0x20b8d}, + {OP_SW, 0x300020, 0x1a0b75}, + {OP_SW, 0x3000a4, 0x20b8f}, {OP_WR, 0x300224, 0x0}, {OP_WR, 0x300234, 0x0}, {OP_WR, 0x30024c, 0x0}, @@ -733,23 +733,23 @@ static const struct raw_op init_ops_e1[] /* #define USEM_PORT1_END 621 */ /* #define XCM_COMMON_START 638 */ {OP_WR, 0x20058, 0x32}, - {OP_SW, 0x20060, 0x40b8f}, + {OP_SW, 0x20060, 0x40b91}, {OP_ZR, 0x20070, 0x4}, - {OP_SW, 0x200a0, 0xe0b93}, - {OP_SW, 0x200dc, 0x70ba1}, + {OP_SW, 0x200a0, 0xe0b95}, + {OP_SW, 0x200dc, 0x70ba3}, {OP_WR, 0x200fc, 0x6}, {OP_WR, 0x20120, 0x0}, {OP_WR, 0x20134, 0x2}, {OP_WR, 0x201b0, 0x1}, {OP_WR, 0x2020c, 0x1}, - {OP_SW, 0x20214, 0x20ba8}, + {OP_SW, 0x20214, 0x20baa}, {OP_WR, 0x20404, 0x1}, - {OP_SW, 0x2040c, 0x20baa}, - {OP_SW, 0x2041c, 0x40bac}, - {OP_SW, 0x20480, 0x1f0bb0}, + {OP_SW, 0x2040c, 0x20bac}, + {OP_SW, 0x2041c, 0x40bae}, + {OP_SW, 0x20480, 0x1f0bb2}, {OP_ZR, 0x204fc, 0x13}, {OP_ZR, 0x28000, 0x2000}, - {OP_SW, 0x20004, 0x140bcf}, + {OP_SW, 0x20004, 0x140bd1}, /* #define XCM_COMMON_END 639 */ /* #define XCM_PORT0_START 640 */ {OP_WR, 0x20108, 0xc8}, @@ -775,15 +775,15 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x161000, 0x28}, /* #define XPB_COMMON_END 661 */ /* #define XSDM_COMMON_START 682 */ - {OP_SW, 0x166008, 0x30be3}, - {OP_SW, 0x16601c, 0x40be6}, - {OP_SW, 0x166038, 0xd0bea}, + {OP_SW, 0x166008, 0x30be5}, + {OP_SW, 0x16601c, 0x40be8}, + {OP_SW, 0x166038, 0xd0bec}, {OP_ZR, 0x16606c, 0x13}, - {OP_SW, 0x1660b8, 0x20bf7}, + {OP_SW, 0x1660b8, 0x20bf9}, {OP_ZR, 0x1660c0, 0x3e}, {OP_WR, 0x1661b8, 0x1}, {OP_ZR, 0x1661bc, 0x1f}, - {OP_SW, 0x166238, 0x40bf9}, + {OP_SW, 0x166238, 0x40bfb}, {OP_RD, 0x166248, 0x0}, {OP_RD, 0x16624c, 0x0}, {OP_RD, 0x166250, 0x0}, @@ -808,19 +808,19 @@ static const struct raw_op init_ops_e1[] /* #define XSDM_COMMON_END 683 */ /* #define XSEM_COMMON_START 704 */ {OP_FW, 0x280400, 0xda0000}, - {OP_WR_64, 0x280768, 0x130bfd}, + {OP_WR_64, 0x280768, 0x130bff}, {OP_ZR, 0x2a0000, 0x1600}, {OP_ZR, 0x2a8000, 0x40}, - {OP_SW, 0x2a2500, 0x20bff}, - {OP_SW, 0x2a2960, 0x40c01}, - {OP_SW, 0x2a2f48, 0x20c05}, - {OP_SW, 0x2a3368, 0x20c07}, - {OP_SW, 0x2a3920, 0x20c09}, - {OP_SW, 0x2a3930, 0x20c0b}, - {OP_SW, 0x2a3ac8, 0x20c0d}, + {OP_SW, 0x2a2500, 0x20c01}, + {OP_SW, 0x2a2960, 0x40c03}, + {OP_SW, 0x2a2f48, 0x20c07}, + {OP_SW, 0x2a3368, 0x20c09}, + {OP_SW, 0x2a3920, 0x20c0b}, + {OP_SW, 0x2a3930, 0x20c0d}, + {OP_SW, 0x2a3ac8, 0x20c0f}, {OP_ZR, 0x2a3ad0, 0x6}, - {OP_SW, 0x2a3b98, 0x20c0f}, - {OP_SW, 0x2a3c20, 0x40c11}, + {OP_SW, 0x2a3b98, 0x20c11}, + {OP_SW, 0x2a3c20, 0x40c13}, {OP_WR, 0x2a3cd0, 0x0}, {OP_WR, 0x2b8000, 0x0}, {OP_WR, 0x2b8040, 0x18}, @@ -840,16 +840,16 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x2b8340, 0x0}, {OP_IF_MODE_AND, 1, 0x20}, /* port2 */ {OP_WR, 0x2a3cd4, 0x0}, - {OP_FW, 0x2c0000, 0x6c0c0000}, - {OP_WR_64, 0x2db030, 0x49fa0c15}, + {OP_FW, 0x2c0000, 0x64e40000}, + {OP_WR_64, 0x2d9390, 0x4d8e0c17}, {OP_RD, 0x280000, 0x0}, {OP_RD, 0x280004, 0x0}, {OP_RD, 0x280008, 0x0}, {OP_RD, 0x28000c, 0x0}, {OP_RD, 0x280010, 0x0}, {OP_RD, 0x280014, 0x0}, - {OP_SW, 0x280020, 0x1a0c17}, - {OP_SW, 0x2800a4, 0x20c31}, + {OP_SW, 0x280020, 0x1a0c19}, + {OP_SW, 0x2800a4, 0x20c33}, {OP_WR, 0x280224, 0x0}, {OP_WR, 0x280234, 0x0}, {OP_WR, 0x28024c, 0x0}, @@ -860,8 +860,8 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x2a3910, 0x2}, {OP_ZR, 0x2a3938, 0x20}, {OP_ZR, 0x2a3a38, 0x10}, - {OP_SW, 0x2a3ae8, 0x20c33}, - {OP_SW, 0x2a3af8, 0x100c35}, + {OP_SW, 0x2a3ae8, 0x20c35}, + {OP_SW, 0x2a3af8, 0x100c37}, {OP_ZR, 0x2a3c30, 0x2}, {OP_ZR, 0x2a5000, 0x2}, {OP_ZR, 0x2a5010, 0x2}, @@ -874,8 +874,8 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x2a3918, 0x2}, {OP_ZR, 0x2a39b8, 0x20}, {OP_ZR, 0x2a3a78, 0x10}, - {OP_SW, 0x2a3af0, 0x20c45}, - {OP_SW, 0x2a3b38, 0x100c47}, + {OP_SW, 0x2a3af0, 0x20c47}, + {OP_SW, 0x2a3b38, 0x100c49}, {OP_ZR, 0x2a3c38, 0x2}, {OP_ZR, 0x2a5008, 0x2}, {OP_ZR, 0x2a5018, 0x2}, @@ -888,20 +888,20 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0xa000, 0x16}, /* #define MISC_AEU_COMMON_END 727 */ /* #define MISC_AEU_PORT0_START 728 */ - {OP_SW, 0xa06c, 0x60c57}, + {OP_SW, 0xa06c, 0x60c59}, {OP_ZR, 0xa084, 0x5}, {OP_WR, 0xa098, 0xfe00000}, {OP_ZR, 0xa09c, 0x14}, - {OP_SW, 0xa0ec, 0x80c5d}, + {OP_SW, 0xa0ec, 0x80c5f}, {OP_ZR, 0xa22c, 0x4}, {OP_WR, 0xa060, 0x307}, /* #define MISC_AEU_PORT0_END 729 */ /* #define MISC_AEU_PORT1_START 730 */ - {OP_SW, 0xa10c, 0x60c65}, + {OP_SW, 0xa10c, 0x60c67}, {OP_ZR, 0xa124, 0x5}, {OP_WR, 0xa138, 0xfe00000}, {OP_ZR, 0xa13c, 0x14}, - {OP_SW, 0xa18c, 0x80c6b}, + {OP_SW, 0xa18c, 0x80c6d}, {OP_ZR, 0xa23c, 0x4}, {OP_WR, 0xa064, 0x307}, /* #define MISC_AEU_PORT1_END 731 */ @@ -1183,14 +1183,15 @@ static const uint32_t init_data_e1[] = { 0x00000000, 0x00100000, 0x00000000, 0xffffffff, 0x00cfffff, 0x00000000, 0x00000000, 0x000000cc, 0x00000000, 0x00200000, 0x00000000, 0xffffffff, 0x00cfffff, 0x00000000, 0x00000000, 0x000000cc, 0x00000000, 0x00400000, - 0x00000000, 0x00000a11, 0x00000a00, 0x00000a04, 0x0000ffff, 0x0000ffff, - 0x0000ffff, 0x0000ffff, 0x00000020, 0x00000021, 0x00000022, 0x00000023, - 0x00000024, 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x00000029, - 0x0000002a, 0x0000002b, 0x0000002c, 0x0000002d, 0x0000002e, 0x0000002f, - 0x00000010, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, + 0x00000000, 0x00000200, 0x00003dff, 0x00000a11, 0x00000a00, 0x00000a04, + 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x00000020, 0x00000021, + 0x00000022, 0x00000023, 0x00000024, 0x00000025, 0x00000026, 0x00000027, + 0x00000028, 0x00000029, 0x0000002a, 0x0000002b, 0x0000002c, 0x0000002d, + 0x0000002e, 0x0000002f, 0x00000010, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x07ffffff, 0x0000003f, 0x07ffffff, 0x0000000f, 0x00007ff8, 0x00007ff8, + 0x00000001, 0x00000001, 0x07ffffff, 0x0000003f, 0x07ffffff, 0x0000000f, + 0x00007ff8, 0x00007ff8, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, @@ -1211,347 +1212,346 @@ static const uint32_t init_data_e1[] = { 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, - 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, - 0x0000ff1c, 0x0fffffff, 0x0000ff00, 0x00000000, 0x0000ff00, 0x00000000, - 0x00000312, 0x00003500, 0x00000001, 0x00000002, 0x00000003, 0x00000000, - 0x00000004, 0x00000001, 0x00000000, 0x00000001, 0x00000004, 0x00000000, - 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00000004, 0x00000000, - 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00000004, 0x00000000, - 0x00000004, 0x00000003, 0x00000000, 0x00000000, 0x00003fff, 0x000003ff, - 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x007c1004, 0x00000004, - 0x00000000, 0x00000002, 0x00000090, 0x00000090, 0x00800090, 0x08100000, - 0x0000008a, 0x00000080, 0x00000081, 0x00000080, 0x00000006, 0x000007d0, - 0x0000076c, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x071d2911, - 0x00000000, 0x009c0424, 0x00000000, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00007fff, 0x000000ff, 0x000000ff, 0x000000ff, - 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x0000003e, - 0x00000000, 0x0000003f, 0x0000003f, 0x0000003f, 0x00000000, 0x0000003f, - 0x0000003f, 0x0000003f, 0x0000000f, 0x00000043, 0x00000000, 0x00000006, - 0x00000000, 0x12170000, 0x22170000, 0x32170000, 0x12150000, 0x22150000, - 0x32150000, 0x02100000, 0x00100000, 0x10100000, 0x20100000, 0x30100000, - 0x00100000, 0x12140000, 0x22140000, 0x32140000, 0x00e38340, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0xf0003000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffff3328, 0xffff3338, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, + 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff00, 0x00000000, + 0x0000ff00, 0x00000000, 0x00000002, 0x00001500, 0x00000001, 0x00000002, + 0x00000003, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000001, + 0x00000004, 0x00000000, 0x00000001, 0x00000003, 0x00000000, 0x00000001, + 0x00000004, 0x00000000, 0x00000001, 0x00000003, 0x00000000, 0x00000001, + 0x00000004, 0x00000000, 0x00000004, 0x00000003, 0x00000000, 0x00000000, + 0x00003fff, 0x000003ff, 0x00000000, 0x00000001, 0x00000001, 0x00000001, + 0x007c1004, 0x00000004, 0x00000000, 0x00000002, 0x00000090, 0x00000090, + 0x00800090, 0x08100000, 0x0000008a, 0x00000080, 0x00000081, 0x00000080, + 0x00000006, 0x000007d0, 0x0000076c, 0x0000ffff, 0x0000ffff, 0x0000ffff, + 0x0000ffff, 0x071d2911, 0x00000000, 0x009c0424, 0x00000000, 0x00000001, + 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00007fff, 0x000000ff, + 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, + 0x000000ff, 0x0000003e, 0x00000000, 0x0000003f, 0x0000003f, 0x0000003f, + 0x00000000, 0x0000003f, 0x0000003f, 0x0000003f, 0x0000000f, 0x00000043, + 0x00000000, 0x00000006, 0x00000000, 0x12170000, 0x22170000, 0x32170000, + 0x12150000, 0x22150000, 0x32150000, 0x02100000, 0x00100000, 0x10100000, + 0x20100000, 0x30100000, 0x00100000, 0x12140000, 0x22140000, 0x32140000, + 0x00e38340, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, + 0xffffffff, 0xffffffff, 0xffffffff, 0xf0003000, 0xffffffff, 0xffffffff, + 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffff3328, + 0xffff3338, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0x00003c10, 0x00000008, 0x00000000, 0x00000000, 0x00000040, - 0x00001808, 0x00000803, 0x00000803, 0x00000040, 0x00000003, 0x00000803, - 0x00000803, 0x00000803, 0x00010003, 0x00000803, 0x00000803, 0x00000003, - 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, + 0xffffffff, 0xffffffff, 0xffffffff, 0x00003c10, 0x00000008, 0x00000000, + 0x00000000, 0x00000040, 0x00001808, 0x00000803, 0x00000803, 0x00000040, + 0x00000003, 0x00000803, 0x00000803, 0x00000803, 0x00010003, 0x00000803, + 0x00000803, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, - 0x00000003, 0x00000003, 0x00002403, 0x0000002f, 0x00000009, 0x00000019, - 0x00000184, 0x00000183, 0x00000306, 0x00000019, 0x00000006, 0x00000306, - 0x00000306, 0x00000306, 0x00000c86, 0x00000306, 0x00000306, 0x00000006, + 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00002403, 0x0000002f, + 0x00000009, 0x00000019, 0x00000184, 0x00000183, 0x00000306, 0x00000019, + 0x00000006, 0x00000306, 0x00000306, 0x00000306, 0x00000c86, 0x00000306, + 0x00000306, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, - 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, - 0x00000006, 0x00000006, 0x00000306, 0x00000013, 0x00000006, 0x00001004, - 0x00001004, 0x00106440, 0x00106440, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00002000, - 0x0000007c, 0x0000003d, 0x0000003f, 0x0000009c, 0x00000006, 0x00000005, - 0x0000000a, 0x00000005, 0x00000140, 0x00000140, 0x00000000, 0x00000000, - 0x000000c0, 0x0000013f, 0x00007fff, 0x00000048, 0x00000048, 0x00000000, - 0x00000000, 0x00000048, 0x00000004, 0x00000004, 0x00000004, 0x00000004, - 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000009, - 0x0000000b, 0x0000000a, 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, + 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000306, 0x00000013, + 0x00000006, 0x00001004, 0x00001004, 0x00106440, 0x00106440, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00002000, 0x0000007c, 0x0000003d, 0x0000003f, 0x0000009c, + 0x00000006, 0x00000005, 0x0000000a, 0x00000005, 0x00000140, 0x00000140, + 0x00000000, 0x00000000, 0x000000c0, 0x0000013f, 0x00007fff, 0x00000048, + 0x00000048, 0x00000000, 0x00000000, 0x00000048, 0x00000004, 0x00000004, + 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000004, + 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000004, 0x00000009, + 0x0000000b, 0x0000000a, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, + 0x00000001, 0x00000001, 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000004, 0x00000009, - 0x0000000b, 0x0000000a, 0x00000000, 0x00000000, 0x00000800, 0x00000200, - 0x000001ff, 0x00000400, 0x00000000, 0x00000000, 0x1e491e49, 0x1e491e49, - 0x0e490e49, 0x0e490e49, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, - 0x000025e4, 0x00008000, 0x00000013, 0x0fff0fff, 0x00000000, 0x00000000, - 0x0fff0fff, 0x10001000, 0x10001000, 0x20002000, 0x20002000, 0x80008000, - 0x80008000, 0x40004000, 0x40004000, 0x00000000, 0x00000001, 0x01010101, - 0x01200101, 0x20010101, 0x01011001, 0x01010101, 0x01200101, 0x20010101, - 0x01011001, 0x20010101, 0x01011001, 0x01010101, 0x01200101, 0x20010101, - 0x01011001, 0x01010101, 0x01200101, 0x00000123, 0x00000123, 0x00000123, + 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000000, 0x00000000, + 0x00000800, 0x00000200, 0x000001ff, 0x00000400, 0x00000000, 0x00000000, + 0x1e491e49, 0x1e491e49, 0x0e490e49, 0x0e490e49, 0xffffffff, 0x00000000, + 0xffffffff, 0x00000000, 0x000025e4, 0x00008000, 0x00000013, 0x0fff0fff, + 0x00000000, 0x00000000, 0x0fff0fff, 0x10001000, 0x10001000, 0x20002000, + 0x20002000, 0x80008000, 0x80008000, 0x40004000, 0x40004000, 0x00000000, + 0x00000001, 0x01010101, 0x01200101, 0x20010101, 0x01011001, 0x01010101, + 0x01200101, 0x20010101, 0x01011001, 0x20010101, 0x01011001, 0x01010101, + 0x01200101, 0x20010101, 0x01011001, 0x01010101, 0x01200101, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, - 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000020, - 0x00000032, 0x00000007, 0x00000007, 0x00000000, 0x00000008, 0x02150020, - 0x02150020, 0x00000030, 0x08100000, 0x00000033, 0x00000030, 0x00000031, - 0x00000002, 0x00000005, 0x00000006, 0x00000002, 0x00000002, 0x00000000, - 0x00000005, 0x00000002, 0x00000002, 0x00000002, 0x00000001, 0x00000006, - 0x00000001, 0x00000002, 0x00000040, 0x00000040, 0x00000020, 0x00000013, - 0x00000020, 0x00010000, 0x000204c0, 0x00030980, 0x00040e40, 0x00051300, - 0x000617c0, 0x00071c80, 0x00082140, 0x00092600, 0x000a2ac0, 0x000b2f80, - 0x000c3440, 0x000d3900, 0x000e3dc0, 0x000f4280, 0x00104740, 0x00114c00, - 0x001250c0, 0x00135580, 0x00145a40, 0x00155f00, 0x001663c0, 0x00176880, - 0x00186d40, 0x00197200, 0x001a76c0, 0x001b7b80, 0x001c8040, 0x001d8500, - 0x001e89c0, 0x001f8e80, 0x00009340, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000008, 0x0000000c, 0x00000010, 0x00000001, 0x00000001, - 0x00000001, 0x00000211, 0x00000200, 0x00000204, 0x00000219, 0x0000ffff, - 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x07ffffff, 0x0000003f, 0x07ffffff, - 0x0000000f, 0x00007ff8, 0x00007ff8, 0x00000000, 0x140aff00, 0x00000000, - 0x00000001, 0x00201001, 0x00000000, 0x01008600, 0x00000100, 0x00000001, - 0x00000000, 0x00008602, 0x00000000, 0x00000000, 0x00000000, 0x00008604, - 0x00000000, 0x00000000, 0x00000000, 0x00008606, 0x00000000, 0x00000000, - 0x00000000, 0x00008608, 0x00000000, 0x00000000, 0x00000000, 0x0000860a, - 0x00000000, 0x00000000, 0x00000000, 0x0000860c, 0x00000000, 0x00000000, - 0x00000000, 0x0000860e, 0x00000000, 0x00000000, 0x00000000, 0x00008610, - 0x00000000, 0x00000000, 0x00000000, 0x00008612, 0x00000000, 0x00000000, - 0x00000000, 0x00008614, 0x00000000, 0x00000000, 0x00000000, 0x00008616, - 0x00000000, 0x00000000, 0x00000000, 0x00008618, 0x00000000, 0x00000000, - 0x00000000, 0x0000861a, 0x00000000, 0x00000000, 0x00000000, 0x0000861c, - 0x00000000, 0x00000000, 0x00000000, 0x0000861e, 0x00000000, 0x00000000, - 0x00000000, 0x00008620, 0x00000000, 0x00000000, 0x00000000, 0x00008622, - 0x00000000, 0x00000000, 0x00000000, 0x00008624, 0x00000000, 0x00000000, - 0x00000000, 0x00008626, 0x00000000, 0x00000000, 0x00000000, 0x00008628, - 0x00000000, 0x00000000, 0x00000000, 0x0000862a, 0x00000000, 0x00000000, - 0x00000000, 0x0000862c, 0x00000000, 0x00000000, 0x00000000, 0x0000862e, - 0x00000000, 0x00000000, 0x00000000, 0x00008630, 0x00000000, 0x00000000, - 0x00000000, 0x00008632, 0x00000000, 0x00000000, 0x00000000, 0x00008634, - 0x00000000, 0x00000000, 0x00000000, 0x00008636, 0x00000000, 0x00000000, - 0x00000000, 0x00008638, 0x00000000, 0x00000000, 0x00000000, 0x0000863a, - 0x00000000, 0x00000000, 0x00000000, 0x0000863c, 0x00000000, 0x00000000, - 0x00000000, 0x0000863e, 0x00000000, 0x00000000, 0x00000000, 0x00008640, - 0x00000000, 0x00000000, 0x00000000, 0x00008642, 0x00000000, 0x00000000, - 0x00000000, 0x00008644, 0x00000000, 0x00000000, 0x00000000, 0x00008646, - 0x00000000, 0x00000000, 0x00000000, 0x00008648, 0x00000000, 0x00000000, - 0x00000000, 0x0000864a, 0x00000000, 0x00000000, 0x00000000, 0x0000864c, - 0x00000000, 0x00000000, 0x00000000, 0x0000864e, 0x00000000, 0x00000000, - 0x00000000, 0x00008650, 0x00000000, 0x00000000, 0x00000000, 0x00008652, - 0x00000000, 0x00000000, 0x00000000, 0x00008654, 0x00000000, 0x00000000, - 0x00000000, 0x00008656, 0x00000000, 0x00000000, 0x00000000, 0x00008658, - 0x00000000, 0x00000000, 0x00000000, 0x0000865a, 0x00000000, 0x00000000, - 0x00000000, 0x0000865c, 0x00000000, 0x00000000, 0x00000000, 0x0000865e, - 0x00000000, 0x00000000, 0x00000000, 0x00008660, 0x00000000, 0x00000000, - 0x00000000, 0x00008662, 0x00000000, 0x00000000, 0x00000000, 0x00008664, - 0x00000000, 0x00000000, 0x00000000, 0x00008666, 0x00000000, 0x00000000, - 0x00000000, 0x00008668, 0x00000000, 0x00000000, 0x00000000, 0x0000866a, - 0x00000000, 0x00000000, 0x00000000, 0x0000866c, 0x00000000, 0x00000000, - 0x00000000, 0x0000866e, 0x00000000, 0x00000000, 0x00000000, 0x00008670, - 0x00000000, 0x00000000, 0x00000000, 0x00008672, 0x00000000, 0x00000000, - 0x00000000, 0x00008674, 0x00000000, 0x00000000, 0x00000000, 0x00008676, - 0x00000000, 0x00000000, 0x00000000, 0x00008678, 0x00000000, 0x00000000, - 0x00000000, 0x0000867a, 0x00000000, 0x00000000, 0x00000000, 0x0000867c, - 0x00000000, 0x00000000, 0x00000000, 0x0000867e, 0x00000000, 0x00000000, - 0x00000000, 0x00008680, 0x00000000, 0x00000000, 0x00000000, 0x00008682, - 0x00000000, 0x00000000, 0x00000000, 0x00008684, 0x00000000, 0x00000000, - 0x00000000, 0x00008686, 0x00000000, 0x00000000, 0x00000000, 0x00008688, - 0x00000000, 0x00000000, 0x00000000, 0x0000868a, 0x00000000, 0x00000000, - 0x00000000, 0x0000868c, 0x00000000, 0x00000000, 0x00000000, 0x0000868e, - 0x00000000, 0x00000000, 0x00000000, 0x00008690, 0x00000000, 0x00000000, - 0x00000000, 0x00008692, 0x00000000, 0x00000000, 0x00000000, 0x00008694, - 0x00000000, 0x00000000, 0x00000000, 0x00008696, 0x00000000, 0x00000000, - 0x00000000, 0x00008698, 0x00000000, 0x00000000, 0x00000000, 0x0000869a, - 0x00000000, 0x00000000, 0x00000000, 0x0000869c, 0x00000000, 0x00000000, - 0x00000000, 0x0000869e, 0x00000000, 0x00000000, 0x00000000, 0x000086a0, - 0x00000000, 0x00000000, 0x00000000, 0x000086a2, 0x00000000, 0x00000000, - 0x00000000, 0x000086a4, 0x00000000, 0x00000000, 0x00000000, 0x000086a6, - 0x00000000, 0x00000000, 0x00000000, 0x000086a8, 0x00000000, 0x00000000, - 0x00000000, 0x000086aa, 0x00000000, 0x00000000, 0x00000000, 0x000086ac, - 0x00000000, 0x00000000, 0x00000000, 0x000086ae, 0x00000000, 0x00000000, - 0x00000000, 0x000086b0, 0x00000000, 0x00000000, 0x00000000, 0x000086b2, - 0x00000000, 0x00000000, 0x00000000, 0x000086b4, 0x00000000, 0x00000000, - 0x00000000, 0x000086b6, 0x00000000, 0x00000000, 0x00000000, 0x000086b8, - 0x00000000, 0x00000000, 0x00000000, 0x000086ba, 0x00000000, 0x00000000, - 0x00000000, 0x000086bc, 0x00000000, 0x00000000, 0x00000000, 0x000086be, - 0x00000000, 0x00000000, 0x00000000, 0x000086c0, 0x00000000, 0x00000000, - 0x00000000, 0x000086c2, 0x00000000, 0x00000000, 0x00000000, 0x000086c4, - 0x00000000, 0x00000000, 0x00000000, 0x000086c6, 0x00000000, 0x00000000, - 0x00000000, 0x000086c8, 0x00000000, 0x00000000, 0x00000000, 0x000086ca, - 0x00000000, 0x00000000, 0x00000000, 0x000086cc, 0x00000000, 0x00000000, - 0x00000000, 0x000086ce, 0x00000000, 0x00000000, 0x00000000, 0x000086d0, - 0x00000000, 0x00000000, 0x00000000, 0x000086d2, 0x00000000, 0x00000000, - 0x00000000, 0x000086d4, 0x00000000, 0x00000000, 0x00000000, 0x000086d6, - 0x00000000, 0x00000000, 0x00000000, 0x000086d8, 0x00000000, 0x00000000, - 0x00000000, 0x000086da, 0x00000000, 0x00000000, 0x00000000, 0x000086dc, - 0x00000000, 0x00000000, 0x00000000, 0x000086de, 0x00000000, 0x00000000, - 0x00000000, 0x000086e0, 0x00000000, 0x00000000, 0x00000000, 0x000086e2, - 0x00000000, 0x00000000, 0x00000000, 0x000086e4, 0x00000000, 0x00000000, - 0x00000000, 0x000086e6, 0x00000000, 0x00000000, 0x00000000, 0x000086e8, - 0x00000000, 0x00000000, 0x00000000, 0x000086ea, 0x00000000, 0x00000000, - 0x00000000, 0x000086ec, 0x00000000, 0x00000000, 0x00000000, 0x000086ee, - 0x00000000, 0x00000000, 0x00000000, 0x000086f0, 0x00000000, 0x00000000, - 0x00000000, 0x000086f2, 0x00000000, 0x00000000, 0x00000000, 0x000086f4, - 0x00000000, 0x00000000, 0x00000000, 0x000086f6, 0x00000000, 0x00000000, - 0x00000000, 0x000086f8, 0x00000000, 0x00000000, 0x00000000, 0x000086fa, - 0x00000000, 0x00000000, 0x00000000, 0x000086fc, 0x00000000, 0x00000000, - 0x00000000, 0x000086fe, 0x00000000, 0x00000000, 0x00000000, 0x00008700, - 0x00000000, 0x00000000, 0x00000000, 0x00008702, 0x00000000, 0x00000000, - 0x00000000, 0x00008704, 0x00000000, 0x00000000, 0x00000000, 0x00008706, - 0x00000000, 0x00000000, 0x00000000, 0x00008708, 0x00000000, 0x00000000, - 0x00000000, 0x0000870a, 0x00000000, 0x00000000, 0x00000000, 0x0000870c, - 0x00000000, 0x00000000, 0x00000000, 0x0000870e, 0x00000000, 0x00000000, - 0x00000000, 0x00008710, 0x00000000, 0x00000000, 0x00000000, 0x00008712, - 0x00000000, 0x00000000, 0x00000000, 0x00008714, 0x00000000, 0x00000000, - 0x00000000, 0x00008716, 0x00000000, 0x00000000, 0x00000000, 0x00008718, - 0x00000000, 0x00000000, 0x00000000, 0x0000871a, 0x00000000, 0x00000000, - 0x00000000, 0x0000871c, 0x00000000, 0x00000000, 0x00000000, 0x0000871e, - 0x00000000, 0x00000000, 0x00000000, 0x00008720, 0x00000000, 0x00000000, - 0x00000000, 0x00008722, 0x00000000, 0x00000000, 0x00000000, 0x00008724, - 0x00000000, 0x00000000, 0x00000000, 0x00008726, 0x00000000, 0x00000000, - 0x00000000, 0x00008728, 0x00000000, 0x00000000, 0x00000000, 0x0000872a, - 0x00000000, 0x00000000, 0x00000000, 0x0000872c, 0x00000000, 0x00000000, - 0x00000000, 0x0000872e, 0x00000000, 0x00000000, 0x00000000, 0x00008730, - 0x00000000, 0x00000000, 0x00000000, 0x00008732, 0x00000000, 0x00000000, - 0x00000000, 0x00008734, 0x00000000, 0x00000000, 0x00000000, 0x00008736, - 0x00000000, 0x00000000, 0x00000000, 0x00008738, 0x00000000, 0x00000000, - 0x00000000, 0x0000873a, 0x00000000, 0x00000000, 0x00000000, 0x0000873c, - 0x00000000, 0x00000000, 0x00000000, 0x0000873e, 0x00000000, 0x00000000, - 0x00000000, 0x00008740, 0x00000000, 0x00000000, 0x00000000, 0x00008742, - 0x00000000, 0x00000000, 0x00000000, 0x00008744, 0x00000000, 0x00000000, - 0x00000000, 0x00008746, 0x00000000, 0x00000000, 0x00000000, 0x00008748, - 0x00000000, 0x00000000, 0x00000000, 0x0000874a, 0x00000000, 0x00000000, - 0x00000000, 0x0000874c, 0x00000000, 0x00000000, 0x00000000, 0x0000874e, - 0x00000000, 0x00000000, 0x00000000, 0x00008750, 0x00000000, 0x00000000, - 0x00000000, 0x00008752, 0x00000000, 0x00000000, 0x00000000, 0x00008754, - 0x00000000, 0x00000000, 0x00000000, 0x00008756, 0x00000000, 0x00000000, - 0x00000000, 0x00008758, 0x00000000, 0x00000000, 0x00000000, 0x0000875a, - 0x00000000, 0x00000000, 0x00000000, 0x0000875c, 0x00000000, 0x00000000, - 0x00000000, 0x0000875e, 0x00000000, 0x00000000, 0x00000000, 0x00008760, - 0x00000000, 0x00000000, 0x00000000, 0x00008762, 0x00000000, 0x00000000, - 0x00000000, 0x00008764, 0x00000000, 0x00000000, 0x00000000, 0x00008766, - 0x00000000, 0x00000000, 0x00000000, 0x00008768, 0x00000000, 0x00000000, - 0x00000000, 0x0000876a, 0x00000000, 0x00000000, 0x00000000, 0x0000876c, - 0x00000000, 0x00000000, 0x00000000, 0x0000876e, 0x00000000, 0x00000000, - 0x00000000, 0x00008770, 0x00000000, 0x00000000, 0x00000000, 0x00008772, - 0x00000000, 0x00000000, 0x00000000, 0x00008774, 0x00000000, 0x00000000, - 0x00000000, 0x00008776, 0x00000000, 0x00000000, 0x00000000, 0x00008778, - 0x00000000, 0x00000000, 0x00000000, 0x0000877a, 0x00000000, 0x00000000, - 0x00000000, 0x0000877c, 0x00000000, 0x00000000, 0x00000000, 0x0000877e, - 0x00000000, 0x00000000, 0x00000000, 0x00008780, 0x00000000, 0x00000000, - 0x00000000, 0x00008782, 0x00000000, 0x00000000, 0x00000000, 0x00008784, - 0x00000000, 0x00000000, 0x00000000, 0x00008786, 0x00000000, 0x00000000, - 0x00000000, 0x00008788, 0x00000000, 0x00000000, 0x00000000, 0x0000878a, - 0x00000000, 0x00000000, 0x00000000, 0x0000878c, 0x00000000, 0x00000000, - 0x00000000, 0x0000878e, 0x00000000, 0x00000000, 0x00000000, 0x00008790, - 0x00000000, 0x00000000, 0x00000000, 0x00008792, 0x00000000, 0x00000000, - 0x00000000, 0x00008794, 0x00000000, 0x00000000, 0x00000000, 0x00008796, - 0x00000000, 0x00000000, 0x00000000, 0x00008798, 0x00000000, 0x00000000, - 0x00000000, 0x0000879a, 0x00000000, 0x00000000, 0x00000000, 0x0000879c, - 0x00000000, 0x00000000, 0x00000000, 0x0000879e, 0x00000000, 0x00000000, - 0x00000000, 0x000087a0, 0x00000000, 0x00000000, 0x00000000, 0x000087a2, - 0x00000000, 0x00000000, 0x00000000, 0x000087a4, 0x00000000, 0x00000000, - 0x00000000, 0x000087a6, 0x00000000, 0x00000000, 0x00000000, 0x000087a8, - 0x00000000, 0x00000000, 0x00000000, 0x000087aa, 0x00000000, 0x00000000, - 0x00000000, 0x000087ac, 0x00000000, 0x00000000, 0x00000000, 0x000087ae, - 0x00000000, 0x00000000, 0x00000000, 0x000087b0, 0x00000000, 0x00000000, - 0x00000000, 0x000087b2, 0x00000000, 0x00000000, 0x00000000, 0x000087b4, - 0x00000000, 0x00000000, 0x00000000, 0x000087b6, 0x00000000, 0x00000000, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Wed Mar 9 21:45:11 2016 Return-Path: Delivered-To: svn-src-all@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 48224AC9820; Wed, 9 Mar 2016 21:45:11 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F3001873; Wed, 9 Mar 2016 21:45:10 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29LjAF6075639; Wed, 9 Mar 2016 21:45:10 GMT (envelope-from davidcs@FreeBSD.org) Received: (from davidcs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29LjAJJ075637; Wed, 9 Mar 2016 21:45:10 GMT (envelope-from davidcs@FreeBSD.org) Message-Id: <201603092145.u29LjAJJ075637@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: davidcs set sender to davidcs@FreeBSD.org using -f From: David C Somayajulu Date: Wed, 9 Mar 2016 21:45:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r296582 - in stable/8/sys: dev/bxe modules/bxe X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 21:45:11 -0000 Author: davidcs Date: Wed Mar 9 21:45:09 2016 New Revision: 296582 URL: https://svnweb.freebsd.org/changeset/base/296582 Log: MFC r296071 Upgrade the firmware carried in driver and loaded during hardware initialization (a.k.a STORM firmware) to version 7.13.1 (latest version) Modified: stable/8/sys/dev/bxe/57710_init_values.c stable/8/sys/dev/bxe/57710_int_offsets.h stable/8/sys/dev/bxe/57711_init_values.c stable/8/sys/dev/bxe/57711_int_offsets.h stable/8/sys/dev/bxe/57712_init_values.c stable/8/sys/dev/bxe/57712_int_offsets.h stable/8/sys/dev/bxe/bxe.c stable/8/sys/dev/bxe/bxe.h stable/8/sys/dev/bxe/bxe_elink.c stable/8/sys/dev/bxe/bxe_elink.h stable/8/sys/dev/bxe/bxe_stats.c stable/8/sys/dev/bxe/ecore_fw_defs.h stable/8/sys/dev/bxe/ecore_hsi.h stable/8/sys/dev/bxe/ecore_init.h stable/8/sys/dev/bxe/ecore_init_ops.h stable/8/sys/dev/bxe/ecore_mfw_req.h stable/8/sys/dev/bxe/ecore_reg.h stable/8/sys/dev/bxe/ecore_sp.c stable/8/sys/dev/bxe/ecore_sp.h stable/8/sys/modules/bxe/Makefile Directory Properties: stable/8/ (props changed) stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/modules/ (props changed) Modified: stable/8/sys/dev/bxe/57710_init_values.c ============================================================================== --- stable/8/sys/dev/bxe/57710_init_values.c Wed Mar 9 21:40:00 2016 (r296581) +++ stable/8/sys/dev/bxe/57710_init_values.c Wed Mar 9 21:45:09 2016 (r296582) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2007-2014 QLogic Corporation. All rights reserved. + * Copyright (c) 2007-2017 QLogic Corporation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -11,7 +11,7 @@ * 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 COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS' + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS @@ -104,19 +104,19 @@ static const struct raw_op init_ops_e1[] /* #define CFC_COMMON_START 88 */ {OP_ZR, 0x104c00, 0x100}, {OP_WR, 0x104028, 0x10}, - {OP_WR, 0x104044, 0x3fff}, + {OP_SW, 0x104040, 0x20469}, {OP_WR, 0x104058, 0x280000}, {OP_WR, 0x104084, 0x84924a}, {OP_WR, 0x104058, 0x0}, /* #define CFC_COMMON_END 89 */ /* #define CSDM_COMMON_START 110 */ - {OP_SW, 0xc2008, 0x30469}, - {OP_SW, 0xc201c, 0x4046c}, - {OP_SW, 0xc2038, 0x110470}, + {OP_SW, 0xc2008, 0x3046b}, + {OP_SW, 0xc201c, 0x4046e}, + {OP_SW, 0xc2038, 0x110472}, {OP_ZR, 0xc207c, 0x4f}, - {OP_SW, 0xc21b8, 0x110481}, + {OP_SW, 0xc21b8, 0x110483}, {OP_ZR, 0xc21fc, 0xf}, - {OP_SW, 0xc2238, 0x40492}, + {OP_SW, 0xc2238, 0x40494}, {OP_RD, 0xc2248, 0x0}, {OP_RD, 0xc224c, 0x0}, {OP_RD, 0xc2250, 0x0}, @@ -141,76 +141,76 @@ static const struct raw_op init_ops_e1[] /* #define CSDM_COMMON_END 111 */ /* #define CSEM_COMMON_START 132 */ {OP_FW, 0x200400, 0xe00000}, - {OP_WR_64, 0x200780, 0x100496}, + {OP_WR_64, 0x200780, 0x100498}, {OP_ZR, 0x220000, 0x1600}, {OP_ZR, 0x228000, 0x40}, {OP_ZR, 0x223bd0, 0x8}, {OP_ZR, 0x224800, 0x6}, - {OP_SW, 0x224818, 0x40498}, + {OP_SW, 0x224818, 0x4049a}, {OP_ZR, 0x224828, 0xc}, - {OP_SW, 0x224858, 0x4049c}, + {OP_SW, 0x224858, 0x4049e}, {OP_ZR, 0x224868, 0xc}, - {OP_SW, 0x224898, 0x404a0}, + {OP_SW, 0x224898, 0x404a2}, {OP_ZR, 0x2248a8, 0xc}, - {OP_SW, 0x2248d8, 0x404a4}, + {OP_SW, 0x2248d8, 0x404a6}, {OP_ZR, 0x2248e8, 0xc}, - {OP_SW, 0x224918, 0x404a8}, + {OP_SW, 0x224918, 0x404aa}, {OP_ZR, 0x224928, 0xc}, - {OP_SW, 0x224958, 0x404ac}, + {OP_SW, 0x224958, 0x404ae}, {OP_ZR, 0x224968, 0xc}, - {OP_SW, 0x224998, 0x404b0}, + {OP_SW, 0x224998, 0x404b2}, {OP_ZR, 0x2249a8, 0xc}, - {OP_SW, 0x2249d8, 0x404b4}, + {OP_SW, 0x2249d8, 0x404b6}, {OP_ZR, 0x2249e8, 0xc}, - {OP_SW, 0x224a18, 0x404b8}, + {OP_SW, 0x224a18, 0x404ba}, {OP_ZR, 0x224a28, 0xc}, - {OP_SW, 0x224a58, 0x404bc}, + {OP_SW, 0x224a58, 0x404be}, {OP_ZR, 0x224a68, 0xc}, - {OP_SW, 0x224a98, 0x404c0}, + {OP_SW, 0x224a98, 0x404c2}, {OP_ZR, 0x224aa8, 0xc}, - {OP_SW, 0x224ad8, 0x404c4}, + {OP_SW, 0x224ad8, 0x404c6}, {OP_ZR, 0x224ae8, 0xc}, - {OP_SW, 0x224b18, 0x404c8}, + {OP_SW, 0x224b18, 0x404ca}, {OP_ZR, 0x224b28, 0xc}, - {OP_SW, 0x224b58, 0x404cc}, + {OP_SW, 0x224b58, 0x404ce}, {OP_ZR, 0x224b68, 0xc}, - {OP_SW, 0x224b98, 0x404d0}, + {OP_SW, 0x224b98, 0x404d2}, {OP_ZR, 0x224ba8, 0xc}, - {OP_SW, 0x224bd8, 0x404d4}, + {OP_SW, 0x224bd8, 0x404d6}, {OP_ZR, 0x224be8, 0xc}, - {OP_SW, 0x224c18, 0x404d8}, + {OP_SW, 0x224c18, 0x404da}, {OP_ZR, 0x224c28, 0xc}, - {OP_SW, 0x224c58, 0x404dc}, + {OP_SW, 0x224c58, 0x404de}, {OP_ZR, 0x224c68, 0xc}, - {OP_SW, 0x224c98, 0x404e0}, + {OP_SW, 0x224c98, 0x404e2}, {OP_ZR, 0x224ca8, 0xc}, - {OP_SW, 0x224cd8, 0x404e4}, + {OP_SW, 0x224cd8, 0x404e6}, {OP_ZR, 0x224ce8, 0xc}, - {OP_SW, 0x224d18, 0x404e8}, + {OP_SW, 0x224d18, 0x404ea}, {OP_ZR, 0x224d28, 0xc}, - {OP_SW, 0x224d58, 0x404ec}, + {OP_SW, 0x224d58, 0x404ee}, {OP_ZR, 0x224d68, 0xc}, - {OP_SW, 0x224d98, 0x404f0}, + {OP_SW, 0x224d98, 0x404f2}, {OP_ZR, 0x224da8, 0xc}, - {OP_SW, 0x224dd8, 0x404f4}, + {OP_SW, 0x224dd8, 0x404f6}, {OP_ZR, 0x224de8, 0xc}, - {OP_SW, 0x224e18, 0x404f8}, + {OP_SW, 0x224e18, 0x404fa}, {OP_ZR, 0x224e28, 0xc}, - {OP_SW, 0x224e58, 0x404fc}, + {OP_SW, 0x224e58, 0x404fe}, {OP_ZR, 0x224e68, 0xc}, - {OP_SW, 0x224e98, 0x40500}, + {OP_SW, 0x224e98, 0x40502}, {OP_ZR, 0x224ea8, 0xc}, - {OP_SW, 0x224ed8, 0x40504}, + {OP_SW, 0x224ed8, 0x40506}, {OP_ZR, 0x224ee8, 0xc}, - {OP_SW, 0x224f18, 0x40508}, + {OP_SW, 0x224f18, 0x4050a}, {OP_ZR, 0x224f28, 0xc}, - {OP_SW, 0x224f58, 0x4050c}, + {OP_SW, 0x224f58, 0x4050e}, {OP_ZR, 0x224f68, 0xc}, - {OP_SW, 0x224f98, 0x40510}, + {OP_SW, 0x224f98, 0x40512}, {OP_ZR, 0x224fa8, 0xc}, - {OP_SW, 0x224fd8, 0x40514}, + {OP_SW, 0x224fd8, 0x40516}, {OP_ZR, 0x224fe8, 0x6}, - {OP_SW, 0x225198, 0x40518}, + {OP_SW, 0x225198, 0x4051a}, {OP_WR, 0x238000, 0x10}, {OP_WR, 0x238040, 0x12}, {OP_WR, 0x238080, 0x30}, @@ -227,16 +227,16 @@ static const struct raw_op init_ops_e1[] {OP_IF_MODE_AND, 2, 0x4}, /* emul */ {OP_WR, 0x238300, 0x138}, {OP_WR, 0x238340, 0x0}, - {OP_FW, 0x240000, 0x27300000}, - {OP_WR_64, 0x249cc0, 0x6ace051c}, + {OP_FW, 0x240000, 0x22600000}, + {OP_WR_64, 0x248980, 0x6d36051e}, {OP_RD, 0x200000, 0x0}, {OP_RD, 0x200004, 0x0}, {OP_RD, 0x200008, 0x0}, {OP_RD, 0x20000c, 0x0}, {OP_RD, 0x200010, 0x0}, {OP_RD, 0x200014, 0x0}, - {OP_SW, 0x200020, 0x1a051e}, - {OP_SW, 0x2000a4, 0x20538}, + {OP_SW, 0x200020, 0x1a0520}, + {OP_SW, 0x2000a4, 0x2053a}, {OP_WR, 0x200224, 0x0}, {OP_WR, 0x200234, 0x0}, {OP_WR, 0x20024c, 0x0}, @@ -259,17 +259,17 @@ static const struct raw_op init_ops_e1[] /* #define CSEM_PORT1_END 137 */ /* #define DMAE_COMMON_START 176 */ {OP_ZR, 0x102400, 0xe0}, - {OP_SW, 0x10201c, 0x2053a}, + {OP_SW, 0x10201c, 0x2053c}, {OP_WR, 0x1020c0, 0x1}, - {OP_SW, 0x102004, 0x2053c}, + {OP_SW, 0x102004, 0x2053e}, /* #define DMAE_COMMON_END 177 */ /* #define DORQ_COMMON_START 198 */ {OP_WR, 0x170008, 0x2}, {OP_WR, 0x17002c, 0x3}, - {OP_SW, 0x170038, 0x2053e}, - {OP_SW, 0x170044, 0x60540}, - {OP_SW, 0x170060, 0x50546}, - {OP_SW, 0x170078, 0x2054b}, + {OP_SW, 0x170038, 0x20540}, + {OP_SW, 0x170044, 0x60542}, + {OP_SW, 0x170060, 0x50548}, + {OP_SW, 0x170078, 0x2054d}, {OP_WR, 0x170004, 0xf}, /* #define DORQ_COMMON_END 199 */ /* #define HC_COMMON_START 220 */ @@ -280,7 +280,7 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x108040, 0x2}, {OP_ZR, 0x108028, 0x2}, {OP_WR, 0x108038, 0x10}, - {OP_SW, 0x108040, 0x2054d}, + {OP_SW, 0x108040, 0x2054f}, {OP_WR, 0x108050, 0x0}, {OP_WR, 0x108100, 0x0}, {OP_ZR, 0x108120, 0x2}, @@ -300,7 +300,7 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x108048, 0x2}, {OP_ZR, 0x108030, 0x2}, {OP_WR, 0x10803c, 0x10}, - {OP_SW, 0x108048, 0x2054f}, + {OP_SW, 0x108048, 0x20551}, {OP_WR, 0x108054, 0x0}, {OP_WR, 0x108104, 0x0}, {OP_ZR, 0x108128, 0x2}, @@ -318,13 +318,13 @@ static const struct raw_op init_ops_e1[] /* #define MISC_COMMON_START 264 */ {OP_WR, 0xa468, 0xaffdc}, {OP_WR, 0xa280, 0x1}, - {OP_SW, 0xa294, 0x40551}, + {OP_SW, 0xa294, 0x40553}, {OP_WR, 0xa4fc, 0xff000000}, /* #define MISC_COMMON_END 265 */ /* #define NIG_COMMON_START 286 */ - {OP_SW, 0x100b4, 0x20555}, + {OP_SW, 0x100b4, 0x20557}, {OP_WR, 0x100dc, 0x1}, - {OP_SW, 0x10100, 0x20557}, + {OP_SW, 0x10100, 0x20559}, /* #define NIG_COMMON_END 287 */ /* #define NIG_PORT0_START 288 */ {OP_WR, 0x1007c, 0x300000}, @@ -355,7 +355,7 @@ static const struct raw_op init_ops_e1[] /* #define PBF_COMMON_START 308 */ {OP_WR, 0x140000, 0x1}, {OP_WR, 0x14000c, 0x1}, - {OP_SW, 0x140040, 0x20559}, + {OP_SW, 0x140040, 0x2055b}, {OP_WR, 0x14000c, 0x0}, {OP_WR, 0x140000, 0x0}, {OP_WR, 0x14006c, 0x0}, @@ -373,16 +373,16 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x140060, 0x0}, /* #define PBF_PORT1_END 313 */ /* #define PRS_COMMON_START 352 */ - {OP_SW, 0x40004, 0x12055b}, - {OP_SW, 0x40054, 0x3056d}, + {OP_SW, 0x40004, 0x12055d}, + {OP_SW, 0x40054, 0x3056f}, {OP_WR, 0x40070, 0x4}, - {OP_SW, 0x40078, 0x40570}, + {OP_SW, 0x40078, 0x40572}, {OP_ZR, 0x40088, 0x5}, - {OP_SW, 0x4009c, 0x30574}, + {OP_SW, 0x4009c, 0x30576}, {OP_ZR, 0x400a8, 0x4}, - {OP_SW, 0x400b8, 0x50577}, + {OP_SW, 0x400b8, 0x50579}, {OP_ZR, 0x400cc, 0x4}, - {OP_SW, 0x400dc, 0x4057c}, + {OP_SW, 0x400dc, 0x4057e}, {OP_ZR, 0x400ec, 0x4}, {OP_RD, 0x40124, 0x0}, {OP_RD, 0x40128, 0x0}, @@ -391,67 +391,67 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x40134, 0xf}, /* #define PRS_COMMON_END 353 */ /* #define PXP2_COMMON_START 374 */ - {OP_SW, 0x120490, 0x220580}, + {OP_SW, 0x120490, 0x220582}, {OP_WR, 0x120520, 0x2}, {OP_WR, 0x120388, 0x64}, {OP_WR, 0x120390, 0x8}, - {OP_SW, 0x12039c, 0x305a2}, + {OP_SW, 0x12039c, 0x305a4}, {OP_WR, 0x1203bc, 0x4}, {OP_WR, 0x1203c4, 0x4}, {OP_WR, 0x1203d0, 0x0}, {OP_WR, 0x1203dc, 0x0}, {OP_WR, 0x12036c, 0x1}, {OP_WR, 0x120368, 0x3f}, - {OP_SW, 0x1201bc, 0x3c05a5}, - {OP_SW, 0x1202b0, 0x205e1}, - {OP_SW, 0x120324, 0x205e3}, + {OP_SW, 0x1201bc, 0x3c05a7}, + {OP_SW, 0x1202b0, 0x205e3}, + {OP_SW, 0x120324, 0x205e5}, {OP_WR, 0x1201b0, 0x1}, /* #define PXP2_COMMON_END 375 */ /* #define PXP_COMMON_START 396 */ - {OP_WB, 0x103800, 0x505e5}, - {OP_WB, 0x103c00, 0x505ea}, - {OP_WB, 0x103c20, 0x505ef}, + {OP_WB, 0x103800, 0x505e7}, + {OP_WB, 0x103c00, 0x505ec}, + {OP_WB, 0x103c20, 0x505f1}, /* #define PXP_COMMON_END 397 */ /* #define QM_COMMON_START 418 */ - {OP_SW, 0x168030, 0x805f4}, + {OP_SW, 0x168030, 0x805f6}, {OP_WR, 0x168054, 0x2}, - {OP_SW, 0x168060, 0x505fc}, + {OP_SW, 0x168060, 0x505fe}, {OP_ZR, 0x168074, 0x7}, - {OP_SW, 0x168090, 0x20601}, - {OP_SW, 0x16809c, 0x50603}, + {OP_SW, 0x168090, 0x20603}, + {OP_SW, 0x16809c, 0x50605}, {OP_ZR, 0x1680b0, 0x7}, - {OP_SW, 0x1680cc, 0x80608}, + {OP_SW, 0x1680cc, 0x8060a}, {OP_WR, 0x1680f0, 0x7}, {OP_ZR, 0x1680f4, 0xc}, - {OP_SW, 0x168124, 0x40610}, + {OP_SW, 0x168124, 0x40612}, {OP_ZR, 0x168134, 0xc}, - {OP_SW, 0x168164, 0x3b0614}, + {OP_SW, 0x168164, 0x3b0616}, {OP_ZR, 0x168250, 0x4}, - {OP_SW, 0x168260, 0x2064f}, + {OP_SW, 0x168260, 0x20651}, {OP_ZR, 0x168268, 0x8}, - {OP_SW, 0x168288, 0x80651}, + {OP_SW, 0x168288, 0x80653}, {OP_ZR, 0x1682a8, 0xa}, {OP_WR, 0x168804, 0x4}, - {OP_SW, 0x16880c, 0x100659}, + {OP_SW, 0x16880c, 0x10065b}, {OP_WR, 0x1680ec, 0xff}, /* #define QM_COMMON_END 419 */ /* #define SRC_COMMON_START 440 */ - {OP_SW, 0x40408, 0x140669}, + {OP_SW, 0x40408, 0x14066b}, /* #define SRC_COMMON_END 441 */ /* #define TCM_COMMON_START 462 */ - {OP_SW, 0x50044, 0x2067d}, - {OP_SW, 0x50050, 0x4067f}, + {OP_SW, 0x50044, 0x2067f}, + {OP_SW, 0x50050, 0x40681}, {OP_ZR, 0x50060, 0x4}, - {OP_SW, 0x50090, 0x130683}, + {OP_SW, 0x50090, 0x130685}, {OP_WR, 0x50114, 0x1}, - {OP_SW, 0x5011c, 0x20696}, + {OP_SW, 0x5011c, 0x20698}, {OP_WR, 0x50204, 0x1}, - {OP_SW, 0x5020c, 0x20698}, - {OP_SW, 0x5021c, 0x3069a}, + {OP_SW, 0x5020c, 0x2069a}, + {OP_SW, 0x5021c, 0x3069c}, {OP_ZR, 0x50240, 0xa}, - {OP_SW, 0x50280, 0x20069d}, + {OP_SW, 0x50280, 0x20069f}, {OP_ZR, 0x54000, 0xd00}, - {OP_SW, 0x50004, 0x1006bd}, + {OP_SW, 0x50004, 0x1006bf}, /* #define TCM_COMMON_END 463 */ /* #define TCM_PORT0_START 464 */ {OP_WR, 0x500e0, 0xe}, @@ -461,7 +461,7 @@ static const struct raw_op init_ops_e1[] /* #define TCM_PORT1_END 467 */ /* #define TM_COMMON_START 484 */ {OP_ZR, 0x164024, 0x2}, - {OP_SW, 0x164030, 0x306cd}, + {OP_SW, 0x164030, 0x306cf}, {OP_WR, 0x164044, 0x20}, {OP_WR, 0x164070, 0x1c}, {OP_WR, 0x164208, 0x1}, @@ -479,7 +479,7 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x16401c, 0x9c}, {OP_WR, 0x164000, 0x1}, {OP_WR, 0x1640d8, 0x1}, - {OP_SW, 0x164008, 0x306d0}, + {OP_SW, 0x164008, 0x306d2}, /* #define TM_COMMON_END 485 */ /* #define TM_PORT0_START 486 */ {OP_WR, 0x164240, 0x0}, @@ -492,10 +492,10 @@ static const struct raw_op init_ops_e1[] {OP_WB_ZR, 0x164280, 0x2}, /* #define TM_PORT1_END 489 */ /* #define TSDM_COMMON_START 506 */ - {OP_SW, 0x42008, 0x406d3}, - {OP_SW, 0x4201c, 0x406d7}, + {OP_SW, 0x42008, 0x406d5}, + {OP_SW, 0x4201c, 0x406d9}, {OP_ZR, 0x42038, 0x80}, - {OP_SW, 0x42238, 0x406db}, + {OP_SW, 0x42238, 0x406dd}, {OP_RD, 0x42248, 0x0}, {OP_RD, 0x4224c, 0x0}, {OP_RD, 0x42250, 0x0}, @@ -520,17 +520,17 @@ static const struct raw_op init_ops_e1[] /* #define TSDM_COMMON_END 507 */ /* #define TSEM_COMMON_START 528 */ {OP_FW, 0x180400, 0xd80000}, - {OP_WR_64, 0x180760, 0x1406df}, + {OP_WR_64, 0x180760, 0x1406e1}, {OP_ZR, 0x1a0000, 0x1600}, {OP_ZR, 0x1a8000, 0x40}, - {OP_SW, 0x1a08b0, 0x206e1}, - {OP_SW, 0x1a19c8, 0x206e3}, - {OP_SW, 0x1a2fc0, 0x406e5}, + {OP_SW, 0x1a08b0, 0x206e3}, + {OP_SW, 0x1a19c8, 0x206e5}, + {OP_SW, 0x1a2fc0, 0x406e7}, {OP_ZR, 0x1a2fd0, 0x6}, - {OP_SW, 0x1a2fe8, 0x206e9}, - {OP_SW, 0x1a3000, 0x3f906eb}, + {OP_SW, 0x1a2fe8, 0x206eb}, + {OP_SW, 0x1a3000, 0x3f906ed}, {OP_ZR, 0x1a3fe4, 0x7}, - {OP_SW, 0x1a4870, 0x40ae4}, + {OP_SW, 0x1a4870, 0x40ae6}, {OP_WR, 0x1b8000, 0x34}, {OP_WR, 0x1b8040, 0x18}, {OP_WR, 0x1b8080, 0xc}, @@ -547,16 +547,16 @@ static const struct raw_op init_ops_e1[] {OP_IF_MODE_AND, 2, 0x4}, /* emul */ {OP_WR, 0x1b8300, 0x138}, {OP_WR, 0x1b8340, 0x0}, - {OP_FW, 0x1c0000, 0x535c0000}, - {OP_WR_64, 0x1d4d70, 0x56520ae8}, + {OP_FW, 0x1c0000, 0x48600000}, + {OP_WR_64, 0x1d2180, 0x5bd00aea}, {OP_RD, 0x180000, 0x0}, {OP_RD, 0x180004, 0x0}, {OP_RD, 0x180008, 0x0}, {OP_RD, 0x18000c, 0x0}, {OP_RD, 0x180010, 0x0}, {OP_RD, 0x180014, 0x0}, - {OP_SW, 0x180020, 0x1a0aea}, - {OP_SW, 0x1800a4, 0x20b04}, + {OP_SW, 0x180020, 0x1a0aec}, + {OP_SW, 0x1800a4, 0x20b06}, {OP_WR, 0x180224, 0x0}, {OP_WR, 0x180234, 0x0}, {OP_WR, 0x18024c, 0x0}, @@ -570,11 +570,11 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x1a2500, 0x10}, {OP_ZR, 0x1a2580, 0x12}, {OP_ZR, 0x1a2610, 0x12}, - {OP_SW, 0x1a2fb0, 0x20b06}, + {OP_SW, 0x1a2fb0, 0x20b08}, {OP_ZR, 0x1a4000, 0x6}, {OP_ZR, 0x1a4030, 0x2}, {OP_ZR, 0x1a4820, 0x2}, - {OP_SW, 0x1a4c50, 0x20b08}, + {OP_SW, 0x1a4c50, 0x20b0a}, /* #define TSEM_PORT0_END 531 */ /* #define TSEM_PORT1_START 532 */ {OP_ZR, 0x1a0810, 0x2}, @@ -583,26 +583,26 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x1a2540, 0x10}, {OP_ZR, 0x1a25c8, 0x12}, {OP_ZR, 0x1a2658, 0x12}, - {OP_SW, 0x1a2fb8, 0x20b0a}, + {OP_SW, 0x1a2fb8, 0x20b0c}, {OP_ZR, 0x1a4018, 0x6}, {OP_ZR, 0x1a4038, 0x2}, {OP_ZR, 0x1a4828, 0x2}, - {OP_SW, 0x1a4c58, 0x20b0c}, + {OP_SW, 0x1a4c58, 0x20b0e}, /* #define TSEM_PORT1_END 533 */ /* #define UCM_COMMON_START 550 */ {OP_WR, 0xe004c, 0x32}, - {OP_SW, 0xe0054, 0x40b0e}, + {OP_SW, 0xe0054, 0x40b10}, {OP_ZR, 0xe0064, 0x4}, - {OP_SW, 0xe0094, 0x130b12}, + {OP_SW, 0xe0094, 0x130b14}, {OP_WR, 0xe0144, 0x1}, - {OP_SW, 0xe014c, 0x20b25}, + {OP_SW, 0xe014c, 0x20b27}, {OP_WR, 0xe0204, 0x1}, - {OP_SW, 0xe020c, 0x20b27}, - {OP_SW, 0xe021c, 0x40b29}, - {OP_SW, 0xe0280, 0x1b0b2d}, + {OP_SW, 0xe020c, 0x20b29}, + {OP_SW, 0xe021c, 0x40b2b}, + {OP_SW, 0xe0280, 0x1b0b2f}, {OP_ZR, 0xe02ec, 0x17}, {OP_ZR, 0xe2000, 0x800}, - {OP_SW, 0xe0004, 0x110b48}, + {OP_SW, 0xe0004, 0x110b4a}, /* #define UCM_COMMON_END 551 */ /* #define UCM_PORT0_START 552 */ {OP_WR, 0xe0110, 0xf}, @@ -614,13 +614,13 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0xc1000, 0x28}, /* #define UPB_COMMON_END 573 */ /* #define USDM_COMMON_START 594 */ - {OP_SW, 0xc4008, 0x40b59}, - {OP_SW, 0xc401c, 0x40b5d}, - {OP_SW, 0xc4038, 0x20b61}, + {OP_SW, 0xc4008, 0x40b5b}, + {OP_SW, 0xc401c, 0x40b5f}, + {OP_SW, 0xc4038, 0x20b63}, {OP_ZR, 0xc4040, 0x5e}, {OP_WR, 0xc41b8, 0x1}, {OP_ZR, 0xc41bc, 0x1f}, - {OP_SW, 0xc4238, 0x40b63}, + {OP_SW, 0xc4238, 0x40b65}, {OP_RD, 0xc4248, 0x0}, {OP_RD, 0xc424c, 0x0}, {OP_RD, 0xc4250, 0x0}, @@ -646,13 +646,13 @@ static const struct raw_op init_ops_e1[] /* #define USDM_COMMON_END 595 */ /* #define USEM_COMMON_START 616 */ {OP_FW, 0x300400, 0xda0000}, - {OP_WR_64, 0x300768, 0x130b67}, + {OP_WR_64, 0x300768, 0x130b69}, {OP_ZR, 0x320000, 0x1600}, {OP_ZR, 0x328000, 0x40}, - {OP_SW, 0x321830, 0x20b69}, - {OP_SW, 0x322e70, 0x40b6b}, + {OP_SW, 0x321830, 0x20b6b}, + {OP_SW, 0x322e70, 0x40b6d}, {OP_ZR, 0x325080, 0x8}, - {OP_SW, 0x3250a0, 0x20b6f}, + {OP_SW, 0x3250a0, 0x20b71}, {OP_WR, 0x338000, 0x1a}, {OP_WR, 0x338040, 0x4e}, {OP_WR, 0x338080, 0x10}, @@ -669,16 +669,16 @@ static const struct raw_op init_ops_e1[] {OP_IF_MODE_AND, 2, 0x4}, /* emul */ {OP_WR, 0x338300, 0x138}, {OP_WR, 0x338340, 0x0}, - {OP_FW, 0x340000, 0x59440000}, - {OP_WR_64, 0x356510, 0x535e0b71}, + {OP_FW, 0x340000, 0x88540000}, + {OP_WR_64, 0x362150, 0x3bd60b73}, {OP_RD, 0x300000, 0x0}, {OP_RD, 0x300004, 0x0}, {OP_RD, 0x300008, 0x0}, {OP_RD, 0x30000c, 0x0}, {OP_RD, 0x300010, 0x0}, {OP_RD, 0x300014, 0x0}, - {OP_SW, 0x300020, 0x1a0b73}, - {OP_SW, 0x3000a4, 0x20b8d}, + {OP_SW, 0x300020, 0x1a0b75}, + {OP_SW, 0x3000a4, 0x20b8f}, {OP_WR, 0x300224, 0x0}, {OP_WR, 0x300234, 0x0}, {OP_WR, 0x30024c, 0x0}, @@ -733,23 +733,23 @@ static const struct raw_op init_ops_e1[] /* #define USEM_PORT1_END 621 */ /* #define XCM_COMMON_START 638 */ {OP_WR, 0x20058, 0x32}, - {OP_SW, 0x20060, 0x40b8f}, + {OP_SW, 0x20060, 0x40b91}, {OP_ZR, 0x20070, 0x4}, - {OP_SW, 0x200a0, 0xe0b93}, - {OP_SW, 0x200dc, 0x70ba1}, + {OP_SW, 0x200a0, 0xe0b95}, + {OP_SW, 0x200dc, 0x70ba3}, {OP_WR, 0x200fc, 0x6}, {OP_WR, 0x20120, 0x0}, {OP_WR, 0x20134, 0x2}, {OP_WR, 0x201b0, 0x1}, {OP_WR, 0x2020c, 0x1}, - {OP_SW, 0x20214, 0x20ba8}, + {OP_SW, 0x20214, 0x20baa}, {OP_WR, 0x20404, 0x1}, - {OP_SW, 0x2040c, 0x20baa}, - {OP_SW, 0x2041c, 0x40bac}, - {OP_SW, 0x20480, 0x1f0bb0}, + {OP_SW, 0x2040c, 0x20bac}, + {OP_SW, 0x2041c, 0x40bae}, + {OP_SW, 0x20480, 0x1f0bb2}, {OP_ZR, 0x204fc, 0x13}, {OP_ZR, 0x28000, 0x2000}, - {OP_SW, 0x20004, 0x140bcf}, + {OP_SW, 0x20004, 0x140bd1}, /* #define XCM_COMMON_END 639 */ /* #define XCM_PORT0_START 640 */ {OP_WR, 0x20108, 0xc8}, @@ -775,15 +775,15 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x161000, 0x28}, /* #define XPB_COMMON_END 661 */ /* #define XSDM_COMMON_START 682 */ - {OP_SW, 0x166008, 0x30be3}, - {OP_SW, 0x16601c, 0x40be6}, - {OP_SW, 0x166038, 0xd0bea}, + {OP_SW, 0x166008, 0x30be5}, + {OP_SW, 0x16601c, 0x40be8}, + {OP_SW, 0x166038, 0xd0bec}, {OP_ZR, 0x16606c, 0x13}, - {OP_SW, 0x1660b8, 0x20bf7}, + {OP_SW, 0x1660b8, 0x20bf9}, {OP_ZR, 0x1660c0, 0x3e}, {OP_WR, 0x1661b8, 0x1}, {OP_ZR, 0x1661bc, 0x1f}, - {OP_SW, 0x166238, 0x40bf9}, + {OP_SW, 0x166238, 0x40bfb}, {OP_RD, 0x166248, 0x0}, {OP_RD, 0x16624c, 0x0}, {OP_RD, 0x166250, 0x0}, @@ -808,19 +808,19 @@ static const struct raw_op init_ops_e1[] /* #define XSDM_COMMON_END 683 */ /* #define XSEM_COMMON_START 704 */ {OP_FW, 0x280400, 0xda0000}, - {OP_WR_64, 0x280768, 0x130bfd}, + {OP_WR_64, 0x280768, 0x130bff}, {OP_ZR, 0x2a0000, 0x1600}, {OP_ZR, 0x2a8000, 0x40}, - {OP_SW, 0x2a2500, 0x20bff}, - {OP_SW, 0x2a2960, 0x40c01}, - {OP_SW, 0x2a2f48, 0x20c05}, - {OP_SW, 0x2a3368, 0x20c07}, - {OP_SW, 0x2a3920, 0x20c09}, - {OP_SW, 0x2a3930, 0x20c0b}, - {OP_SW, 0x2a3ac8, 0x20c0d}, + {OP_SW, 0x2a2500, 0x20c01}, + {OP_SW, 0x2a2960, 0x40c03}, + {OP_SW, 0x2a2f48, 0x20c07}, + {OP_SW, 0x2a3368, 0x20c09}, + {OP_SW, 0x2a3920, 0x20c0b}, + {OP_SW, 0x2a3930, 0x20c0d}, + {OP_SW, 0x2a3ac8, 0x20c0f}, {OP_ZR, 0x2a3ad0, 0x6}, - {OP_SW, 0x2a3b98, 0x20c0f}, - {OP_SW, 0x2a3c20, 0x40c11}, + {OP_SW, 0x2a3b98, 0x20c11}, + {OP_SW, 0x2a3c20, 0x40c13}, {OP_WR, 0x2a3cd0, 0x0}, {OP_WR, 0x2b8000, 0x0}, {OP_WR, 0x2b8040, 0x18}, @@ -840,16 +840,16 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x2b8340, 0x0}, {OP_IF_MODE_AND, 1, 0x20}, /* port2 */ {OP_WR, 0x2a3cd4, 0x0}, - {OP_FW, 0x2c0000, 0x6c0c0000}, - {OP_WR_64, 0x2db030, 0x49fa0c15}, + {OP_FW, 0x2c0000, 0x64e40000}, + {OP_WR_64, 0x2d9390, 0x4d8e0c17}, {OP_RD, 0x280000, 0x0}, {OP_RD, 0x280004, 0x0}, {OP_RD, 0x280008, 0x0}, {OP_RD, 0x28000c, 0x0}, {OP_RD, 0x280010, 0x0}, {OP_RD, 0x280014, 0x0}, - {OP_SW, 0x280020, 0x1a0c17}, - {OP_SW, 0x2800a4, 0x20c31}, + {OP_SW, 0x280020, 0x1a0c19}, + {OP_SW, 0x2800a4, 0x20c33}, {OP_WR, 0x280224, 0x0}, {OP_WR, 0x280234, 0x0}, {OP_WR, 0x28024c, 0x0}, @@ -860,8 +860,8 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x2a3910, 0x2}, {OP_ZR, 0x2a3938, 0x20}, {OP_ZR, 0x2a3a38, 0x10}, - {OP_SW, 0x2a3ae8, 0x20c33}, - {OP_SW, 0x2a3af8, 0x100c35}, + {OP_SW, 0x2a3ae8, 0x20c35}, + {OP_SW, 0x2a3af8, 0x100c37}, {OP_ZR, 0x2a3c30, 0x2}, {OP_ZR, 0x2a5000, 0x2}, {OP_ZR, 0x2a5010, 0x2}, @@ -874,8 +874,8 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x2a3918, 0x2}, {OP_ZR, 0x2a39b8, 0x20}, {OP_ZR, 0x2a3a78, 0x10}, - {OP_SW, 0x2a3af0, 0x20c45}, - {OP_SW, 0x2a3b38, 0x100c47}, + {OP_SW, 0x2a3af0, 0x20c47}, + {OP_SW, 0x2a3b38, 0x100c49}, {OP_ZR, 0x2a3c38, 0x2}, {OP_ZR, 0x2a5008, 0x2}, {OP_ZR, 0x2a5018, 0x2}, @@ -888,20 +888,20 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0xa000, 0x16}, /* #define MISC_AEU_COMMON_END 727 */ /* #define MISC_AEU_PORT0_START 728 */ - {OP_SW, 0xa06c, 0x60c57}, + {OP_SW, 0xa06c, 0x60c59}, {OP_ZR, 0xa084, 0x5}, {OP_WR, 0xa098, 0xfe00000}, {OP_ZR, 0xa09c, 0x14}, - {OP_SW, 0xa0ec, 0x80c5d}, + {OP_SW, 0xa0ec, 0x80c5f}, {OP_ZR, 0xa22c, 0x4}, {OP_WR, 0xa060, 0x307}, /* #define MISC_AEU_PORT0_END 729 */ /* #define MISC_AEU_PORT1_START 730 */ - {OP_SW, 0xa10c, 0x60c65}, + {OP_SW, 0xa10c, 0x60c67}, {OP_ZR, 0xa124, 0x5}, {OP_WR, 0xa138, 0xfe00000}, {OP_ZR, 0xa13c, 0x14}, - {OP_SW, 0xa18c, 0x80c6b}, + {OP_SW, 0xa18c, 0x80c6d}, {OP_ZR, 0xa23c, 0x4}, {OP_WR, 0xa064, 0x307}, /* #define MISC_AEU_PORT1_END 731 */ @@ -1183,14 +1183,15 @@ static const uint32_t init_data_e1[] = { 0x00000000, 0x00100000, 0x00000000, 0xffffffff, 0x00cfffff, 0x00000000, 0x00000000, 0x000000cc, 0x00000000, 0x00200000, 0x00000000, 0xffffffff, 0x00cfffff, 0x00000000, 0x00000000, 0x000000cc, 0x00000000, 0x00400000, - 0x00000000, 0x00000a11, 0x00000a00, 0x00000a04, 0x0000ffff, 0x0000ffff, - 0x0000ffff, 0x0000ffff, 0x00000020, 0x00000021, 0x00000022, 0x00000023, - 0x00000024, 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x00000029, - 0x0000002a, 0x0000002b, 0x0000002c, 0x0000002d, 0x0000002e, 0x0000002f, - 0x00000010, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, + 0x00000000, 0x00000200, 0x00003dff, 0x00000a11, 0x00000a00, 0x00000a04, + 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x00000020, 0x00000021, + 0x00000022, 0x00000023, 0x00000024, 0x00000025, 0x00000026, 0x00000027, + 0x00000028, 0x00000029, 0x0000002a, 0x0000002b, 0x0000002c, 0x0000002d, + 0x0000002e, 0x0000002f, 0x00000010, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x07ffffff, 0x0000003f, 0x07ffffff, 0x0000000f, 0x00007ff8, 0x00007ff8, + 0x00000001, 0x00000001, 0x07ffffff, 0x0000003f, 0x07ffffff, 0x0000000f, + 0x00007ff8, 0x00007ff8, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, @@ -1211,347 +1212,346 @@ static const uint32_t init_data_e1[] = { 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, - 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, - 0x0000ff1c, 0x0fffffff, 0x0000ff00, 0x00000000, 0x0000ff00, 0x00000000, - 0x00000312, 0x00003500, 0x00000001, 0x00000002, 0x00000003, 0x00000000, - 0x00000004, 0x00000001, 0x00000000, 0x00000001, 0x00000004, 0x00000000, - 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00000004, 0x00000000, - 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00000004, 0x00000000, - 0x00000004, 0x00000003, 0x00000000, 0x00000000, 0x00003fff, 0x000003ff, - 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x007c1004, 0x00000004, - 0x00000000, 0x00000002, 0x00000090, 0x00000090, 0x00800090, 0x08100000, - 0x0000008a, 0x00000080, 0x00000081, 0x00000080, 0x00000006, 0x000007d0, - 0x0000076c, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x071d2911, - 0x00000000, 0x009c0424, 0x00000000, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00007fff, 0x000000ff, 0x000000ff, 0x000000ff, - 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x0000003e, - 0x00000000, 0x0000003f, 0x0000003f, 0x0000003f, 0x00000000, 0x0000003f, - 0x0000003f, 0x0000003f, 0x0000000f, 0x00000043, 0x00000000, 0x00000006, - 0x00000000, 0x12170000, 0x22170000, 0x32170000, 0x12150000, 0x22150000, - 0x32150000, 0x02100000, 0x00100000, 0x10100000, 0x20100000, 0x30100000, - 0x00100000, 0x12140000, 0x22140000, 0x32140000, 0x00e38340, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0xf0003000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffff3328, 0xffff3338, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, + 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff00, 0x00000000, + 0x0000ff00, 0x00000000, 0x00000002, 0x00001500, 0x00000001, 0x00000002, + 0x00000003, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000001, + 0x00000004, 0x00000000, 0x00000001, 0x00000003, 0x00000000, 0x00000001, + 0x00000004, 0x00000000, 0x00000001, 0x00000003, 0x00000000, 0x00000001, + 0x00000004, 0x00000000, 0x00000004, 0x00000003, 0x00000000, 0x00000000, + 0x00003fff, 0x000003ff, 0x00000000, 0x00000001, 0x00000001, 0x00000001, + 0x007c1004, 0x00000004, 0x00000000, 0x00000002, 0x00000090, 0x00000090, + 0x00800090, 0x08100000, 0x0000008a, 0x00000080, 0x00000081, 0x00000080, + 0x00000006, 0x000007d0, 0x0000076c, 0x0000ffff, 0x0000ffff, 0x0000ffff, + 0x0000ffff, 0x071d2911, 0x00000000, 0x009c0424, 0x00000000, 0x00000001, + 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00007fff, 0x000000ff, + 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, + 0x000000ff, 0x0000003e, 0x00000000, 0x0000003f, 0x0000003f, 0x0000003f, + 0x00000000, 0x0000003f, 0x0000003f, 0x0000003f, 0x0000000f, 0x00000043, + 0x00000000, 0x00000006, 0x00000000, 0x12170000, 0x22170000, 0x32170000, + 0x12150000, 0x22150000, 0x32150000, 0x02100000, 0x00100000, 0x10100000, + 0x20100000, 0x30100000, 0x00100000, 0x12140000, 0x22140000, 0x32140000, + 0x00e38340, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, + 0xffffffff, 0xffffffff, 0xffffffff, 0xf0003000, 0xffffffff, 0xffffffff, + 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffff3328, + 0xffff3338, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0x00003c10, 0x00000008, 0x00000000, 0x00000000, 0x00000040, - 0x00001808, 0x00000803, 0x00000803, 0x00000040, 0x00000003, 0x00000803, - 0x00000803, 0x00000803, 0x00010003, 0x00000803, 0x00000803, 0x00000003, - 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, + 0xffffffff, 0xffffffff, 0xffffffff, 0x00003c10, 0x00000008, 0x00000000, + 0x00000000, 0x00000040, 0x00001808, 0x00000803, 0x00000803, 0x00000040, + 0x00000003, 0x00000803, 0x00000803, 0x00000803, 0x00010003, 0x00000803, + 0x00000803, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, - 0x00000003, 0x00000003, 0x00002403, 0x0000002f, 0x00000009, 0x00000019, - 0x00000184, 0x00000183, 0x00000306, 0x00000019, 0x00000006, 0x00000306, - 0x00000306, 0x00000306, 0x00000c86, 0x00000306, 0x00000306, 0x00000006, + 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00002403, 0x0000002f, + 0x00000009, 0x00000019, 0x00000184, 0x00000183, 0x00000306, 0x00000019, + 0x00000006, 0x00000306, 0x00000306, 0x00000306, 0x00000c86, 0x00000306, + 0x00000306, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, - 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, - 0x00000006, 0x00000006, 0x00000306, 0x00000013, 0x00000006, 0x00001004, - 0x00001004, 0x00106440, 0x00106440, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00002000, - 0x0000007c, 0x0000003d, 0x0000003f, 0x0000009c, 0x00000006, 0x00000005, - 0x0000000a, 0x00000005, 0x00000140, 0x00000140, 0x00000000, 0x00000000, - 0x000000c0, 0x0000013f, 0x00007fff, 0x00000048, 0x00000048, 0x00000000, - 0x00000000, 0x00000048, 0x00000004, 0x00000004, 0x00000004, 0x00000004, - 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000009, - 0x0000000b, 0x0000000a, 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, + 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000306, 0x00000013, + 0x00000006, 0x00001004, 0x00001004, 0x00106440, 0x00106440, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00002000, 0x0000007c, 0x0000003d, 0x0000003f, 0x0000009c, + 0x00000006, 0x00000005, 0x0000000a, 0x00000005, 0x00000140, 0x00000140, + 0x00000000, 0x00000000, 0x000000c0, 0x0000013f, 0x00007fff, 0x00000048, + 0x00000048, 0x00000000, 0x00000000, 0x00000048, 0x00000004, 0x00000004, + 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000004, + 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000004, 0x00000009, + 0x0000000b, 0x0000000a, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, + 0x00000001, 0x00000001, 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000004, 0x00000009, - 0x0000000b, 0x0000000a, 0x00000000, 0x00000000, 0x00000800, 0x00000200, - 0x000001ff, 0x00000400, 0x00000000, 0x00000000, 0x1e491e49, 0x1e491e49, - 0x0e490e49, 0x0e490e49, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, - 0x000025e4, 0x00008000, 0x00000013, 0x0fff0fff, 0x00000000, 0x00000000, - 0x0fff0fff, 0x10001000, 0x10001000, 0x20002000, 0x20002000, 0x80008000, - 0x80008000, 0x40004000, 0x40004000, 0x00000000, 0x00000001, 0x01010101, - 0x01200101, 0x20010101, 0x01011001, 0x01010101, 0x01200101, 0x20010101, - 0x01011001, 0x20010101, 0x01011001, 0x01010101, 0x01200101, 0x20010101, - 0x01011001, 0x01010101, 0x01200101, 0x00000123, 0x00000123, 0x00000123, + 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000000, 0x00000000, + 0x00000800, 0x00000200, 0x000001ff, 0x00000400, 0x00000000, 0x00000000, + 0x1e491e49, 0x1e491e49, 0x0e490e49, 0x0e490e49, 0xffffffff, 0x00000000, + 0xffffffff, 0x00000000, 0x000025e4, 0x00008000, 0x00000013, 0x0fff0fff, + 0x00000000, 0x00000000, 0x0fff0fff, 0x10001000, 0x10001000, 0x20002000, + 0x20002000, 0x80008000, 0x80008000, 0x40004000, 0x40004000, 0x00000000, + 0x00000001, 0x01010101, 0x01200101, 0x20010101, 0x01011001, 0x01010101, + 0x01200101, 0x20010101, 0x01011001, 0x20010101, 0x01011001, 0x01010101, + 0x01200101, 0x20010101, 0x01011001, 0x01010101, 0x01200101, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, - 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000020, - 0x00000032, 0x00000007, 0x00000007, 0x00000000, 0x00000008, 0x02150020, - 0x02150020, 0x00000030, 0x08100000, 0x00000033, 0x00000030, 0x00000031, - 0x00000002, 0x00000005, 0x00000006, 0x00000002, 0x00000002, 0x00000000, - 0x00000005, 0x00000002, 0x00000002, 0x00000002, 0x00000001, 0x00000006, - 0x00000001, 0x00000002, 0x00000040, 0x00000040, 0x00000020, 0x00000013, - 0x00000020, 0x00010000, 0x000204c0, 0x00030980, 0x00040e40, 0x00051300, - 0x000617c0, 0x00071c80, 0x00082140, 0x00092600, 0x000a2ac0, 0x000b2f80, - 0x000c3440, 0x000d3900, 0x000e3dc0, 0x000f4280, 0x00104740, 0x00114c00, - 0x001250c0, 0x00135580, 0x00145a40, 0x00155f00, 0x001663c0, 0x00176880, - 0x00186d40, 0x00197200, 0x001a76c0, 0x001b7b80, 0x001c8040, 0x001d8500, - 0x001e89c0, 0x001f8e80, 0x00009340, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000008, 0x0000000c, 0x00000010, 0x00000001, 0x00000001, - 0x00000001, 0x00000211, 0x00000200, 0x00000204, 0x00000219, 0x0000ffff, - 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x07ffffff, 0x0000003f, 0x07ffffff, - 0x0000000f, 0x00007ff8, 0x00007ff8, 0x00000000, 0x140aff00, 0x00000000, - 0x00000001, 0x00201001, 0x00000000, 0x01008600, 0x00000100, 0x00000001, - 0x00000000, 0x00008602, 0x00000000, 0x00000000, 0x00000000, 0x00008604, - 0x00000000, 0x00000000, 0x00000000, 0x00008606, 0x00000000, 0x00000000, - 0x00000000, 0x00008608, 0x00000000, 0x00000000, 0x00000000, 0x0000860a, - 0x00000000, 0x00000000, 0x00000000, 0x0000860c, 0x00000000, 0x00000000, - 0x00000000, 0x0000860e, 0x00000000, 0x00000000, 0x00000000, 0x00008610, - 0x00000000, 0x00000000, 0x00000000, 0x00008612, 0x00000000, 0x00000000, - 0x00000000, 0x00008614, 0x00000000, 0x00000000, 0x00000000, 0x00008616, - 0x00000000, 0x00000000, 0x00000000, 0x00008618, 0x00000000, 0x00000000, - 0x00000000, 0x0000861a, 0x00000000, 0x00000000, 0x00000000, 0x0000861c, - 0x00000000, 0x00000000, 0x00000000, 0x0000861e, 0x00000000, 0x00000000, - 0x00000000, 0x00008620, 0x00000000, 0x00000000, 0x00000000, 0x00008622, - 0x00000000, 0x00000000, 0x00000000, 0x00008624, 0x00000000, 0x00000000, - 0x00000000, 0x00008626, 0x00000000, 0x00000000, 0x00000000, 0x00008628, - 0x00000000, 0x00000000, 0x00000000, 0x0000862a, 0x00000000, 0x00000000, - 0x00000000, 0x0000862c, 0x00000000, 0x00000000, 0x00000000, 0x0000862e, - 0x00000000, 0x00000000, 0x00000000, 0x00008630, 0x00000000, 0x00000000, - 0x00000000, 0x00008632, 0x00000000, 0x00000000, 0x00000000, 0x00008634, - 0x00000000, 0x00000000, 0x00000000, 0x00008636, 0x00000000, 0x00000000, - 0x00000000, 0x00008638, 0x00000000, 0x00000000, 0x00000000, 0x0000863a, - 0x00000000, 0x00000000, 0x00000000, 0x0000863c, 0x00000000, 0x00000000, - 0x00000000, 0x0000863e, 0x00000000, 0x00000000, 0x00000000, 0x00008640, - 0x00000000, 0x00000000, 0x00000000, 0x00008642, 0x00000000, 0x00000000, - 0x00000000, 0x00008644, 0x00000000, 0x00000000, 0x00000000, 0x00008646, - 0x00000000, 0x00000000, 0x00000000, 0x00008648, 0x00000000, 0x00000000, - 0x00000000, 0x0000864a, 0x00000000, 0x00000000, 0x00000000, 0x0000864c, - 0x00000000, 0x00000000, 0x00000000, 0x0000864e, 0x00000000, 0x00000000, - 0x00000000, 0x00008650, 0x00000000, 0x00000000, 0x00000000, 0x00008652, - 0x00000000, 0x00000000, 0x00000000, 0x00008654, 0x00000000, 0x00000000, - 0x00000000, 0x00008656, 0x00000000, 0x00000000, 0x00000000, 0x00008658, - 0x00000000, 0x00000000, 0x00000000, 0x0000865a, 0x00000000, 0x00000000, - 0x00000000, 0x0000865c, 0x00000000, 0x00000000, 0x00000000, 0x0000865e, - 0x00000000, 0x00000000, 0x00000000, 0x00008660, 0x00000000, 0x00000000, - 0x00000000, 0x00008662, 0x00000000, 0x00000000, 0x00000000, 0x00008664, - 0x00000000, 0x00000000, 0x00000000, 0x00008666, 0x00000000, 0x00000000, - 0x00000000, 0x00008668, 0x00000000, 0x00000000, 0x00000000, 0x0000866a, - 0x00000000, 0x00000000, 0x00000000, 0x0000866c, 0x00000000, 0x00000000, - 0x00000000, 0x0000866e, 0x00000000, 0x00000000, 0x00000000, 0x00008670, - 0x00000000, 0x00000000, 0x00000000, 0x00008672, 0x00000000, 0x00000000, - 0x00000000, 0x00008674, 0x00000000, 0x00000000, 0x00000000, 0x00008676, - 0x00000000, 0x00000000, 0x00000000, 0x00008678, 0x00000000, 0x00000000, - 0x00000000, 0x0000867a, 0x00000000, 0x00000000, 0x00000000, 0x0000867c, - 0x00000000, 0x00000000, 0x00000000, 0x0000867e, 0x00000000, 0x00000000, - 0x00000000, 0x00008680, 0x00000000, 0x00000000, 0x00000000, 0x00008682, - 0x00000000, 0x00000000, 0x00000000, 0x00008684, 0x00000000, 0x00000000, - 0x00000000, 0x00008686, 0x00000000, 0x00000000, 0x00000000, 0x00008688, - 0x00000000, 0x00000000, 0x00000000, 0x0000868a, 0x00000000, 0x00000000, - 0x00000000, 0x0000868c, 0x00000000, 0x00000000, 0x00000000, 0x0000868e, - 0x00000000, 0x00000000, 0x00000000, 0x00008690, 0x00000000, 0x00000000, - 0x00000000, 0x00008692, 0x00000000, 0x00000000, 0x00000000, 0x00008694, - 0x00000000, 0x00000000, 0x00000000, 0x00008696, 0x00000000, 0x00000000, - 0x00000000, 0x00008698, 0x00000000, 0x00000000, 0x00000000, 0x0000869a, - 0x00000000, 0x00000000, 0x00000000, 0x0000869c, 0x00000000, 0x00000000, - 0x00000000, 0x0000869e, 0x00000000, 0x00000000, 0x00000000, 0x000086a0, - 0x00000000, 0x00000000, 0x00000000, 0x000086a2, 0x00000000, 0x00000000, - 0x00000000, 0x000086a4, 0x00000000, 0x00000000, 0x00000000, 0x000086a6, - 0x00000000, 0x00000000, 0x00000000, 0x000086a8, 0x00000000, 0x00000000, - 0x00000000, 0x000086aa, 0x00000000, 0x00000000, 0x00000000, 0x000086ac, - 0x00000000, 0x00000000, 0x00000000, 0x000086ae, 0x00000000, 0x00000000, - 0x00000000, 0x000086b0, 0x00000000, 0x00000000, 0x00000000, 0x000086b2, - 0x00000000, 0x00000000, 0x00000000, 0x000086b4, 0x00000000, 0x00000000, - 0x00000000, 0x000086b6, 0x00000000, 0x00000000, 0x00000000, 0x000086b8, - 0x00000000, 0x00000000, 0x00000000, 0x000086ba, 0x00000000, 0x00000000, - 0x00000000, 0x000086bc, 0x00000000, 0x00000000, 0x00000000, 0x000086be, - 0x00000000, 0x00000000, 0x00000000, 0x000086c0, 0x00000000, 0x00000000, - 0x00000000, 0x000086c2, 0x00000000, 0x00000000, 0x00000000, 0x000086c4, - 0x00000000, 0x00000000, 0x00000000, 0x000086c6, 0x00000000, 0x00000000, - 0x00000000, 0x000086c8, 0x00000000, 0x00000000, 0x00000000, 0x000086ca, - 0x00000000, 0x00000000, 0x00000000, 0x000086cc, 0x00000000, 0x00000000, - 0x00000000, 0x000086ce, 0x00000000, 0x00000000, 0x00000000, 0x000086d0, - 0x00000000, 0x00000000, 0x00000000, 0x000086d2, 0x00000000, 0x00000000, - 0x00000000, 0x000086d4, 0x00000000, 0x00000000, 0x00000000, 0x000086d6, - 0x00000000, 0x00000000, 0x00000000, 0x000086d8, 0x00000000, 0x00000000, - 0x00000000, 0x000086da, 0x00000000, 0x00000000, 0x00000000, 0x000086dc, - 0x00000000, 0x00000000, 0x00000000, 0x000086de, 0x00000000, 0x00000000, - 0x00000000, 0x000086e0, 0x00000000, 0x00000000, 0x00000000, 0x000086e2, - 0x00000000, 0x00000000, 0x00000000, 0x000086e4, 0x00000000, 0x00000000, - 0x00000000, 0x000086e6, 0x00000000, 0x00000000, 0x00000000, 0x000086e8, - 0x00000000, 0x00000000, 0x00000000, 0x000086ea, 0x00000000, 0x00000000, - 0x00000000, 0x000086ec, 0x00000000, 0x00000000, 0x00000000, 0x000086ee, - 0x00000000, 0x00000000, 0x00000000, 0x000086f0, 0x00000000, 0x00000000, - 0x00000000, 0x000086f2, 0x00000000, 0x00000000, 0x00000000, 0x000086f4, - 0x00000000, 0x00000000, 0x00000000, 0x000086f6, 0x00000000, 0x00000000, - 0x00000000, 0x000086f8, 0x00000000, 0x00000000, 0x00000000, 0x000086fa, - 0x00000000, 0x00000000, 0x00000000, 0x000086fc, 0x00000000, 0x00000000, - 0x00000000, 0x000086fe, 0x00000000, 0x00000000, 0x00000000, 0x00008700, - 0x00000000, 0x00000000, 0x00000000, 0x00008702, 0x00000000, 0x00000000, - 0x00000000, 0x00008704, 0x00000000, 0x00000000, 0x00000000, 0x00008706, - 0x00000000, 0x00000000, 0x00000000, 0x00008708, 0x00000000, 0x00000000, - 0x00000000, 0x0000870a, 0x00000000, 0x00000000, 0x00000000, 0x0000870c, - 0x00000000, 0x00000000, 0x00000000, 0x0000870e, 0x00000000, 0x00000000, - 0x00000000, 0x00008710, 0x00000000, 0x00000000, 0x00000000, 0x00008712, - 0x00000000, 0x00000000, 0x00000000, 0x00008714, 0x00000000, 0x00000000, - 0x00000000, 0x00008716, 0x00000000, 0x00000000, 0x00000000, 0x00008718, - 0x00000000, 0x00000000, 0x00000000, 0x0000871a, 0x00000000, 0x00000000, - 0x00000000, 0x0000871c, 0x00000000, 0x00000000, 0x00000000, 0x0000871e, - 0x00000000, 0x00000000, 0x00000000, 0x00008720, 0x00000000, 0x00000000, - 0x00000000, 0x00008722, 0x00000000, 0x00000000, 0x00000000, 0x00008724, - 0x00000000, 0x00000000, 0x00000000, 0x00008726, 0x00000000, 0x00000000, - 0x00000000, 0x00008728, 0x00000000, 0x00000000, 0x00000000, 0x0000872a, - 0x00000000, 0x00000000, 0x00000000, 0x0000872c, 0x00000000, 0x00000000, - 0x00000000, 0x0000872e, 0x00000000, 0x00000000, 0x00000000, 0x00008730, - 0x00000000, 0x00000000, 0x00000000, 0x00008732, 0x00000000, 0x00000000, - 0x00000000, 0x00008734, 0x00000000, 0x00000000, 0x00000000, 0x00008736, - 0x00000000, 0x00000000, 0x00000000, 0x00008738, 0x00000000, 0x00000000, - 0x00000000, 0x0000873a, 0x00000000, 0x00000000, 0x00000000, 0x0000873c, - 0x00000000, 0x00000000, 0x00000000, 0x0000873e, 0x00000000, 0x00000000, - 0x00000000, 0x00008740, 0x00000000, 0x00000000, 0x00000000, 0x00008742, - 0x00000000, 0x00000000, 0x00000000, 0x00008744, 0x00000000, 0x00000000, - 0x00000000, 0x00008746, 0x00000000, 0x00000000, 0x00000000, 0x00008748, - 0x00000000, 0x00000000, 0x00000000, 0x0000874a, 0x00000000, 0x00000000, - 0x00000000, 0x0000874c, 0x00000000, 0x00000000, 0x00000000, 0x0000874e, - 0x00000000, 0x00000000, 0x00000000, 0x00008750, 0x00000000, 0x00000000, - 0x00000000, 0x00008752, 0x00000000, 0x00000000, 0x00000000, 0x00008754, - 0x00000000, 0x00000000, 0x00000000, 0x00008756, 0x00000000, 0x00000000, - 0x00000000, 0x00008758, 0x00000000, 0x00000000, 0x00000000, 0x0000875a, - 0x00000000, 0x00000000, 0x00000000, 0x0000875c, 0x00000000, 0x00000000, - 0x00000000, 0x0000875e, 0x00000000, 0x00000000, 0x00000000, 0x00008760, - 0x00000000, 0x00000000, 0x00000000, 0x00008762, 0x00000000, 0x00000000, - 0x00000000, 0x00008764, 0x00000000, 0x00000000, 0x00000000, 0x00008766, - 0x00000000, 0x00000000, 0x00000000, 0x00008768, 0x00000000, 0x00000000, - 0x00000000, 0x0000876a, 0x00000000, 0x00000000, 0x00000000, 0x0000876c, - 0x00000000, 0x00000000, 0x00000000, 0x0000876e, 0x00000000, 0x00000000, - 0x00000000, 0x00008770, 0x00000000, 0x00000000, 0x00000000, 0x00008772, - 0x00000000, 0x00000000, 0x00000000, 0x00008774, 0x00000000, 0x00000000, - 0x00000000, 0x00008776, 0x00000000, 0x00000000, 0x00000000, 0x00008778, - 0x00000000, 0x00000000, 0x00000000, 0x0000877a, 0x00000000, 0x00000000, - 0x00000000, 0x0000877c, 0x00000000, 0x00000000, 0x00000000, 0x0000877e, - 0x00000000, 0x00000000, 0x00000000, 0x00008780, 0x00000000, 0x00000000, - 0x00000000, 0x00008782, 0x00000000, 0x00000000, 0x00000000, 0x00008784, - 0x00000000, 0x00000000, 0x00000000, 0x00008786, 0x00000000, 0x00000000, - 0x00000000, 0x00008788, 0x00000000, 0x00000000, 0x00000000, 0x0000878a, - 0x00000000, 0x00000000, 0x00000000, 0x0000878c, 0x00000000, 0x00000000, - 0x00000000, 0x0000878e, 0x00000000, 0x00000000, 0x00000000, 0x00008790, - 0x00000000, 0x00000000, 0x00000000, 0x00008792, 0x00000000, 0x00000000, - 0x00000000, 0x00008794, 0x00000000, 0x00000000, 0x00000000, 0x00008796, - 0x00000000, 0x00000000, 0x00000000, 0x00008798, 0x00000000, 0x00000000, - 0x00000000, 0x0000879a, 0x00000000, 0x00000000, 0x00000000, 0x0000879c, - 0x00000000, 0x00000000, 0x00000000, 0x0000879e, 0x00000000, 0x00000000, - 0x00000000, 0x000087a0, 0x00000000, 0x00000000, 0x00000000, 0x000087a2, - 0x00000000, 0x00000000, 0x00000000, 0x000087a4, 0x00000000, 0x00000000, - 0x00000000, 0x000087a6, 0x00000000, 0x00000000, 0x00000000, 0x000087a8, - 0x00000000, 0x00000000, 0x00000000, 0x000087aa, 0x00000000, 0x00000000, - 0x00000000, 0x000087ac, 0x00000000, 0x00000000, 0x00000000, 0x000087ae, - 0x00000000, 0x00000000, 0x00000000, 0x000087b0, 0x00000000, 0x00000000, - 0x00000000, 0x000087b2, 0x00000000, 0x00000000, 0x00000000, 0x000087b4, - 0x00000000, 0x00000000, 0x00000000, 0x000087b6, 0x00000000, 0x00000000, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Wed Mar 9 21:50:40 2016 Return-Path: Delivered-To: svn-src-all@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 C40E9AC9A08; Wed, 9 Mar 2016 21:50:40 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7BFB7A9A; Wed, 9 Mar 2016 21:50:40 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29LodJk075872; Wed, 9 Mar 2016 21:50:39 GMT (envelope-from davidcs@FreeBSD.org) Received: (from davidcs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29LodKe075870; Wed, 9 Mar 2016 21:50:39 GMT (envelope-from davidcs@FreeBSD.org) Message-Id: <201603092150.u29LodKe075870@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: davidcs set sender to davidcs@FreeBSD.org using -f From: David C Somayajulu Date: Wed, 9 Mar 2016 21:50:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r296583 - in stable/7/sys: dev/bxe modules/bxe X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 21:50:40 -0000 Author: davidcs Date: Wed Mar 9 21:50:39 2016 New Revision: 296583 URL: https://svnweb.freebsd.org/changeset/base/296583 Log: MFC r296071 Upgrade the firmware carried in driver and loaded during hardware initialization (a.k.a STORM firmware) to version 7.13.1 (latest version) Modified: stable/7/sys/dev/bxe/57710_init_values.c stable/7/sys/dev/bxe/57710_int_offsets.h stable/7/sys/dev/bxe/57711_init_values.c stable/7/sys/dev/bxe/57711_int_offsets.h stable/7/sys/dev/bxe/57712_init_values.c stable/7/sys/dev/bxe/57712_int_offsets.h stable/7/sys/dev/bxe/bxe.c stable/7/sys/dev/bxe/bxe.h stable/7/sys/dev/bxe/bxe_elink.c stable/7/sys/dev/bxe/bxe_elink.h stable/7/sys/dev/bxe/bxe_stats.c stable/7/sys/dev/bxe/ecore_fw_defs.h stable/7/sys/dev/bxe/ecore_hsi.h stable/7/sys/dev/bxe/ecore_init.h stable/7/sys/dev/bxe/ecore_init_ops.h stable/7/sys/dev/bxe/ecore_mfw_req.h stable/7/sys/dev/bxe/ecore_reg.h stable/7/sys/dev/bxe/ecore_sp.c stable/7/sys/dev/bxe/ecore_sp.h stable/7/sys/modules/bxe/Makefile Directory Properties: stable/7/ (props changed) stable/7/sys/ (props changed) Modified: stable/7/sys/dev/bxe/57710_init_values.c ============================================================================== --- stable/7/sys/dev/bxe/57710_init_values.c Wed Mar 9 21:45:09 2016 (r296582) +++ stable/7/sys/dev/bxe/57710_init_values.c Wed Mar 9 21:50:39 2016 (r296583) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2007-2014 QLogic Corporation. All rights reserved. + * Copyright (c) 2007-2017 QLogic Corporation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -11,7 +11,7 @@ * 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 COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS' + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS @@ -104,19 +104,19 @@ static const struct raw_op init_ops_e1[] /* #define CFC_COMMON_START 88 */ {OP_ZR, 0x104c00, 0x100}, {OP_WR, 0x104028, 0x10}, - {OP_WR, 0x104044, 0x3fff}, + {OP_SW, 0x104040, 0x20469}, {OP_WR, 0x104058, 0x280000}, {OP_WR, 0x104084, 0x84924a}, {OP_WR, 0x104058, 0x0}, /* #define CFC_COMMON_END 89 */ /* #define CSDM_COMMON_START 110 */ - {OP_SW, 0xc2008, 0x30469}, - {OP_SW, 0xc201c, 0x4046c}, - {OP_SW, 0xc2038, 0x110470}, + {OP_SW, 0xc2008, 0x3046b}, + {OP_SW, 0xc201c, 0x4046e}, + {OP_SW, 0xc2038, 0x110472}, {OP_ZR, 0xc207c, 0x4f}, - {OP_SW, 0xc21b8, 0x110481}, + {OP_SW, 0xc21b8, 0x110483}, {OP_ZR, 0xc21fc, 0xf}, - {OP_SW, 0xc2238, 0x40492}, + {OP_SW, 0xc2238, 0x40494}, {OP_RD, 0xc2248, 0x0}, {OP_RD, 0xc224c, 0x0}, {OP_RD, 0xc2250, 0x0}, @@ -141,76 +141,76 @@ static const struct raw_op init_ops_e1[] /* #define CSDM_COMMON_END 111 */ /* #define CSEM_COMMON_START 132 */ {OP_FW, 0x200400, 0xe00000}, - {OP_WR_64, 0x200780, 0x100496}, + {OP_WR_64, 0x200780, 0x100498}, {OP_ZR, 0x220000, 0x1600}, {OP_ZR, 0x228000, 0x40}, {OP_ZR, 0x223bd0, 0x8}, {OP_ZR, 0x224800, 0x6}, - {OP_SW, 0x224818, 0x40498}, + {OP_SW, 0x224818, 0x4049a}, {OP_ZR, 0x224828, 0xc}, - {OP_SW, 0x224858, 0x4049c}, + {OP_SW, 0x224858, 0x4049e}, {OP_ZR, 0x224868, 0xc}, - {OP_SW, 0x224898, 0x404a0}, + {OP_SW, 0x224898, 0x404a2}, {OP_ZR, 0x2248a8, 0xc}, - {OP_SW, 0x2248d8, 0x404a4}, + {OP_SW, 0x2248d8, 0x404a6}, {OP_ZR, 0x2248e8, 0xc}, - {OP_SW, 0x224918, 0x404a8}, + {OP_SW, 0x224918, 0x404aa}, {OP_ZR, 0x224928, 0xc}, - {OP_SW, 0x224958, 0x404ac}, + {OP_SW, 0x224958, 0x404ae}, {OP_ZR, 0x224968, 0xc}, - {OP_SW, 0x224998, 0x404b0}, + {OP_SW, 0x224998, 0x404b2}, {OP_ZR, 0x2249a8, 0xc}, - {OP_SW, 0x2249d8, 0x404b4}, + {OP_SW, 0x2249d8, 0x404b6}, {OP_ZR, 0x2249e8, 0xc}, - {OP_SW, 0x224a18, 0x404b8}, + {OP_SW, 0x224a18, 0x404ba}, {OP_ZR, 0x224a28, 0xc}, - {OP_SW, 0x224a58, 0x404bc}, + {OP_SW, 0x224a58, 0x404be}, {OP_ZR, 0x224a68, 0xc}, - {OP_SW, 0x224a98, 0x404c0}, + {OP_SW, 0x224a98, 0x404c2}, {OP_ZR, 0x224aa8, 0xc}, - {OP_SW, 0x224ad8, 0x404c4}, + {OP_SW, 0x224ad8, 0x404c6}, {OP_ZR, 0x224ae8, 0xc}, - {OP_SW, 0x224b18, 0x404c8}, + {OP_SW, 0x224b18, 0x404ca}, {OP_ZR, 0x224b28, 0xc}, - {OP_SW, 0x224b58, 0x404cc}, + {OP_SW, 0x224b58, 0x404ce}, {OP_ZR, 0x224b68, 0xc}, - {OP_SW, 0x224b98, 0x404d0}, + {OP_SW, 0x224b98, 0x404d2}, {OP_ZR, 0x224ba8, 0xc}, - {OP_SW, 0x224bd8, 0x404d4}, + {OP_SW, 0x224bd8, 0x404d6}, {OP_ZR, 0x224be8, 0xc}, - {OP_SW, 0x224c18, 0x404d8}, + {OP_SW, 0x224c18, 0x404da}, {OP_ZR, 0x224c28, 0xc}, - {OP_SW, 0x224c58, 0x404dc}, + {OP_SW, 0x224c58, 0x404de}, {OP_ZR, 0x224c68, 0xc}, - {OP_SW, 0x224c98, 0x404e0}, + {OP_SW, 0x224c98, 0x404e2}, {OP_ZR, 0x224ca8, 0xc}, - {OP_SW, 0x224cd8, 0x404e4}, + {OP_SW, 0x224cd8, 0x404e6}, {OP_ZR, 0x224ce8, 0xc}, - {OP_SW, 0x224d18, 0x404e8}, + {OP_SW, 0x224d18, 0x404ea}, {OP_ZR, 0x224d28, 0xc}, - {OP_SW, 0x224d58, 0x404ec}, + {OP_SW, 0x224d58, 0x404ee}, {OP_ZR, 0x224d68, 0xc}, - {OP_SW, 0x224d98, 0x404f0}, + {OP_SW, 0x224d98, 0x404f2}, {OP_ZR, 0x224da8, 0xc}, - {OP_SW, 0x224dd8, 0x404f4}, + {OP_SW, 0x224dd8, 0x404f6}, {OP_ZR, 0x224de8, 0xc}, - {OP_SW, 0x224e18, 0x404f8}, + {OP_SW, 0x224e18, 0x404fa}, {OP_ZR, 0x224e28, 0xc}, - {OP_SW, 0x224e58, 0x404fc}, + {OP_SW, 0x224e58, 0x404fe}, {OP_ZR, 0x224e68, 0xc}, - {OP_SW, 0x224e98, 0x40500}, + {OP_SW, 0x224e98, 0x40502}, {OP_ZR, 0x224ea8, 0xc}, - {OP_SW, 0x224ed8, 0x40504}, + {OP_SW, 0x224ed8, 0x40506}, {OP_ZR, 0x224ee8, 0xc}, - {OP_SW, 0x224f18, 0x40508}, + {OP_SW, 0x224f18, 0x4050a}, {OP_ZR, 0x224f28, 0xc}, - {OP_SW, 0x224f58, 0x4050c}, + {OP_SW, 0x224f58, 0x4050e}, {OP_ZR, 0x224f68, 0xc}, - {OP_SW, 0x224f98, 0x40510}, + {OP_SW, 0x224f98, 0x40512}, {OP_ZR, 0x224fa8, 0xc}, - {OP_SW, 0x224fd8, 0x40514}, + {OP_SW, 0x224fd8, 0x40516}, {OP_ZR, 0x224fe8, 0x6}, - {OP_SW, 0x225198, 0x40518}, + {OP_SW, 0x225198, 0x4051a}, {OP_WR, 0x238000, 0x10}, {OP_WR, 0x238040, 0x12}, {OP_WR, 0x238080, 0x30}, @@ -227,16 +227,16 @@ static const struct raw_op init_ops_e1[] {OP_IF_MODE_AND, 2, 0x4}, /* emul */ {OP_WR, 0x238300, 0x138}, {OP_WR, 0x238340, 0x0}, - {OP_FW, 0x240000, 0x27300000}, - {OP_WR_64, 0x249cc0, 0x6ace051c}, + {OP_FW, 0x240000, 0x22600000}, + {OP_WR_64, 0x248980, 0x6d36051e}, {OP_RD, 0x200000, 0x0}, {OP_RD, 0x200004, 0x0}, {OP_RD, 0x200008, 0x0}, {OP_RD, 0x20000c, 0x0}, {OP_RD, 0x200010, 0x0}, {OP_RD, 0x200014, 0x0}, - {OP_SW, 0x200020, 0x1a051e}, - {OP_SW, 0x2000a4, 0x20538}, + {OP_SW, 0x200020, 0x1a0520}, + {OP_SW, 0x2000a4, 0x2053a}, {OP_WR, 0x200224, 0x0}, {OP_WR, 0x200234, 0x0}, {OP_WR, 0x20024c, 0x0}, @@ -259,17 +259,17 @@ static const struct raw_op init_ops_e1[] /* #define CSEM_PORT1_END 137 */ /* #define DMAE_COMMON_START 176 */ {OP_ZR, 0x102400, 0xe0}, - {OP_SW, 0x10201c, 0x2053a}, + {OP_SW, 0x10201c, 0x2053c}, {OP_WR, 0x1020c0, 0x1}, - {OP_SW, 0x102004, 0x2053c}, + {OP_SW, 0x102004, 0x2053e}, /* #define DMAE_COMMON_END 177 */ /* #define DORQ_COMMON_START 198 */ {OP_WR, 0x170008, 0x2}, {OP_WR, 0x17002c, 0x3}, - {OP_SW, 0x170038, 0x2053e}, - {OP_SW, 0x170044, 0x60540}, - {OP_SW, 0x170060, 0x50546}, - {OP_SW, 0x170078, 0x2054b}, + {OP_SW, 0x170038, 0x20540}, + {OP_SW, 0x170044, 0x60542}, + {OP_SW, 0x170060, 0x50548}, + {OP_SW, 0x170078, 0x2054d}, {OP_WR, 0x170004, 0xf}, /* #define DORQ_COMMON_END 199 */ /* #define HC_COMMON_START 220 */ @@ -280,7 +280,7 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x108040, 0x2}, {OP_ZR, 0x108028, 0x2}, {OP_WR, 0x108038, 0x10}, - {OP_SW, 0x108040, 0x2054d}, + {OP_SW, 0x108040, 0x2054f}, {OP_WR, 0x108050, 0x0}, {OP_WR, 0x108100, 0x0}, {OP_ZR, 0x108120, 0x2}, @@ -300,7 +300,7 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x108048, 0x2}, {OP_ZR, 0x108030, 0x2}, {OP_WR, 0x10803c, 0x10}, - {OP_SW, 0x108048, 0x2054f}, + {OP_SW, 0x108048, 0x20551}, {OP_WR, 0x108054, 0x0}, {OP_WR, 0x108104, 0x0}, {OP_ZR, 0x108128, 0x2}, @@ -318,13 +318,13 @@ static const struct raw_op init_ops_e1[] /* #define MISC_COMMON_START 264 */ {OP_WR, 0xa468, 0xaffdc}, {OP_WR, 0xa280, 0x1}, - {OP_SW, 0xa294, 0x40551}, + {OP_SW, 0xa294, 0x40553}, {OP_WR, 0xa4fc, 0xff000000}, /* #define MISC_COMMON_END 265 */ /* #define NIG_COMMON_START 286 */ - {OP_SW, 0x100b4, 0x20555}, + {OP_SW, 0x100b4, 0x20557}, {OP_WR, 0x100dc, 0x1}, - {OP_SW, 0x10100, 0x20557}, + {OP_SW, 0x10100, 0x20559}, /* #define NIG_COMMON_END 287 */ /* #define NIG_PORT0_START 288 */ {OP_WR, 0x1007c, 0x300000}, @@ -355,7 +355,7 @@ static const struct raw_op init_ops_e1[] /* #define PBF_COMMON_START 308 */ {OP_WR, 0x140000, 0x1}, {OP_WR, 0x14000c, 0x1}, - {OP_SW, 0x140040, 0x20559}, + {OP_SW, 0x140040, 0x2055b}, {OP_WR, 0x14000c, 0x0}, {OP_WR, 0x140000, 0x0}, {OP_WR, 0x14006c, 0x0}, @@ -373,16 +373,16 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x140060, 0x0}, /* #define PBF_PORT1_END 313 */ /* #define PRS_COMMON_START 352 */ - {OP_SW, 0x40004, 0x12055b}, - {OP_SW, 0x40054, 0x3056d}, + {OP_SW, 0x40004, 0x12055d}, + {OP_SW, 0x40054, 0x3056f}, {OP_WR, 0x40070, 0x4}, - {OP_SW, 0x40078, 0x40570}, + {OP_SW, 0x40078, 0x40572}, {OP_ZR, 0x40088, 0x5}, - {OP_SW, 0x4009c, 0x30574}, + {OP_SW, 0x4009c, 0x30576}, {OP_ZR, 0x400a8, 0x4}, - {OP_SW, 0x400b8, 0x50577}, + {OP_SW, 0x400b8, 0x50579}, {OP_ZR, 0x400cc, 0x4}, - {OP_SW, 0x400dc, 0x4057c}, + {OP_SW, 0x400dc, 0x4057e}, {OP_ZR, 0x400ec, 0x4}, {OP_RD, 0x40124, 0x0}, {OP_RD, 0x40128, 0x0}, @@ -391,67 +391,67 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x40134, 0xf}, /* #define PRS_COMMON_END 353 */ /* #define PXP2_COMMON_START 374 */ - {OP_SW, 0x120490, 0x220580}, + {OP_SW, 0x120490, 0x220582}, {OP_WR, 0x120520, 0x2}, {OP_WR, 0x120388, 0x64}, {OP_WR, 0x120390, 0x8}, - {OP_SW, 0x12039c, 0x305a2}, + {OP_SW, 0x12039c, 0x305a4}, {OP_WR, 0x1203bc, 0x4}, {OP_WR, 0x1203c4, 0x4}, {OP_WR, 0x1203d0, 0x0}, {OP_WR, 0x1203dc, 0x0}, {OP_WR, 0x12036c, 0x1}, {OP_WR, 0x120368, 0x3f}, - {OP_SW, 0x1201bc, 0x3c05a5}, - {OP_SW, 0x1202b0, 0x205e1}, - {OP_SW, 0x120324, 0x205e3}, + {OP_SW, 0x1201bc, 0x3c05a7}, + {OP_SW, 0x1202b0, 0x205e3}, + {OP_SW, 0x120324, 0x205e5}, {OP_WR, 0x1201b0, 0x1}, /* #define PXP2_COMMON_END 375 */ /* #define PXP_COMMON_START 396 */ - {OP_WB, 0x103800, 0x505e5}, - {OP_WB, 0x103c00, 0x505ea}, - {OP_WB, 0x103c20, 0x505ef}, + {OP_WB, 0x103800, 0x505e7}, + {OP_WB, 0x103c00, 0x505ec}, + {OP_WB, 0x103c20, 0x505f1}, /* #define PXP_COMMON_END 397 */ /* #define QM_COMMON_START 418 */ - {OP_SW, 0x168030, 0x805f4}, + {OP_SW, 0x168030, 0x805f6}, {OP_WR, 0x168054, 0x2}, - {OP_SW, 0x168060, 0x505fc}, + {OP_SW, 0x168060, 0x505fe}, {OP_ZR, 0x168074, 0x7}, - {OP_SW, 0x168090, 0x20601}, - {OP_SW, 0x16809c, 0x50603}, + {OP_SW, 0x168090, 0x20603}, + {OP_SW, 0x16809c, 0x50605}, {OP_ZR, 0x1680b0, 0x7}, - {OP_SW, 0x1680cc, 0x80608}, + {OP_SW, 0x1680cc, 0x8060a}, {OP_WR, 0x1680f0, 0x7}, {OP_ZR, 0x1680f4, 0xc}, - {OP_SW, 0x168124, 0x40610}, + {OP_SW, 0x168124, 0x40612}, {OP_ZR, 0x168134, 0xc}, - {OP_SW, 0x168164, 0x3b0614}, + {OP_SW, 0x168164, 0x3b0616}, {OP_ZR, 0x168250, 0x4}, - {OP_SW, 0x168260, 0x2064f}, + {OP_SW, 0x168260, 0x20651}, {OP_ZR, 0x168268, 0x8}, - {OP_SW, 0x168288, 0x80651}, + {OP_SW, 0x168288, 0x80653}, {OP_ZR, 0x1682a8, 0xa}, {OP_WR, 0x168804, 0x4}, - {OP_SW, 0x16880c, 0x100659}, + {OP_SW, 0x16880c, 0x10065b}, {OP_WR, 0x1680ec, 0xff}, /* #define QM_COMMON_END 419 */ /* #define SRC_COMMON_START 440 */ - {OP_SW, 0x40408, 0x140669}, + {OP_SW, 0x40408, 0x14066b}, /* #define SRC_COMMON_END 441 */ /* #define TCM_COMMON_START 462 */ - {OP_SW, 0x50044, 0x2067d}, - {OP_SW, 0x50050, 0x4067f}, + {OP_SW, 0x50044, 0x2067f}, + {OP_SW, 0x50050, 0x40681}, {OP_ZR, 0x50060, 0x4}, - {OP_SW, 0x50090, 0x130683}, + {OP_SW, 0x50090, 0x130685}, {OP_WR, 0x50114, 0x1}, - {OP_SW, 0x5011c, 0x20696}, + {OP_SW, 0x5011c, 0x20698}, {OP_WR, 0x50204, 0x1}, - {OP_SW, 0x5020c, 0x20698}, - {OP_SW, 0x5021c, 0x3069a}, + {OP_SW, 0x5020c, 0x2069a}, + {OP_SW, 0x5021c, 0x3069c}, {OP_ZR, 0x50240, 0xa}, - {OP_SW, 0x50280, 0x20069d}, + {OP_SW, 0x50280, 0x20069f}, {OP_ZR, 0x54000, 0xd00}, - {OP_SW, 0x50004, 0x1006bd}, + {OP_SW, 0x50004, 0x1006bf}, /* #define TCM_COMMON_END 463 */ /* #define TCM_PORT0_START 464 */ {OP_WR, 0x500e0, 0xe}, @@ -461,7 +461,7 @@ static const struct raw_op init_ops_e1[] /* #define TCM_PORT1_END 467 */ /* #define TM_COMMON_START 484 */ {OP_ZR, 0x164024, 0x2}, - {OP_SW, 0x164030, 0x306cd}, + {OP_SW, 0x164030, 0x306cf}, {OP_WR, 0x164044, 0x20}, {OP_WR, 0x164070, 0x1c}, {OP_WR, 0x164208, 0x1}, @@ -479,7 +479,7 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x16401c, 0x9c}, {OP_WR, 0x164000, 0x1}, {OP_WR, 0x1640d8, 0x1}, - {OP_SW, 0x164008, 0x306d0}, + {OP_SW, 0x164008, 0x306d2}, /* #define TM_COMMON_END 485 */ /* #define TM_PORT0_START 486 */ {OP_WR, 0x164240, 0x0}, @@ -492,10 +492,10 @@ static const struct raw_op init_ops_e1[] {OP_WB_ZR, 0x164280, 0x2}, /* #define TM_PORT1_END 489 */ /* #define TSDM_COMMON_START 506 */ - {OP_SW, 0x42008, 0x406d3}, - {OP_SW, 0x4201c, 0x406d7}, + {OP_SW, 0x42008, 0x406d5}, + {OP_SW, 0x4201c, 0x406d9}, {OP_ZR, 0x42038, 0x80}, - {OP_SW, 0x42238, 0x406db}, + {OP_SW, 0x42238, 0x406dd}, {OP_RD, 0x42248, 0x0}, {OP_RD, 0x4224c, 0x0}, {OP_RD, 0x42250, 0x0}, @@ -520,17 +520,17 @@ static const struct raw_op init_ops_e1[] /* #define TSDM_COMMON_END 507 */ /* #define TSEM_COMMON_START 528 */ {OP_FW, 0x180400, 0xd80000}, - {OP_WR_64, 0x180760, 0x1406df}, + {OP_WR_64, 0x180760, 0x1406e1}, {OP_ZR, 0x1a0000, 0x1600}, {OP_ZR, 0x1a8000, 0x40}, - {OP_SW, 0x1a08b0, 0x206e1}, - {OP_SW, 0x1a19c8, 0x206e3}, - {OP_SW, 0x1a2fc0, 0x406e5}, + {OP_SW, 0x1a08b0, 0x206e3}, + {OP_SW, 0x1a19c8, 0x206e5}, + {OP_SW, 0x1a2fc0, 0x406e7}, {OP_ZR, 0x1a2fd0, 0x6}, - {OP_SW, 0x1a2fe8, 0x206e9}, - {OP_SW, 0x1a3000, 0x3f906eb}, + {OP_SW, 0x1a2fe8, 0x206eb}, + {OP_SW, 0x1a3000, 0x3f906ed}, {OP_ZR, 0x1a3fe4, 0x7}, - {OP_SW, 0x1a4870, 0x40ae4}, + {OP_SW, 0x1a4870, 0x40ae6}, {OP_WR, 0x1b8000, 0x34}, {OP_WR, 0x1b8040, 0x18}, {OP_WR, 0x1b8080, 0xc}, @@ -547,16 +547,16 @@ static const struct raw_op init_ops_e1[] {OP_IF_MODE_AND, 2, 0x4}, /* emul */ {OP_WR, 0x1b8300, 0x138}, {OP_WR, 0x1b8340, 0x0}, - {OP_FW, 0x1c0000, 0x535c0000}, - {OP_WR_64, 0x1d4d70, 0x56520ae8}, + {OP_FW, 0x1c0000, 0x48600000}, + {OP_WR_64, 0x1d2180, 0x5bd00aea}, {OP_RD, 0x180000, 0x0}, {OP_RD, 0x180004, 0x0}, {OP_RD, 0x180008, 0x0}, {OP_RD, 0x18000c, 0x0}, {OP_RD, 0x180010, 0x0}, {OP_RD, 0x180014, 0x0}, - {OP_SW, 0x180020, 0x1a0aea}, - {OP_SW, 0x1800a4, 0x20b04}, + {OP_SW, 0x180020, 0x1a0aec}, + {OP_SW, 0x1800a4, 0x20b06}, {OP_WR, 0x180224, 0x0}, {OP_WR, 0x180234, 0x0}, {OP_WR, 0x18024c, 0x0}, @@ -570,11 +570,11 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x1a2500, 0x10}, {OP_ZR, 0x1a2580, 0x12}, {OP_ZR, 0x1a2610, 0x12}, - {OP_SW, 0x1a2fb0, 0x20b06}, + {OP_SW, 0x1a2fb0, 0x20b08}, {OP_ZR, 0x1a4000, 0x6}, {OP_ZR, 0x1a4030, 0x2}, {OP_ZR, 0x1a4820, 0x2}, - {OP_SW, 0x1a4c50, 0x20b08}, + {OP_SW, 0x1a4c50, 0x20b0a}, /* #define TSEM_PORT0_END 531 */ /* #define TSEM_PORT1_START 532 */ {OP_ZR, 0x1a0810, 0x2}, @@ -583,26 +583,26 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x1a2540, 0x10}, {OP_ZR, 0x1a25c8, 0x12}, {OP_ZR, 0x1a2658, 0x12}, - {OP_SW, 0x1a2fb8, 0x20b0a}, + {OP_SW, 0x1a2fb8, 0x20b0c}, {OP_ZR, 0x1a4018, 0x6}, {OP_ZR, 0x1a4038, 0x2}, {OP_ZR, 0x1a4828, 0x2}, - {OP_SW, 0x1a4c58, 0x20b0c}, + {OP_SW, 0x1a4c58, 0x20b0e}, /* #define TSEM_PORT1_END 533 */ /* #define UCM_COMMON_START 550 */ {OP_WR, 0xe004c, 0x32}, - {OP_SW, 0xe0054, 0x40b0e}, + {OP_SW, 0xe0054, 0x40b10}, {OP_ZR, 0xe0064, 0x4}, - {OP_SW, 0xe0094, 0x130b12}, + {OP_SW, 0xe0094, 0x130b14}, {OP_WR, 0xe0144, 0x1}, - {OP_SW, 0xe014c, 0x20b25}, + {OP_SW, 0xe014c, 0x20b27}, {OP_WR, 0xe0204, 0x1}, - {OP_SW, 0xe020c, 0x20b27}, - {OP_SW, 0xe021c, 0x40b29}, - {OP_SW, 0xe0280, 0x1b0b2d}, + {OP_SW, 0xe020c, 0x20b29}, + {OP_SW, 0xe021c, 0x40b2b}, + {OP_SW, 0xe0280, 0x1b0b2f}, {OP_ZR, 0xe02ec, 0x17}, {OP_ZR, 0xe2000, 0x800}, - {OP_SW, 0xe0004, 0x110b48}, + {OP_SW, 0xe0004, 0x110b4a}, /* #define UCM_COMMON_END 551 */ /* #define UCM_PORT0_START 552 */ {OP_WR, 0xe0110, 0xf}, @@ -614,13 +614,13 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0xc1000, 0x28}, /* #define UPB_COMMON_END 573 */ /* #define USDM_COMMON_START 594 */ - {OP_SW, 0xc4008, 0x40b59}, - {OP_SW, 0xc401c, 0x40b5d}, - {OP_SW, 0xc4038, 0x20b61}, + {OP_SW, 0xc4008, 0x40b5b}, + {OP_SW, 0xc401c, 0x40b5f}, + {OP_SW, 0xc4038, 0x20b63}, {OP_ZR, 0xc4040, 0x5e}, {OP_WR, 0xc41b8, 0x1}, {OP_ZR, 0xc41bc, 0x1f}, - {OP_SW, 0xc4238, 0x40b63}, + {OP_SW, 0xc4238, 0x40b65}, {OP_RD, 0xc4248, 0x0}, {OP_RD, 0xc424c, 0x0}, {OP_RD, 0xc4250, 0x0}, @@ -646,13 +646,13 @@ static const struct raw_op init_ops_e1[] /* #define USDM_COMMON_END 595 */ /* #define USEM_COMMON_START 616 */ {OP_FW, 0x300400, 0xda0000}, - {OP_WR_64, 0x300768, 0x130b67}, + {OP_WR_64, 0x300768, 0x130b69}, {OP_ZR, 0x320000, 0x1600}, {OP_ZR, 0x328000, 0x40}, - {OP_SW, 0x321830, 0x20b69}, - {OP_SW, 0x322e70, 0x40b6b}, + {OP_SW, 0x321830, 0x20b6b}, + {OP_SW, 0x322e70, 0x40b6d}, {OP_ZR, 0x325080, 0x8}, - {OP_SW, 0x3250a0, 0x20b6f}, + {OP_SW, 0x3250a0, 0x20b71}, {OP_WR, 0x338000, 0x1a}, {OP_WR, 0x338040, 0x4e}, {OP_WR, 0x338080, 0x10}, @@ -669,16 +669,16 @@ static const struct raw_op init_ops_e1[] {OP_IF_MODE_AND, 2, 0x4}, /* emul */ {OP_WR, 0x338300, 0x138}, {OP_WR, 0x338340, 0x0}, - {OP_FW, 0x340000, 0x59440000}, - {OP_WR_64, 0x356510, 0x535e0b71}, + {OP_FW, 0x340000, 0x88540000}, + {OP_WR_64, 0x362150, 0x3bd60b73}, {OP_RD, 0x300000, 0x0}, {OP_RD, 0x300004, 0x0}, {OP_RD, 0x300008, 0x0}, {OP_RD, 0x30000c, 0x0}, {OP_RD, 0x300010, 0x0}, {OP_RD, 0x300014, 0x0}, - {OP_SW, 0x300020, 0x1a0b73}, - {OP_SW, 0x3000a4, 0x20b8d}, + {OP_SW, 0x300020, 0x1a0b75}, + {OP_SW, 0x3000a4, 0x20b8f}, {OP_WR, 0x300224, 0x0}, {OP_WR, 0x300234, 0x0}, {OP_WR, 0x30024c, 0x0}, @@ -733,23 +733,23 @@ static const struct raw_op init_ops_e1[] /* #define USEM_PORT1_END 621 */ /* #define XCM_COMMON_START 638 */ {OP_WR, 0x20058, 0x32}, - {OP_SW, 0x20060, 0x40b8f}, + {OP_SW, 0x20060, 0x40b91}, {OP_ZR, 0x20070, 0x4}, - {OP_SW, 0x200a0, 0xe0b93}, - {OP_SW, 0x200dc, 0x70ba1}, + {OP_SW, 0x200a0, 0xe0b95}, + {OP_SW, 0x200dc, 0x70ba3}, {OP_WR, 0x200fc, 0x6}, {OP_WR, 0x20120, 0x0}, {OP_WR, 0x20134, 0x2}, {OP_WR, 0x201b0, 0x1}, {OP_WR, 0x2020c, 0x1}, - {OP_SW, 0x20214, 0x20ba8}, + {OP_SW, 0x20214, 0x20baa}, {OP_WR, 0x20404, 0x1}, - {OP_SW, 0x2040c, 0x20baa}, - {OP_SW, 0x2041c, 0x40bac}, - {OP_SW, 0x20480, 0x1f0bb0}, + {OP_SW, 0x2040c, 0x20bac}, + {OP_SW, 0x2041c, 0x40bae}, + {OP_SW, 0x20480, 0x1f0bb2}, {OP_ZR, 0x204fc, 0x13}, {OP_ZR, 0x28000, 0x2000}, - {OP_SW, 0x20004, 0x140bcf}, + {OP_SW, 0x20004, 0x140bd1}, /* #define XCM_COMMON_END 639 */ /* #define XCM_PORT0_START 640 */ {OP_WR, 0x20108, 0xc8}, @@ -775,15 +775,15 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x161000, 0x28}, /* #define XPB_COMMON_END 661 */ /* #define XSDM_COMMON_START 682 */ - {OP_SW, 0x166008, 0x30be3}, - {OP_SW, 0x16601c, 0x40be6}, - {OP_SW, 0x166038, 0xd0bea}, + {OP_SW, 0x166008, 0x30be5}, + {OP_SW, 0x16601c, 0x40be8}, + {OP_SW, 0x166038, 0xd0bec}, {OP_ZR, 0x16606c, 0x13}, - {OP_SW, 0x1660b8, 0x20bf7}, + {OP_SW, 0x1660b8, 0x20bf9}, {OP_ZR, 0x1660c0, 0x3e}, {OP_WR, 0x1661b8, 0x1}, {OP_ZR, 0x1661bc, 0x1f}, - {OP_SW, 0x166238, 0x40bf9}, + {OP_SW, 0x166238, 0x40bfb}, {OP_RD, 0x166248, 0x0}, {OP_RD, 0x16624c, 0x0}, {OP_RD, 0x166250, 0x0}, @@ -808,19 +808,19 @@ static const struct raw_op init_ops_e1[] /* #define XSDM_COMMON_END 683 */ /* #define XSEM_COMMON_START 704 */ {OP_FW, 0x280400, 0xda0000}, - {OP_WR_64, 0x280768, 0x130bfd}, + {OP_WR_64, 0x280768, 0x130bff}, {OP_ZR, 0x2a0000, 0x1600}, {OP_ZR, 0x2a8000, 0x40}, - {OP_SW, 0x2a2500, 0x20bff}, - {OP_SW, 0x2a2960, 0x40c01}, - {OP_SW, 0x2a2f48, 0x20c05}, - {OP_SW, 0x2a3368, 0x20c07}, - {OP_SW, 0x2a3920, 0x20c09}, - {OP_SW, 0x2a3930, 0x20c0b}, - {OP_SW, 0x2a3ac8, 0x20c0d}, + {OP_SW, 0x2a2500, 0x20c01}, + {OP_SW, 0x2a2960, 0x40c03}, + {OP_SW, 0x2a2f48, 0x20c07}, + {OP_SW, 0x2a3368, 0x20c09}, + {OP_SW, 0x2a3920, 0x20c0b}, + {OP_SW, 0x2a3930, 0x20c0d}, + {OP_SW, 0x2a3ac8, 0x20c0f}, {OP_ZR, 0x2a3ad0, 0x6}, - {OP_SW, 0x2a3b98, 0x20c0f}, - {OP_SW, 0x2a3c20, 0x40c11}, + {OP_SW, 0x2a3b98, 0x20c11}, + {OP_SW, 0x2a3c20, 0x40c13}, {OP_WR, 0x2a3cd0, 0x0}, {OP_WR, 0x2b8000, 0x0}, {OP_WR, 0x2b8040, 0x18}, @@ -840,16 +840,16 @@ static const struct raw_op init_ops_e1[] {OP_WR, 0x2b8340, 0x0}, {OP_IF_MODE_AND, 1, 0x20}, /* port2 */ {OP_WR, 0x2a3cd4, 0x0}, - {OP_FW, 0x2c0000, 0x6c0c0000}, - {OP_WR_64, 0x2db030, 0x49fa0c15}, + {OP_FW, 0x2c0000, 0x64e40000}, + {OP_WR_64, 0x2d9390, 0x4d8e0c17}, {OP_RD, 0x280000, 0x0}, {OP_RD, 0x280004, 0x0}, {OP_RD, 0x280008, 0x0}, {OP_RD, 0x28000c, 0x0}, {OP_RD, 0x280010, 0x0}, {OP_RD, 0x280014, 0x0}, - {OP_SW, 0x280020, 0x1a0c17}, - {OP_SW, 0x2800a4, 0x20c31}, + {OP_SW, 0x280020, 0x1a0c19}, + {OP_SW, 0x2800a4, 0x20c33}, {OP_WR, 0x280224, 0x0}, {OP_WR, 0x280234, 0x0}, {OP_WR, 0x28024c, 0x0}, @@ -860,8 +860,8 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x2a3910, 0x2}, {OP_ZR, 0x2a3938, 0x20}, {OP_ZR, 0x2a3a38, 0x10}, - {OP_SW, 0x2a3ae8, 0x20c33}, - {OP_SW, 0x2a3af8, 0x100c35}, + {OP_SW, 0x2a3ae8, 0x20c35}, + {OP_SW, 0x2a3af8, 0x100c37}, {OP_ZR, 0x2a3c30, 0x2}, {OP_ZR, 0x2a5000, 0x2}, {OP_ZR, 0x2a5010, 0x2}, @@ -874,8 +874,8 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0x2a3918, 0x2}, {OP_ZR, 0x2a39b8, 0x20}, {OP_ZR, 0x2a3a78, 0x10}, - {OP_SW, 0x2a3af0, 0x20c45}, - {OP_SW, 0x2a3b38, 0x100c47}, + {OP_SW, 0x2a3af0, 0x20c47}, + {OP_SW, 0x2a3b38, 0x100c49}, {OP_ZR, 0x2a3c38, 0x2}, {OP_ZR, 0x2a5008, 0x2}, {OP_ZR, 0x2a5018, 0x2}, @@ -888,20 +888,20 @@ static const struct raw_op init_ops_e1[] {OP_ZR, 0xa000, 0x16}, /* #define MISC_AEU_COMMON_END 727 */ /* #define MISC_AEU_PORT0_START 728 */ - {OP_SW, 0xa06c, 0x60c57}, + {OP_SW, 0xa06c, 0x60c59}, {OP_ZR, 0xa084, 0x5}, {OP_WR, 0xa098, 0xfe00000}, {OP_ZR, 0xa09c, 0x14}, - {OP_SW, 0xa0ec, 0x80c5d}, + {OP_SW, 0xa0ec, 0x80c5f}, {OP_ZR, 0xa22c, 0x4}, {OP_WR, 0xa060, 0x307}, /* #define MISC_AEU_PORT0_END 729 */ /* #define MISC_AEU_PORT1_START 730 */ - {OP_SW, 0xa10c, 0x60c65}, + {OP_SW, 0xa10c, 0x60c67}, {OP_ZR, 0xa124, 0x5}, {OP_WR, 0xa138, 0xfe00000}, {OP_ZR, 0xa13c, 0x14}, - {OP_SW, 0xa18c, 0x80c6b}, + {OP_SW, 0xa18c, 0x80c6d}, {OP_ZR, 0xa23c, 0x4}, {OP_WR, 0xa064, 0x307}, /* #define MISC_AEU_PORT1_END 731 */ @@ -1183,14 +1183,15 @@ static const uint32_t init_data_e1[] = { 0x00000000, 0x00100000, 0x00000000, 0xffffffff, 0x00cfffff, 0x00000000, 0x00000000, 0x000000cc, 0x00000000, 0x00200000, 0x00000000, 0xffffffff, 0x00cfffff, 0x00000000, 0x00000000, 0x000000cc, 0x00000000, 0x00400000, - 0x00000000, 0x00000a11, 0x00000a00, 0x00000a04, 0x0000ffff, 0x0000ffff, - 0x0000ffff, 0x0000ffff, 0x00000020, 0x00000021, 0x00000022, 0x00000023, - 0x00000024, 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x00000029, - 0x0000002a, 0x0000002b, 0x0000002c, 0x0000002d, 0x0000002e, 0x0000002f, - 0x00000010, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, + 0x00000000, 0x00000200, 0x00003dff, 0x00000a11, 0x00000a00, 0x00000a04, + 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x00000020, 0x00000021, + 0x00000022, 0x00000023, 0x00000024, 0x00000025, 0x00000026, 0x00000027, + 0x00000028, 0x00000029, 0x0000002a, 0x0000002b, 0x0000002c, 0x0000002d, + 0x0000002e, 0x0000002f, 0x00000010, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x07ffffff, 0x0000003f, 0x07ffffff, 0x0000000f, 0x00007ff8, 0x00007ff8, + 0x00000001, 0x00000001, 0x07ffffff, 0x0000003f, 0x07ffffff, 0x0000000f, + 0x00007ff8, 0x00007ff8, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, @@ -1211,347 +1212,346 @@ static const uint32_t init_data_e1[] = { 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, - 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, - 0x0000ff1c, 0x0fffffff, 0x0000ff00, 0x00000000, 0x0000ff00, 0x00000000, - 0x00000312, 0x00003500, 0x00000001, 0x00000002, 0x00000003, 0x00000000, - 0x00000004, 0x00000001, 0x00000000, 0x00000001, 0x00000004, 0x00000000, - 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00000004, 0x00000000, - 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00000004, 0x00000000, - 0x00000004, 0x00000003, 0x00000000, 0x00000000, 0x00003fff, 0x000003ff, - 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x007c1004, 0x00000004, - 0x00000000, 0x00000002, 0x00000090, 0x00000090, 0x00800090, 0x08100000, - 0x0000008a, 0x00000080, 0x00000081, 0x00000080, 0x00000006, 0x000007d0, - 0x0000076c, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x071d2911, - 0x00000000, 0x009c0424, 0x00000000, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00007fff, 0x000000ff, 0x000000ff, 0x000000ff, - 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x0000003e, - 0x00000000, 0x0000003f, 0x0000003f, 0x0000003f, 0x00000000, 0x0000003f, - 0x0000003f, 0x0000003f, 0x0000000f, 0x00000043, 0x00000000, 0x00000006, - 0x00000000, 0x12170000, 0x22170000, 0x32170000, 0x12150000, 0x22150000, - 0x32150000, 0x02100000, 0x00100000, 0x10100000, 0x20100000, 0x30100000, - 0x00100000, 0x12140000, 0x22140000, 0x32140000, 0x00e38340, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0xf0003000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffff3328, 0xffff3338, 0xffffffff, - 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, + 0x0000ff1c, 0x0fffffff, 0x0000ff1c, 0x0fffffff, 0x0000ff00, 0x00000000, + 0x0000ff00, 0x00000000, 0x00000002, 0x00001500, 0x00000001, 0x00000002, + 0x00000003, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000001, + 0x00000004, 0x00000000, 0x00000001, 0x00000003, 0x00000000, 0x00000001, + 0x00000004, 0x00000000, 0x00000001, 0x00000003, 0x00000000, 0x00000001, + 0x00000004, 0x00000000, 0x00000004, 0x00000003, 0x00000000, 0x00000000, + 0x00003fff, 0x000003ff, 0x00000000, 0x00000001, 0x00000001, 0x00000001, + 0x007c1004, 0x00000004, 0x00000000, 0x00000002, 0x00000090, 0x00000090, + 0x00800090, 0x08100000, 0x0000008a, 0x00000080, 0x00000081, 0x00000080, + 0x00000006, 0x000007d0, 0x0000076c, 0x0000ffff, 0x0000ffff, 0x0000ffff, + 0x0000ffff, 0x071d2911, 0x00000000, 0x009c0424, 0x00000000, 0x00000001, + 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00007fff, 0x000000ff, + 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, + 0x000000ff, 0x0000003e, 0x00000000, 0x0000003f, 0x0000003f, 0x0000003f, + 0x00000000, 0x0000003f, 0x0000003f, 0x0000003f, 0x0000000f, 0x00000043, + 0x00000000, 0x00000006, 0x00000000, 0x12170000, 0x22170000, 0x32170000, + 0x12150000, 0x22150000, 0x32150000, 0x02100000, 0x00100000, 0x10100000, + 0x20100000, 0x30100000, 0x00100000, 0x12140000, 0x22140000, 0x32140000, + 0x00e38340, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, + 0xffffffff, 0xffffffff, 0xffffffff, 0xf0003000, 0xffffffff, 0xffffffff, + 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffff3328, + 0xffff3338, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, - 0xffffffff, 0x00003c10, 0x00000008, 0x00000000, 0x00000000, 0x00000040, - 0x00001808, 0x00000803, 0x00000803, 0x00000040, 0x00000003, 0x00000803, - 0x00000803, 0x00000803, 0x00010003, 0x00000803, 0x00000803, 0x00000003, - 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, + 0xffffffff, 0xffffffff, 0xffffffff, 0x00003c10, 0x00000008, 0x00000000, + 0x00000000, 0x00000040, 0x00001808, 0x00000803, 0x00000803, 0x00000040, + 0x00000003, 0x00000803, 0x00000803, 0x00000803, 0x00010003, 0x00000803, + 0x00000803, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00000003, - 0x00000003, 0x00000003, 0x00002403, 0x0000002f, 0x00000009, 0x00000019, - 0x00000184, 0x00000183, 0x00000306, 0x00000019, 0x00000006, 0x00000306, - 0x00000306, 0x00000306, 0x00000c86, 0x00000306, 0x00000306, 0x00000006, + 0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00002403, 0x0000002f, + 0x00000009, 0x00000019, 0x00000184, 0x00000183, 0x00000306, 0x00000019, + 0x00000006, 0x00000306, 0x00000306, 0x00000306, 0x00000c86, 0x00000306, + 0x00000306, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, - 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000006, - 0x00000006, 0x00000006, 0x00000306, 0x00000013, 0x00000006, 0x00001004, - 0x00001004, 0x00106440, 0x00106440, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00002000, - 0x0000007c, 0x0000003d, 0x0000003f, 0x0000009c, 0x00000006, 0x00000005, - 0x0000000a, 0x00000005, 0x00000140, 0x00000140, 0x00000000, 0x00000000, - 0x000000c0, 0x0000013f, 0x00007fff, 0x00000048, 0x00000048, 0x00000000, - 0x00000000, 0x00000048, 0x00000004, 0x00000004, 0x00000004, 0x00000004, - 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000009, - 0x0000000b, 0x0000000a, 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, + 0x00000006, 0x00000006, 0x00000006, 0x00000006, 0x00000306, 0x00000013, + 0x00000006, 0x00001004, 0x00001004, 0x00106440, 0x00106440, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00002000, 0x0000007c, 0x0000003d, 0x0000003f, 0x0000009c, + 0x00000006, 0x00000005, 0x0000000a, 0x00000005, 0x00000140, 0x00000140, + 0x00000000, 0x00000000, 0x000000c0, 0x0000013f, 0x00007fff, 0x00000048, + 0x00000048, 0x00000000, 0x00000000, 0x00000048, 0x00000004, 0x00000004, + 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000004, + 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000004, 0x00000009, + 0x0000000b, 0x0000000a, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, + 0x00000001, 0x00000001, 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000004, 0x00000009, - 0x0000000b, 0x0000000a, 0x00000000, 0x00000000, 0x00000800, 0x00000200, - 0x000001ff, 0x00000400, 0x00000000, 0x00000000, 0x1e491e49, 0x1e491e49, - 0x0e490e49, 0x0e490e49, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, - 0x000025e4, 0x00008000, 0x00000013, 0x0fff0fff, 0x00000000, 0x00000000, - 0x0fff0fff, 0x10001000, 0x10001000, 0x20002000, 0x20002000, 0x80008000, - 0x80008000, 0x40004000, 0x40004000, 0x00000000, 0x00000001, 0x01010101, - 0x01200101, 0x20010101, 0x01011001, 0x01010101, 0x01200101, 0x20010101, - 0x01011001, 0x20010101, 0x01011001, 0x01010101, 0x01200101, 0x20010101, - 0x01011001, 0x01010101, 0x01200101, 0x00000123, 0x00000123, 0x00000123, + 0x00000004, 0x00000009, 0x0000000b, 0x0000000a, 0x00000000, 0x00000000, + 0x00000800, 0x00000200, 0x000001ff, 0x00000400, 0x00000000, 0x00000000, + 0x1e491e49, 0x1e491e49, 0x0e490e49, 0x0e490e49, 0xffffffff, 0x00000000, + 0xffffffff, 0x00000000, 0x000025e4, 0x00008000, 0x00000013, 0x0fff0fff, + 0x00000000, 0x00000000, 0x0fff0fff, 0x10001000, 0x10001000, 0x20002000, + 0x20002000, 0x80008000, 0x80008000, 0x40004000, 0x40004000, 0x00000000, + 0x00000001, 0x01010101, 0x01200101, 0x20010101, 0x01011001, 0x01010101, + 0x01200101, 0x20010101, 0x01011001, 0x20010101, 0x01011001, 0x01010101, + 0x01200101, 0x20010101, 0x01011001, 0x01010101, 0x01200101, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, - 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000123, 0x00000020, - 0x00000032, 0x00000007, 0x00000007, 0x00000000, 0x00000008, 0x02150020, - 0x02150020, 0x00000030, 0x08100000, 0x00000033, 0x00000030, 0x00000031, - 0x00000002, 0x00000005, 0x00000006, 0x00000002, 0x00000002, 0x00000000, - 0x00000005, 0x00000002, 0x00000002, 0x00000002, 0x00000001, 0x00000006, - 0x00000001, 0x00000002, 0x00000040, 0x00000040, 0x00000020, 0x00000013, - 0x00000020, 0x00010000, 0x000204c0, 0x00030980, 0x00040e40, 0x00051300, - 0x000617c0, 0x00071c80, 0x00082140, 0x00092600, 0x000a2ac0, 0x000b2f80, - 0x000c3440, 0x000d3900, 0x000e3dc0, 0x000f4280, 0x00104740, 0x00114c00, - 0x001250c0, 0x00135580, 0x00145a40, 0x00155f00, 0x001663c0, 0x00176880, - 0x00186d40, 0x00197200, 0x001a76c0, 0x001b7b80, 0x001c8040, 0x001d8500, - 0x001e89c0, 0x001f8e80, 0x00009340, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, - 0x00000001, 0x00000008, 0x0000000c, 0x00000010, 0x00000001, 0x00000001, - 0x00000001, 0x00000211, 0x00000200, 0x00000204, 0x00000219, 0x0000ffff, - 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x07ffffff, 0x0000003f, 0x07ffffff, - 0x0000000f, 0x00007ff8, 0x00007ff8, 0x00000000, 0x140aff00, 0x00000000, - 0x00000001, 0x00201001, 0x00000000, 0x01008600, 0x00000100, 0x00000001, - 0x00000000, 0x00008602, 0x00000000, 0x00000000, 0x00000000, 0x00008604, - 0x00000000, 0x00000000, 0x00000000, 0x00008606, 0x00000000, 0x00000000, - 0x00000000, 0x00008608, 0x00000000, 0x00000000, 0x00000000, 0x0000860a, - 0x00000000, 0x00000000, 0x00000000, 0x0000860c, 0x00000000, 0x00000000, - 0x00000000, 0x0000860e, 0x00000000, 0x00000000, 0x00000000, 0x00008610, - 0x00000000, 0x00000000, 0x00000000, 0x00008612, 0x00000000, 0x00000000, - 0x00000000, 0x00008614, 0x00000000, 0x00000000, 0x00000000, 0x00008616, - 0x00000000, 0x00000000, 0x00000000, 0x00008618, 0x00000000, 0x00000000, - 0x00000000, 0x0000861a, 0x00000000, 0x00000000, 0x00000000, 0x0000861c, - 0x00000000, 0x00000000, 0x00000000, 0x0000861e, 0x00000000, 0x00000000, - 0x00000000, 0x00008620, 0x00000000, 0x00000000, 0x00000000, 0x00008622, - 0x00000000, 0x00000000, 0x00000000, 0x00008624, 0x00000000, 0x00000000, - 0x00000000, 0x00008626, 0x00000000, 0x00000000, 0x00000000, 0x00008628, - 0x00000000, 0x00000000, 0x00000000, 0x0000862a, 0x00000000, 0x00000000, - 0x00000000, 0x0000862c, 0x00000000, 0x00000000, 0x00000000, 0x0000862e, - 0x00000000, 0x00000000, 0x00000000, 0x00008630, 0x00000000, 0x00000000, - 0x00000000, 0x00008632, 0x00000000, 0x00000000, 0x00000000, 0x00008634, - 0x00000000, 0x00000000, 0x00000000, 0x00008636, 0x00000000, 0x00000000, - 0x00000000, 0x00008638, 0x00000000, 0x00000000, 0x00000000, 0x0000863a, - 0x00000000, 0x00000000, 0x00000000, 0x0000863c, 0x00000000, 0x00000000, - 0x00000000, 0x0000863e, 0x00000000, 0x00000000, 0x00000000, 0x00008640, - 0x00000000, 0x00000000, 0x00000000, 0x00008642, 0x00000000, 0x00000000, - 0x00000000, 0x00008644, 0x00000000, 0x00000000, 0x00000000, 0x00008646, - 0x00000000, 0x00000000, 0x00000000, 0x00008648, 0x00000000, 0x00000000, - 0x00000000, 0x0000864a, 0x00000000, 0x00000000, 0x00000000, 0x0000864c, - 0x00000000, 0x00000000, 0x00000000, 0x0000864e, 0x00000000, 0x00000000, - 0x00000000, 0x00008650, 0x00000000, 0x00000000, 0x00000000, 0x00008652, - 0x00000000, 0x00000000, 0x00000000, 0x00008654, 0x00000000, 0x00000000, - 0x00000000, 0x00008656, 0x00000000, 0x00000000, 0x00000000, 0x00008658, - 0x00000000, 0x00000000, 0x00000000, 0x0000865a, 0x00000000, 0x00000000, - 0x00000000, 0x0000865c, 0x00000000, 0x00000000, 0x00000000, 0x0000865e, - 0x00000000, 0x00000000, 0x00000000, 0x00008660, 0x00000000, 0x00000000, - 0x00000000, 0x00008662, 0x00000000, 0x00000000, 0x00000000, 0x00008664, - 0x00000000, 0x00000000, 0x00000000, 0x00008666, 0x00000000, 0x00000000, - 0x00000000, 0x00008668, 0x00000000, 0x00000000, 0x00000000, 0x0000866a, - 0x00000000, 0x00000000, 0x00000000, 0x0000866c, 0x00000000, 0x00000000, - 0x00000000, 0x0000866e, 0x00000000, 0x00000000, 0x00000000, 0x00008670, - 0x00000000, 0x00000000, 0x00000000, 0x00008672, 0x00000000, 0x00000000, - 0x00000000, 0x00008674, 0x00000000, 0x00000000, 0x00000000, 0x00008676, - 0x00000000, 0x00000000, 0x00000000, 0x00008678, 0x00000000, 0x00000000, - 0x00000000, 0x0000867a, 0x00000000, 0x00000000, 0x00000000, 0x0000867c, - 0x00000000, 0x00000000, 0x00000000, 0x0000867e, 0x00000000, 0x00000000, - 0x00000000, 0x00008680, 0x00000000, 0x00000000, 0x00000000, 0x00008682, - 0x00000000, 0x00000000, 0x00000000, 0x00008684, 0x00000000, 0x00000000, - 0x00000000, 0x00008686, 0x00000000, 0x00000000, 0x00000000, 0x00008688, - 0x00000000, 0x00000000, 0x00000000, 0x0000868a, 0x00000000, 0x00000000, - 0x00000000, 0x0000868c, 0x00000000, 0x00000000, 0x00000000, 0x0000868e, - 0x00000000, 0x00000000, 0x00000000, 0x00008690, 0x00000000, 0x00000000, - 0x00000000, 0x00008692, 0x00000000, 0x00000000, 0x00000000, 0x00008694, - 0x00000000, 0x00000000, 0x00000000, 0x00008696, 0x00000000, 0x00000000, - 0x00000000, 0x00008698, 0x00000000, 0x00000000, 0x00000000, 0x0000869a, - 0x00000000, 0x00000000, 0x00000000, 0x0000869c, 0x00000000, 0x00000000, - 0x00000000, 0x0000869e, 0x00000000, 0x00000000, 0x00000000, 0x000086a0, - 0x00000000, 0x00000000, 0x00000000, 0x000086a2, 0x00000000, 0x00000000, - 0x00000000, 0x000086a4, 0x00000000, 0x00000000, 0x00000000, 0x000086a6, - 0x00000000, 0x00000000, 0x00000000, 0x000086a8, 0x00000000, 0x00000000, - 0x00000000, 0x000086aa, 0x00000000, 0x00000000, 0x00000000, 0x000086ac, - 0x00000000, 0x00000000, 0x00000000, 0x000086ae, 0x00000000, 0x00000000, - 0x00000000, 0x000086b0, 0x00000000, 0x00000000, 0x00000000, 0x000086b2, - 0x00000000, 0x00000000, 0x00000000, 0x000086b4, 0x00000000, 0x00000000, - 0x00000000, 0x000086b6, 0x00000000, 0x00000000, 0x00000000, 0x000086b8, - 0x00000000, 0x00000000, 0x00000000, 0x000086ba, 0x00000000, 0x00000000, - 0x00000000, 0x000086bc, 0x00000000, 0x00000000, 0x00000000, 0x000086be, - 0x00000000, 0x00000000, 0x00000000, 0x000086c0, 0x00000000, 0x00000000, - 0x00000000, 0x000086c2, 0x00000000, 0x00000000, 0x00000000, 0x000086c4, - 0x00000000, 0x00000000, 0x00000000, 0x000086c6, 0x00000000, 0x00000000, - 0x00000000, 0x000086c8, 0x00000000, 0x00000000, 0x00000000, 0x000086ca, - 0x00000000, 0x00000000, 0x00000000, 0x000086cc, 0x00000000, 0x00000000, - 0x00000000, 0x000086ce, 0x00000000, 0x00000000, 0x00000000, 0x000086d0, - 0x00000000, 0x00000000, 0x00000000, 0x000086d2, 0x00000000, 0x00000000, - 0x00000000, 0x000086d4, 0x00000000, 0x00000000, 0x00000000, 0x000086d6, - 0x00000000, 0x00000000, 0x00000000, 0x000086d8, 0x00000000, 0x00000000, - 0x00000000, 0x000086da, 0x00000000, 0x00000000, 0x00000000, 0x000086dc, - 0x00000000, 0x00000000, 0x00000000, 0x000086de, 0x00000000, 0x00000000, - 0x00000000, 0x000086e0, 0x00000000, 0x00000000, 0x00000000, 0x000086e2, - 0x00000000, 0x00000000, 0x00000000, 0x000086e4, 0x00000000, 0x00000000, - 0x00000000, 0x000086e6, 0x00000000, 0x00000000, 0x00000000, 0x000086e8, - 0x00000000, 0x00000000, 0x00000000, 0x000086ea, 0x00000000, 0x00000000, - 0x00000000, 0x000086ec, 0x00000000, 0x00000000, 0x00000000, 0x000086ee, - 0x00000000, 0x00000000, 0x00000000, 0x000086f0, 0x00000000, 0x00000000, - 0x00000000, 0x000086f2, 0x00000000, 0x00000000, 0x00000000, 0x000086f4, - 0x00000000, 0x00000000, 0x00000000, 0x000086f6, 0x00000000, 0x00000000, - 0x00000000, 0x000086f8, 0x00000000, 0x00000000, 0x00000000, 0x000086fa, - 0x00000000, 0x00000000, 0x00000000, 0x000086fc, 0x00000000, 0x00000000, - 0x00000000, 0x000086fe, 0x00000000, 0x00000000, 0x00000000, 0x00008700, - 0x00000000, 0x00000000, 0x00000000, 0x00008702, 0x00000000, 0x00000000, - 0x00000000, 0x00008704, 0x00000000, 0x00000000, 0x00000000, 0x00008706, - 0x00000000, 0x00000000, 0x00000000, 0x00008708, 0x00000000, 0x00000000, - 0x00000000, 0x0000870a, 0x00000000, 0x00000000, 0x00000000, 0x0000870c, - 0x00000000, 0x00000000, 0x00000000, 0x0000870e, 0x00000000, 0x00000000, - 0x00000000, 0x00008710, 0x00000000, 0x00000000, 0x00000000, 0x00008712, - 0x00000000, 0x00000000, 0x00000000, 0x00008714, 0x00000000, 0x00000000, - 0x00000000, 0x00008716, 0x00000000, 0x00000000, 0x00000000, 0x00008718, - 0x00000000, 0x00000000, 0x00000000, 0x0000871a, 0x00000000, 0x00000000, - 0x00000000, 0x0000871c, 0x00000000, 0x00000000, 0x00000000, 0x0000871e, - 0x00000000, 0x00000000, 0x00000000, 0x00008720, 0x00000000, 0x00000000, - 0x00000000, 0x00008722, 0x00000000, 0x00000000, 0x00000000, 0x00008724, - 0x00000000, 0x00000000, 0x00000000, 0x00008726, 0x00000000, 0x00000000, - 0x00000000, 0x00008728, 0x00000000, 0x00000000, 0x00000000, 0x0000872a, - 0x00000000, 0x00000000, 0x00000000, 0x0000872c, 0x00000000, 0x00000000, - 0x00000000, 0x0000872e, 0x00000000, 0x00000000, 0x00000000, 0x00008730, - 0x00000000, 0x00000000, 0x00000000, 0x00008732, 0x00000000, 0x00000000, - 0x00000000, 0x00008734, 0x00000000, 0x00000000, 0x00000000, 0x00008736, - 0x00000000, 0x00000000, 0x00000000, 0x00008738, 0x00000000, 0x00000000, - 0x00000000, 0x0000873a, 0x00000000, 0x00000000, 0x00000000, 0x0000873c, - 0x00000000, 0x00000000, 0x00000000, 0x0000873e, 0x00000000, 0x00000000, - 0x00000000, 0x00008740, 0x00000000, 0x00000000, 0x00000000, 0x00008742, - 0x00000000, 0x00000000, 0x00000000, 0x00008744, 0x00000000, 0x00000000, - 0x00000000, 0x00008746, 0x00000000, 0x00000000, 0x00000000, 0x00008748, - 0x00000000, 0x00000000, 0x00000000, 0x0000874a, 0x00000000, 0x00000000, - 0x00000000, 0x0000874c, 0x00000000, 0x00000000, 0x00000000, 0x0000874e, - 0x00000000, 0x00000000, 0x00000000, 0x00008750, 0x00000000, 0x00000000, - 0x00000000, 0x00008752, 0x00000000, 0x00000000, 0x00000000, 0x00008754, - 0x00000000, 0x00000000, 0x00000000, 0x00008756, 0x00000000, 0x00000000, - 0x00000000, 0x00008758, 0x00000000, 0x00000000, 0x00000000, 0x0000875a, - 0x00000000, 0x00000000, 0x00000000, 0x0000875c, 0x00000000, 0x00000000, - 0x00000000, 0x0000875e, 0x00000000, 0x00000000, 0x00000000, 0x00008760, - 0x00000000, 0x00000000, 0x00000000, 0x00008762, 0x00000000, 0x00000000, - 0x00000000, 0x00008764, 0x00000000, 0x00000000, 0x00000000, 0x00008766, - 0x00000000, 0x00000000, 0x00000000, 0x00008768, 0x00000000, 0x00000000, - 0x00000000, 0x0000876a, 0x00000000, 0x00000000, 0x00000000, 0x0000876c, - 0x00000000, 0x00000000, 0x00000000, 0x0000876e, 0x00000000, 0x00000000, - 0x00000000, 0x00008770, 0x00000000, 0x00000000, 0x00000000, 0x00008772, - 0x00000000, 0x00000000, 0x00000000, 0x00008774, 0x00000000, 0x00000000, - 0x00000000, 0x00008776, 0x00000000, 0x00000000, 0x00000000, 0x00008778, - 0x00000000, 0x00000000, 0x00000000, 0x0000877a, 0x00000000, 0x00000000, - 0x00000000, 0x0000877c, 0x00000000, 0x00000000, 0x00000000, 0x0000877e, - 0x00000000, 0x00000000, 0x00000000, 0x00008780, 0x00000000, 0x00000000, - 0x00000000, 0x00008782, 0x00000000, 0x00000000, 0x00000000, 0x00008784, - 0x00000000, 0x00000000, 0x00000000, 0x00008786, 0x00000000, 0x00000000, - 0x00000000, 0x00008788, 0x00000000, 0x00000000, 0x00000000, 0x0000878a, - 0x00000000, 0x00000000, 0x00000000, 0x0000878c, 0x00000000, 0x00000000, - 0x00000000, 0x0000878e, 0x00000000, 0x00000000, 0x00000000, 0x00008790, - 0x00000000, 0x00000000, 0x00000000, 0x00008792, 0x00000000, 0x00000000, - 0x00000000, 0x00008794, 0x00000000, 0x00000000, 0x00000000, 0x00008796, - 0x00000000, 0x00000000, 0x00000000, 0x00008798, 0x00000000, 0x00000000, - 0x00000000, 0x0000879a, 0x00000000, 0x00000000, 0x00000000, 0x0000879c, - 0x00000000, 0x00000000, 0x00000000, 0x0000879e, 0x00000000, 0x00000000, - 0x00000000, 0x000087a0, 0x00000000, 0x00000000, 0x00000000, 0x000087a2, - 0x00000000, 0x00000000, 0x00000000, 0x000087a4, 0x00000000, 0x00000000, - 0x00000000, 0x000087a6, 0x00000000, 0x00000000, 0x00000000, 0x000087a8, - 0x00000000, 0x00000000, 0x00000000, 0x000087aa, 0x00000000, 0x00000000, - 0x00000000, 0x000087ac, 0x00000000, 0x00000000, 0x00000000, 0x000087ae, - 0x00000000, 0x00000000, 0x00000000, 0x000087b0, 0x00000000, 0x00000000, - 0x00000000, 0x000087b2, 0x00000000, 0x00000000, 0x00000000, 0x000087b4, - 0x00000000, 0x00000000, 0x00000000, 0x000087b6, 0x00000000, 0x00000000, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Wed Mar 9 20:40:08 2016 Return-Path: Delivered-To: svn-src-all@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 4CEA6AC9815; Wed, 9 Mar 2016 20:40:08 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [IPv6:2001:7b8:3a7:1:2d0:b7ff:fea0:8c26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E5E7868A; Wed, 9 Mar 2016 20:40:07 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:7b8:3a7::dd44:f53f:bd83:81a6] (unknown [IPv6:2001:7b8:3a7:0:dd44:f53f:bd83:81a6]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 5DD993E88D; Wed, 9 Mar 2016 21:40:03 +0100 (CET) Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_AA17955F-1DCE-4BA2-B503-80692C2DCCA2"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.6b2 (ebbf3ef) From: Dimitry Andric In-Reply-To: <56DFEA05.6060501@delphij.net> Date: Wed, 9 Mar 2016 21:39:58 +0100 Cc: Antoine Brodin , Xin LI , Mathieu Arnold , Jung-Uk Kim , Bryan Drewery , Xin LI , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , svn-src-releng@freebsd.org Message-Id: <2E9527A1-C869-48DA-9554-2A96F1735F8C@FreeBSD.org> References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> <56DF0234.2090307@FreeBSD.org> <56DF025B.1090706@FreeBSD.org> <56DF0550.6000604@FreeBSD.org> <56DFEA05.6060501@delphij.net> To: Xin Li X-Mailer: Apple Mail (2.3112) X-Mailman-Approved-At: Wed, 09 Mar 2016 22:35:46 +0000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 20:40:08 -0000 --Apple-Mail=_AA17955F-1DCE-4BA2-B503-80692C2DCCA2 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 09 Mar 2016, at 10:16, Xin Li wrote: >=20 > FYI -- I can confirm that libcrypto is broken and have a reliable way = to > trigger it. >=20 > So far I was able to narrow down this to this change and here is a > temporary workaround (which will reintroduce CVE-2016-0702). >=20 > Cheers, > FWIW, before the workaround I get this from valgrind: =3D=3D10050=3D=3D Invalid read of size 8 =3D=3D10050=3D=3D at 0x6BA3438: MOD_EXP_CTIME_COPY_FROM_PREBUF = (bn_exp.c:585) =3D=3D10050=3D=3D by 0x6BA3438: BN_mod_exp_mont_consttime = (bn_exp.c:760) =3D=3D10050=3D=3D by 0x6B84AB7: ??? (dh_key.c:156) =3D=3D10050=3D=3D by 0x4E4550B: ssh_dh_gen_key (in = /usr/lib/private/libssh.so.5) =3D=3D10050=3D=3D by 0x42AEBF: kexgex_server (kexgexs.c:115) =3D=3D10050=3D=3D by 0x4E545FE: ssh_kex_input_kexinit (in = /usr/lib/private/libssh.so.5) =3D=3D10050=3D=3D by 0x4E54BBE: ssh_dispatch_run (in = /usr/lib/private/libssh.so.5) =3D=3D10050=3D=3D by 0x41085C: do_ssh2_kex (sshd.c:2559) =3D=3D10050=3D=3D by 0x41085C: main (sshd.c:2162) =3D=3D10050=3D=3D Address 0x2078f3580 is not stack'd, malloc'd or = (recently) free'd =3D=3D10050=3D=3D =3D=3D10050=3D=3D =3D=3D10050=3D=3D Process terminating with default action of signal 11 = (SIGSEGV): dumping core =3D=3D10050=3D=3D Access not within mapped region at address = 0x2078F3580 =3D=3D10050=3D=3D at 0x6BA3438: MOD_EXP_CTIME_COPY_FROM_PREBUF = (bn_exp.c:585) =3D=3D10050=3D=3D by 0x6BA3438: BN_mod_exp_mont_consttime = (bn_exp.c:760) =3D=3D10050=3D=3D by 0x6B84AB7: ??? (dh_key.c:156) =3D=3D10050=3D=3D by 0x4E4550B: ssh_dh_gen_key (in = /usr/lib/private/libssh.so.5) =3D=3D10050=3D=3D by 0x42AEBF: kexgex_server (kexgexs.c:115) =3D=3D10050=3D=3D by 0x4E545FE: ssh_kex_input_kexinit (in = /usr/lib/private/libssh.so.5) =3D=3D10050=3D=3D by 0x4E54BBE: ssh_dispatch_run (in = /usr/lib/private/libssh.so.5) =3D=3D10050=3D=3D by 0x41085C: do_ssh2_kex (sshd.c:2559) =3D=3D10050=3D=3D by 0x41085C: main (sshd.c:2162) =3D=3D10050=3D=3D If you believe this happened as a result of a stack =3D=3D10050=3D=3D overflow in your program's main thread (unlikely but =3D=3D10050=3D=3D possible), you can try to increase the size of the =3D=3D10050=3D=3D main thread stack using the --main-stacksize=3D flag. =3D=3D10050=3D=3D The main thread stack size used in this run was = 16777216. -Dimitry --Apple-Mail=_AA17955F-1DCE-4BA2-B503-80692C2DCCA2 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.29 iEYEARECAAYFAlbgiiIACgkQsF6jCi4glqO/TACg8wnXNM/4bSChip4c1XG9wN23 3z8AoM2kOpFsIa2xWLAACSnL39ad1plF =BCdJ -----END PGP SIGNATURE----- --Apple-Mail=_AA17955F-1DCE-4BA2-B503-80692C2DCCA2-- From owner-svn-src-all@freebsd.org Wed Mar 9 21:31:31 2016 Return-Path: Delivered-To: svn-src-all@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 E50BEAC90BA; Wed, 9 Mar 2016 21:31:31 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [IPv6:2001:7b8:3a7:1:2d0:b7ff:fea0:8c26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 728E61E2C; Wed, 9 Mar 2016 21:31:31 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:7b8:3a7::dd44:f53f:bd83:81a6] (unknown [IPv6:2001:7b8:3a7:0:dd44:f53f:bd83:81a6]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 74B5A3E933; Wed, 9 Mar 2016 22:31:28 +0100 (CET) Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_72D411A8-F978-43D7-9D8A-0850E89E6F98"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.6b2 (ebbf3ef) From: Dimitry Andric In-Reply-To: <2E9527A1-C869-48DA-9554-2A96F1735F8C@FreeBSD.org> Date: Wed, 9 Mar 2016 22:31:21 +0100 Cc: Antoine Brodin , Xin LI , Mathieu Arnold , Jung-Uk Kim , Bryan Drewery , Xin LI , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , svn-src-releng@freebsd.org Message-Id: References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> <56DF0234.2090307@FreeBSD.org> <56DF025B.1090706@FreeBSD.org> <56DF0550.6000604@FreeBSD.org> <56DFEA05.6060501@delphij.net> <2E9527A1-C869-48DA-9554-2A96F1735F8C@FreeBSD.org> To: Xin Li X-Mailer: Apple Mail (2.3112) X-Mailman-Approved-At: Wed, 09 Mar 2016 22:35:55 +0000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 21:31:32 -0000 --Apple-Mail=_72D411A8-F978-43D7-9D8A-0850E89E6F98 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 09 Mar 2016, at 21:39, Dimitry Andric wrote: >=20 > On 09 Mar 2016, at 10:16, Xin Li wrote: >>=20 >> FYI -- I can confirm that libcrypto is broken and have a reliable way = to >> trigger it. >>=20 >> So far I was able to narrow down this to this change and here is a >> temporary workaround (which will reintroduce CVE-2016-0702). >>=20 >> Cheers, >> >=20 > FWIW, before the workaround I get this from valgrind: >=20 > =3D=3D10050=3D=3D Invalid read of size 8 > =3D=3D10050=3D=3D at 0x6BA3438: MOD_EXP_CTIME_COPY_FROM_PREBUF = (bn_exp.c:585) > =3D=3D10050=3D=3D by 0x6BA3438: BN_mod_exp_mont_consttime = (bn_exp.c:760) > =3D=3D10050=3D=3D by 0x6B84AB7: ??? (dh_key.c:156) > =3D=3D10050=3D=3D by 0x4E4550B: ssh_dh_gen_key (in = /usr/lib/private/libssh.so.5) > =3D=3D10050=3D=3D by 0x42AEBF: kexgex_server (kexgexs.c:115) > =3D=3D10050=3D=3D by 0x4E545FE: ssh_kex_input_kexinit (in = /usr/lib/private/libssh.so.5) > =3D=3D10050=3D=3D by 0x4E54BBE: ssh_dispatch_run (in = /usr/lib/private/libssh.so.5) > =3D=3D10050=3D=3D by 0x41085C: do_ssh2_kex (sshd.c:2559) > =3D=3D10050=3D=3D by 0x41085C: main (sshd.c:2162) > =3D=3D10050=3D=3D Address 0x2078f3580 is not stack'd, malloc'd or = (recently) free'd > =3D=3D10050=3D=3D > =3D=3D10050=3D=3D > =3D=3D10050=3D=3D Process terminating with default action of signal 11 = (SIGSEGV): dumping core > =3D=3D10050=3D=3D Access not within mapped region at address = 0x2078F3580 > =3D=3D10050=3D=3D at 0x6BA3438: MOD_EXP_CTIME_COPY_FROM_PREBUF = (bn_exp.c:585) > =3D=3D10050=3D=3D by 0x6BA3438: BN_mod_exp_mont_consttime = (bn_exp.c:760) > =3D=3D10050=3D=3D by 0x6B84AB7: ??? (dh_key.c:156) > =3D=3D10050=3D=3D by 0x4E4550B: ssh_dh_gen_key (in = /usr/lib/private/libssh.so.5) > =3D=3D10050=3D=3D by 0x42AEBF: kexgex_server (kexgexs.c:115) > =3D=3D10050=3D=3D by 0x4E545FE: ssh_kex_input_kexinit (in = /usr/lib/private/libssh.so.5) > =3D=3D10050=3D=3D by 0x4E54BBE: ssh_dispatch_run (in = /usr/lib/private/libssh.so.5) > =3D=3D10050=3D=3D by 0x41085C: do_ssh2_kex (sshd.c:2559) > =3D=3D10050=3D=3D by 0x41085C: main (sshd.c:2162) > =3D=3D10050=3D=3D If you believe this happened as a result of a stack > =3D=3D10050=3D=3D overflow in your program's main thread (unlikely = but > =3D=3D10050=3D=3D possible), you can try to increase the size of the > =3D=3D10050=3D=3D main thread stack using the --main-stacksize=3D = flag. > =3D=3D10050=3D=3D The main thread stack size used in this run was = 16777216. I think this is a possible fix (it works for me, at least): Index: crypto/openssl/crypto/bn/bn_exp.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- crypto/openssl/crypto/bn/bn_exp.c (revision 296469) +++ crypto/openssl/crypto/bn/bn_exp.c (working copy) @@ -758,7 +758,7 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr, const BI * Fetch the appropriate pre-computed value from the pre-buf */ if (!MOD_EXP_CTIME_COPY_FROM_PREBUF - (computeTemp, top, powerbuf, wvalue, numPowers)) + (computeTemp, top, powerbuf, wvalue, window)) goto err; /* Multiply the result into the intermediate result */ Can people experiencing this problem please apply the above diff to their openssl, rebuild secure/lib/libcrypto, install it, then restart sshd and/or whatever daemon you have seen the crashes with? -Dimitry --Apple-Mail=_72D411A8-F978-43D7-9D8A-0850E89E6F98 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.29 iEYEARECAAYFAlbgljAACgkQsF6jCi4glqOaJACg1b5D1MkecdIt+NKWk+5tAasm B8IAoPxqgIr50nIyy5nqMV+sRi3UPopY =YSAI -----END PGP SIGNATURE----- --Apple-Mail=_72D411A8-F978-43D7-9D8A-0850E89E6F98-- From owner-svn-src-all@freebsd.org Wed Mar 9 22:19:04 2016 Return-Path: Delivered-To: svn-src-all@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 3C6B0ACA668; Wed, 9 Mar 2016 22:19:04 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 547EF109D; Wed, 9 Mar 2016 22:19:03 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Subject: Re: svn commit: r296465 - in releng/9.3: . crypto/openssl crypto/openssl/apps crypto/openssl/bugs crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/asn1 crypto/openssl/crypto/bf cry... To: Dimitry Andric , Xin Li References: <201603071622.u27GMC4a082792@repo.freebsd.org> <9B6D673B7B15CCDC424E97A8@atuin.in.mat.cc> <56DEFD08.6050100@FreeBSD.org> <63FB9E5BBBF224CA12839457@ogg.in.absolight.net> <56DEFDF5.2040500@FreeBSD.org> <1E2DCDEE8775312979CE7D0B@ogg.in.absolight.net> <56DF0234.2090307@FreeBSD.org> <56DF025B.1090706@FreeBSD.org> <56DF0550.6000604@FreeBSD.org> <56DFEA05.6060501@delphij.net> <2E9527A1-C869-48DA-9554-2A96F1735F8C@FreeBSD.org> Cc: Antoine Brodin , Xin LI , Mathieu Arnold , Bryan Drewery , Xin LI , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , svn-src-releng@freebsd.org From: Jung-uk Kim X-Enigmail-Draft-Status: N1110 Message-ID: <56E0A156.4040303@FreeBSD.org> Date: Wed, 9 Mar 2016 17:19:02 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Wed, 09 Mar 2016 22:36:06 +0000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:19:04 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 03/ 9/16 04:31 PM, Dimitry Andric wrote: > On 09 Mar 2016, at 21:39, Dimitry Andric wrote: >> >> On 09 Mar 2016, at 10:16, Xin Li wrote: >>> >>> FYI -- I can confirm that libcrypto is broken and have a >>> reliable way to trigger it. >>> >>> So far I was able to narrow down this to this change and here >>> is a temporary workaround (which will reintroduce >>> CVE-2016-0702). >>> >>> Cheers, >> >> FWIW, before the workaround I get this from valgrind: >> >> ==10050== Invalid read of size 8 ==10050== at 0x6BA3438: >> MOD_EXP_CTIME_COPY_FROM_PREBUF (bn_exp.c:585) ==10050== by >> 0x6BA3438: BN_mod_exp_mont_consttime (bn_exp.c:760) ==10050== by >> 0x6B84AB7: ??? (dh_key.c:156) ==10050== by 0x4E4550B: >> ssh_dh_gen_key (in /usr/lib/private/libssh.so.5) ==10050== by >> 0x42AEBF: kexgex_server (kexgexs.c:115) ==10050== by >> 0x4E545FE: ssh_kex_input_kexinit (in >> /usr/lib/private/libssh.so.5) ==10050== by 0x4E54BBE: >> ssh_dispatch_run (in /usr/lib/private/libssh.so.5) ==10050== by >> 0x41085C: do_ssh2_kex (sshd.c:2559) ==10050== by 0x41085C: >> main (sshd.c:2162) ==10050== Address 0x2078f3580 is not >> stack'd, malloc'd or (recently) free'd ==10050== ==10050== >> ==10050== Process terminating with default action of signal 11 >> (SIGSEGV): dumping core ==10050== Access not within mapped >> region at address 0x2078F3580 ==10050== at 0x6BA3438: >> MOD_EXP_CTIME_COPY_FROM_PREBUF (bn_exp.c:585) ==10050== by >> 0x6BA3438: BN_mod_exp_mont_consttime (bn_exp.c:760) ==10050== by >> 0x6B84AB7: ??? (dh_key.c:156) ==10050== by 0x4E4550B: >> ssh_dh_gen_key (in /usr/lib/private/libssh.so.5) ==10050== by >> 0x42AEBF: kexgex_server (kexgexs.c:115) ==10050== by >> 0x4E545FE: ssh_kex_input_kexinit (in >> /usr/lib/private/libssh.so.5) ==10050== by 0x4E54BBE: >> ssh_dispatch_run (in /usr/lib/private/libssh.so.5) ==10050== by >> 0x41085C: do_ssh2_kex (sshd.c:2559) ==10050== by 0x41085C: >> main (sshd.c:2162) ==10050== If you believe this happened as a >> result of a stack ==10050== overflow in your program's main >> thread (unlikely but ==10050== possible), you can try to >> increase the size of the ==10050== main thread stack using the >> --main-stacksize= flag. ==10050== The main thread stack size >> used in this run was 16777216. > > I think this is a possible fix (it works for me, at least): > > Index: crypto/openssl/crypto/bn/bn_exp.c > =================================================================== > > > > > - --- crypto/openssl/crypto/bn/bn_exp.c (revision 296469) > +++ crypto/openssl/crypto/bn/bn_exp.c (working copy) @@ -758,7 > +758,7 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr, const BI * > Fetch the appropriate pre-computed value from the pre-buf */ if > (!MOD_EXP_CTIME_COPY_FROM_PREBUF - (computeTemp, top, > powerbuf, wvalue, numPowers)) + (computeTemp, top, > powerbuf, wvalue, window)) goto err; > > /* Multiply the result into the intermediate result */ > > Can people experiencing this problem please apply the above diff to > their openssl, rebuild secure/lib/libcrypto, install it, then > restart sshd and/or whatever daemon you have seen the crashes > with? [My PC had multiple PSU failures and I just recovered from the disaster. I am very sorry for the late response.] I haven't tested it but it looks correct. I don't know how I missed it in the first place. :-( JK -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJW4KFSAAoJEHyflib82/FGGt8H/iaaxbks7copI9O4oCs229RG UlLxx1XsrYkdStEqJHg4OXgXr6kIdkSpBBJjYs3DlOFKL5Vin0PTenfDV0i0a0/l MbawMhWX6xhNaUKSHVguXJeGZUGT4pYQe6pZoZYT2ZrAq5eEavk/y0qlwPK4xV50 A/xXsfgLGwruMZjJ4JJ7N4CZMByyKu7jAhnveDFS3A87HOve48HEGpHY/UDmWvZ1 t1JX0e7ZCO+frHAwYdBkMG9w4ozQ26PjGTyJuL/852GORaxt+5kZ4Uj2/jLjxIIj pnFJ1CrzjFKqX3+03QaOi+hFlBPyQ/CMyMg03fO5MQqTys3ehObujRmfE1mhCZs= =KShP -----END PGP SIGNATURE----- From owner-svn-src-all@freebsd.org Wed Mar 9 22:44:50 2016 Return-Path: Delivered-To: svn-src-all@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 4879FAC9296; Wed, 9 Mar 2016 22:44:50 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 24A6D9EB; Wed, 9 Mar 2016 22:44:50 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29MinEh093908; Wed, 9 Mar 2016 22:44:49 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29MiniV093907; Wed, 9 Mar 2016 22:44:49 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603092244.u29MiniV093907@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 22:44:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296584 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:44:50 -0000 Author: bdrewery Date: Wed Mar 9 22:44:48 2016 New Revision: 296584 URL: https://svnweb.freebsd.org/changeset/base/296584 Log: DIRDEPS_BUILD: Let PROGS bootstrapping work. - Support (DP|LIB)ADD_${PROG}. - Support SRCS[._]${PROG}. - Don't bootstrap DIRDEPS while recursing. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/local.dirdeps.mk Modified: head/share/mk/local.dirdeps.mk ============================================================================== --- head/share/mk/local.dirdeps.mk Wed Mar 9 21:50:39 2016 (r296583) +++ head/share/mk/local.dirdeps.mk Wed Mar 9 22:44:48 2016 (r296584) @@ -90,7 +90,8 @@ DIRDEPS += \ # used will be added in and handled via [local.]gendirdeps.mk. This is not # done for MACHINE=host builds. # XXX: Include this in local.autodep.mk as well for gendirdeps without filemon. -.if ${RELDIR} == ${DEP_RELDIR} # Only do this for main build target +# Only do this for main build target +.if ${RELDIR} == ${DEP_RELDIR} && !defined(_RECURSING_PROGS) .for _depfile in ${.MAKE.DEPENDFILE_PREFERENCE:T} .if !defined(_have_depfile) && exists(${.CURDIR}/${_depfile}) _have_depfile= @@ -99,6 +100,35 @@ _have_depfile= .if !defined(_have_depfile) # KMOD does not use any stdlibs. .if !defined(KMOD) +# Gather PROGS dependencies first +.if !empty(PROGS) +_PROGS_LIBADD= +_PROGS_DPADD= +_PROGS_SRCS= +.for _prog in ${PROGS} +.for s in . _ +.if !empty(LIBADD${s}${_prog}) +_PROGS_LIBADD+= ${LIBADD${s}${_prog}} +.endif +.if !empty(DPADD${s}${_prog}) +_PROGS_DPADD+= ${DPADD${s}${_prog}} +.endif +.if !empty(SRCS${s}${_prog}) +_PROGS_SRCS+= ${SRCS${s}${_prog}} +.endif +.endfor # .for s in . _ +# Add in assumed source (bsd.prog.mk) +.if !target(${_prog}) +.if defined(PROG_CXX) +_PROGS_SRCS+= ${_prog}.cc +.else +_PROGS_SRCS+= ${_prog}.c +.endif +.endif # !target(${_prog}) +.endfor # .for _prog in ${PROGS} +.endif # !empty(PROGS) +_SRCS= ${SRCS} ${_PROGS_SRCS} + # Has C files. The C_DIRDEPS are shared with C++ files as well. C_DIRDEPS= \ gnu/lib/csu \ @@ -118,12 +148,12 @@ C_DIRDEPS= \ C_DIRDEPS+= include/gssapi .endif -.if !empty(SRCS:M*.c) +.if !empty(_SRCS:M*.c) DIRDEPS+= ${C_DIRDEPS} .endif # Has C++ files -.if !empty(SRCS:M*.cc) || !empty(SRCS:M*.C) || !empty(SRCS:M*.cpp) || \ - !empty(SRCS:M*.cxx) +.if !empty(_SRCS:M*.cc) || !empty(_SRCS:M*.C) || !empty(_SRCS:M*.cpp) || \ + !empty(_SRCS:M*.cxx) DIRDEPS+= ${C_DIRDEPS} .if ${MK_CLANG} == "yes" DIRDEPS+= lib/libc++ lib/libcxxrt @@ -135,28 +165,15 @@ DIRDEPS+= lib/msun .endif # CXX .endif # !defined(KMOD) # Has yacc files. -.if !empty(SRCS:M*.y) +.if !empty(_SRCS:M*.y) DIRDEPS+= usr.bin/yacc.host .endif -# Gather PROGS dependencies -.if !empty(PROGS) -_PROGS_LIBADD= -_PROGS_DPADD= -.for _prog in ${PROGS} -.if !empty(LIBADD.${_prog}) -_PROGS_LIBADD+= ${LIBADD.${_prog}} -.endif -.if !empty(DPADD.${_prog}) -_PROGS_DPADD+= ${DPADD.${_prog}} -.endif -.endfor -.endif # !empty(PROGS) -.if !empty(DPADD) +_DPADD= ${DPADD} ${_PROGS_DPADD} +.if !empty(_DPADD) # Taken from meta.autodep.mk (where it only does something with # BUILD_AT_LEVEL0, which we don't use). # This only works for DPADD with full OBJ/SRC paths, which is mostly just # _INTERNALLIBS. -_DPADD= ${DPADD} ${_PROGS_DPADD} _DP_DIRDEPS= \ ${_DPADD:O:u:M${OBJTOP}*:H:N.:tA:C,${OBJTOP}[^/]*/,,:N.:O:u} \ ${_DPADD:O:u:M${OBJROOT}*:N${OBJTOP}*:N${STAGE_ROOT}/*:H:S,${OBJROOT},,:C,^([^/]+)/(.*),\2.\1,:S,${HOST_TARGET}$,host,:N.*:O:u} @@ -165,9 +182,9 @@ _DP_DIRDEPS= \ DIRDEPS+= ${_DP_DIRDEPS:C,^,${SRCTOP}/,:tA:C,^${SRCTOP}/,,} .endif .endif # !empty(DPADD) -.if !empty(LIBADD) -# Also handle LIBADD for non-internal libraries. _ALL_LIBADD= ${LIBADD} ${_PROGS_LIBADD} +.if !empty(_ALL_LIBADD) +# Also handle LIBADD for non-internal libraries. .for _lib in ${_ALL_LIBADD:O:u} _lib${_lib}reldir= ${LIB${_lib:tu}DIR:C,${OBJTOP}/,,} .if defined(LIB${_lib:tu}DIR) && ${DIRDEPS:M${_lib${_lib}reldir}} == "" && \ From owner-svn-src-all@freebsd.org Wed Mar 9 22:45:02 2016 Return-Path: Delivered-To: svn-src-all@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 2D28BAC9308; Wed, 9 Mar 2016 22:45:02 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DAB6AB57; Wed, 9 Mar 2016 22:45:01 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29Mj0rO093967; Wed, 9 Mar 2016 22:45:00 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29Mj0uM093964; Wed, 9 Mar 2016 22:45:00 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603092245.u29Mj0uM093964@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 22:45:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296585 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:45:02 -0000 Author: bdrewery Date: Wed Mar 9 22:45:00 2016 New Revision: 296585 URL: https://svnweb.freebsd.org/changeset/base/296585 Log: These group names may be used as a cookie, so replace any non-fs-safe characters. One example is in cddl/usr.sbin/dtrace/tests/common/aggs. It could be fixed but other uses of this would break, especially in the DIRDEPS_BUILD which uses the group names for stage cookies. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.confs.mk head/share/mk/bsd.files.mk head/share/mk/bsd.incs.mk Modified: head/share/mk/bsd.confs.mk ============================================================================== --- head/share/mk/bsd.confs.mk Wed Mar 9 22:44:48 2016 (r296584) +++ head/share/mk/bsd.confs.mk Wed Mar 9 22:45:00 2016 (r296585) @@ -6,8 +6,10 @@ CONFGROUPS?= CONFS +_CONFGROUPS= ${CONFGROUPS:C,[/*],_,g} + .if !target(buildconfig) -.for group in ${CONFGROUPS} +.for group in ${_CONFGROUPS} buildconfig: ${${group}} .endfor .endif @@ -17,7 +19,7 @@ all: buildconfig .endif .if !target(installconfig) -.for group in ${CONFGROUPS} +.for group in ${_CONFGROUPS} .if defined(${group}) && !empty(${group}) ${group}OWN?= ${SHAREOWN} Modified: head/share/mk/bsd.files.mk ============================================================================== --- head/share/mk/bsd.files.mk Wed Mar 9 22:44:48 2016 (r296584) +++ head/share/mk/bsd.files.mk Wed Mar 9 22:45:00 2016 (r296585) @@ -9,7 +9,9 @@ ____: FILESGROUPS?= FILES -.for group in ${FILESGROUPS} +_FILESGROUPS= ${FILESGROUPS:C,[/*],_,g} + +.for group in ${_FILESGROUPS} # Add in foo.yes and remove duplicates from all the groups ${${group}}:= ${${group}} ${${group}.yes} ${${group}}:= ${${group}:O:u} @@ -20,7 +22,7 @@ buildfiles: ${${group}} all: buildfiles .endif -.for group in ${FILESGROUPS} +.for group in ${_FILESGROUPS} .if defined(${group}) && !empty(${group}) installfiles: installfiles-${group} Modified: head/share/mk/bsd.incs.mk ============================================================================== --- head/share/mk/bsd.incs.mk Wed Mar 9 22:44:48 2016 (r296584) +++ head/share/mk/bsd.incs.mk Wed Mar 9 22:45:00 2016 (r296585) @@ -8,8 +8,10 @@ INCSGROUPS?= INCS +_INCSGROUPS= ${INCSGROUPS:C,[/*],_,g} + .if !target(buildincludes) -.for group in ${INCSGROUPS} +.for group in ${_INCSGROUPS} buildincludes: ${${group}} .endfor .endif @@ -19,7 +21,7 @@ all: buildincludes .endif .if !target(installincludes) -.for group in ${INCSGROUPS} +.for group in ${_INCSGROUPS} .if defined(${group}) && !empty(${group}) ${group}OWN?= ${BINOWN} From owner-svn-src-all@freebsd.org Wed Mar 9 22:45:06 2016 Return-Path: Delivered-To: svn-src-all@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 57508AC9341; Wed, 9 Mar 2016 22:45:06 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0FC13B80; Wed, 9 Mar 2016 22:45:05 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29Mj5YB094017; Wed, 9 Mar 2016 22:45:05 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29Mj48O094013; Wed, 9 Mar 2016 22:45:04 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603092245.u29Mj48O094013@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 22:45:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296586 - in head: contrib/netbsd-tests/lib/libc/setjmp etc/mtree lib/libc/tests X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:45:06 -0000 Author: bdrewery Date: Wed Mar 9 22:45:04 2016 New Revision: 296586 URL: https://svnweb.freebsd.org/changeset/base/296586 Log: Fix and connect setjmp test. Sponsored by: EMC / Isilon Storage Division Modified: head/contrib/netbsd-tests/lib/libc/setjmp/t_setjmp.c head/contrib/netbsd-tests/lib/libc/setjmp/t_threadjmp.c head/etc/mtree/BSD.tests.dist head/lib/libc/tests/Makefile Modified: head/contrib/netbsd-tests/lib/libc/setjmp/t_setjmp.c ============================================================================== --- head/contrib/netbsd-tests/lib/libc/setjmp/t_setjmp.c Wed Mar 9 22:45:00 2016 (r296585) +++ head/contrib/netbsd-tests/lib/libc/setjmp/t_setjmp.c Wed Mar 9 22:45:04 2016 (r296586) @@ -87,7 +87,7 @@ __RCSID("$NetBSD: t_setjmp.c,v 1.1 2010/ static int expectsignal; static void -aborthandler(int signo) +aborthandler(int signo __unused) { ATF_REQUIRE_MSG(expectsignal, "kill(SIGABRT) succeeded"); atf_tc_pass(); Modified: head/contrib/netbsd-tests/lib/libc/setjmp/t_threadjmp.c ============================================================================== --- head/contrib/netbsd-tests/lib/libc/setjmp/t_threadjmp.c Wed Mar 9 22:45:00 2016 (r296585) +++ head/contrib/netbsd-tests/lib/libc/setjmp/t_threadjmp.c Wed Mar 9 22:45:04 2016 (r296586) @@ -91,7 +91,7 @@ static pthread_t myself = NULL; static int expectsignal; static void -aborthandler(int signo) +aborthandler(int signo __unused) { ATF_REQUIRE(myself == pthread_self()); ATF_REQUIRE_MSG(expectsignal, "kill(SIGABRT) succeeded"); Modified: head/etc/mtree/BSD.tests.dist ============================================================================== --- head/etc/mtree/BSD.tests.dist Wed Mar 9 22:45:00 2016 (r296585) +++ head/etc/mtree/BSD.tests.dist Wed Mar 9 22:45:04 2016 (r296586) @@ -283,6 +283,8 @@ .. ssp .. + setjmp + .. stdio .. stdlib Modified: head/lib/libc/tests/Makefile ============================================================================== --- head/lib/libc/tests/Makefile Wed Mar 9 22:45:00 2016 (r296585) +++ head/lib/libc/tests/Makefile Wed Mar 9 22:45:04 2016 (r296586) @@ -14,6 +14,7 @@ TESTS_SUBDIRS+= nss TESTS_SUBDIRS+= regex TESTS_SUBDIRS+= resolv TESTS_SUBDIRS+= rpc +TESTS_SUBDIRS+= setjmp TESTS_SUBDIRS+= stdio TESTS_SUBDIRS+= stdlib TESTS_SUBDIRS+= string From owner-svn-src-all@freebsd.org Wed Mar 9 22:46:09 2016 Return-Path: Delivered-To: svn-src-all@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 20344AC9426; Wed, 9 Mar 2016 22:46:09 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AA3CCE3F; Wed, 9 Mar 2016 22:46:08 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u29Mk7f1094150; Wed, 9 Mar 2016 22:46:07 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u29Mk1BU094090; Wed, 9 Mar 2016 22:46:01 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603092246.u29Mk1BU094090@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 9 Mar 2016 22:46:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296587 - in head: bin/cat/tests bin/date/tests bin/dd/tests bin/expr/tests bin/ls/tests bin/mv/tests bin/pax/tests bin/pkill/tests bin/sh/tests bin/sh/tests/builtins bin/sh/tests/error... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:46:09 -0000 Author: bdrewery Date: Wed Mar 9 22:46:01 2016 New Revision: 296587 URL: https://svnweb.freebsd.org/changeset/base/296587 Log: DIRDEPS_BUILD: Connect MK_TESTS. Sponsored by: EMC / Isilon Storage Division Added: head/bin/cat/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/date/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/dd/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/expr/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/ls/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/mv/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/pax/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/pkill/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/builtins/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/errors/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/execution/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/expansion/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/parameters/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/parser/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sh/tests/set-e/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/sleep/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/test/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/bin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/lib/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/sbin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.bin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/arithmetic/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/arrays/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/assocs/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/begin/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/bitfields/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/buffering/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/builtinvar/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/cg/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/clauses/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/cpc/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/decls/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/docsExamples/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/drops/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/dtraceUtil/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/end/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/enum/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/error/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/exit/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/fbtprovider/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/funcs/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/grammar/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/include/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/inline/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/io/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/ip/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/java_api/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/json/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/lexer/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/llquantize/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/mdb/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/mib/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/misc/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/multiaggs/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/offsetof/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/operators/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/pid/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/plockstat/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/pointers/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/pragma/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/predicates/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/preprocessor/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/print/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/printa/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/printf/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/privs/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/probes/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/proc/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/profile-n/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/providers/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/raise/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/rates/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/safety/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/scalars/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/sched/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/scripting/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/sdt/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/sizeof/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/speculation/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/stability/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/stack/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/stackdepth/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/stop/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/strlen/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/strtoll/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/struct/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/syscall/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/tick-n/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/trace/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/tracemem/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/translators/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/typedef/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/types/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/uctf/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/union/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/usdt/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/ustack/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/vars/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/dtrace/tests/common/version/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/cddl/usr.sbin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/gnu/lib/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/gnu/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/gnu/usr.bin/diff/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/gnu/usr.bin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/atf/libatf-c++/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/atf/libatf-c++/tests/detail/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/atf/libatf-c/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/atf/libatf-c/tests/detail/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/atf/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/atf/tests/test-programs/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libarchive/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/c063/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/db/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/gen/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/gen/execve/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/gen/posix_spawn/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/hash/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/inet/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/locale/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/net/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/nss/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/regex/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/resolv/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/rpc/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/setjmp/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/ssp/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/stdio/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/stdlib/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/string/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/sys/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/termios/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/time/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/tls/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/tls_dso/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libc/tests/ttyio/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libmp/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libnv/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libpam/libpam/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libproc/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/librt/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libthr/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libthr/tests/dlopen/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libthr/tests/dlopen/dso/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libutil/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/libxo/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/msun/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/lib/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/libexec/atf/atf-check/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/libexec/atf/atf-sh/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/libexec/atf/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/libexec/rtld-elf/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/libexec/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/sbin/devd/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/sbin/dhclient/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/sbin/growfs/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/sbin/ifconfig/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/sbin/mdconfig/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/sbin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/secure/lib/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/secure/libexec/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/secure/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/secure/usr.bin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/secure/usr.sbin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/share/examples/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/share/examples/tests/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/share/examples/tests/tests/atf/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/share/examples/tests/tests/plain/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/share/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/targets/pseudo/tests/ head/targets/pseudo/tests/Makefile (contents, props changed) head/targets/pseudo/tests/Makefile.depend (contents, props changed) head/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/etc/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/etc/rc.d/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/acl/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/aio/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/fifo/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/file/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/concat/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/eli/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/gate/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/mirror/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/nop/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/raid3/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/shsec/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/stripe/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/geom/class/uzip/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/kern/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/kern/acct/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/kern/execve/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/kern/pipe/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/kqueue/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/mac/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/mac/bsdextended/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/mac/portacl/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/mqueue/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/netinet/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/opencrypto/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/chflags/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/chmod/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/chown/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/ftruncate/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/granular/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/link/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/mkdir/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/mkfifo/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/mknod/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/open/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/rename/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/rmdir/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/symlink/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/truncate/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/pjdfstest/tests/unlink/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/posixshm/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/vfs/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/tests/sys/vm/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/apply/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/basename/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/archives/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/archives/fmt_44bsd/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/archives/fmt_44bsd_mod/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/archives/fmt_oldbsd/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/basic/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/basic/t0/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/basic/t1/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/basic/t2/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/basic/t3/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/execution/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/execution/ellipsis/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/execution/empty/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/execution/joberr/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/execution/plus/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/shell/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/shell/builtin/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/shell/meta/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/shell/path/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/shell/path_select/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/shell/replace/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/shell/select/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/suffixes/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/suffixes/basic/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/suffixes/src_wild1/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/suffixes/src_wild2/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/syntax/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/syntax/directive-t0/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/syntax/enl/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/syntax/funny-targets/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/syntax/semi/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t0/2/1/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t0/2/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t0/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t0/mk/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t1/2/1/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t1/2/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t1/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t1/mk/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t2/2/1/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t2/2/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t2/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/sysmk/t2/mk/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/variables/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/variables/modifier_M/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/variables/modifier_t/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/variables/opt_V/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/bmake/tests/variables/t0/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/calendar/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/cmp/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/col/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/comm/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/cpio/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/cut/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/dirname/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/file2c/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/grep/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/gzip/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/ident/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/join/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/jot/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/lastcomm/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/limits/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/m4/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/mkimg/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/ncal/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/printf/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/sed/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/sed/tests/regress.multitest.out/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/soelim/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/tar/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/timeout/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/tr/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/truncate/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/units/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/uudecode/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/uuencode/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/xargs/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/xo/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.bin/yacc/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/chown/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/etcupdate/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/fstyp/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/makefs/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/newsyslog/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/nmtree/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/pw/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/rpcbind/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/sa/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend head/usr.sbin/tests/Makefile.depend - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.depend Modified: head/lib/libcrypt/tests/Makefile.depend head/targets/pseudo/the-lot/Makefile.depend Copied and modified: head/bin/cat/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/cat/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/date/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/date/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/dd/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/dd/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/expr/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/expr/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/ls/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/ls/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/mv/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/mv/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/pax/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/pax/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/pkill/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/pkill/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/builtins/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/builtins/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/errors/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/errors/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/execution/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/execution/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/expansion/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/expansion/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/parameters/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/parameters/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/parser/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/parser/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sh/tests/set-e/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sh/tests/set-e/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/sleep/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/sleep/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/test/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/test/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/bin/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/bin/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/lib/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/lib/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/sbin/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/sbin/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.bin/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.bin/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/arithmetic/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/arithmetic/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/arrays/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/arrays/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/assocs/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/assocs/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/begin/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/begin/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/bitfields/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/bitfields/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/buffering/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/buffering/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/builtinvar/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/builtinvar/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/cg/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/cg/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/clauses/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/clauses/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/cpc/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/cpc/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/decls/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/decls/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/docsExamples/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/docsExamples/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/drops/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/drops/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/dtraceUtil/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/dtraceUtil/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/end/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/end/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/enum/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/enum/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/error/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/error/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/exit/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/exit/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/fbtprovider/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/fbtprovider/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/funcs/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/funcs/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/grammar/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/grammar/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/include/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/include/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/inline/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/inline/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/io/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/io/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -5,12 +5,9 @@ DIRDEPS = \ gnu/lib/csu \ gnu/lib/libgcc \ include \ - include/xlocale \ lib/${CSU_DIR} \ - lib/atf/libatf-c \ lib/libc \ lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/ip/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/ip/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/java_api/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/java_api/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -5,12 +5,9 @@ DIRDEPS = \ gnu/lib/csu \ gnu/lib/libgcc \ include \ - include/xlocale \ lib/${CSU_DIR} \ - lib/atf/libatf-c \ lib/libc \ lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/json/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/json/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -5,12 +5,9 @@ DIRDEPS = \ gnu/lib/csu \ gnu/lib/libgcc \ include \ - include/xlocale \ lib/${CSU_DIR} \ - lib/atf/libatf-c \ lib/libc \ lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/lexer/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/lexer/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/llquantize/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/llquantize/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/mdb/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) +++ head/cddl/usr.sbin/dtrace/tests/common/mdb/Makefile.depend Wed Mar 9 22:46:01 2016 (r296587) @@ -2,15 +2,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/atf/libatf-c \ - lib/libc \ - lib/libcompiler_rt \ - lib/libcrypt \ .include Copied and modified: head/cddl/usr.sbin/dtrace/tests/common/mib/Makefile.depend (from r296586, head/lib/libcrypt/tests/Makefile.depend) ============================================================================== --- head/lib/libcrypt/tests/Makefile.depend Wed Mar 9 22:45:04 2016 (r296586, copy source) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Wed Mar 9 22:47:54 2016 Return-Path: Delivered-To: svn-src-all@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 B226FAC9532; Wed, 9 Mar 2016 22:47:54 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from mail.made4.biz (mail.made4.biz [IPv6:2001:41d0:2:c018::1:3]) (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 7C9E02DA; Wed, 9 Mar 2016 22:47:54 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from [176.158.145.63] (helo=magellan.dumbbell.fr) by mail.made4.biz with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86 (FreeBSD)) (envelope-from ) id 1admtU-0005RG-Pb; Wed, 09 Mar 2016 23:47:52 +0100 Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms To: Renato Botelho References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Message-ID: <56E0A814.5040008@FreeBSD.org> Date: Wed, 9 Mar 2016 23:47:48 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="lVpPKuaoetHTs76BwgTJLd5fN2qA4F2cS" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:47:54 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --lVpPKuaoetHTs76BwgTJLd5fN2qA4F2cS Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 09/03/2016 16:58, Renato Botelho wrote: > After revert it to r296547 and manually apply ZFS fix I can > successfully load i915kms during boot. Yeah, I never test to load DRM drivers from /boot/loader.conf. I confirm it doesn't work with Haswell at least. I have no idea how to debug this. Is it sufficient for you to load the driver from /etc/rc.conf instead? You can try the following line: kld_list=3D"i915kms" It achieves the same result, but it's faster to boot and works. --=20 Jean-S=C3=A9bastien P=C3=A9dron --lVpPKuaoetHTs76BwgTJLd5fN2qA4F2cS Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJW4KgUXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NzA4N0ZEMUFFQUUwRTEyREJDNkE2RjAz OUU5OTc2MUE1RkQ5NENDAAoJEDnpl2Gl/ZTMatIQAJ1xlqA3rkUcMBTJpf4rI6kH UupKKtTDN/b15XCRFdaTT8CxNgPPYTCVKw6XhDSnb8K4aLO/HIrzYLsEdeIvDf15 gfXz2HPJ35DlPk691KhbVuQo4CDf2aAib0MxGowV7yDj+FCBmEYHxLXTg9Iw+gAV DIjUdp1nilsdppOD8i1ZRKiUY26baO300Ak3XUOeH/w4+JKjo/hah6zZTcAGqLZH WAG5nHBSiZ1058tclhG/ruTg2xxT5dibF+ITIPfZ55nHU/UnbjjGRYLg2+d6EL1G kVZDL5hZOKLCq+iFAL9RQY6TEYHN+8GlIhYwQZo2DSt3JjtaiCwb6ww3VWMxJyye d4dshAuWAnMsvE+I4kbYbplAFwPYu4YMVkIiKaVFhQKxlkflMURtN6pUUZkNdTRX ABCmioCwKMiwHCD7Vs0yGpIebInE0RO4vECKcP7/SbFLH81AeHxHrMtc/3tIyq3/ a+94CivznTglthS3+69YVUfuaBIMtj2gL1T0ApTR1tEy39ltKKohisLY+0jdRrzA gdnjtltnMcvSqcUt6aj0tM9TGZM16wv+HsCe9s4CsPQRgjfG5GqheWQJKDNRgTFL 2bsXQ4wTMLVYzkoPw1+eWuNJ65yrDa8ExmANY4P3C+awREEDHxCsSD+PFwzXw/l3 xT3BdHin0m1b9AXEbLD6 =v/S4 -----END PGP SIGNATURE----- --lVpPKuaoetHTs76BwgTJLd5fN2qA4F2cS-- From owner-svn-src-all@freebsd.org Wed Mar 9 22:49:07 2016 Return-Path: Delivered-To: svn-src-all@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 853C3AC9661; Wed, 9 Mar 2016 22:49:07 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from mail.made4.biz (mail.made4.biz [IPv6:2001:41d0:2:c018::1:3]) (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 50E93775; Wed, 9 Mar 2016 22:49:07 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from [176.158.145.63] (helo=magellan.dumbbell.fr) by mail.made4.biz with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86 (FreeBSD)) (envelope-from ) id 1admuf-0005ST-KD; Wed, 09 Mar 2016 23:49:05 +0100 Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms To: Adrian Chadd References: <201603082033.u28KX2OL014139@repo.freebsd.org> Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Message-ID: <56E0A861.5080603@FreeBSD.org> Date: Wed, 9 Mar 2016 23:49:05 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="CxnHUxKwvObHiwmfkQ434bR9gVEB0goXS" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:49:07 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --CxnHUxKwvObHiwmfkQ434bR9gVEB0goXS Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 09/03/2016 21:48, Adrian Chadd wrote: > Woo! >=20 > Just so its' not lost - people in irc have found power consumption has > jumped dramatically since this commit. :( Ed Maste posted a message to freebsd-x11@ with measurements for those interested. --=20 Jean-S=C3=A9bastien P=C3=A9dron --CxnHUxKwvObHiwmfkQ434bR9gVEB0goXS Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJW4KhhXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NzA4N0ZEMUFFQUUwRTEyREJDNkE2RjAz OUU5OTc2MUE1RkQ5NENDAAoJEDnpl2Gl/ZTMQ7IP/RjhvxA+o69DNAQ8jjwHvEtF V+V3FMLa5jDQsDEK8M/1zyfosC5aQ+s8An74Kq0lcqTI39RTDDZ5ULO9NWpoewKT noWDZ5fmDBUd/Ts7hlMt6jIm16j1gLLbb/oJncKvsxh6l8np4gUCI7sT5qMh+p8i PLe6/joVEFHhkM9urTvuRMlrjlQLK7yWWlp4lt168W3mtynw70WN7cf/LXyrnDJL Bpsi74aNO734BDX6UGNwkdWFMc/lDJIBVVdaUDoyFioS+iY0QMw3Z0sMZOEGCf8h p+RZdT/kL08+6hAIj3xjQ8XqXBFGq+FKocowczmAAhnsWIY5a42Vc50DpBh7bHEu t3i8dQqmCUw16QTSSQCUNJu8uuiH0m/UsULmBzpIVEv0GQl8fkHT3fWRUFAIFO6/ fkAOfecPcbZs1QAdnmAAkw51QL4caWeuIIoh2hZMgdmYHvKE/iLhwbJlP07n4ndv i6whTvI0TjPqG/hU3iCU0obVpJ53Uhm2SAsMoFIBlylpBluNMdq+KGIu1GDtbGQ3 2aRLrXyXdzN/gjQV+THijXb5LoT9+PJYIdg0S4mpWvNLkt4O/vr4tKsgAh7aj4Mf oEFlzoYK7dY8xLlv3u1uKeo7xGBc/b9jyz1/dTnTeLfD5ZRRnFX0OaVH/ysjJRpy /KTcIbDYsMA1t9EETaKz =huoj -----END PGP SIGNATURE----- --CxnHUxKwvObHiwmfkQ434bR9gVEB0goXS-- From owner-svn-src-all@freebsd.org Wed Mar 9 22:49:20 2016 Return-Path: Delivered-To: svn-src-all@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 9F191AC969F; Wed, 9 Mar 2016 22:49:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 7DA108C5; Wed, 9 Mar 2016 22:49:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 51BD612BF; Wed, 9 Mar 2016 22:49:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id DB21E19460; Wed, 9 Mar 2016 22:49:19 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id o02ITYH5DhnW; Wed, 9 Mar 2016 22:49:07 +0000 (UTC) Subject: Re: svn commit: r296587 - in head: bin/cat/tests bin/date/tests bin/dd/tests bin/expr/tests bin/ls/tests bin/mv/tests bin/pax/tests bin/pkill/tests bin/sh/tests bin/sh/tests/builtins bin/sh/tests/error... DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com B29E519453 To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603092246.u29Mk1BU094090@repo.freebsd.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E0A862.2060502@FreeBSD.org> Date: Wed, 9 Mar 2016 14:49:06 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603092246.u29Mk1BU094090@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="hqt0XKtJxhtIhIX4aSlxLNwfpoWLoEGnn" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:49:20 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --hqt0XKtJxhtIhIX4aSlxLNwfpoWLoEGnn Content-Type: multipart/mixed; boundary="Kd9v9LUQoxbP7U4frd1Eif0xwMi0Fdu0p" From: Bryan Drewery To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <56E0A862.2060502@FreeBSD.org> Subject: Re: svn commit: r296587 - in head: bin/cat/tests bin/date/tests bin/dd/tests bin/expr/tests bin/ls/tests bin/mv/tests bin/pax/tests bin/pkill/tests bin/sh/tests bin/sh/tests/builtins bin/sh/tests/error... References: <201603092246.u29Mk1BU094090@repo.freebsd.org> In-Reply-To: <201603092246.u29Mk1BU094090@repo.freebsd.org> --Kd9v9LUQoxbP7U4frd1Eif0xwMi0Fdu0p Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/9/2016 2:46 PM, Bryan Drewery wrote: > Author: bdrewery > Date: Wed Mar 9 22:46:01 2016 > New Revision: 296587 > URL: https://svnweb.freebsd.org/changeset/base/296587 >=20 > Log: > DIRDEPS_BUILD: Connect MK_TESTS. > =20 > Sponsored by: EMC / Isilon Storage Division >=20 > Added: > head/bin/cat/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/date/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/dd/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/expr/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/ls/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/mv/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/pax/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/pkill/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/builtins/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/errors/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/execution/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/expansion/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/parameters/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/parser/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sh/tests/set-e/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/sleep/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/test/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/bin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/lib/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/sbin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.bin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/arithmetic/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/arrays/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/assocs/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/begin/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/bitfields/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/buffering/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/builtinvar/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/cg/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/clauses/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/cpc/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/decls/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/docsExamples/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/drops/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/dtraceUtil/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/end/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/enum/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/error/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/exit/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/fbtprovider/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/funcs/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/grammar/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/include/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/inline/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/io/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/ip/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/java_api/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/json/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/lexer/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/llquantize/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/mdb/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/mib/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/misc/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/multiaggs/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/offsetof/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/operators/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/pid/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/plockstat/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/pointers/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/pragma/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/predicates/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/preprocessor/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/print/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/printa/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/printf/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/privs/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/probes/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/proc/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/profile-n/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/providers/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/raise/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/rates/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/safety/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/scalars/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/sched/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/scripting/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/sdt/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/sizeof/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/speculation/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/stability/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/stack/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/stackdepth/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/stop/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/strlen/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/strtoll/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/struct/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/syscall/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/tick-n/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/trace/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/tracemem/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/translators/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/typedef/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/types/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/uctf/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/union/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/usdt/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/ustack/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/vars/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/dtrace/tests/common/version/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/cddl/usr.sbin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/gnu/lib/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/gnu/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/gnu/usr.bin/diff/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/gnu/usr.bin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/atf/libatf-c++/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/atf/libatf-c++/tests/detail/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/atf/libatf-c/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/atf/libatf-c/tests/detail/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/atf/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/atf/tests/test-programs/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libarchive/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/c063/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/db/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/gen/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/gen/execve/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/gen/posix_spawn/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/hash/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/inet/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/locale/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/net/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/nss/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/regex/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/resolv/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/rpc/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/setjmp/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/ssp/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/stdio/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/stdlib/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/string/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/sys/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/termios/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/time/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/tls/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/tls_dso/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libc/tests/ttyio/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libmp/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libnv/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libpam/libpam/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libproc/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/librt/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libthr/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libthr/tests/dlopen/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libthr/tests/dlopen/dso/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libutil/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/libxo/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/msun/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/lib/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/libexec/atf/atf-check/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/libexec/atf/atf-sh/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/libexec/atf/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/libexec/rtld-elf/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/libexec/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/sbin/devd/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/sbin/dhclient/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/sbin/growfs/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/sbin/ifconfig/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/sbin/mdconfig/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/sbin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/secure/lib/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/secure/libexec/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/secure/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/secure/usr.bin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/secure/usr.sbin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/share/examples/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/share/examples/tests/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/share/examples/tests/tests/atf/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/share/examples/tests/tests/plain/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/share/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/targets/pseudo/tests/ > head/targets/pseudo/tests/Makefile (contents, props changed) > head/targets/pseudo/tests/Makefile.depend (contents, props changed)= > head/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/etc/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/etc/rc.d/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/acl/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/aio/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/fifo/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/file/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/concat/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/eli/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/gate/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/mirror/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/nop/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/raid3/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/shsec/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/stripe/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/geom/class/uzip/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/kern/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/kern/acct/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/kern/execve/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/kern/pipe/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/kqueue/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/mac/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/mac/bsdextended/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/mac/portacl/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/mqueue/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/netinet/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/opencrypto/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/chflags/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/chmod/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/chown/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/ftruncate/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/granular/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/link/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/mkdir/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/mkfifo/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/mknod/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/open/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/rename/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/rmdir/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/symlink/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/truncate/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/pjdfstest/tests/unlink/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/posixshm/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/vfs/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/tests/sys/vm/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/apply/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/basename/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/archives/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/archives/fmt_44bsd/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/archives/fmt_44bsd_mod/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/archives/fmt_oldbsd/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/basic/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/basic/t0/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/basic/t1/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/basic/t2/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/basic/t3/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/execution/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/execution/ellipsis/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/execution/empty/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/execution/joberr/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/execution/plus/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/shell/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/shell/builtin/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/shell/meta/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/shell/path/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/shell/path_select/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/shell/replace/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/shell/select/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/suffixes/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/suffixes/basic/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/suffixes/src_wild1/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/suffixes/src_wild2/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/syntax/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/syntax/directive-t0/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/syntax/enl/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/syntax/funny-targets/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/syntax/semi/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t0/2/1/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t0/2/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t0/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t0/mk/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t1/2/1/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t1/2/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t1/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t1/mk/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t2/2/1/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t2/2/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t2/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/sysmk/t2/mk/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/variables/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/variables/modifier_M/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/variables/modifier_t/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/variables/opt_V/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/bmake/tests/variables/t0/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/calendar/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/cmp/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/col/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/comm/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/cpio/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/cut/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/dirname/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/file2c/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/grep/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/gzip/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/ident/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/join/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/jot/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/lastcomm/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/limits/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/m4/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/mkimg/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/ncal/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/printf/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/sed/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/sed/tests/regress.multitest.out/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/soelim/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/tar/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/timeout/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/tr/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/truncate/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/units/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/uudecode/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/uuencode/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/xargs/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/xo/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.bin/yacc/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/chown/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/etcupdate/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/fstyp/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/makefs/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/newsyslog/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/nmtree/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/pw/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/rpcbind/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/sa/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > head/usr.sbin/tests/Makefile.depend > - copied, changed from r296586, head/lib/libcrypt/tests/Makefile.d= epend > Modified: git svn dcommit really messed this up despite having diff.renames=3Dfalse= =2E --=20 Regards, Bryan Drewery --Kd9v9LUQoxbP7U4frd1Eif0xwMi0Fdu0p-- --hqt0XKtJxhtIhIX4aSlxLNwfpoWLoEGnn Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW4KhiAAoJEDXXcbtuRpfPB/4IAN6m1Hfo9EWf9spjjmBzcU3U oQF9FUoiPLGAqiFf5kEeE6SZjWTYUO1LhBMc7RpKZjeRPMUmIt553NmLG132U7FQ TYKvSL9VNkLlLgwezxOniM59vYFUX6ATebnWvXkIqxWgMfJOllfMmSx1WOUu/1pS rub7NyviLHrUjfxB1t9sxUzuxPpVA9Pv8kHJpIAGQoEPdz7ALd1dXOq1A3YN4EaU VZyDneKzpxjGUoCzf7nAJFlRVEDx+hQY7IvIACJ58gUbhcnQPIc7BQj37tFhiVL8 t7Gj3PxdGFZ2TlLRIkcZGpR7sGq8ZTsywGFcNoKxGjghgFCPQv5+YQlEcAnwViY= =wjc6 -----END PGP SIGNATURE----- --hqt0XKtJxhtIhIX4aSlxLNwfpoWLoEGnn-- From owner-svn-src-all@freebsd.org Wed Mar 9 22:59:51 2016 Return-Path: Delivered-To: svn-src-all@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 784D0AC9BA3; Wed, 9 Mar 2016 22:59:51 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 60670BA; Wed, 9 Mar 2016 22:59:51 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 5737916D9; Wed, 9 Mar 2016 22:59:51 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 0BE82194AD; Wed, 9 Mar 2016 22:59:51 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id ljuBrDqu93AJ; Wed, 9 Mar 2016 22:59:48 +0000 (UTC) Subject: Re: svn commit: r296587 - in head: bin/cat/tests bin/date/tests bin/dd/tests bin/expr/tests bin/ls/tests bin/mv/tests bin/pax/tests bin/pkill/tests bin/sh/tests bin/sh/tests/builtins bin/sh/tests/error... DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 360AC194A7 To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603092246.u29Mk1BU094090@repo.freebsd.org> <56E0A862.2060502@FreeBSD.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E0AAE6.3020108@FreeBSD.org> Date: Wed, 9 Mar 2016 14:59:50 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <56E0A862.2060502@FreeBSD.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="bJB3ncbKNiJHqVF19ORbq4escDgA6mlQI" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 22:59:51 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --bJB3ncbKNiJHqVF19ORbq4escDgA6mlQI Content-Type: multipart/mixed; boundary="AXJRdAT06bgEwxpIi4MfcqOmf10Serh8w" From: Bryan Drewery To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <56E0AAE6.3020108@FreeBSD.org> Subject: Re: svn commit: r296587 - in head: bin/cat/tests bin/date/tests bin/dd/tests bin/expr/tests bin/ls/tests bin/mv/tests bin/pax/tests bin/pkill/tests bin/sh/tests bin/sh/tests/builtins bin/sh/tests/error... References: <201603092246.u29Mk1BU094090@repo.freebsd.org> <56E0A862.2060502@FreeBSD.org> In-Reply-To: <56E0A862.2060502@FreeBSD.org> --AXJRdAT06bgEwxpIi4MfcqOmf10Serh8w Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/9/2016 2:49 PM, Bryan Drewery wrote: > git svn dcommit really messed this up despite having diff.renames=3Dfal= se. I think it was due to having diff.renameLimit=3D0 in my config as well. Using dcommit -l1 should avoid this. I don't think anyone really cares about the history on these files so I will avoid more spam for fixing it. --=20 Regards, Bryan Drewery --AXJRdAT06bgEwxpIi4MfcqOmf10Serh8w-- --bJB3ncbKNiJHqVF19ORbq4escDgA6mlQI Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW4KrmAAoJEDXXcbtuRpfPAHoH/jIdryCsQtx8gvhfoCmJZmtW PXmBazW5sT1KN6GV/36V7wwJ0Bq6LG2jZ9vHamWvLSwtDD/SUhsONO/PuP/PKxYY clCho0wFEOSG7FE9czvm7Uruep1kJIWCVCKwrkjRxX4nw31H2k4Th8diyx12Xrcb OehX45h+cyFcdnudTaMjWKdFS7NXl1Z2dmlxt1jGEk24lNL6QA8bu96ghrtYa/Xh oZq/fq1rhfveVKjGQgXIKW9FxWBzxMchh+xcluXCsAKslC1dNeXaqZPL8OIlDb3R wcMLE1pV6K5JsRAyqD130FSYauToSMSiKkaZBE+TTAOhZMi0XYCjiMMReSlc/3s= =yYLv -----END PGP SIGNATURE----- --bJB3ncbKNiJHqVF19ORbq4escDgA6mlQI-- From owner-svn-src-all@freebsd.org Wed Mar 9 23:10:41 2016 Return-Path: Delivered-To: svn-src-all@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 5868EACA0B8; Wed, 9 Mar 2016 23:10:41 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: from mail-qg0-x233.google.com (mail-qg0-x233.google.com [IPv6:2607:f8b0:400d:c04::233]) (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 0EFB8984; Wed, 9 Mar 2016 23:10:41 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: by mail-qg0-x233.google.com with SMTP id y89so55960774qge.2; Wed, 09 Mar 2016 15:10:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:mime-version:from:in-reply-to:date:cc:message-id :references:to; bh=2W+SuQdoLoZoqKSyCFSgXR6DM4EnKB3wPzfMqQgjTMs=; b=WnLNfHSw0Hj0YUIE2GwqHEJV/YaaDtJFumLjxq5zYLgmoVHw0IoeGN5dCjaZxGcRu6 tcQHUL19msCCNgwRvvitMDp4QgNjmtocLfWLnbcFVfjjKaf/WIk8zFO7ToO1LTxUyCSN valPUdBmotoemnDpJBhHAzZavxT7GHTSjemQwdviZvhWtI6xnHaUVhDRMmZ5oEXpWIIs ZD7rWOL7kK5O33/2WNl4RtjljSuNhN9Jb5sbqOoKq0AgzpmM4HDIRYzLBK6mXBhyv23x kgPC1WX39YYOayoE+BX1UR8W58f3WWKAcbvFYfMU2gHCzNpGpnE1sqQc+rkXvYfglPNz uPRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:from:in-reply-to :date:cc:message-id:references:to; bh=2W+SuQdoLoZoqKSyCFSgXR6DM4EnKB3wPzfMqQgjTMs=; b=H29nVFGsGdABx8aQBOKqUBgKMVFyT353TCP02VwIzpNDhbfTMX61gWXnaTcpH1sxTS zZGWIE5s/YY+KDeQIMNbsdxGbFn7UP4BmJ9XiglsunilIVClzqMHojezEynxN8eBm4V7 me22HA8JTNnmLD98Cybh6++HfNpK0lCcZ7O/Ens3zWeLQNtkC4N6cF/7hb/bWwK6gGp3 76G9ZgCmzAbx8FOHBL2kKQWDFySNMZCxzocv6B6GDXexD8de1YC5Nn+W9knnQESlBoQn QhFECXC38urhAHK1fZxN1TQVomFIMKqET63R5YRh5apDlJRQDp+oeM8/iqDaBUA3sscx b+3w== X-Gm-Message-State: AD7BkJLF/QivaJQvtJr13XRYRFSRJqLT3NkwZdkVhEYDDj7RWfvT5SIvRzRx5RPE/NxxMQ== X-Received: by 10.140.237.204 with SMTP id i195mr383253qhc.55.1457565040084; Wed, 09 Mar 2016 15:10:40 -0800 (PST) Received: from macbook-pro.home ([191.205.106.121]) by smtp.gmail.com with ESMTPSA id d65sm439726qgf.30.2016.03.09.15.10.37 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Mar 2016 15:10:39 -0800 (PST) Sender: Renato Botelho Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_BBA5EDBD-D793-4B4C-94C1-886B2202191C"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: Renato Botelho In-Reply-To: <56E0A814.5040008@FreeBSD.org> Date: Wed, 9 Mar 2016 20:10:34 -0300 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> <56E0A814.5040008@FreeBSD.org> To: =?utf-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 23:10:41 -0000 --Apple-Mail=_BBA5EDBD-D793-4B4C-94C1-886B2202191C Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 9, 2016, at 19:47, Jean-S=C3=A9bastien P=C3=A9dron = wrote: >=20 > On 09/03/2016 16:58, Renato Botelho wrote: >> After revert it to r296547 and manually apply ZFS fix I can >> successfully load i915kms during boot. >=20 > Yeah, I never test to load DRM drivers from /boot/loader.conf. I = confirm > it doesn't work with Haswell at least. I have no idea how to debug = this. >=20 > Is it sufficient for you to load the driver from /etc/rc.conf instead? > You can try the following line: > kld_list=3D"i915kms" >=20 > It achieves the same result, but it's faster to boot and works. Didn=E2=80=99t know about it, I=E2=80=99ll start using it and will let = you know. Thanks! -- Renato Botelho --Apple-Mail=_BBA5EDBD-D793-4B4C-94C1-886B2202191C Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIcBAEBCgAGBQJW4K1qAAoJEPHw56GfYleQJJUP/3gW2mybtBn4Krrrimf4DXpX t94zis+3X5gbxF05oSUcC1cK6MhU46RF9RvcH4Awl9CJMCektzgmidiHFZndyQhC LAIQxykwEUQhdaXvAmxBpuwdFlKjUEbqkedoMw7d/JaQzwKEf13FwLIwvfMMxYEE yon31I750fBoV8/q3K+OYD5AfH13fRI9/g9q1qpWnSZdUvBhm9u6uYEL3SB8VC2D KvcO6zS2I0AxEG7Fq3zDCblZ5JJ6P9gsqwqeYexggdOyLG0vGirarKmachlVsA+t hHm+lWZQGLXJnaFt/0hFcqZ5tEK8NnK29hjafSst47nQdaAC/NX4WkU/kpmxQkzL 1SXGuqpOoPuflSK52FnT6OX/Qq3iXXBAaLk/GvJ4LEygUWGTlglahr2Ikv+zQgT1 sVuKoPUldWrzrynCzd8+jawcXLp6V5FDMtLIn9qZXh1kvgJtct+ZzzsoT3m9YbXp J4zC3P+0+YuSgJ3XQDxpzUsKvga+Elx0GxRfH9IDHXHpFvYZ0QOFjSdPeXgZrdJR 1vd6X0KlhvhNrCSAMUqZoQd6LJJcCWcFCQZ75t4gIiYwFADnTsexvgxb78napvyq vVeAcVPYMwyBndMNwGu817IMZ+fIvtaLiol1uhlLFX5ISmACmh0Yo/ZsESnSDJd/ InV1jHWig/qJq0APu2mx =GlSq -----END PGP SIGNATURE----- --Apple-Mail=_BBA5EDBD-D793-4B4C-94C1-886B2202191C-- From owner-svn-src-all@freebsd.org Thu Mar 10 00:27:11 2016 Return-Path: Delivered-To: svn-src-all@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 BF4F7AC9FBA; Thu, 10 Mar 2016 00:27:11 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9242E1389; Thu, 10 Mar 2016 00:27:11 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A0RAkW024925; Thu, 10 Mar 2016 00:27:10 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A0RA1G024924; Thu, 10 Mar 2016 00:27:10 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <201603100027.u2A0RA1G024924@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Thu, 10 Mar 2016 00:27:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296588 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 00:27:11 -0000 Author: tuexen Date: Thu Mar 10 00:27:10 2016 New Revision: 296588 URL: https://svnweb.freebsd.org/changeset/base/296588 Log: Actually send a asconf chunk, not only queue one. MFC after: 3 days Modified: head/sys/netinet/sctp_usrreq.c Modified: head/sys/netinet/sctp_usrreq.c ============================================================================== --- head/sys/netinet/sctp_usrreq.c Wed Mar 9 22:46:01 2016 (r296587) +++ head/sys/netinet/sctp_usrreq.c Thu Mar 10 00:27:10 2016 (r296588) @@ -5862,6 +5862,7 @@ sctp_setopt(struct socket *so, int optna SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); error = EINVAL; } + sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_SOCKOPT, SCTP_SO_LOCKED); out_of_it: SCTP_TCB_UNLOCK(stcb); } else { From owner-svn-src-all@freebsd.org Thu Mar 10 00:27:29 2016 Return-Path: Delivered-To: svn-src-all@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 059AFAC8002; Thu, 10 Mar 2016 00:27:29 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: from mail-qg0-x22c.google.com (mail-qg0-x22c.google.com [IPv6:2607:f8b0:400d:c04::22c]) (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 AFCC41553; Thu, 10 Mar 2016 00:27:28 +0000 (UTC) (envelope-from garga.bsd@gmail.com) Received: by mail-qg0-x22c.google.com with SMTP id u110so57385448qge.3; Wed, 09 Mar 2016 16:27:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:mime-version:from:in-reply-to:date:cc:message-id :references:to; bh=ZZ5inGK/PJxPRtEfkgy0XXPbnS8yMkacQLaRfTqpAFQ=; b=uHDKkp82U144i85UhwRt1lzE3eI8Wr7byVsMDJETxvRW0RNfUS5iD8Bqdg0bB7lRh4 UwyWdJa7srfE7PjEP1zBtbIIJ9+f34LPntUr61qpOeVpp6t7+7ns8b6lzpUdrEeAo/bY 12+nX/QzFLl614musgRUr6mRaAyC3givCOVET8dCLsa/XXrDdqxnvbu1s8J5jtKNpVQj RiMQ7e3p964QHrCDsZVecHAg3fcr++kcYGkBd2dNCe87Okk3ZUfv0rSzI6h3gp9QIXdQ 62XKF8J1rbWY2Y9ARB/Y5iQS8Lq8q4Po4DW4QS9k4nZYodraew55xv1dlFdU0swzISuR zzdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:from:in-reply-to :date:cc:message-id:references:to; bh=ZZ5inGK/PJxPRtEfkgy0XXPbnS8yMkacQLaRfTqpAFQ=; b=B+zATA5sohgP4RbjWfWO1v62uT9w/81R84qt4nLwakwihNixLahiLQDIUvSzHKQ0Jc LIoQ3QCJ5sPNySsFZW/PmyLDqpcnY1XiwTLZr+GJvOhkzklD9p4uLnu6C+vWY58RUVu2 xcGLQq+hzqJAN+xEACACMgYIqaTDKK04z/HPnnxOItbTq1WaSBy0LY8P/n7Nx5hzJ8zc pTYNTYqjbA07NI6nJHMAz8yK7xcowtJf1LsntFc8dPMWmmQI07kRFPrVeIZ28OO68zTU CVxHbTCcpCn88r42YdVV8pi3Ezi5ap8q7uikJxrIk9jZp7grzrhzkA8HgmkHeW4ktjyl RJEQ== X-Gm-Message-State: AD7BkJIUQgQxWD4ZHSKyozKOO8FHu1V4yGPkfJOAN4VUMc9/ZCoKQ5DKI6/MEVASpUBGiw== X-Received: by 10.140.216.212 with SMTP id m203mr692676qhb.37.1457569647750; Wed, 09 Mar 2016 16:27:27 -0800 (PST) Received: from macbook-pro.home ([191.205.106.121]) by smtp.gmail.com with ESMTPSA id l33sm584324qge.11.2016.03.09.16.27.25 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 09 Mar 2016 16:27:26 -0800 (PST) Sender: Renato Botelho Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_898EF1A8-E872-4171-A78A-927F0FEBAC0C"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: Renato Botelho In-Reply-To: Date: Wed, 9 Mar 2016 21:27:22 -0300 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: References: <201603082033.u28KX2OL014139@repo.freebsd.org> <56E003F2.2040908@FreeBSD.org> <177D2139-54D7-4C73-BFCB-7E5795E1A996@FreeBSD.org> <56E0A814.5040008@FreeBSD.org> To: =?utf-8?Q?Jean-S=C3=A9bastien_P=C3=A9dron?= X-Mailer: Apple Mail (2.3112) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 00:27:29 -0000 --Apple-Mail=_898EF1A8-E872-4171-A78A-927F0FEBAC0C Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Mar 9, 2016, at 20:10, Renato Botelho wrote: >=20 >> On Mar 9, 2016, at 19:47, Jean-S=C3=A9bastien P=C3=A9dron = wrote: >>=20 >> On 09/03/2016 16:58, Renato Botelho wrote: >>> After revert it to r296547 and manually apply ZFS fix I can >>> successfully load i915kms during boot. >>=20 >> Yeah, I never test to load DRM drivers from /boot/loader.conf. I = confirm >> it doesn't work with Haswell at least. I have no idea how to debug = this. >>=20 >> Is it sufficient for you to load the driver from /etc/rc.conf = instead? >> You can try the following line: >> kld_list=3D"i915kms" >>=20 >> It achieves the same result, but it's faster to boot and works. >=20 > Didn=E2=80=99t know about it, I=E2=80=99ll start using it and will let = you know. Thanks! It works, thanks! -- Renato Botelho --Apple-Mail=_898EF1A8-E872-4171-A78A-927F0FEBAC0C Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIcBAEBCgAGBQJW4L9qAAoJEPHw56GfYleQkw4P+wTElqIspjirHFYDGeSALOtL ti2aMRXsFw3YOjw2baDZM4N5DGpzNQ5IxGLbju3a/FiLAJ1nD/qeG3B+mJDnUsTh sTVeXrVhF4/j5cfNeNrETaW2yf0ktFEfoa6+IJiaDMwF+kFwC1KMBRRh8YpRonAo IVuxFeI2KnqTYtd+pg+SAblAPfWLKZ59zveJ+3a/896JFr69Bq6+59cNRyjEUEA8 HTATJbLyD4O5Kck1xAtQubEcOQ04jPUQlxqPHrB/ChxbesXs82WeW6EEaLgZbLCn IsQ/zGegn6bJFrdumSPjf5mEuAmR8jkg5UR4dg0sxf7Cmrw9OwM3ZrC747Ek098c MZXIM7ZmRqGnVdapRthR4g6m134u0pcaqJsw47Hbp/Fu4Qrs6pVURsw+KpjE+/13 9//XCZsZib2zE3x3xccV59ixIQvYDlWg6LLvBGTOKHajcq624xtZ21Ad4wZNVNy6 x+qycCI8OMHjbjmXrnyzcxJyGyYV/ywMBMEPCCAK75JGJ+8dT97CO7uwFfmkyqUT DyNkCcCRA8SHqvQ92wJ7SLH7OQFnmVEQwXk+yzxCOaJFMNsO9kAfRvLaqe06VrfD qB9cJT+x+E578EUc2zDrmfa5xOZcDYucv3FuVHKTLqNwq8O3eShsFNdhhvgMrSnr hoMtatWBCiLU+X2xJqb1 =20c3 -----END PGP SIGNATURE----- --Apple-Mail=_898EF1A8-E872-4171-A78A-927F0FEBAC0C-- From owner-svn-src-all@freebsd.org Thu Mar 10 00:33:07 2016 Return-Path: Delivered-To: svn-src-all@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 7C95EAC828C; Thu, 10 Mar 2016 00:33:07 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 55AC51A8C; Thu, 10 Mar 2016 00:33:07 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A0X65x027772; Thu, 10 Mar 2016 00:33:06 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A0X6uN027771; Thu, 10 Mar 2016 00:33:06 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100033.u2A0X6uN027771@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 00:33:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296589 - head/sys/dev/fdc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 00:33:07 -0000 Author: imp Date: Thu Mar 10 00:33:06 2016 New Revision: 296589 URL: https://svnweb.freebsd.org/changeset/base/296589 Log: Stop assuming that bio_cmd is a bit field. Differential Revision: https://reviews.freebsd.org/D5587 Modified: head/sys/dev/fdc/fdc.c Modified: head/sys/dev/fdc/fdc.c ============================================================================== --- head/sys/dev/fdc/fdc.c Thu Mar 10 00:27:10 2016 (r296588) +++ head/sys/dev/fdc/fdc.c Thu Mar 10 00:33:06 2016 (r296589) @@ -941,7 +941,7 @@ fdc_worker(struct fdc_data *fdc) /* Disable ISADMA if we bailed while it was active */ if (fd != NULL && (fd->flags & FD_ISADMA)) { isa_dmadone( - bp->bio_cmd & BIO_READ ? ISADMA_READ : ISADMA_WRITE, + bp->bio_cmd == BIO_READ ? ISADMA_READ : ISADMA_WRITE, fd->fd_ioptr, fd->fd_iosize, fdc->dmachan); mtx_lock(&fdc->fdc_mtx); fd->flags &= ~FD_ISADMA; @@ -983,7 +983,7 @@ fdc_worker(struct fdc_data *fdc) fd = fdc->fd = bp->bio_driver1; fdc->retry = 0; fd->fd_ioptr = bp->bio_data; - if (bp->bio_cmd & BIO_FMT) { + if (bp->bio_cmd == BIO_FMT) { i = offsetof(struct fd_formb, fd_formb_cylno(0)); fd->fd_ioptr += i; fd->fd_iosize = bp->bio_length - i; @@ -1021,7 +1021,7 @@ fdc_worker(struct fdc_data *fdc) fdctl_wr(fdc, fd->ft->trans); #endif - if (bp->bio_cmd & BIO_PROBE) { + if (bp->bio_cmd == BIO_PROBE) { if ((!(device_get_flags(fd->dev) & FD_NO_CHLINE) && #ifndef PC98 !(fdin_rd(fdc) & FDI_DCHG) && @@ -1059,7 +1059,7 @@ fdc_worker(struct fdc_data *fdc) #endif /* Check if the floppy is write-protected */ - if (bp->bio_cmd & (BIO_FMT | BIO_WRITE)) { + if (bp->bio_cmd == BIO_FMT || bp->bio_cmd == BIO_WRITE) { retry_line = __LINE__; if(fdc_sense_drive(fdc, &st3) != 0) return (1); @@ -1078,10 +1078,11 @@ fdc_worker(struct fdc_data *fdc) sec = sec % fd->ft->sectrac + 1; /* If everything is going swimmingly, use multisector xfer */ - if (fdc->retry == 0 && bp->bio_cmd & (BIO_READ|BIO_WRITE)) { + if (fdc->retry == 0 && + (bp->bio_cmd == BIO_READ || bp->bio_cmd == BIO_WRITE)) { fd->fd_iosize = imin(nsect * fd->sectorsize, bp->bio_resid); nsect = fd->fd_iosize / fd->sectorsize; - } else if (bp->bio_cmd & (BIO_READ|BIO_WRITE)) { + } else if (bp->bio_cmd == BIO_READ || bp->bio_cmd == BIO_WRITE) { fd->fd_iosize = fd->sectorsize; nsect = 1; } @@ -1141,10 +1142,12 @@ fdc_worker(struct fdc_data *fdc) fd->fd_ioptr, fdc->retry); /* Setup ISADMA if we need it and have it */ - if ((bp->bio_cmd & (BIO_READ|BIO_WRITE|BIO_FMT)) + if ((bp->bio_cmd == BIO_READ || + bp->bio_cmd == BIO_WRITE || + bp->bio_cmd == BIO_FMT) && !(fdc->flags & FDC_NODMA)) { isa_dmastart( - bp->bio_cmd & BIO_READ ? ISADMA_READ : ISADMA_WRITE, + bp->bio_cmd == BIO_READ ? ISADMA_READ : ISADMA_WRITE, fd->fd_ioptr, fd->fd_iosize, fdc->dmachan); mtx_lock(&fdc->fdc_mtx); fd->flags |= FD_ISADMA; @@ -1153,9 +1156,12 @@ fdc_worker(struct fdc_data *fdc) /* Do PIO if we have to */ if (fdc->flags & FDC_NODMA) { - if (bp->bio_cmd & (BIO_READ|BIO_WRITE|BIO_FMT)) + if (bp->bio_cmd == BIO_READ || + bp->bio_cmd == BIO_WRITE || + bp->bio_cmd == BIO_FMT) fdbcdr_wr(fdc, 1, fd->fd_iosize); - if (bp->bio_cmd & (BIO_WRITE|BIO_FMT)) + if (bp->bio_cmd == BIO_WRITE || + bp->bio_cmd == BIO_FMT) fdc_pio(fdc); } @@ -1218,13 +1224,13 @@ fdc_worker(struct fdc_data *fdc) i = tsleep(fdc, PRIBIO, "fddata", hz); /* PIO if the read looks good */ - if (i == 0 && (fdc->flags & FDC_NODMA) && (bp->bio_cmd & BIO_READ)) + if (i == 0 && (fdc->flags & FDC_NODMA) && (bp->bio_cmd == BIO_READ)) fdc_pio(fdc); /* Finish DMA */ if (fd->flags & FD_ISADMA) { isa_dmadone( - bp->bio_cmd & BIO_READ ? ISADMA_READ : ISADMA_WRITE, + bp->bio_cmd == BIO_READ ? ISADMA_READ : ISADMA_WRITE, fd->fd_ioptr, fd->fd_iosize, fdc->dmachan); mtx_lock(&fdc->fdc_mtx); fd->flags &= ~FD_ISADMA; @@ -1668,7 +1674,7 @@ fd_start(struct bio *bp) fd = bp->bio_to->geom->softc; fdc = fd->fdc; bp->bio_driver1 = fd; - if (bp->bio_cmd & BIO_GETATTR) { + if (bp->bio_cmd == BIO_GETATTR) { if (g_handleattr_int(bp, "GEOM::fwsectors", fd->ft->sectrac)) return; if (g_handleattr_int(bp, "GEOM::fwheads", fd->ft->heads)) @@ -1676,7 +1682,7 @@ fd_start(struct bio *bp) g_io_deliver(bp, ENOIOCTL); return; } - if (!(bp->bio_cmd & (BIO_READ|BIO_WRITE))) { + if (!(bp->bio_cmd == BIO_READ || bp->bio_cmd == BIO_WRITE)) { g_io_deliver(bp, EOPNOTSUPP); return; } From owner-svn-src-all@freebsd.org Thu Mar 10 00:36:40 2016 Return-Path: Delivered-To: svn-src-all@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 40806AC851E; Thu, 10 Mar 2016 00:36:40 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 134311D99; Thu, 10 Mar 2016 00:36:40 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A0adWq028286; Thu, 10 Mar 2016 00:36:39 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A0ad3i028284; Thu, 10 Mar 2016 00:36:39 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100036.u2A0ad3i028284@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 00:36:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296590 - in head/sys: dev/fdc sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 00:36:40 -0000 Author: imp Date: Thu Mar 10 00:36:38 2016 New Revision: 296590 URL: https://svnweb.freebsd.org/changeset/base/296590 Log: Add raw RX-50 support. These are 400k single sided disks with 80 tracks and 10 sectors per track. More exotic RX-50 types not supported, nor is there support for de-interleaving the first two tracks where the physical sectors are 0 1 2 3 4 5 6 7 8 9, but they should be interpreted as 0 5 1 6 2 7 3 8 4 9. This is purely to read the media with dd. The FAT that's on these disks won't work with msdosfs anyway. Modified: head/sys/dev/fdc/fdc.c head/sys/sys/fdcio.h Modified: head/sys/dev/fdc/fdc.c ============================================================================== --- head/sys/dev/fdc/fdc.c Thu Mar 10 00:33:06 2016 (r296589) +++ head/sys/dev/fdc/fdc.c Thu Mar 10 00:36:38 2016 (r296590) @@ -155,6 +155,7 @@ static struct fd_type fd_searchlist_12m[ { FDF_5_1230 | FL_AUTO }, #else { FDF_5_1200 | FL_AUTO }, + { FDF_5_400 | FL_AUTO }, { FDF_5_360 | FL_2STEP | FL_AUTO}, #endif { 0 } Modified: head/sys/sys/fdcio.h ============================================================================== --- head/sys/sys/fdcio.h Thu Mar 10 00:33:06 2016 (r296589) +++ head/sys/sys/fdcio.h Thu Mar 10 00:36:38 2016 (r296590) @@ -209,6 +209,7 @@ enum fd_drivetype { #define FDF_5_800 10,2,0xFF,0x10,80,0,FDC_300KBPS,2,0x2e,1,0,FL_MFM #define FDF_5_720 9,2,0xFF,0x20,80,0,FDC_300KBPS,2,0x50,1,0,FL_MFM #define FDF_5_640 8,2,0xFF,0x2A,80,0,FDC_300KBPS,2,0x50,1,0,FL_MFM +#define FDF_5_400 10,2,0xFF,0x10,80,0,FDC_300KBPS,1,0x2e,1,0,FL_MFM /* RX50 */ #define FDF_5_360 9,2,0xFF,0x23,40,0,FDC_300KBPS,2,0x50,1,0,FL_MFM /* XXX: 0x2a ? */ #endif From owner-svn-src-all@freebsd.org Thu Mar 10 00:36:46 2016 Return-Path: Delivered-To: svn-src-all@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 F0085AC855E; Thu, 10 Mar 2016 00:36:46 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C30A61EDF; Thu, 10 Mar 2016 00:36:46 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A0aj3g028348; Thu, 10 Mar 2016 00:36:45 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A0ajnK028347; Thu, 10 Mar 2016 00:36:45 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100036.u2A0ajnK028347@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 00:36:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296591 - head/sys/dev/firewire X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 00:36:47 -0000 Author: imp Date: Thu Mar 10 00:36:45 2016 New Revision: 296591 URL: https://svnweb.freebsd.org/changeset/base/296591 Log: Don't assume bio_cmd is a bit field. Differential Revision: https://reviews.freebsd.org/D5594 Modified: head/sys/dev/firewire/fwmem.c Modified: head/sys/dev/firewire/fwmem.c ============================================================================== --- head/sys/dev/firewire/fwmem.c Thu Mar 10 00:36:38 2016 (r296590) +++ head/sys/dev/firewire/fwmem.c Thu Mar 10 00:36:45 2016 (r296591) @@ -364,7 +364,7 @@ fwmem_strategy(struct bio *bp) } iolen = MIN(bp->bio_bcount, MAXLEN); - if ((bp->bio_cmd & BIO_READ) == BIO_READ) { + if (bp->bio_cmd == BIO_READ) { if (iolen == 4 && (bp->bio_offset & 3) == 0) xfer = fwmem_read_quad(fwdev, (void *)bp, fwmem_speed, From owner-svn-src-all@freebsd.org Thu Mar 10 00:36:53 2016 Return-Path: Delivered-To: svn-src-all@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 E9BFCAC859B; Thu, 10 Mar 2016 00:36:53 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BB5338F; Thu, 10 Mar 2016 00:36:53 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A0aqXj028409; Thu, 10 Mar 2016 00:36:52 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A0aqRo028408; Thu, 10 Mar 2016 00:36:52 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100036.u2A0aqRo028408@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 00:36:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296592 - head/sys/dev/amr X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 00:36:54 -0000 Author: imp Date: Thu Mar 10 00:36:52 2016 New Revision: 296592 URL: https://svnweb.freebsd.org/changeset/base/296592 Log: Don't assume that bio_cmd is a bitfield. Differential revision: https://reviews.freebsd.org/D5590 Modified: head/sys/dev/amr/amr.c Modified: head/sys/dev/amr/amr.c ============================================================================== --- head/sys/dev/amr/amr.c Thu Mar 10 00:36:45 2016 (r296591) +++ head/sys/dev/amr/amr.c Thu Mar 10 00:36:52 2016 (r296592) @@ -1319,7 +1319,7 @@ amr_bio_command(struct amr_softc *sc, st blkcount = (bio->bio_bcount + AMR_BLKSIZE - 1) / AMR_BLKSIZE; ac->ac_mailbox.mb_command = cmd; - if (bio->bio_cmd & (BIO_READ|BIO_WRITE)) { + if (bio->bio_cmd == BIO_READ || bio->bio_cmd == BIO_WRITE) { ac->ac_mailbox.mb_blkcount = blkcount; ac->ac_mailbox.mb_lba = bio->bio_pblkno; if ((bio->bio_pblkno + blkcount) > sc->amr_drive[driveno].al_size) { From owner-svn-src-all@freebsd.org Thu Mar 10 01:56:21 2016 Return-Path: Delivered-To: svn-src-all@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 82BFCACA67A; Thu, 10 Mar 2016 01:56:21 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-yw0-f179.google.com (mail-yw0-f179.google.com [209.85.161.179]) (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 4C008DB3; Thu, 10 Mar 2016 01:56:20 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-yw0-f179.google.com with SMTP id d65so56219961ywb.0; Wed, 09 Mar 2016 17:56:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:reply-to:in-reply-to:references :date:message-id:subject:from:to:cc; bh=nknFPukYWxHATIFUVMZWpq8t+evQkb6ES+aaDG4VfW4=; b=KYOrs4TFkOz5BSUULIq3TkRZ95VYgJBkr+7cbTJ9UDgKqjuNYEB98uV9gC7gbFNUd+ r+LjnEzWG1pGkl73i/sLwy/J4CouhjYOkqse34E1lVbfHZJilThbDh2ZcSjSW9hILzrM v87+c5UxzbkwlZCN3wNS1Ry+CnHkbNZ4xH+f3RzGdvctFK3olii2KNeJUXgT/x3i50zx ak7OXUVSYFy/IYMgvKvFOB3lsoAr+zDNIRMFkx5JNtK2JaMT9ZJUM0eRbViwWKBNRz5y ft8M5p6vHJL2dDUe+BzFSaf+ESETbuJ0J9OqMtCfm1GFAYESCnQNHYE4VPJdXWqCzAjv JZDA== X-Gm-Message-State: AD7BkJIyoMLRR8HLKWtvKzfxjcIeD9P7sTsZoBXXhS7vQLiUgdX9iuHJTEQxuy+t6WmQ6g== X-Received: by 10.13.195.196 with SMTP id f187mr501517ywd.196.1457573462188; Wed, 09 Mar 2016 17:31:02 -0800 (PST) Received: from mail-yw0-f171.google.com (mail-yw0-f171.google.com. [209.85.161.171]) by smtp.gmail.com with ESMTPSA id a10sm934979ywc.52.2016.03.09.17.31.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Mar 2016 17:31:01 -0800 (PST) Received: by mail-yw0-f171.google.com with SMTP id g127so55713242ywf.2; Wed, 09 Mar 2016 17:31:01 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.13.252.197 with SMTP id m188mr461317ywf.281.1457573461499; Wed, 09 Mar 2016 17:31:01 -0800 (PST) Reply-To: cem@FreeBSD.org Received: by 10.37.115.134 with HTTP; Wed, 9 Mar 2016 17:31:01 -0800 (PST) In-Reply-To: References: <201603082033.u28KX2OL014139@repo.freebsd.org> Date: Wed, 9 Mar 2016 17:31:01 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r296548 - in head/sys: dev/agp dev/drm2 dev/drm2/i915 modules/drm2/i915kms From: Conrad Meyer To: Adrian Chadd Cc: =?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?= , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 01:56:21 -0000 On Wed, Mar 9, 2016 at 12:48 PM, Adrian Chadd wrote: > Woo! > > Just so its' not lost - people in irc have found power consumption has > jumped dramatically since this commit. :( For the record, on X230 (Ivybridge) I actually see lower power consumption with the new 3.8 kms: (All at brightness 100) Old kernel, no KMS: 11W Old kernel, KMS: 13W New kernel, no KMS: 11W New kernel, KMS: 11W With brightness down to minimum (5%): New kernel, KMS: 8.9W Best, Conrad From owner-svn-src-all@freebsd.org Thu Mar 10 02:13:44 2016 Return-Path: Delivered-To: svn-src-all@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 1F5F3ACAD7C; Thu, 10 Mar 2016 02:13:44 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 E13FC18C4; Thu, 10 Mar 2016 02:13:43 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A2DgLs058009; Thu, 10 Mar 2016 02:13:42 GMT (envelope-from sephe@FreeBSD.org) Received: (from sephe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A2Dg5M058008; Thu, 10 Mar 2016 02:13:42 GMT (envelope-from sephe@FreeBSD.org) Message-Id: <201603100213.u2A2Dg5M058008@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sephe set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau Date: Thu, 10 Mar 2016 02:13:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296593 - head/sys/dev/hyperv/netvsc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 02:13:44 -0000 Author: sephe Date: Thu Mar 10 02:13:42 2016 New Revision: 296593 URL: https://svnweb.freebsd.org/changeset/base/296593 Log: hyperv/hn: Move if_initname to an earlier place So that functions shared w/ attach path could use if_printf(). While I'm here, remove unnecessary if_dunit and if_dname assignment. MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5576 Modified: head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Modified: head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c ============================================================================== --- head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Thu Mar 10 00:36:52 2016 (r296592) +++ head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Thu Mar 10 02:13:42 2016 (r296593) @@ -436,6 +436,7 @@ netvsc_attach(device_t dev) ifp = sc->hn_ifp = if_alloc(IFT_ETHER); ifp->if_softc = sc; + if_initname(ifp, device_get_name(dev), device_get_unit(dev)); ring_cnt = hn_ring_cnt; if (ring_cnt <= 0 || ring_cnt >= mp_ncpus) @@ -466,10 +467,6 @@ netvsc_attach(device_t dev) sc->hn_tx_ring[0].hn_chan = chan; vmbus_channel_cpu_set(chan, sc->hn_cpu); - if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_dunit = unit; - ifp->if_dname = NETVSC_DEVNAME; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; ifp->if_ioctl = hn_ioctl; ifp->if_init = hn_ifinit; From owner-svn-src-all@freebsd.org Thu Mar 10 02:28:02 2016 Return-Path: Delivered-To: svn-src-all@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 AF247AC923C; Thu, 10 Mar 2016 02:28:02 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 6D6141F54; Thu, 10 Mar 2016 02:28:02 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A2S1Hr061329; Thu, 10 Mar 2016 02:28:01 GMT (envelope-from sephe@FreeBSD.org) Received: (from sephe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A2S14k061327; Thu, 10 Mar 2016 02:28:01 GMT (envelope-from sephe@FreeBSD.org) Message-Id: <201603100228.u2A2S14k061327@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sephe set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau Date: Thu, 10 Mar 2016 02:28:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296594 - head/sys/dev/hyperv/netvsc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 02:28:02 -0000 Author: sephe Date: Thu Mar 10 02:28:01 2016 New Revision: 296594 URL: https://svnweb.freebsd.org/changeset/base/296594 Log: hyperv/hn: Factor out hn_channel_attach MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5577 Modified: head/sys/dev/hyperv/netvsc/hv_net_vsc.h head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Modified: head/sys/dev/hyperv/netvsc/hv_net_vsc.h ============================================================================== --- head/sys/dev/hyperv/netvsc/hv_net_vsc.h Thu Mar 10 02:13:42 2016 (r296593) +++ head/sys/dev/hyperv/netvsc/hv_net_vsc.h Thu Mar 10 02:28:01 2016 (r296594) @@ -1167,12 +1167,15 @@ struct hn_rx_ring { /* Rarely used stuffs */ struct sysctl_oid *hn_rx_sysctl_tree; + int hn_rx_flags; } __aligned(CACHE_LINE_SIZE); #define HN_TRUST_HCSUM_IP 0x0001 #define HN_TRUST_HCSUM_TCP 0x0002 #define HN_TRUST_HCSUM_UDP 0x0004 +#define HN_RX_FLAG_ATTACHED 0x1 + struct hn_tx_ring { #ifndef HN_USE_TXDESC_BUFRING struct mtx hn_txlist_spin; @@ -1214,8 +1217,11 @@ struct hn_tx_ring { struct hn_txdesc *hn_txdesc; bus_dma_tag_t hn_tx_rndis_dtag; struct sysctl_oid *hn_tx_sysctl_tree; + int hn_tx_flags; } __aligned(CACHE_LINE_SIZE); +#define HN_TX_FLAG_ATTACHED 0x1 + /* * Device-specific softc structure */ Modified: head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c ============================================================================== --- head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Thu Mar 10 02:13:42 2016 (r296593) +++ head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Thu Mar 10 02:28:01 2016 (r296594) @@ -323,6 +323,7 @@ static int hn_encap(struct hn_tx_ring *, static void hn_create_rx_data(struct hn_softc *sc, int); static void hn_destroy_rx_data(struct hn_softc *sc); static void hn_set_tx_chimney_size(struct hn_softc *, int); +static void hn_channel_attach(struct hn_softc *, struct hv_vmbus_channel *); static int hn_transmit(struct ifnet *, struct mbuf *); static void hn_xmit_qflush(struct ifnet *); @@ -462,10 +463,11 @@ netvsc_attach(device_t dev) * Associate the first TX/RX ring w/ the primary channel. */ chan = device_ctx->channel; - chan->hv_chan_rxr = &sc->hn_rx_ring[0]; - chan->hv_chan_txr = &sc->hn_tx_ring[0]; - sc->hn_tx_ring[0].hn_chan = chan; - vmbus_channel_cpu_set(chan, sc->hn_cpu); + KASSERT(HV_VMBUS_CHAN_ISPRIMARY(chan), ("not primary channel")); + KASSERT(chan->offer_msg.offer.sub_channel_index == 0, + ("primary channel subidx %u", + chan->offer_msg.offer.sub_channel_index)); + hn_channel_attach(sc, chan); ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; ifp->if_ioctl = hn_ioctl; @@ -2766,30 +2768,53 @@ hn_xmit_txeof_taskfunc(void *xtxr, int p mtx_unlock(&txr->hn_tx_lock); } -void -netvsc_subchan_callback(struct hn_softc *sc, struct hv_vmbus_channel *chan) +static void +hn_channel_attach(struct hn_softc *sc, struct hv_vmbus_channel *chan) { + struct hn_rx_ring *rxr; int idx; - KASSERT(!HV_VMBUS_CHAN_ISPRIMARY(chan), - ("subchannel callback on primary channel")); - idx = chan->offer_msg.offer.sub_channel_index; - KASSERT(idx > 0 && idx < sc->hn_rx_ring_inuse, + + KASSERT(idx >= 0 && idx < sc->hn_rx_ring_inuse, ("invalid channel index %d, should > 0 && < %d", idx, sc->hn_rx_ring_inuse)); - vmbus_channel_cpu_set(chan, (sc->hn_cpu + idx) % mp_ncpus); + rxr = &sc->hn_rx_ring[idx]; + KASSERT((rxr->hn_rx_flags & HN_RX_FLAG_ATTACHED) == 0, + ("RX ring %d already attached", idx)); + rxr->hn_rx_flags |= HN_RX_FLAG_ATTACHED; - chan->hv_chan_rxr = &sc->hn_rx_ring[idx]; + chan->hv_chan_rxr = rxr; if_printf(sc->hn_ifp, "link RX ring %d to channel%u\n", idx, chan->offer_msg.child_rel_id); if (idx < sc->hn_tx_ring_inuse) { - chan->hv_chan_txr = &sc->hn_tx_ring[idx]; - sc->hn_tx_ring[idx].hn_chan = chan; + struct hn_tx_ring *txr = &sc->hn_tx_ring[idx]; + + KASSERT((txr->hn_tx_flags & HN_TX_FLAG_ATTACHED) == 0, + ("TX ring %d already attached", idx)); + txr->hn_tx_flags |= HN_TX_FLAG_ATTACHED; + + chan->hv_chan_txr = txr; + txr->hn_chan = chan; if_printf(sc->hn_ifp, "link TX ring %d to channel%u\n", idx, chan->offer_msg.child_rel_id); } + + /* Bind channel to a proper CPU */ + vmbus_channel_cpu_set(chan, (sc->hn_cpu + idx) % mp_ncpus); +} + +void +netvsc_subchan_callback(struct hn_softc *sc, struct hv_vmbus_channel *chan) +{ + + KASSERT(!HV_VMBUS_CHAN_ISPRIMARY(chan), + ("subchannel callback on primary channel")); + KASSERT(chan->offer_msg.offer.sub_channel_index > 0, + ("invalid channel subidx %u", + chan->offer_msg.offer.sub_channel_index)); + hn_channel_attach(sc, chan); } static void From owner-svn-src-all@freebsd.org Thu Mar 10 02:37:48 2016 Return-Path: Delivered-To: svn-src-all@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 B5C8CAC9568; Thu, 10 Mar 2016 02:37:48 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 913C2698; Thu, 10 Mar 2016 02:37:48 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A2blpe064476; Thu, 10 Mar 2016 02:37:47 GMT (envelope-from sephe@FreeBSD.org) Received: (from sephe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A2blIU064475; Thu, 10 Mar 2016 02:37:47 GMT (envelope-from sephe@FreeBSD.org) Message-Id: <201603100237.u2A2blIU064475@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sephe set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau Date: Thu, 10 Mar 2016 02:37:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296595 - head/sys/dev/hyperv/netvsc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 02:37:48 -0000 Author: sephe Date: Thu Mar 10 02:37:47 2016 New Revision: 296595 URL: https://svnweb.freebsd.org/changeset/base/296595 Log: hyperv/hn: Make the # of TX rings configurable. Rename the tunables to avoid confusion. MFC after: 1 week Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5578 Modified: head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Modified: head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c ============================================================================== --- head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Thu Mar 10 02:28:01 2016 (r296594) +++ head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c Thu Mar 10 02:37:47 2016 (r296595) @@ -279,13 +279,14 @@ static int hn_use_if_start = 0; SYSCTL_INT(_hw_hn, OID_AUTO, use_if_start, CTLFLAG_RDTUN, &hn_use_if_start, 0, "Use if_start TX method"); -static int hn_ring_cnt = 1; -SYSCTL_INT(_hw_hn, OID_AUTO, ring_cnt, CTLFLAG_RDTUN, - &hn_ring_cnt, 0, "# of TX/RX rings to used"); - -static int hn_single_tx_ring = 1; -SYSCTL_INT(_hw_hn, OID_AUTO, single_tx_ring, CTLFLAG_RDTUN, - &hn_single_tx_ring, 0, "Use one TX ring"); +static int hn_chan_cnt = 1; +SYSCTL_INT(_hw_hn, OID_AUTO, chan_cnt, CTLFLAG_RDTUN, + &hn_chan_cnt, 0, + "# of channels to use; each channel has one RX ring and one TX ring"); + +static int hn_tx_ring_cnt = 1; +SYSCTL_INT(_hw_hn, OID_AUTO, tx_ring_cnt, CTLFLAG_RDTUN, + &hn_tx_ring_cnt, 0, "# of TX rings to use"); static u_int hn_cpu_index; @@ -439,24 +440,33 @@ netvsc_attach(device_t dev) ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ring_cnt = hn_ring_cnt; - if (ring_cnt <= 0 || ring_cnt >= mp_ncpus) + /* + * Figure out the # of RX rings (ring_cnt) and the # of TX rings + * to use (tx_ring_cnt). + * + * NOTE: + * The # of RX rings to use is same as the # of channels to use. + */ + ring_cnt = hn_chan_cnt; + if (ring_cnt <= 0 || ring_cnt > mp_ncpus) ring_cnt = mp_ncpus; - sc->hn_cpu = atomic_fetchadd_int(&hn_cpu_index, ring_cnt) % mp_ncpus; - tx_ring_cnt = ring_cnt; - if (hn_single_tx_ring || hn_use_if_start) { - /* - * - Explicitly asked to use single TX ring. - * - ifnet.if_start is used; ifnet.if_start only needs - * one TX ring. - */ + tx_ring_cnt = hn_tx_ring_cnt; + if (tx_ring_cnt <= 0 || tx_ring_cnt > ring_cnt) + tx_ring_cnt = ring_cnt; + if (hn_use_if_start) { + /* ifnet.if_start only needs one TX ring. */ tx_ring_cnt = 1; } + + /* + * Set the leader CPU for channels. + */ + sc->hn_cpu = atomic_fetchadd_int(&hn_cpu_index, ring_cnt) % mp_ncpus; + error = hn_create_tx_data(sc, tx_ring_cnt); if (error) goto failed; - hn_create_rx_data(sc, ring_cnt); /* @@ -505,12 +515,13 @@ netvsc_attach(device_t dev) error = hv_rf_on_device_add(device_ctx, &device_info, ring_cnt); if (error) goto failed; - KASSERT(sc->net_dev->num_channel <= ring_cnt, + KASSERT(sc->net_dev->num_channel > 0 && + sc->net_dev->num_channel <= sc->hn_rx_ring_inuse, ("invalid channel count %u, should be less than %d", - sc->net_dev->num_channel, ring_cnt)); + sc->net_dev->num_channel, sc->hn_rx_ring_inuse)); /* - * Set # of TX/RX rings that could be used according to + * Set the # of TX/RX rings that could be used according to * the # of channels that host offered. */ if (sc->hn_tx_ring_inuse > sc->net_dev->num_channel) From owner-svn-src-all@freebsd.org Thu Mar 10 02:43:12 2016 Return-Path: Delivered-To: svn-src-all@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 43FEDAC9869; Thu, 10 Mar 2016 02:43:12 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1F684BFF; Thu, 10 Mar 2016 02:43:12 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A2hBKa067284; Thu, 10 Mar 2016 02:43:11 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A2hB4R067283; Thu, 10 Mar 2016 02:43:11 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603100243.u2A2hB4R067283@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 10 Mar 2016 02:43:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296596 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 02:43:12 -0000 Author: np Date: Thu Mar 10 02:43:10 2016 New Revision: 296596 URL: https://svnweb.freebsd.org/changeset/base/296596 Log: cxgbe(4): Allow the addr/len pair that is being validated in validate_mem_range to span multiple memory types. Update validate_mt_off_len to use validate_mem_range. Modified: head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Thu Mar 10 02:37:47 2016 (r296595) +++ head/sys/dev/cxgbe/t4_main.c Thu Mar 10 02:43:10 2016 (r296596) @@ -2016,52 +2016,135 @@ setup_memwin(struct adapter *sc) t4_read_reg(sc, PCIE_MEM_ACCESS_REG(A_PCIE_MEM_ACCESS_BASE_WIN, 2)); } +static int +t4_range_cmp(const void *a, const void *b) +{ + return ((const struct t4_range *)a)->start - + ((const struct t4_range *)b)->start; +} + /* - * Verify that the memory range specified by the addr/len pair is valid and lies - * entirely within a single region (EDCx or MCx). + * Verify that the memory range specified by the addr/len pair is valid within + * the card's address space. */ static int validate_mem_range(struct adapter *sc, uint32_t addr, int len) { - uint32_t em, addr_len, maddr, mlen; + struct t4_range mem_ranges[4], *r, *next; + uint32_t em, addr_len; + int i, n, remaining; /* Memory can only be accessed in naturally aligned 4 byte units */ - if (addr & 3 || len & 3 || len == 0) + if (addr & 3 || len & 3 || len <= 0) return (EINVAL); /* Enabled memories */ em = t4_read_reg(sc, A_MA_TARGET_MEM_ENABLE); + + r = &mem_ranges[0]; + n = 0; + bzero(r, sizeof(mem_ranges)); if (em & F_EDRAM0_ENABLE) { addr_len = t4_read_reg(sc, A_MA_EDRAM0_BAR); - maddr = G_EDRAM0_BASE(addr_len) << 20; - mlen = G_EDRAM0_SIZE(addr_len) << 20; - if (mlen > 0 && addr >= maddr && addr < maddr + mlen && - addr + len <= maddr + mlen) - return (0); + r->size = G_EDRAM0_SIZE(addr_len) << 20; + if (r->size > 0) { + r->start = G_EDRAM0_BASE(addr_len) << 20; + if (addr >= r->start && + addr + len <= r->start + r->size) + return (0); + r++; + n++; + } } if (em & F_EDRAM1_ENABLE) { addr_len = t4_read_reg(sc, A_MA_EDRAM1_BAR); - maddr = G_EDRAM1_BASE(addr_len) << 20; - mlen = G_EDRAM1_SIZE(addr_len) << 20; - if (mlen > 0 && addr >= maddr && addr < maddr + mlen && - addr + len <= maddr + mlen) - return (0); + r->size = G_EDRAM1_SIZE(addr_len) << 20; + if (r->size > 0) { + r->start = G_EDRAM1_BASE(addr_len) << 20; + if (addr >= r->start && + addr + len <= r->start + r->size) + return (0); + r++; + n++; + } } if (em & F_EXT_MEM_ENABLE) { addr_len = t4_read_reg(sc, A_MA_EXT_MEMORY_BAR); - maddr = G_EXT_MEM_BASE(addr_len) << 20; - mlen = G_EXT_MEM_SIZE(addr_len) << 20; - if (mlen > 0 && addr >= maddr && addr < maddr + mlen && - addr + len <= maddr + mlen) - return (0); + r->size = G_EXT_MEM_SIZE(addr_len) << 20; + if (r->size > 0) { + r->start = G_EXT_MEM_BASE(addr_len) << 20; + if (addr >= r->start && + addr + len <= r->start + r->size) + return (0); + r++; + n++; + } } - if (!is_t4(sc) && em & F_EXT_MEM1_ENABLE) { + if (is_t5(sc) && em & F_EXT_MEM1_ENABLE) { addr_len = t4_read_reg(sc, A_MA_EXT_MEMORY1_BAR); - maddr = G_EXT_MEM1_BASE(addr_len) << 20; - mlen = G_EXT_MEM1_SIZE(addr_len) << 20; - if (mlen > 0 && addr >= maddr && addr < maddr + mlen && - addr + len <= maddr + mlen) - return (0); + r->size = G_EXT_MEM1_SIZE(addr_len) << 20; + if (r->size > 0) { + r->start = G_EXT_MEM1_BASE(addr_len) << 20; + if (addr >= r->start && + addr + len <= r->start + r->size) + return (0); + r++; + n++; + } + } + MPASS(n <= nitems(mem_ranges)); + + if (n > 1) { + /* Sort and merge the ranges. */ + qsort(mem_ranges, n, sizeof(struct t4_range), t4_range_cmp); + + /* Start from index 0 and examine the next n - 1 entries. */ + r = &mem_ranges[0]; + for (remaining = n - 1; remaining > 0; remaining--, r++) { + + MPASS(r->size > 0); /* r is a valid entry. */ + next = r + 1; + MPASS(next->size > 0); /* and so is the next one. */ + + while (r->start + r->size >= next->start) { + /* Merge the next one into the current entry. */ + r->size = max(r->start + r->size, + next->start + next->size) - r->start; + n--; /* One fewer entry in total. */ + if (--remaining == 0) + goto done; /* short circuit */ + next++; + } + if (next != r + 1) { + /* + * Some entries were merged into r and next + * points to the first valid entry that couldn't + * be merged. + */ + MPASS(next->size > 0); /* must be valid */ + memcpy(r + 1, next, remaining * sizeof(*r)); +#ifdef INVARIANTS + /* + * This so that the foo->size assertion in the + * next iteration of the loop do the right + * thing for entries that were pulled up and are + * no longer valid. + */ + MPASS(n < nitems(mem_ranges)); + bzero(&mem_ranges[n], (nitems(mem_ranges) - n) * + sizeof(struct t4_range)); +#endif + } + } +done: + /* Done merging the ranges. */ + MPASS(n > 0); + r = &mem_ranges[0]; + for (i = 0; i < n; i++, r++) { + if (addr >= r->start && + addr + len <= r->start + r->size) + return (0); + } } return (EFAULT); @@ -2094,7 +2177,7 @@ static int validate_mt_off_len(struct adapter *sc, int mtype, uint32_t off, int len, uint32_t *addr) { - uint32_t em, addr_len, maddr, mlen; + uint32_t em, addr_len, maddr; /* Memory can only be accessed in naturally aligned 4 byte units */ if (off & 3 || len & 3 || len == 0) @@ -2107,39 +2190,31 @@ validate_mt_off_len(struct adapter *sc, return (EINVAL); addr_len = t4_read_reg(sc, A_MA_EDRAM0_BAR); maddr = G_EDRAM0_BASE(addr_len) << 20; - mlen = G_EDRAM0_SIZE(addr_len) << 20; break; case MEM_EDC1: if (!(em & F_EDRAM1_ENABLE)) return (EINVAL); addr_len = t4_read_reg(sc, A_MA_EDRAM1_BAR); maddr = G_EDRAM1_BASE(addr_len) << 20; - mlen = G_EDRAM1_SIZE(addr_len) << 20; break; case MEM_MC: if (!(em & F_EXT_MEM_ENABLE)) return (EINVAL); addr_len = t4_read_reg(sc, A_MA_EXT_MEMORY_BAR); maddr = G_EXT_MEM_BASE(addr_len) << 20; - mlen = G_EXT_MEM_SIZE(addr_len) << 20; break; case MEM_MC1: - if (is_t4(sc) || !(em & F_EXT_MEM1_ENABLE)) + if (!is_t5(sc) || !(em & F_EXT_MEM1_ENABLE)) return (EINVAL); addr_len = t4_read_reg(sc, A_MA_EXT_MEMORY1_BAR); maddr = G_EXT_MEM1_BASE(addr_len) << 20; - mlen = G_EXT_MEM1_SIZE(addr_len) << 20; break; default: return (EINVAL); } - if (mlen > 0 && off < mlen && off + len <= mlen) { - *addr = maddr + off; /* global address */ - return (0); - } - - return (EFAULT); + *addr = maddr + off; /* global address */ + return (validate_mem_range(sc, *addr, len)); } static void From owner-svn-src-all@freebsd.org Thu Mar 10 03:57:38 2016 Return-Path: Delivered-To: svn-src-all@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 EA8E0AC9704; Thu, 10 Mar 2016 03:57:38 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BB06C1D8; Thu, 10 Mar 2016 03:57:38 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A3vbCQ088687; Thu, 10 Mar 2016 03:57:37 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A3vbB0088686; Thu, 10 Mar 2016 03:57:37 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201603100357.u2A3vbB0088686@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Thu, 10 Mar 2016 03:57:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296597 - stable/9/crypto/openssl/crypto/bn X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 03:57:39 -0000 Author: delphij Date: Thu Mar 10 03:57:37 2016 New Revision: 296597 URL: https://svnweb.freebsd.org/changeset/base/296597 Log: Fix a regression introduced in r296462 that causes out-of-bound access in the BN code and have slipped my review. PR: 207783 Submitted by: dim Modified: stable/9/crypto/openssl/crypto/bn/bn_exp.c Modified: stable/9/crypto/openssl/crypto/bn/bn_exp.c ============================================================================== --- stable/9/crypto/openssl/crypto/bn/bn_exp.c Thu Mar 10 02:43:10 2016 (r296596) +++ stable/9/crypto/openssl/crypto/bn/bn_exp.c Thu Mar 10 03:57:37 2016 (r296597) @@ -758,7 +758,7 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr * Fetch the appropriate pre-computed value from the pre-buf */ if (!MOD_EXP_CTIME_COPY_FROM_PREBUF - (computeTemp, top, powerbuf, wvalue, numPowers)) + (computeTemp, top, powerbuf, wvalue, window)) goto err; /* Multiply the result into the intermediate result */ From owner-svn-src-all@freebsd.org Thu Mar 10 03:58:50 2016 Return-Path: Delivered-To: svn-src-all@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 0D705AC99BF; Thu, 10 Mar 2016 03:58:50 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C3C243B7; Thu, 10 Mar 2016 03:58:49 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A3wmxu088782; Thu, 10 Mar 2016 03:58:48 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A3wmRF088781; Thu, 10 Mar 2016 03:58:48 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201603100358.u2A3wmRF088781@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Thu, 10 Mar 2016 03:58:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296598 - stable/9/crypto/openssl/crypto/bn X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 03:58:50 -0000 Author: delphij Date: Thu Mar 10 03:58:48 2016 New Revision: 296598 URL: https://svnweb.freebsd.org/changeset/base/296598 Log: Fix CR/LF's in bn_exp.c introduced in r207783. No actual code change. Modified: stable/9/crypto/openssl/crypto/bn/bn_exp.c Modified: stable/9/crypto/openssl/crypto/bn/bn_exp.c ============================================================================== --- stable/9/crypto/openssl/crypto/bn/bn_exp.c Thu Mar 10 03:57:37 2016 (r296597) +++ stable/9/crypto/openssl/crypto/bn/bn_exp.c Thu Mar 10 03:58:48 2016 (r296598) @@ -107,13 +107,13 @@ * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * - */ - -#include "cryptlib.h" -#include "constant_time_locl.h" -#include "bn_lcl.h" - -/* maximum precomputation table size for *variable* sliding windows */ + */ + +#include "cryptlib.h" +#include "constant_time_locl.h" +#include "bn_lcl.h" + +/* maximum precomputation table size for *variable* sliding windows */ #define TABLE_SIZE 32 /* this one works - simple but works */ @@ -521,79 +521,79 @@ int BN_mod_exp_mont(BIGNUM *rr, const BI * pattern as far as cache lines are concerned. The following functions are * used to transfer a BIGNUM from/to that table. */ - -static int MOD_EXP_CTIME_COPY_TO_PREBUF(BIGNUM *b, int top, - unsigned char *buf, int idx, - int window) -{ - int i, j; - int width = 1 << window; - BN_ULONG *table = (BN_ULONG *)buf; - - if (bn_wexpand(b, top) == NULL) - return 0; + +static int MOD_EXP_CTIME_COPY_TO_PREBUF(BIGNUM *b, int top, + unsigned char *buf, int idx, + int window) +{ + int i, j; + int width = 1 << window; + BN_ULONG *table = (BN_ULONG *)buf; + + if (bn_wexpand(b, top) == NULL) + return 0; while (b->top < top) { - b->d[b->top++] = 0; - } - - for (i = 0, j = idx; i < top; i++, j += width) { - table[j] = b->d[i]; - } - - bn_correct_top(b); + b->d[b->top++] = 0; + } + + for (i = 0, j = idx; i < top; i++, j += width) { + table[j] = b->d[i]; + } + + bn_correct_top(b); return 1; } - -static int MOD_EXP_CTIME_COPY_FROM_PREBUF(BIGNUM *b, int top, - unsigned char *buf, int idx, - int window) -{ - int i, j; - int width = 1 << window; - volatile BN_ULONG *table = (volatile BN_ULONG *)buf; - - if (bn_wexpand(b, top) == NULL) - return 0; - - if (window <= 3) { - for (i = 0; i < top; i++, table += width) { - BN_ULONG acc = 0; - - for (j = 0; j < width; j++) { - acc |= table[j] & - ((BN_ULONG)0 - (constant_time_eq_int(j,idx)&1)); - } - - b->d[i] = acc; - } - } else { - int xstride = 1 << (window - 2); - BN_ULONG y0, y1, y2, y3; - - i = idx >> (window - 2); /* equivalent of idx / xstride */ - idx &= xstride - 1; /* equivalent of idx % xstride */ - - y0 = (BN_ULONG)0 - (constant_time_eq_int(i,0)&1); - y1 = (BN_ULONG)0 - (constant_time_eq_int(i,1)&1); - y2 = (BN_ULONG)0 - (constant_time_eq_int(i,2)&1); - y3 = (BN_ULONG)0 - (constant_time_eq_int(i,3)&1); - - for (i = 0; i < top; i++, table += width) { - BN_ULONG acc = 0; - - for (j = 0; j < xstride; j++) { - acc |= ( (table[j + 0 * xstride] & y0) | - (table[j + 1 * xstride] & y1) | - (table[j + 2 * xstride] & y2) | - (table[j + 3 * xstride] & y3) ) - & ((BN_ULONG)0 - (constant_time_eq_int(j,idx)&1)); - } - - b->d[i] = acc; - } - } - - b->top = top; + +static int MOD_EXP_CTIME_COPY_FROM_PREBUF(BIGNUM *b, int top, + unsigned char *buf, int idx, + int window) +{ + int i, j; + int width = 1 << window; + volatile BN_ULONG *table = (volatile BN_ULONG *)buf; + + if (bn_wexpand(b, top) == NULL) + return 0; + + if (window <= 3) { + for (i = 0; i < top; i++, table += width) { + BN_ULONG acc = 0; + + for (j = 0; j < width; j++) { + acc |= table[j] & + ((BN_ULONG)0 - (constant_time_eq_int(j,idx)&1)); + } + + b->d[i] = acc; + } + } else { + int xstride = 1 << (window - 2); + BN_ULONG y0, y1, y2, y3; + + i = idx >> (window - 2); /* equivalent of idx / xstride */ + idx &= xstride - 1; /* equivalent of idx % xstride */ + + y0 = (BN_ULONG)0 - (constant_time_eq_int(i,0)&1); + y1 = (BN_ULONG)0 - (constant_time_eq_int(i,1)&1); + y2 = (BN_ULONG)0 - (constant_time_eq_int(i,2)&1); + y3 = (BN_ULONG)0 - (constant_time_eq_int(i,3)&1); + + for (i = 0; i < top; i++, table += width) { + BN_ULONG acc = 0; + + for (j = 0; j < xstride; j++) { + acc |= ( (table[j + 0 * xstride] & y0) | + (table[j + 1 * xstride] & y1) | + (table[j + 2 * xstride] & y2) | + (table[j + 3 * xstride] & y3) ) + & ((BN_ULONG)0 - (constant_time_eq_int(j,idx)&1)); + } + + b->d[i] = acc; + } + } + + b->top = top; bn_correct_top(b); return 1; } @@ -684,13 +684,13 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr /* * Initialize the intermediate result. Do this early to save double * conversion, once each for a^0 and intermediate result. - */ - if (!BN_to_montgomery(r, BN_value_one(), mont, ctx)) - goto err; - if (!MOD_EXP_CTIME_COPY_TO_PREBUF(r, top, powerbuf, 0, window)) - goto err; - - /* Initialize computeTemp as a^1 with montgomery precalcs */ + */ + if (!BN_to_montgomery(r, BN_value_one(), mont, ctx)) + goto err; + if (!MOD_EXP_CTIME_COPY_TO_PREBUF(r, top, powerbuf, 0, window)) + goto err; + + /* Initialize computeTemp as a^1 with montgomery precalcs */ computeTemp = BN_CTX_get(ctx); am = BN_CTX_get(ctx); if (computeTemp == NULL || am == NULL) @@ -703,13 +703,13 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr } else aa = a; if (!BN_to_montgomery(am, aa, mont, ctx)) - goto err; - if (!BN_copy(computeTemp, am)) - goto err; - if (!MOD_EXP_CTIME_COPY_TO_PREBUF(am, top, powerbuf, 1, window)) - goto err; - - /* + goto err; + if (!BN_copy(computeTemp, am)) + goto err; + if (!MOD_EXP_CTIME_COPY_TO_PREBUF(am, top, powerbuf, 1, window)) + goto err; + + /* * If the window size is greater than 1, then calculate * val[i=2..2^winsize-1]. Powers are computed as a*a^(i-1) (even powers * could instead be computed as (a^(i/2))^2 to use the slight performance @@ -718,14 +718,14 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr if (window > 1) { for (i = 2; i < numPowers; i++) { /* Calculate a^i = a^(i-1) * a */ - if (!BN_mod_mul_montgomery - (computeTemp, am, computeTemp, mont, ctx)) - goto err; - if (!MOD_EXP_CTIME_COPY_TO_PREBUF(computeTemp, top, powerbuf, i, - window)) - goto err; - } - } + if (!BN_mod_mul_montgomery + (computeTemp, am, computeTemp, mont, ctx)) + goto err; + if (!MOD_EXP_CTIME_COPY_TO_PREBUF(computeTemp, top, powerbuf, i, + window)) + goto err; + } + } /* * Adjust the number of bits up to a multiple of the window size. If the From owner-svn-src-all@freebsd.org Thu Mar 10 04:18:03 2016 Return-Path: Delivered-To: svn-src-all@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 DB39DAC7249; Thu, 10 Mar 2016 04:18:02 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 929ACD31; Thu, 10 Mar 2016 04:18:02 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A4I16T095011; Thu, 10 Mar 2016 04:18:01 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A4HwRG094974; Thu, 10 Mar 2016 04:17:58 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201603100417.u2A4HwRG094974@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Thu, 10 Mar 2016 04:17:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296599 - in vendor/bind9/dist: . bin/named bin/rndc doc/arm lib/dns lib/isccc X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 04:18:03 -0000 Author: delphij Date: Thu Mar 10 04:17:58 2016 New Revision: 296599 URL: https://svnweb.freebsd.org/changeset/base/296599 Log: Vendor import of BIND 9.9.8-P4. Modified: vendor/bind9/dist/CHANGES vendor/bind9/dist/COPYRIGHT vendor/bind9/dist/README vendor/bind9/dist/bin/named/control.c vendor/bind9/dist/bin/named/controlconf.c vendor/bind9/dist/bin/named/query.c vendor/bind9/dist/bin/rndc/rndc.c vendor/bind9/dist/doc/arm/Bv9ARM.ch01.html vendor/bind9/dist/doc/arm/Bv9ARM.ch02.html vendor/bind9/dist/doc/arm/Bv9ARM.ch03.html vendor/bind9/dist/doc/arm/Bv9ARM.ch04.html vendor/bind9/dist/doc/arm/Bv9ARM.ch05.html vendor/bind9/dist/doc/arm/Bv9ARM.ch06.html vendor/bind9/dist/doc/arm/Bv9ARM.ch07.html vendor/bind9/dist/doc/arm/Bv9ARM.ch08.html vendor/bind9/dist/doc/arm/Bv9ARM.ch09.html vendor/bind9/dist/doc/arm/Bv9ARM.ch10.html vendor/bind9/dist/doc/arm/Bv9ARM.ch11.html vendor/bind9/dist/doc/arm/Bv9ARM.ch12.html vendor/bind9/dist/doc/arm/Bv9ARM.ch13.html vendor/bind9/dist/doc/arm/Bv9ARM.html vendor/bind9/dist/doc/arm/Bv9ARM.pdf vendor/bind9/dist/doc/arm/man.arpaname.html vendor/bind9/dist/doc/arm/man.ddns-confgen.html vendor/bind9/dist/doc/arm/man.dig.html vendor/bind9/dist/doc/arm/man.dnssec-checkds.html vendor/bind9/dist/doc/arm/man.dnssec-coverage.html vendor/bind9/dist/doc/arm/man.dnssec-dsfromkey.html vendor/bind9/dist/doc/arm/man.dnssec-keyfromlabel.html vendor/bind9/dist/doc/arm/man.dnssec-keygen.html vendor/bind9/dist/doc/arm/man.dnssec-revoke.html vendor/bind9/dist/doc/arm/man.dnssec-settime.html vendor/bind9/dist/doc/arm/man.dnssec-signzone.html vendor/bind9/dist/doc/arm/man.dnssec-verify.html vendor/bind9/dist/doc/arm/man.genrandom.html vendor/bind9/dist/doc/arm/man.host.html vendor/bind9/dist/doc/arm/man.isc-hmac-fixup.html vendor/bind9/dist/doc/arm/man.named-checkconf.html vendor/bind9/dist/doc/arm/man.named-checkzone.html vendor/bind9/dist/doc/arm/man.named-journalprint.html vendor/bind9/dist/doc/arm/man.named.html vendor/bind9/dist/doc/arm/man.nsec3hash.html vendor/bind9/dist/doc/arm/man.nsupdate.html vendor/bind9/dist/doc/arm/man.rndc-confgen.html vendor/bind9/dist/doc/arm/man.rndc.conf.html vendor/bind9/dist/doc/arm/man.rndc.html vendor/bind9/dist/doc/arm/notes.html vendor/bind9/dist/doc/arm/notes.pdf vendor/bind9/dist/doc/arm/notes.xml vendor/bind9/dist/lib/dns/api vendor/bind9/dist/lib/dns/resolver.c vendor/bind9/dist/lib/isccc/cc.c vendor/bind9/dist/version Modified: vendor/bind9/dist/CHANGES ============================================================================== --- vendor/bind9/dist/CHANGES Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/CHANGES Thu Mar 10 04:17:58 2016 (r296599) @@ -1,3 +1,12 @@ + --- 9.9.8-P4 released --- + +4319. [security] Fix resolver assertion failure due to improper + DNAME handling when parsing fetch reply messages. + (CVE-2016-1286) [RT #41753] + +4318. [security] Malformed control messages can trigger assertions + in named and rndc. (CVE-2016-1285) [RT #41666] + --- 9.9.8-P3 released --- 4288. [bug] Fixed a regression in resolver.c:possibly_mark() Modified: vendor/bind9/dist/COPYRIGHT ============================================================================== --- vendor/bind9/dist/COPYRIGHT Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/COPYRIGHT Thu Mar 10 04:17:58 2016 (r296599) @@ -1,4 +1,4 @@ -Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC") +Copyright (C) 2004-2016 Internet Systems Consortium, Inc. ("ISC") Copyright (C) 1996-2003 Internet Software Consortium. Permission to use, copy, modify, and/or distribute this software for any Modified: vendor/bind9/dist/README ============================================================================== --- vendor/bind9/dist/README Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/README Thu Mar 10 04:17:58 2016 (r296599) @@ -51,6 +51,11 @@ BIND 9 For up-to-date release notes and errata, see http://www.isc.org/software/bind9/releasenotes +BIND 9.9.8-P4 + + BIND 9.9.8-P4 is a security release addressing the flaws + described in CVE-2016-1285 and CVE-2016-1286. + BIND 9.9.8-P3 BIND 9.9.8-P3 is a security release addressing the flaw described in Modified: vendor/bind9/dist/bin/named/control.c ============================================================================== --- vendor/bind9/dist/bin/named/control.c Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/bin/named/control.c Thu Mar 10 04:17:58 2016 (r296599) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2007, 2009-2015 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2001-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -69,7 +69,7 @@ ns_control_docommand(isccc_sexpr_t *mess #endif data = isccc_alist_lookup(message, "_data"); - if (data == NULL) { + if (!isccc_alist_alistp(data)) { /* * No data section. */ Modified: vendor/bind9/dist/bin/named/controlconf.c ============================================================================== --- vendor/bind9/dist/bin/named/controlconf.c Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/bin/named/controlconf.c Thu Mar 10 04:17:58 2016 (r296599) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2008, 2011-2014 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2008, 2011-2014, 2016 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2001-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -397,7 +397,7 @@ control_recvmessage(isc_task_t *task, is * Limit exposure to replay attacks. */ _ctrl = isccc_alist_lookup(request, "_ctrl"); - if (_ctrl == NULL) { + if (!isccc_alist_alistp(_ctrl)) { log_invalid(&conn->ccmsg, ISC_R_FAILURE); goto cleanup_request; } Modified: vendor/bind9/dist/bin/named/query.c ============================================================================== --- vendor/bind9/dist/bin/named/query.c Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/bin/named/query.c Thu Mar 10 04:17:58 2016 (r296599) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2016 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -3221,7 +3221,8 @@ query_addbestns(ns_client_t *client) { goto cleanup; /* - * If the answer is secure only add NS records if they are secure * when the client may be looking for AD in the response. + * If the answer is secure only add NS records if they are secure + * when the client may be looking for AD in the response. */ if (SECURE(client) && (WANTDNSSEC(client) || WANTAD(client)) && ((rdataset->trust != dns_trust_secure) || Modified: vendor/bind9/dist/bin/rndc/rndc.c ============================================================================== --- vendor/bind9/dist/bin/rndc/rndc.c Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/bin/rndc/rndc.c Thu Mar 10 04:17:58 2016 (r296599) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2016 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2000-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -249,8 +249,8 @@ rndc_recvdone(isc_task_t *task, isc_even DO("parse message", isccc_cc_fromwire(&source, &response, &secret)); data = isccc_alist_lookup(response, "_data"); - if (data == NULL) - fatal("no data section in response"); + if (!isccc_alist_alistp(data)) + fatal("bad or missing data section in response"); result = isccc_cc_lookupstring(data, "err", &errormsg); if (result == ISC_R_SUCCESS) { failed = ISC_TRUE; @@ -313,8 +313,8 @@ rndc_recvnonce(isc_task_t *task, isc_eve DO("parse message", isccc_cc_fromwire(&source, &response, &secret)); _ctrl = isccc_alist_lookup(response, "_ctrl"); - if (_ctrl == NULL) - fatal("_ctrl section missing"); + if (!isccc_alist_alistp(_ctrl)) + fatal("bad or missing ctrl section in response"); nonce = 0; if (isccc_cc_lookupuint32(_ctrl, "_nonce", &nonce) != ISC_R_SUCCESS) nonce = 0; Modified: vendor/bind9/dist/doc/arm/Bv9ARM.ch01.html ============================================================================== --- vendor/bind9/dist/doc/arm/Bv9ARM.ch01.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/Bv9ARM.ch01.html Thu Mar 10 04:17:58 2016 (r296599) @@ -556,6 +556,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/Bv9ARM.ch02.html ============================================================================== --- vendor/bind9/dist/doc/arm/Bv9ARM.ch02.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/Bv9ARM.ch02.html Thu Mar 10 04:17:58 2016 (r296599) @@ -154,6 +154,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/Bv9ARM.ch03.html ============================================================================== --- vendor/bind9/dist/doc/arm/Bv9ARM.ch03.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/Bv9ARM.ch03.html Thu Mar 10 04:17:58 2016 (r296599) @@ -665,6 +665,6 @@ controls { -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/Bv9ARM.ch04.html ============================================================================== --- vendor/bind9/dist/doc/arm/Bv9ARM.ch04.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/Bv9ARM.ch04.html Thu Mar 10 04:17:58 2016 (r296599) @@ -1935,6 +1935,6 @@ $ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2. -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/Bv9ARM.ch05.html ============================================================================== --- vendor/bind9/dist/doc/arm/Bv9ARM.ch05.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/Bv9ARM.ch05.html Thu Mar 10 04:17:58 2016 (r296599) @@ -139,6 +139,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/Bv9ARM.ch06.html ============================================================================== --- vendor/bind9/dist/doc/arm/Bv9ARM.ch06.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/Bv9ARM.ch06.html Thu Mar 10 04:17:58 2016 (r296599) @@ -12177,6 +12177,6 @@ HOST-127.EXAMPLE. MX 0 . -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/Bv9ARM.ch07.html ============================================================================== --- vendor/bind9/dist/doc/arm/Bv9ARM.ch07.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/Bv9ARM.ch07.html Thu Mar 10 04:17:58 2016 (r296599) @@ -247,6 +247,6 @@ zone "example.com" { -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/Bv9ARM.ch08.html ============================================================================== --- vendor/bind9/dist/doc/arm/Bv9ARM.ch08.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/Bv9ARM.ch08.html Thu Mar 10 04:17:58 2016 (r296599) @@ -135,6 +135,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/Bv9ARM.ch09.html ============================================================================== --- vendor/bind9/dist/doc/arm/Bv9ARM.ch09.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/Bv9ARM.ch09.html Thu Mar 10 04:17:58 2016 (r296599) @@ -45,7 +45,7 @@

-Release Notes for BIND Version 9.9.8-P3

+Release Notes for BIND Version 9.9.8-P4

Introduction

@@ -68,6 +68,10 @@ This document summarizes changes since BIND 9.9.8:

+ BIND 9.9.8-P4 addresses the security issues described in + CVE-2016-1285 and CVE-2016-1286. +

+

BIND 9.9.8-P3 addresses the security issue described in CVE-2015-8704. It also fixes a serious regression in authoritative server selection that was introduced in 9.9.8. @@ -96,26 +100,35 @@ Security Fixes

  • + The resolver could abort with an assertion failure due to + improper DNAME handling when parsing fetch reply + messages. This flaw is disclosed in CVE-2016-1286. [RT #41753] +

  • +
  • + Malformed control messages can trigger assertions in named + and rndc. This flaw is disclosed in CVE-2016-1285. [RT + #41666] +

  • +
  • Specific APL data could trigger an INSIST. This flaw - was discovered by Brian Mitchell and is disclosed in - CVE-2015-8704. [RT #41396] + is disclosed in CVE-2015-8704. [RT #41396]

  • - Named is potentially vulnerable to the OpenSSL vulnerabilty + Named is potentially vulnerable to the OpenSSL vulnerability described in CVE-2015-3193.

  • + Incorrect reference counting could result in an INSIST + failure if a socket error occurred while performing a + lookup. This flaw is disclosed in CVE-2015-8461. [RT#40945] +

  • +
  • Insufficient testing when parsing a message allowed records with an incorrect class to be be accepted, triggering a REQUIRE failure when those records were subsequently cached. This flaw is disclosed in CVE-2015-8000. [RT #40987]

  • -
  • - Incorrect reference counting could result in an INSIST - failure if a socket error occurred while performing a - lookup. This flaw is disclosed in CVE-2015-8461. [RT#40945] -

@@ -143,7 +156,8 @@

End of Life

- The BIND 9.9 (Extended Support Version) will be supported until June, 2017. + The BIND 9.9 (Extended Support Version) will be supported until + December, 2017. https://www.isc.org/downloads/software-support-policy/

@@ -177,6 +191,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/Bv9ARM.ch10.html ============================================================================== --- vendor/bind9/dist/doc/arm/Bv9ARM.ch10.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/Bv9ARM.ch10.html Thu Mar 10 04:17:58 2016 (r296599) @@ -163,6 +163,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/Bv9ARM.ch11.html ============================================================================== --- vendor/bind9/dist/doc/arm/Bv9ARM.ch11.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/Bv9ARM.ch11.html Thu Mar 10 04:17:58 2016 (r296599) @@ -514,6 +514,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/Bv9ARM.ch12.html ============================================================================== --- vendor/bind9/dist/doc/arm/Bv9ARM.ch12.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/Bv9ARM.ch12.html Thu Mar 10 04:17:58 2016 (r296599) @@ -47,13 +47,13 @@
BIND 9 DNS Library Support
-
Prerequisite
-
Compilation
-
Installation
-
Known Defects/Restrictions
-
The dns.conf File
-
Sample Applications
-
Library References
+
Prerequisite
+
Compilation
+
Installation
+
Known Defects/Restrictions
+
The dns.conf File
+
Sample Applications
+
Library References
@@ -89,7 +89,7 @@

-Prerequisite

+Prerequisite

GNU make is required to build the export libraries (other part of BIND 9 can still be built with other types of make). In the reminder of this document, "make" means GNU make. Note that @@ -98,7 +98,7 @@

-Compilation

+Compilation
 $ ./configure --enable-exportlib [other flags]
 $ make
@@ -113,7 +113,7 @@ $ make
 

-Installation

+Installation
 $ cd lib/export
 $ make install
@@ -135,7 +135,7 @@ $ make i
 
 

-Known Defects/Restrictions

+Known Defects/Restrictions
  • Currently, win32 is not supported for the export library. (Normal BIND 9 application can be built as @@ -175,7 +175,7 @@ $ make

    -The dns.conf File

    +The dns.conf File

The IRS library supports an "advanced" configuration file related to the DNS library for configuration parameters that would be beyond the capability of the @@ -193,14 +193,14 @@ $ make

-Sample Applications

+Sample Applications

Some sample application programs using this API are provided for reference. The following is a brief description of these applications.

-sample: a simple stub resolver utility

+sample: a simple stub resolver utility

It sends a query of a given name (of a given optional RR type) to a specified recursive server, and prints the result as a list of @@ -264,7 +264,7 @@ $ make

-sample-async: a simple stub resolver, working asynchronously

+sample-async: a simple stub resolver, working asynchronously

Similar to "sample", but accepts a list of (query) domain names as a separate file and resolves the names @@ -305,7 +305,7 @@ $ make

-sample-request: a simple DNS transaction client

+sample-request: a simple DNS transaction client

It sends a query to a specified server, and prints the response with minimal processing. It doesn't act as a @@ -346,7 +346,7 @@ $ make

-sample-gai: getaddrinfo() and getnameinfo() test code

+sample-gai: getaddrinfo() and getnameinfo() test code

This is a test program to check getaddrinfo() and getnameinfo() behavior. It takes a @@ -363,7 +363,7 @@ $ make

-sample-update: a simple dynamic update client program

+sample-update: a simple dynamic update client program

It accepts a single update command as a command-line argument, sends an update request message to the @@ -458,7 +458,7 @@ $ sample

-nsprobe: domain/name server checker in terms of RFC 4074

+nsprobe: domain/name server checker in terms of RFC 4074

It checks a set of domains to see the name servers of the domains behave @@ -515,7 +515,7 @@ $ sample

-Library References

+Library References

As of this writing, there is no formal "manual" of the libraries, except this document, header files (some of them provide pretty detailed explanations), and sample application @@ -540,6 +540,6 @@ $ sample -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/Bv9ARM.ch13.html ============================================================================== --- vendor/bind9/dist/doc/arm/Bv9ARM.ch13.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/Bv9ARM.ch13.html Thu Mar 10 04:17:58 2016 (r296599) @@ -140,6 +140,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/Bv9ARM.html ============================================================================== --- vendor/bind9/dist/doc/arm/Bv9ARM.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/Bv9ARM.html Thu Mar 10 04:17:58 2016 (r296599) @@ -41,7 +41,7 @@

BIND 9 Administrator Reference Manual

-

BIND Version 9.9.8-P3

+

BIND Version 9.9.8-P4

@@ -234,7 +234,7 @@
A. Release Notes
-
Release Notes for BIND Version 9.9.8-P3
+
Release Notes for BIND Version 9.9.8-P4
Introduction
Download
@@ -262,13 +262,13 @@
BIND 9 DNS Library Support
-
Prerequisite
-
Compilation
-
Installation
-
Known Defects/Restrictions
-
The dns.conf File
-
Sample Applications
-
Library References
+
Prerequisite
+
Compilation
+
Installation
+
Known Defects/Restrictions
+
The dns.conf File
+
Sample Applications
+
Library References
I. Manual pages
@@ -365,6 +365,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/Bv9ARM.pdf ============================================================================== Binary file (source and/or target). No diff available. Modified: vendor/bind9/dist/doc/arm/man.arpaname.html ============================================================================== --- vendor/bind9/dist/doc/arm/man.arpaname.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/man.arpaname.html Thu Mar 10 04:17:58 2016 (r296599) @@ -50,20 +50,20 @@

arpaname {ipaddress ...}

-

DESCRIPTION

+

DESCRIPTION

arpaname translates IP addresses (IPv4 and IPv6) to the corresponding IN-ADDR.ARPA or IP6.ARPA names.

-

SEE ALSO

+

SEE ALSO

BIND 9 Administrator Reference Manual.

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -87,6 +87,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/man.ddns-confgen.html ============================================================================== --- vendor/bind9/dist/doc/arm/man.ddns-confgen.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/man.ddns-confgen.html Thu Mar 10 04:17:58 2016 (r296599) @@ -50,7 +50,7 @@

ddns-confgen [-a algorithm] [-h] [-k keyname] [-r randomfile] [ -s name | -z zone ] [-q] [name]

-

DESCRIPTION

+

DESCRIPTION

ddns-confgen generates a key for use by nsupdate and named. It simplifies configuration @@ -77,7 +77,7 @@

-

OPTIONS

+

OPTIONS

-a algorithm

@@ -144,7 +144,7 @@

-

SEE ALSO

+

SEE ALSO

nsupdate(1), named.conf(5), named(8), @@ -152,7 +152,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -176,6 +176,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/man.dig.html ============================================================================== --- vendor/bind9/dist/doc/arm/man.dig.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/man.dig.html Thu Mar 10 04:17:58 2016 (r296599) @@ -52,7 +52,7 @@

dig [global-queryopt...] [query...]

-

DESCRIPTION

+

DESCRIPTION

dig (domain information groper) is a flexible tool for interrogating DNS name servers. It performs DNS lookups and @@ -99,7 +99,7 @@

-

SIMPLE USAGE

+

SIMPLE USAGE

A typical invocation of dig looks like:

@@ -152,7 +152,7 @@

-

OPTIONS

+

OPTIONS

-4

@@ -280,7 +280,7 @@

-

QUERY OPTIONS

+

QUERY OPTIONS

dig provides a number of query options which affect the way in which lookups are made and the results displayed. Some of @@ -649,7 +649,7 @@

-

MULTIPLE QUERIES

+

MULTIPLE QUERIES

The BIND 9 implementation of dig supports @@ -695,7 +695,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc

-

IDN SUPPORT

+

IDN SUPPORT

If dig has been built with IDN (internationalized domain name) support, it can accept and display non-ASCII domain names. @@ -709,14 +709,14 @@ dig +qr www.isc.org any -x 127.0.0.1 isc

-

FILES

+

FILES

/etc/resolv.conf

${HOME}/.digrc

-

SEE ALSO

+

SEE ALSO

host(1), named(8), dnssec-keygen(8), @@ -724,7 +724,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc

-

BUGS

+

BUGS

There are probably too many query options.

@@ -747,6 +747,6 @@ dig +qr www.isc.org any -x 127.0.0.1 isc
-

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/man.dnssec-checkds.html ============================================================================== --- vendor/bind9/dist/doc/arm/man.dnssec-checkds.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/man.dnssec-checkds.html Thu Mar 10 04:17:58 2016 (r296599) @@ -51,7 +51,7 @@

dnssec-dsfromkey [-l domain] [-f file] [-d dig path] [-D dsfromkey path] {zone}

-

DESCRIPTION

+

DESCRIPTION

dnssec-checkds verifies the correctness of Delegation Signer (DS) or DNSSEC Lookaside Validation (DLV) resource records for keys in a specified @@ -59,7 +59,7 @@

-

OPTIONS

+

OPTIONS

-f file

@@ -88,14 +88,14 @@

-

SEE ALSO

+

SEE ALSO

dnssec-dsfromkey(8), dnssec-keygen(8), dnssec-signzone(8),

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -118,6 +118,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/man.dnssec-coverage.html ============================================================================== --- vendor/bind9/dist/doc/arm/man.dnssec-coverage.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/man.dnssec-coverage.html Thu Mar 10 04:17:58 2016 (r296599) @@ -50,7 +50,7 @@

dnssec-coverage [-K directory] [-f file] [-d DNSKEY TTL] [-m max TTL] [-r interval] [-c compilezone path] [zone]

-

DESCRIPTION

+

DESCRIPTION

dnssec-coverage verifies that the DNSSEC keys for a given zone or a set of zones have timing metadata set properly to ensure no future lapses in DNSSEC @@ -78,7 +78,7 @@

-

OPTIONS

+

OPTIONS

-f file

@@ -168,7 +168,7 @@

-

SEE ALSO

+

SEE ALSO

dnssec-checkds(8), dnssec-dsfromkey(8), @@ -177,7 +177,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -201,6 +201,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/man.dnssec-dsfromkey.html ============================================================================== --- vendor/bind9/dist/doc/arm/man.dnssec-dsfromkey.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/man.dnssec-dsfromkey.html Thu Mar 10 04:17:58 2016 (r296599) @@ -52,14 +52,14 @@

dnssec-dsfromkey [-h] [-V]

-

DESCRIPTION

+

DESCRIPTION

dnssec-dsfromkey outputs the Delegation Signer (DS) resource record (RR), as defined in RFC 3658 and RFC 4509, for the given key(s).

-

OPTIONS

+

OPTIONS

-1

@@ -150,7 +150,7 @@

-

EXAMPLE

+

EXAMPLE

To build the SHA-256 DS RR from the Kexample.com.+003+26160 @@ -165,7 +165,7 @@

-

FILES

+

FILES

The keyfile can be designed by the key identification Knnnn.+aaa+iiiii or the full file name @@ -179,13 +179,13 @@

-

CAVEAT

+

CAVEAT

A keyfile error can give a "file not found" even if the file exists.

-

SEE ALSO

+

SEE ALSO

dnssec-keygen(8), dnssec-signzone(8), BIND 9 Administrator Reference Manual, @@ -195,7 +195,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -219,6 +219,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/man.dnssec-keyfromlabel.html ============================================================================== --- vendor/bind9/dist/doc/arm/man.dnssec-keyfromlabel.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/man.dnssec-keyfromlabel.html Thu Mar 10 04:17:58 2016 (r296599) @@ -50,7 +50,7 @@

dnssec-keyfromlabel {-l label} [-3] [-a algorithm] [-A date/offset] [-c class] [-D date/offset] [-E engine] [-f flag] [-G] [-I date/offset] [-i interval] [-k] [-K directory] [-L ttl] [-n nametype] [-P date/offset] [-p protocol] [-R date/offset] [-S key] [-t type] [-v level] [-V] [-y] {name}

-

DESCRIPTION

+

DESCRIPTION

dnssec-keyfromlabel generates a key pair of files that referencing a key object stored in a cryptographic hardware service module (HSM). The private key @@ -66,7 +66,7 @@

-

OPTIONS

+

OPTIONS

-a algorithm
@@ -209,7 +209,7 @@
-

TIMING OPTIONS

+

TIMING OPTIONS

Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the argument begins with a '+' or '-', it is interpreted as @@ -281,7 +281,7 @@

-

GENERATED KEY FILES

+

GENERATED KEY FILES

When dnssec-keyfromlabel completes successfully, @@ -320,7 +320,7 @@

-

SEE ALSO

+

SEE ALSO

dnssec-keygen(8), dnssec-signzone(8), BIND 9 Administrator Reference Manual, @@ -328,7 +328,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -352,6 +352,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/man.dnssec-keygen.html ============================================================================== --- vendor/bind9/dist/doc/arm/man.dnssec-keygen.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/man.dnssec-keygen.html Thu Mar 10 04:17:58 2016 (r296599) @@ -50,7 +50,7 @@

dnssec-keygen [-a algorithm] [-b keysize] [-n nametype] [-3] [-A date/offset] [-C] [-c class] [-D date/offset] [-E engine] [-f flag] [-G] [-g generator] [-h] [-I date/offset] [-i interval] [-K directory] [-L ttl] [-k] [-P date/offset] [-p protocol] [-q] [-R date/offset] [-r randomdev] [-S key] [-s strength] [-t type] [-v level] [-V] [-z] {name}

-

DESCRIPTION

+

DESCRIPTION

dnssec-keygen generates keys for DNSSEC (Secure DNS), as defined in RFC 2535 and RFC 4034. It can also generate keys for use with @@ -64,7 +64,7 @@

-

OPTIONS

+

OPTIONS

-a algorithm
@@ -280,7 +280,7 @@
-

TIMING OPTIONS

+

TIMING OPTIONS

Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the argument begins with a '+' or '-', it is interpreted as @@ -354,7 +354,7 @@

-

GENERATED KEYS

+

GENERATED KEYS

When dnssec-keygen completes successfully, @@ -400,7 +400,7 @@

-

EXAMPLE

+

EXAMPLE

To generate a 768-bit DSA key for the domain example.com, the following command would be @@ -421,7 +421,7 @@

-

SEE ALSO

+

SEE ALSO

dnssec-signzone(8), BIND 9 Administrator Reference Manual, RFC 2539, @@ -430,7 +430,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -454,6 +454,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: vendor/bind9/dist/doc/arm/man.dnssec-revoke.html ============================================================================== --- vendor/bind9/dist/doc/arm/man.dnssec-revoke.html Thu Mar 10 03:58:48 2016 (r296598) +++ vendor/bind9/dist/doc/arm/man.dnssec-revoke.html Thu Mar 10 04:17:58 2016 (r296599) @@ -50,7 +50,7 @@

dnssec-revoke [-hr] [-v level] [-V] [-K directory] [-E engine] [-f] [-R] {keyfile}

-

DESCRIPTION

+

DESCRIPTION

dnssec-revoke reads a DNSSEC key file, sets the REVOKED bit on the key as defined *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Mar 10 04:21:02 2016 Return-Path: Delivered-To: svn-src-all@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 1EB1FAC739B; Thu, 10 Mar 2016 04:21:02 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CB553F7F; Thu, 10 Mar 2016 04:21:01 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A4L09s095167; Thu, 10 Mar 2016 04:21:00 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A4L0Fw095166; Thu, 10 Mar 2016 04:21:00 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201603100421.u2A4L0Fw095166@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Thu, 10 Mar 2016 04:21:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296600 - vendor/bind9/9.9.8-P4 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 04:21:02 -0000 Author: delphij Date: Thu Mar 10 04:21:00 2016 New Revision: 296600 URL: https://svnweb.freebsd.org/changeset/base/296600 Log: Tag the BIND 9.9.8-P4 release. Added: vendor/bind9/9.9.8-P4/ - copied from r296599, vendor/bind9/dist/ From owner-svn-src-all@freebsd.org Thu Mar 10 05:23:47 2016 Return-Path: Delivered-To: svn-src-all@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 CAE44ACAF7E; Thu, 10 Mar 2016 05:23:47 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 9BB22D1; Thu, 10 Mar 2016 05:23:47 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A5NkxZ016112; Thu, 10 Mar 2016 05:23:46 GMT (envelope-from zbb@FreeBSD.org) Received: (from zbb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A5Nk5c016111; Thu, 10 Mar 2016 05:23:46 GMT (envelope-from zbb@FreeBSD.org) Message-Id: <201603100523.u2A5Nk5c016111@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: zbb set sender to zbb@FreeBSD.org using -f From: Zbigniew Bodek Date: Thu, 10 Mar 2016 05:23:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296601 - head/sys/dev/vnic X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 05:23:47 -0000 Author: zbb Date: Thu Mar 10 05:23:46 2016 New Revision: 296601 URL: https://svnweb.freebsd.org/changeset/base/296601 Log: Fix "received NULL mbuf" bug in VNIC Do not modify NIC_QSET_CQ_0_7_HEAD manually, especially in non-atomic context. It doesn't seem to be necessary to recreate CQ head after interrupt clearing too. Reviewed by: wma Obtained from: Semihalf Sponsored by: Cavium Differential Revision: https://reviews.freebsd.org/D5533 Modified: head/sys/dev/vnic/nicvf_queues.c Modified: head/sys/dev/vnic/nicvf_queues.c ============================================================================== --- head/sys/dev/vnic/nicvf_queues.c Thu Mar 10 04:21:00 2016 (r296600) +++ head/sys/dev/vnic/nicvf_queues.c Thu Mar 10 05:23:46 2016 (r296601) @@ -889,7 +889,6 @@ nicvf_qs_err_task(void *arg, int pending static void nicvf_cmp_task(void *arg, int pending) { - uint64_t cq_head; struct cmp_queue *cq; struct nicvf *nic; int cmp_err; @@ -899,11 +898,6 @@ nicvf_cmp_task(void *arg, int pending) /* Handle CQ descriptors */ cmp_err = nicvf_cq_intr_handler(nic, cq->idx); - /* Re-enable interrupts */ - cq_head = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_HEAD, cq->idx); - nicvf_clear_intr(nic, NICVF_INTR_CQ, cq->idx); - nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_HEAD, cq->idx, cq_head); - if (__predict_false(cmp_err != 0)) { /* * Schedule another thread here since we did not @@ -913,6 +907,7 @@ nicvf_cmp_task(void *arg, int pending) } + nicvf_clear_intr(nic, NICVF_INTR_CQ, cq->idx); /* Reenable interrupt (previously disabled in nicvf_intr_handler() */ nicvf_enable_intr(nic, NICVF_INTR_CQ, cq->idx); From owner-svn-src-all@freebsd.org Thu Mar 10 05:45:25 2016 Return-Path: Delivered-To: svn-src-all@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 70E72ACA751; Thu, 10 Mar 2016 05:45:25 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 4198BE0B; Thu, 10 Mar 2016 05:45:25 +0000 (UTC) (envelope-from zbb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A5jO3K022077; Thu, 10 Mar 2016 05:45:24 GMT (envelope-from zbb@FreeBSD.org) Received: (from zbb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A5jOwv022076; Thu, 10 Mar 2016 05:45:24 GMT (envelope-from zbb@FreeBSD.org) Message-Id: <201603100545.u2A5jOwv022076@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: zbb set sender to zbb@FreeBSD.org using -f From: Zbigniew Bodek Date: Thu, 10 Mar 2016 05:45:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296602 - head/sys/dev/vnic X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 05:45:25 -0000 Author: zbb Date: Thu Mar 10 05:45:24 2016 New Revision: 296602 URL: https://svnweb.freebsd.org/changeset/base/296602 Log: Fix bug in VNIC causing phony number of available TX descriptors TSO packets will signal segments TX completion in the separate CQ descriptors. Each CQ descriptor for HW TSO will point to the same SQ entry. Do not invoke nicvf_put_sq_desc() for secondary segments to avoid free_cnt corruption and eventually integer overflow that will result in the negative free_cnt value and hence impossibility of further transmission. Reviewed by: wma Obtained from: Semihalf Sponsored by: Cavium Differential Revision: https://reviews.freebsd.org/D5535 Modified: head/sys/dev/vnic/nicvf_queues.c Modified: head/sys/dev/vnic/nicvf_queues.c ============================================================================== --- head/sys/dev/vnic/nicvf_queues.c Thu Mar 10 05:23:46 2016 (r296601) +++ head/sys/dev/vnic/nicvf_queues.c Thu Mar 10 05:45:24 2016 (r296602) @@ -722,10 +722,10 @@ nicvf_snd_pkt_handler(struct nicvf *nic, if (mbuf != NULL) { m_freem(mbuf); sq->snd_buff[cqe_tx->sqe_ptr].mbuf = NULL; + nicvf_put_sq_desc(sq, hdr->subdesc_cnt + 1); } nicvf_check_cqe_tx_errs(nic, cq, cqe_tx); - nicvf_put_sq_desc(sq, hdr->subdesc_cnt + 1); NICVF_TX_UNLOCK(sq); return (0); From owner-svn-src-all@freebsd.org Thu Mar 10 06:15:33 2016 Return-Path: Delivered-To: svn-src-all@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 7ABD8ACAFAF; Thu, 10 Mar 2016 06:15:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 40197AA7; Thu, 10 Mar 2016 06:15:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A6FWGb031175; Thu, 10 Mar 2016 06:15:32 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A6FWE5031172; Thu, 10 Mar 2016 06:15:32 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603100615.u2A6FWE5031172@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 10 Mar 2016 06:15:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296603 - in head/sys/dev/cxgbe: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 06:15:33 -0000 Author: np Date: Thu Mar 10 06:15:31 2016 New Revision: 296603 URL: https://svnweb.freebsd.org/changeset/base/296603 Log: cxgbe(4): Add general purpose routines that offer safe access to the chip's memory windows. Convert existing users of these windows to the new routines. Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Thu Mar 10 05:45:24 2016 (r296602) +++ head/sys/dev/cxgbe/adapter.h Thu Mar 10 06:15:31 2016 (r296603) @@ -438,6 +438,29 @@ struct hw_buf_info { }; enum { + NUM_MEMWIN = 3, + + MEMWIN0_APERTURE = 2048, + MEMWIN0_BASE = 0x1b800, + + MEMWIN1_APERTURE = 32768, + MEMWIN1_BASE = 0x28000, + + MEMWIN2_APERTURE_T4 = 65536, + MEMWIN2_BASE_T4 = 0x30000, + + MEMWIN2_APERTURE_T5 = 128 * 1024, + MEMWIN2_BASE_T5 = 0x60000, +}; + +struct memwin { + struct rwlock mw_lock __aligned(CACHE_LINE_SIZE); + uint32_t mw_base; /* constant after setup_memwin */ + uint32_t mw_aperture; /* ditto */ + uint32_t mw_curpos; /* protected by mw_lock */ +}; + +enum { FL_STARVING = (1 << 0), /* on the adapter's list of starving fl's */ FL_DOOMED = (1 << 1), /* about to be destroyed */ FL_BUF_PACKING = (1 << 2), /* buffer packing enabled */ @@ -806,6 +829,8 @@ struct adapter { struct mtx reg_lock; /* for indirect register access */ + struct memwin memwin[NUM_MEMWIN]; /* memory windows */ + an_handler_t an_handler __aligned(CACHE_LINE_SIZE); fw_msg_handler_t fw_msg_handler[7]; /* NUM_FW6_TYPES */ cpl_handler_t cpl_handler[0xef]; /* NUM_CPL_CMDS */ Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Thu Mar 10 05:45:24 2016 (r296602) +++ head/sys/dev/cxgbe/common/common.h Thu Mar 10 06:15:31 2016 (r296603) @@ -52,20 +52,6 @@ enum { enum { MEM_EDC0, MEM_EDC1, MEM_MC, MEM_MC0 = MEM_MC, MEM_MC1 }; -enum { - MEMWIN0_APERTURE = 2048, - MEMWIN0_BASE = 0x1b800, - - MEMWIN1_APERTURE = 32768, - MEMWIN1_BASE = 0x28000, - - MEMWIN2_APERTURE_T4 = 65536, - MEMWIN2_BASE_T4 = 0x30000, - - MEMWIN2_APERTURE_T5 = 128 * 1024, - MEMWIN2_BASE_T5 = 0x60000, -}; - enum dev_master { MASTER_CANT, MASTER_MAY, MASTER_MUST }; enum dev_state { DEV_STATE_UNINIT, DEV_STATE_INIT, DEV_STATE_ERR }; @@ -76,11 +62,6 @@ enum { PAUSE_AUTONEG = 1 << 2 }; -struct memwin { - uint32_t base; - uint32_t aperture; -}; - struct port_stats { u64 tx_octets; /* total # of octets in good frames */ u64 tx_frames; /* all good frames */ Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Thu Mar 10 05:45:24 2016 (r296602) +++ head/sys/dev/cxgbe/t4_main.c Thu Mar 10 06:15:31 2016 (r296603) @@ -399,12 +399,16 @@ struct filter_entry { static int map_bars_0_and_4(struct adapter *); static int map_bar_2(struct adapter *); static void setup_memwin(struct adapter *); +static void position_memwin(struct adapter *, int, uint32_t); +static int rw_via_memwin(struct adapter *, int, uint32_t, uint32_t *, int, int); +static inline int read_via_memwin(struct adapter *, int, uint32_t, uint32_t *, + int); +static inline int write_via_memwin(struct adapter *, int, uint32_t, + const uint32_t *, int); static int validate_mem_range(struct adapter *, uint32_t, int); static int fwmtype_to_hwmtype(int); static int validate_mt_off_len(struct adapter *, int, uint32_t, int, uint32_t *); -static void memwin_info(struct adapter *, int, uint32_t *, uint32_t *); -static uint32_t position_memwin(struct adapter *, int, uint32_t); static int cfg_itype_and_nqueues(struct adapter *, int, int, int, struct intrs_and_queues *); static int prep_firmware(struct adapter *); @@ -1164,6 +1168,13 @@ t4_detach(device_t dev) if (mtx_initialized(&sc->reg_lock)) mtx_destroy(&sc->reg_lock); + for (i = 0; i < NUM_MEMWIN; i++) { + struct memwin *mw = &sc->memwin[i]; + + if (rw_initialized(&mw->mw_lock)) + rw_destroy(&mw->mw_lock); + } + bzero(sc, sizeof(*sc)); return (0); @@ -1965,13 +1976,18 @@ map_bar_2(struct adapter *sc) return (0); } -static const struct memwin t4_memwin[] = { +struct memwin_init { + uint32_t base; + uint32_t aperture; +}; + +static const struct memwin_init t4_memwin[NUM_MEMWIN] = { { MEMWIN0_BASE, MEMWIN0_APERTURE }, { MEMWIN1_BASE, MEMWIN1_APERTURE }, { MEMWIN2_BASE_T4, MEMWIN2_APERTURE_T4 } }; -static const struct memwin t5_memwin[] = { +static const struct memwin_init t5_memwin[NUM_MEMWIN] = { { MEMWIN0_BASE, MEMWIN0_APERTURE }, { MEMWIN1_BASE, MEMWIN1_APERTURE }, { MEMWIN2_BASE_T5, MEMWIN2_APERTURE_T5 }, @@ -1980,8 +1996,9 @@ static const struct memwin t5_memwin[] = static void setup_memwin(struct adapter *sc) { - const struct memwin *mw; - int i, n; + const struct memwin_init *mw_init; + struct memwin *mw; + int i; uint32_t bar0; if (is_t4(sc)) { @@ -1995,27 +2012,125 @@ setup_memwin(struct adapter *sc) bar0 = t4_hw_pci_read_cfg4(sc, PCIR_BAR(0)); bar0 &= (uint32_t) PCIM_BAR_MEM_BASE; - mw = &t4_memwin[0]; - n = nitems(t4_memwin); + mw_init = &t4_memwin[0]; } else { - /* T5 uses the relative offset inside the PCIe BAR */ + /* T5+ use the relative offset inside the PCIe BAR */ bar0 = 0; - mw = &t5_memwin[0]; - n = nitems(t5_memwin); + mw_init = &t5_memwin[0]; } - for (i = 0; i < n; i++, mw++) { + for (i = 0, mw = &sc->memwin[0]; i < NUM_MEMWIN; i++, mw_init++, mw++) { + rw_init(&mw->mw_lock, "memory window access"); + mw->mw_base = mw_init->base; + mw->mw_aperture = mw_init->aperture; + mw->mw_curpos = 0; t4_write_reg(sc, PCIE_MEM_ACCESS_REG(A_PCIE_MEM_ACCESS_BASE_WIN, i), - (mw->base + bar0) | V_BIR(0) | - V_WINDOW(ilog2(mw->aperture) - 10)); + (mw->mw_base + bar0) | V_BIR(0) | + V_WINDOW(ilog2(mw->mw_aperture) - 10)); + rw_wlock(&mw->mw_lock); + position_memwin(sc, i, 0); + rw_wunlock(&mw->mw_lock); } /* flush */ t4_read_reg(sc, PCIE_MEM_ACCESS_REG(A_PCIE_MEM_ACCESS_BASE_WIN, 2)); } +/* + * Positions the memory window at the given address in the card's address space. + * There are some alignment requirements and the actual position may be at an + * address prior to the requested address. mw->mw_curpos always has the actual + * position of the window. + */ +static void +position_memwin(struct adapter *sc, int idx, uint32_t addr) +{ + struct memwin *mw; + uint32_t pf; + uint32_t reg; + + MPASS(idx >= 0 && idx < NUM_MEMWIN); + mw = &sc->memwin[idx]; + rw_assert(&mw->mw_lock, RA_WLOCKED); + + if (is_t4(sc)) { + pf = 0; + mw->mw_curpos = addr & ~0xf; /* start must be 16B aligned */ + } else { + pf = V_PFNUM(sc->pf); + mw->mw_curpos = addr & ~0x7f; /* start must be 128B aligned */ + } + reg = PCIE_MEM_ACCESS_REG(A_PCIE_MEM_ACCESS_OFFSET, idx); + t4_write_reg(sc, reg, mw->mw_curpos | pf); + t4_read_reg(sc, reg); /* flush */ +} + +static int +rw_via_memwin(struct adapter *sc, int idx, uint32_t addr, uint32_t *val, + int len, int rw) +{ + struct memwin *mw; + uint32_t mw_end, v; + + MPASS(idx >= 0 && idx < NUM_MEMWIN); + + /* Memory can only be accessed in naturally aligned 4 byte units */ + if (addr & 3 || len & 3 || len <= 0) + return (EINVAL); + + mw = &sc->memwin[idx]; + while (len > 0) { + rw_rlock(&mw->mw_lock); + mw_end = mw->mw_curpos + mw->mw_aperture; + if (addr >= mw_end || addr + len <= mw->mw_curpos) { + /* Will need to reposition the window */ + if (!rw_try_upgrade(&mw->mw_lock)) { + rw_runlock(&mw->mw_lock); + rw_wlock(&mw->mw_lock); + } + rw_assert(&mw->mw_lock, RA_WLOCKED); + position_memwin(sc, idx, addr); + rw_downgrade(&mw->mw_lock); + mw_end = mw->mw_curpos + mw->mw_aperture; + } + rw_assert(&mw->mw_lock, RA_RLOCKED); + while (addr < mw_end && len > 0) { + if (rw == 0) { + v = t4_read_reg(sc, mw->mw_base + addr - + mw->mw_curpos); + *val++ = le32toh(v); + } else { + v = *val++; + t4_write_reg(sc, mw->mw_base + addr - + mw->mw_curpos, htole32(v));; + } + addr += 4; + len -= 4; + } + rw_runlock(&mw->mw_lock); + } + + return (0); +} + +static inline int +read_via_memwin(struct adapter *sc, int idx, uint32_t addr, uint32_t *val, + int len) +{ + + return (rw_via_memwin(sc, idx, addr, val, len, 0)); +} + +static inline int +write_via_memwin(struct adapter *sc, int idx, uint32_t addr, + const uint32_t *val, int len) +{ + + return (rw_via_memwin(sc, idx, addr, (void *)(uintptr_t)val, len, 1)); +} + static int t4_range_cmp(const void *a, const void *b) { @@ -2217,58 +2332,6 @@ validate_mt_off_len(struct adapter *sc, return (validate_mem_range(sc, *addr, len)); } -static void -memwin_info(struct adapter *sc, int win, uint32_t *base, uint32_t *aperture) -{ - const struct memwin *mw; - - if (is_t4(sc)) { - KASSERT(win >= 0 && win < nitems(t4_memwin), - ("%s: incorrect memwin# (%d)", __func__, win)); - mw = &t4_memwin[win]; - } else { - KASSERT(win >= 0 && win < nitems(t5_memwin), - ("%s: incorrect memwin# (%d)", __func__, win)); - mw = &t5_memwin[win]; - } - - if (base != NULL) - *base = mw->base; - if (aperture != NULL) - *aperture = mw->aperture; -} - -/* - * Positions the memory window such that it can be used to access the specified - * address in the chip's address space. The return value is the offset of addr - * from the start of the window. - */ -static uint32_t -position_memwin(struct adapter *sc, int n, uint32_t addr) -{ - uint32_t start, pf; - uint32_t reg; - - KASSERT(n >= 0 && n <= 3, - ("%s: invalid window %d.", __func__, n)); - KASSERT((addr & 3) == 0, - ("%s: addr (0x%x) is not at a 4B boundary.", __func__, addr)); - - if (is_t4(sc)) { - pf = 0; - start = addr & ~0xf; /* start must be 16B aligned */ - } else { - pf = V_PFNUM(sc->pf); - start = addr & ~0x7f; /* start must be 128B aligned */ - } - reg = PCIE_MEM_ACCESS_REG(A_PCIE_MEM_ACCESS_OFFSET, n); - - t4_write_reg(sc, reg, start | pf); - t4_read_reg(sc, reg); - - return (addr - start); -} - static int cfg_itype_and_nqueues(struct adapter *sc, int n10g, int n1g, int num_vis, struct intrs_and_queues *iaq) @@ -2869,9 +2932,9 @@ partition_resources(struct adapter *sc, } if (strncmp(sc->cfg_file, FLASH_CF, sizeof(sc->cfg_file)) != 0) { - u_int cflen, i, n; + u_int cflen; const uint32_t *cfdata; - uint32_t param, val, addr, off, mw_base, mw_aperture; + uint32_t param, val, addr; KASSERT(cfg != NULL || default_cfg != NULL, ("%s: no config to upload", __func__)); @@ -2921,16 +2984,7 @@ partition_resources(struct adapter *sc, __func__, mtype, moff, cflen, rc); goto use_config_on_flash; } - - memwin_info(sc, 2, &mw_base, &mw_aperture); - while (cflen) { - off = position_memwin(sc, 2, addr); - n = min(cflen, mw_aperture - off); - for (i = 0; i < n; i += 4) - t4_write_reg(sc, mw_base + off + i, *cfdata++); - cflen -= n; - addr += n; - } + write_via_memwin(sc, 2, addr, cfdata, cflen); } else { use_config_on_flash: mtype = FW_MEMTYPE_FLASH; @@ -7486,22 +7540,22 @@ done: static inline uint64_t get_filter_hits(struct adapter *sc, uint32_t fid) { - uint32_t mw_base, off, tcb_base = t4_read_reg(sc, A_TP_CMM_TCB_BASE); - uint64_t hits; + uint32_t tcb_addr; - memwin_info(sc, 0, &mw_base, NULL); + tcb_addr = t4_read_reg(sc, A_TP_CMM_TCB_BASE) + + (fid + sc->tids.ftid_base) * TCB_SIZE; - off = position_memwin(sc, 0, - tcb_base + (fid + sc->tids.ftid_base) * TCB_SIZE); if (is_t4(sc)) { - hits = t4_read_reg64(sc, mw_base + off + 16); - hits = be64toh(hits); + uint64_t hits; + + read_via_memwin(sc, 0, tcb_addr + 16, (uint32_t *)&hits, 8); + return (be64toh(hits)); } else { - hits = t4_read_reg(sc, mw_base + off + 24); - hits = be32toh(hits); - } + uint32_t hits; - return (hits); + read_via_memwin(sc, 0, tcb_addr + 24, &hits, 4); + return (be32toh(hits)); + } } static int @@ -7975,12 +8029,12 @@ done: return (rc); } +#define MAX_READ_BUF_SIZE (128 * 1024) static int read_card_mem(struct adapter *sc, int win, struct t4_mem_range *mr) { - uint32_t addr, off, remaining, i, n; - uint32_t *buf, *b; - uint32_t mw_base, mw_aperture; + uint32_t addr, remaining, n; + uint32_t *buf; int rc; uint8_t *dst; @@ -7988,25 +8042,19 @@ read_card_mem(struct adapter *sc, int wi if (rc != 0) return (rc); - memwin_info(sc, win, &mw_base, &mw_aperture); - buf = b = malloc(min(mr->len, mw_aperture), M_CXGBE, M_WAITOK); + buf = malloc(min(mr->len, MAX_READ_BUF_SIZE), M_CXGBE, M_WAITOK); addr = mr->addr; remaining = mr->len; dst = (void *)mr->data; while (remaining) { - off = position_memwin(sc, win, addr); - - /* number of bytes that we'll copy in the inner loop */ - n = min(remaining, mw_aperture - off); - for (i = 0; i < n; i += 4) - *b++ = t4_read_reg(sc, mw_base + off + i); + n = min(remaining, MAX_READ_BUF_SIZE); + read_via_memwin(sc, 2, addr, buf, n); rc = copyout(buf, dst, n); if (rc != 0) break; - b = buf; dst += n; remaining -= n; addr += n; @@ -8015,6 +8063,7 @@ read_card_mem(struct adapter *sc, int wi free(buf, M_CXGBE); return (rc); } +#undef MAX_READ_BUF_SIZE static int read_i2c(struct adapter *sc, struct t4_i2c_data *i2cd) From owner-svn-src-all@freebsd.org Thu Mar 10 06:25:07 2016 Return-Path: Delivered-To: svn-src-all@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 B24ACACA29E; Thu, 10 Mar 2016 06:25:07 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 69951F37; Thu, 10 Mar 2016 06:25:07 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A6P6r2034188; Thu, 10 Mar 2016 06:25:06 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A6P6tC034183; Thu, 10 Mar 2016 06:25:06 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100625.u2A6P6tC034183@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 06:25:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296604 - in head/sys: cam cam/ctl dev/isp X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 06:25:07 -0000 Author: imp Date: Thu Mar 10 06:25:05 2016 New Revision: 296604 URL: https://svnweb.freebsd.org/changeset/base/296604 Log: Move to new value for XPT_GET_SIM_KNOB to avoid clash with XPT_ATA_IO. Modified: head/sys/cam/cam_ccb.h head/sys/cam/cam_xpt.c head/sys/cam/ctl/scsi_ctl.c head/sys/dev/isp/isp_freebsd.c Modified: head/sys/cam/cam_ccb.h ============================================================================== --- head/sys/cam/cam_ccb.h Thu Mar 10 06:15:31 2016 (r296603) +++ head/sys/cam/cam_ccb.h Thu Mar 10 06:25:05 2016 (r296604) @@ -189,16 +189,18 @@ typedef enum { XPT_ATA_IO = 0x18 | XPT_FC_DEV_QUEUED, /* Execute the requested ATA I/O operation */ - XPT_GET_SIM_KNOB = 0x18, - /* - * Get SIM specific knob values. - */ + XPT_GET_SIM_KNOB_OLD = 0x18, /* Compat only */ XPT_SET_SIM_KNOB = 0x19, /* * Set SIM specific knob values. */ + XPT_GET_SIM_KNOB = 0x1a, + /* + * Get SIM specific knob values. + */ + XPT_SMP_IO = 0x1b | XPT_FC_DEV_QUEUED, /* Serial Management Protocol */ Modified: head/sys/cam/cam_xpt.c ============================================================================== --- head/sys/cam/cam_xpt.c Thu Mar 10 06:15:31 2016 (r296603) +++ head/sys/cam/cam_xpt.c Thu Mar 10 06:25:05 2016 (r296604) @@ -2610,6 +2610,7 @@ xpt_action_default(union ccb *start_ccb) case XPT_RESET_BUS: case XPT_IMMEDIATE_NOTIFY: case XPT_NOTIFY_ACKNOWLEDGE: + case XPT_GET_SIM_KNOB_OLD: case XPT_GET_SIM_KNOB: case XPT_SET_SIM_KNOB: case XPT_GET_TRAN_SETTINGS: Modified: head/sys/cam/ctl/scsi_ctl.c ============================================================================== --- head/sys/cam/ctl/scsi_ctl.c Thu Mar 10 06:15:31 2016 (r296603) +++ head/sys/cam/ctl/scsi_ctl.c Thu Mar 10 06:25:05 2016 (r296604) @@ -1557,6 +1557,7 @@ ctlfedone(struct cam_periph *periph, uni break; case XPT_SET_SIM_KNOB: case XPT_GET_SIM_KNOB: + case XPT_GET_SIM_KNOB_OLD: break; default: panic("%s: unexpected CCB type %#x", __func__, Modified: head/sys/dev/isp/isp_freebsd.c ============================================================================== --- head/sys/dev/isp/isp_freebsd.c Thu Mar 10 06:15:31 2016 (r296603) +++ head/sys/dev/isp/isp_freebsd.c Thu Mar 10 06:25:05 2016 (r296604) @@ -3944,6 +3944,7 @@ isp_action(struct cam_sim *sim, union cc xpt_done(ccb); break; } + case XPT_GET_SIM_KNOB_OLD: /* Get SIM knobs -- compat value */ case XPT_GET_SIM_KNOB: /* Get SIM knobs */ { struct ccb_sim_knob *kp = &ccb->knob; From owner-svn-src-all@freebsd.org Thu Mar 10 06:25:33 2016 Return-Path: Delivered-To: svn-src-all@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 7C2EFACA2E9; Thu, 10 Mar 2016 06:25:33 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3364910A0; Thu, 10 Mar 2016 06:25:33 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A6PWhl034283; Thu, 10 Mar 2016 06:25:32 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A6PWCU034281; Thu, 10 Mar 2016 06:25:32 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100625.u2A6PWCU034281@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 06:25:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296605 - head/sys/geom X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 06:25:33 -0000 Author: imp Date: Thu Mar 10 06:25:31 2016 New Revision: 296605 URL: https://svnweb.freebsd.org/changeset/base/296605 Log: Don't assume that bio_cmd is bit mask. Differential Revision: https://reviews.freebsd.org/D5593 Modified: head/sys/geom/geom_disk.c head/sys/geom/geom_io.c Modified: head/sys/geom/geom_disk.c ============================================================================== --- head/sys/geom/geom_disk.c Thu Mar 10 06:25:05 2016 (r296604) +++ head/sys/geom/geom_disk.c Thu Mar 10 06:25:31 2016 (r296605) @@ -225,8 +225,16 @@ g_disk_done(struct bio *bp) if (bp2->bio_error == 0) bp2->bio_error = bp->bio_error; bp2->bio_completed += bp->bio_completed; - if ((bp->bio_cmd & (BIO_READ|BIO_WRITE|BIO_DELETE|BIO_FLUSH)) != 0) + switch (bp->bio_cmd) { + case BIO_READ: + case BIO_WRITE: + case BIO_DELETE: + case BIO_FLUSH: devstat_end_transaction_bio_bt(sc->dp->d_devstat, bp, &now); + break; + default: + break; + } bp2->bio_inbed++; if (bp2->bio_children == bp2->bio_inbed) { mtx_unlock(&sc->done_mtx); Modified: head/sys/geom/geom_io.c ============================================================================== --- head/sys/geom/geom_io.c Thu Mar 10 06:25:05 2016 (r296604) +++ head/sys/geom/geom_io.c Thu Mar 10 06:25:31 2016 (r296605) @@ -479,6 +479,7 @@ g_io_request(struct bio *bp, struct g_co struct g_provider *pp; struct mtx *mtxp; int direct, error, first; + uint8_t cmd; KASSERT(cp != NULL, ("NULL cp in g_io_request")); KASSERT(bp != NULL, ("NULL bp in g_io_request")); @@ -500,16 +501,17 @@ g_io_request(struct bio *bp, struct g_co bp->_bio_cflags = bp->bio_cflags; #endif - if (bp->bio_cmd & (BIO_READ|BIO_WRITE|BIO_GETATTR)) { + cmd = bp->bio_cmd; + if (cmd == BIO_READ || cmd == BIO_WRITE || cmd == BIO_GETATTR) { KASSERT(bp->bio_data != NULL, ("NULL bp->data in g_io_request(cmd=%hhu)", bp->bio_cmd)); } - if (bp->bio_cmd & (BIO_DELETE|BIO_FLUSH)) { + if (cmd == BIO_DELETE || cmd == BIO_FLUSH) { KASSERT(bp->bio_data == NULL, ("non-NULL bp->data in g_io_request(cmd=%hhu)", bp->bio_cmd)); } - if (bp->bio_cmd & (BIO_READ|BIO_WRITE|BIO_DELETE)) { + if (cmd == BIO_READ || cmd == BIO_WRITE || cmd == BIO_DELETE) { KASSERT(bp->bio_offset % cp->provider->sectorsize == 0, ("wrong offset %jd for sectorsize %u", bp->bio_offset, cp->provider->sectorsize)); From owner-svn-src-all@freebsd.org Thu Mar 10 06:25:41 2016 Return-Path: Delivered-To: svn-src-all@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 4239EACA32A; Thu, 10 Mar 2016 06:25:41 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F065911EC; Thu, 10 Mar 2016 06:25:40 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A6PeNd034342; Thu, 10 Mar 2016 06:25:40 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A6Pd1E034340; Thu, 10 Mar 2016 06:25:39 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100625.u2A6Pd1E034340@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 06:25:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296606 - head/sys/geom/sched X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 06:25:41 -0000 Author: imp Date: Thu Mar 10 06:25:39 2016 New Revision: 296606 URL: https://svnweb.freebsd.org/changeset/base/296606 Log: Don't assume that bio_cmd is a bit mask. Differential Revision: https://reviews.freebsd.org/D5592 Modified: head/sys/geom/sched/g_sched.c head/sys/geom/sched/gs_rr.c Modified: head/sys/geom/sched/g_sched.c ============================================================================== --- head/sys/geom/sched/g_sched.c Thu Mar 10 06:25:31 2016 (r296605) +++ head/sys/geom/sched/g_sched.c Thu Mar 10 06:25:39 2016 (r296606) @@ -269,7 +269,7 @@ g_sched_update_stats(struct bio *bio) me.gs_done++; me.gs_in_flight--; me.gs_bytes_in_flight -= bio->bio_length; - if (bio->bio_cmd & BIO_WRITE) { + if (bio->bio_cmd == BIO_WRITE) { me.gs_writes_in_flight--; me.gs_write_bytes_in_flight -= bio->bio_length; } @@ -754,9 +754,9 @@ static inline char g_sched_type(struct bio *bp) { - if (0 != (bp->bio_cmd & BIO_READ)) + if (bp->bio_cmd == BIO_READ) return ('R'); - else if (0 != (bp->bio_cmd & BIO_WRITE)) + else if (bp->bio_cmd == BIO_WRITE) return ('W'); return ('U'); } @@ -829,7 +829,7 @@ g_sched_start(struct bio *bp) KASSERT(cbp->bio_to != NULL, ("NULL provider")); /* We only schedule reads and writes. */ - if (0 == (bp->bio_cmd & (BIO_READ | BIO_WRITE))) + if (bp->bio_cmd != BIO_READ && bp->bio_cmd != BIO_WRITE) goto bypass; G_SCHED_LOGREQ(cbp, "Sending request."); @@ -860,7 +860,7 @@ g_sched_start(struct bio *bp) me.gs_in_flight++; me.gs_requests++; me.gs_bytes_in_flight += bp->bio_length; - if (bp->bio_cmd & BIO_WRITE) { + if (bp->bio_cmd == BIO_WRITE) { me.gs_writes_in_flight++; me.gs_write_bytes_in_flight += bp->bio_length; } Modified: head/sys/geom/sched/gs_rr.c ============================================================================== --- head/sys/geom/sched/gs_rr.c Thu Mar 10 06:25:31 2016 (r296605) +++ head/sys/geom/sched/gs_rr.c Thu Mar 10 06:25:39 2016 (r296606) @@ -375,7 +375,7 @@ g_rr_should_anticipate(struct g_rr_queue { int wait = get_bounded(&me.wait_ms, 2); - if (!me.w_anticipate && (bp->bio_cmd & BIO_WRITE)) + if (!me.w_anticipate && (bp->bio_cmd == BIO_WRITE)) return (0); if (g_savg_valid(&qp->q_thinktime) && From owner-svn-src-all@freebsd.org Thu Mar 10 06:25:49 2016 Return-Path: Delivered-To: svn-src-all@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 51668ACA36B; Thu, 10 Mar 2016 06:25:49 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 084FB1343; Thu, 10 Mar 2016 06:25:48 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A6PmBt034400; Thu, 10 Mar 2016 06:25:48 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A6PljY034399; Thu, 10 Mar 2016 06:25:47 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603100625.u2A6PljY034399@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 10 Mar 2016 06:25:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296607 - head/sys/mips/cavium X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 06:25:49 -0000 Author: imp Date: Thu Mar 10 06:25:47 2016 New Revision: 296607 URL: https://svnweb.freebsd.org/changeset/base/296607 Log: Don't assume that bio_cmd is a bitfield. Differential Revision: https://reviews.freebsd.org/D5591 Modified: head/sys/mips/cavium/octeon_ebt3000_cf.c Modified: head/sys/mips/cavium/octeon_ebt3000_cf.c ============================================================================== --- head/sys/mips/cavium/octeon_ebt3000_cf.c Thu Mar 10 06:25:39 2016 (r296606) +++ head/sys/mips/cavium/octeon_ebt3000_cf.c Thu Mar 10 06:25:47 2016 (r296607) @@ -215,37 +215,38 @@ static void cf_start (struct bio *bp) * the bio struct. */ - if(bp->bio_cmd & BIO_GETATTR) { + switch (bp->bio_cmd) { + case BIO_GETATTR: if (g_handleattr_int(bp, "GEOM::fwsectors", cf_priv->drive_param.sec_track)) return; if (g_handleattr_int(bp, "GEOM::fwheads", cf_priv->drive_param.heads)) return; g_io_deliver(bp, ENOIOCTL); return; - } - - if ((bp->bio_cmd & (BIO_READ | BIO_WRITE))) { - if (bp->bio_cmd & BIO_READ) { - error = cf_cmd_read(bp->bio_length / cf_priv->drive_param.sector_size, - bp->bio_offset / cf_priv->drive_param.sector_size, bp->bio_data); - } else if (bp->bio_cmd & BIO_WRITE) { - error = cf_cmd_write(bp->bio_length / cf_priv->drive_param.sector_size, - bp->bio_offset/cf_priv->drive_param.sector_size, bp->bio_data); - } else { - printf("%s: unrecognized bio_cmd %x.\n", __func__, bp->bio_cmd); - error = ENOTSUP; - } + case BIO_READ: + error = cf_cmd_read(bp->bio_length / cf_priv->drive_param.sector_size, + bp->bio_offset / cf_priv->drive_param.sector_size, bp->bio_data); + break; + case BIO_WRITE: + error = cf_cmd_write(bp->bio_length / cf_priv->drive_param.sector_size, + bp->bio_offset/cf_priv->drive_param.sector_size, bp->bio_data); + break; - if (error != 0) { - g_io_deliver(bp, error); - return; - } + default: + printf("%s: unrecognized bio_cmd %x.\n", __func__, bp->bio_cmd); + error = ENOTSUP; + break; + } - bp->bio_resid = 0; - bp->bio_completed = bp->bio_length; - g_io_deliver(bp, 0); + if (error != 0) { + g_io_deliver(bp, error); + return; } + + bp->bio_resid = 0; + bp->bio_completed = bp->bio_length; + g_io_deliver(bp, 0); } From owner-svn-src-all@freebsd.org Thu Mar 10 07:45:01 2016 Return-Path: Delivered-To: svn-src-all@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 64C70ACA473; Thu, 10 Mar 2016 07:45:01 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0B506D07; Thu, 10 Mar 2016 07:45:00 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A7j073058507; Thu, 10 Mar 2016 07:45:00 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A7ivQf058467; Thu, 10 Mar 2016 07:44:57 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201603100744.u2A7ivQf058467@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Thu, 10 Mar 2016 07:44:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296608 - in stable/9/contrib/bind9: . bin/named bin/rndc doc/arm lib/dns lib/isccc X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 07:45:01 -0000 Author: delphij Date: Thu Mar 10 07:44:56 2016 New Revision: 296608 URL: https://svnweb.freebsd.org/changeset/base/296608 Log: MFV r296599: BIND 9.9.8-P4. Security: CVE-2016-1285 Security: CVE-2016-1286 Security: CVE-2016-2088 Security: FreeBSD-SA-16:13.bind Modified: stable/9/contrib/bind9/CHANGES stable/9/contrib/bind9/COPYRIGHT stable/9/contrib/bind9/README stable/9/contrib/bind9/bin/named/control.c stable/9/contrib/bind9/bin/named/controlconf.c stable/9/contrib/bind9/bin/named/query.c stable/9/contrib/bind9/bin/rndc/rndc.c stable/9/contrib/bind9/doc/arm/Bv9ARM.ch01.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch02.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch03.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch04.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch05.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch06.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch07.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch08.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch09.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch10.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch11.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch12.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch13.html stable/9/contrib/bind9/doc/arm/Bv9ARM.html stable/9/contrib/bind9/doc/arm/Bv9ARM.pdf stable/9/contrib/bind9/doc/arm/man.arpaname.html stable/9/contrib/bind9/doc/arm/man.ddns-confgen.html stable/9/contrib/bind9/doc/arm/man.dig.html stable/9/contrib/bind9/doc/arm/man.dnssec-checkds.html stable/9/contrib/bind9/doc/arm/man.dnssec-coverage.html stable/9/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html stable/9/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html stable/9/contrib/bind9/doc/arm/man.dnssec-keygen.html stable/9/contrib/bind9/doc/arm/man.dnssec-revoke.html stable/9/contrib/bind9/doc/arm/man.dnssec-settime.html stable/9/contrib/bind9/doc/arm/man.dnssec-signzone.html stable/9/contrib/bind9/doc/arm/man.dnssec-verify.html stable/9/contrib/bind9/doc/arm/man.genrandom.html stable/9/contrib/bind9/doc/arm/man.host.html stable/9/contrib/bind9/doc/arm/man.isc-hmac-fixup.html stable/9/contrib/bind9/doc/arm/man.named-checkconf.html stable/9/contrib/bind9/doc/arm/man.named-checkzone.html stable/9/contrib/bind9/doc/arm/man.named-journalprint.html stable/9/contrib/bind9/doc/arm/man.named.html stable/9/contrib/bind9/doc/arm/man.nsec3hash.html stable/9/contrib/bind9/doc/arm/man.nsupdate.html stable/9/contrib/bind9/doc/arm/man.rndc-confgen.html stable/9/contrib/bind9/doc/arm/man.rndc.conf.html stable/9/contrib/bind9/doc/arm/man.rndc.html stable/9/contrib/bind9/doc/arm/notes.html stable/9/contrib/bind9/doc/arm/notes.pdf stable/9/contrib/bind9/doc/arm/notes.xml stable/9/contrib/bind9/lib/dns/api stable/9/contrib/bind9/lib/dns/resolver.c stable/9/contrib/bind9/lib/isccc/cc.c stable/9/contrib/bind9/version Directory Properties: stable/9/contrib/bind9/ (props changed) Modified: stable/9/contrib/bind9/CHANGES ============================================================================== --- stable/9/contrib/bind9/CHANGES Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/CHANGES Thu Mar 10 07:44:56 2016 (r296608) @@ -1,3 +1,12 @@ + --- 9.9.8-P4 released --- + +4319. [security] Fix resolver assertion failure due to improper + DNAME handling when parsing fetch reply messages. + (CVE-2016-1286) [RT #41753] + +4318. [security] Malformed control messages can trigger assertions + in named and rndc. (CVE-2016-1285) [RT #41666] + --- 9.9.8-P3 released --- 4288. [bug] Fixed a regression in resolver.c:possibly_mark() Modified: stable/9/contrib/bind9/COPYRIGHT ============================================================================== --- stable/9/contrib/bind9/COPYRIGHT Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/COPYRIGHT Thu Mar 10 07:44:56 2016 (r296608) @@ -1,4 +1,4 @@ -Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC") +Copyright (C) 2004-2016 Internet Systems Consortium, Inc. ("ISC") Copyright (C) 1996-2003 Internet Software Consortium. Permission to use, copy, modify, and/or distribute this software for any Modified: stable/9/contrib/bind9/README ============================================================================== --- stable/9/contrib/bind9/README Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/README Thu Mar 10 07:44:56 2016 (r296608) @@ -51,6 +51,11 @@ BIND 9 For up-to-date release notes and errata, see http://www.isc.org/software/bind9/releasenotes +BIND 9.9.8-P4 + + BIND 9.9.8-P4 is a security release addressing the flaws + described in CVE-2016-1285 and CVE-2016-1286. + BIND 9.9.8-P3 BIND 9.9.8-P3 is a security release addressing the flaw described in Modified: stable/9/contrib/bind9/bin/named/control.c ============================================================================== --- stable/9/contrib/bind9/bin/named/control.c Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/bin/named/control.c Thu Mar 10 07:44:56 2016 (r296608) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2007, 2009-2015 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2001-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -69,7 +69,7 @@ ns_control_docommand(isccc_sexpr_t *mess #endif data = isccc_alist_lookup(message, "_data"); - if (data == NULL) { + if (!isccc_alist_alistp(data)) { /* * No data section. */ Modified: stable/9/contrib/bind9/bin/named/controlconf.c ============================================================================== --- stable/9/contrib/bind9/bin/named/controlconf.c Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/bin/named/controlconf.c Thu Mar 10 07:44:56 2016 (r296608) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2008, 2011-2014 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2008, 2011-2014, 2016 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2001-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -397,7 +397,7 @@ control_recvmessage(isc_task_t *task, is * Limit exposure to replay attacks. */ _ctrl = isccc_alist_lookup(request, "_ctrl"); - if (_ctrl == NULL) { + if (!isccc_alist_alistp(_ctrl)) { log_invalid(&conn->ccmsg, ISC_R_FAILURE); goto cleanup_request; } Modified: stable/9/contrib/bind9/bin/named/query.c ============================================================================== --- stable/9/contrib/bind9/bin/named/query.c Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/bin/named/query.c Thu Mar 10 07:44:56 2016 (r296608) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2016 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -3221,7 +3221,8 @@ query_addbestns(ns_client_t *client) { goto cleanup; /* - * If the answer is secure only add NS records if they are secure * when the client may be looking for AD in the response. + * If the answer is secure only add NS records if they are secure + * when the client may be looking for AD in the response. */ if (SECURE(client) && (WANTDNSSEC(client) || WANTAD(client)) && ((rdataset->trust != dns_trust_secure) || Modified: stable/9/contrib/bind9/bin/rndc/rndc.c ============================================================================== --- stable/9/contrib/bind9/bin/rndc/rndc.c Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/bin/rndc/rndc.c Thu Mar 10 07:44:56 2016 (r296608) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2016 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2000-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -249,8 +249,8 @@ rndc_recvdone(isc_task_t *task, isc_even DO("parse message", isccc_cc_fromwire(&source, &response, &secret)); data = isccc_alist_lookup(response, "_data"); - if (data == NULL) - fatal("no data section in response"); + if (!isccc_alist_alistp(data)) + fatal("bad or missing data section in response"); result = isccc_cc_lookupstring(data, "err", &errormsg); if (result == ISC_R_SUCCESS) { failed = ISC_TRUE; @@ -313,8 +313,8 @@ rndc_recvnonce(isc_task_t *task, isc_eve DO("parse message", isccc_cc_fromwire(&source, &response, &secret)); _ctrl = isccc_alist_lookup(response, "_ctrl"); - if (_ctrl == NULL) - fatal("_ctrl section missing"); + if (!isccc_alist_alistp(_ctrl)) + fatal("bad or missing ctrl section in response"); nonce = 0; if (isccc_cc_lookupuint32(_ctrl, "_nonce", &nonce) != ISC_R_SUCCESS) nonce = 0; Modified: stable/9/contrib/bind9/doc/arm/Bv9ARM.ch01.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/Bv9ARM.ch01.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/Bv9ARM.ch01.html Thu Mar 10 07:44:56 2016 (r296608) @@ -556,6 +556,6 @@

-

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/Bv9ARM.ch02.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/Bv9ARM.ch02.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/Bv9ARM.ch02.html Thu Mar 10 07:44:56 2016 (r296608) @@ -154,6 +154,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/Bv9ARM.ch03.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/Bv9ARM.ch03.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/Bv9ARM.ch03.html Thu Mar 10 07:44:56 2016 (r296608) @@ -665,6 +665,6 @@ controls { -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/Bv9ARM.ch04.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/Bv9ARM.ch04.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/Bv9ARM.ch04.html Thu Mar 10 07:44:56 2016 (r296608) @@ -1935,6 +1935,6 @@ $ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2. -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/Bv9ARM.ch05.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/Bv9ARM.ch05.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/Bv9ARM.ch05.html Thu Mar 10 07:44:56 2016 (r296608) @@ -139,6 +139,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/Bv9ARM.ch06.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/Bv9ARM.ch06.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/Bv9ARM.ch06.html Thu Mar 10 07:44:56 2016 (r296608) @@ -12177,6 +12177,6 @@ HOST-127.EXAMPLE. MX 0 . -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/Bv9ARM.ch07.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/Bv9ARM.ch07.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/Bv9ARM.ch07.html Thu Mar 10 07:44:56 2016 (r296608) @@ -247,6 +247,6 @@ zone "example.com" { -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/Bv9ARM.ch08.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/Bv9ARM.ch08.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/Bv9ARM.ch08.html Thu Mar 10 07:44:56 2016 (r296608) @@ -135,6 +135,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/Bv9ARM.ch09.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/Bv9ARM.ch09.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/Bv9ARM.ch09.html Thu Mar 10 07:44:56 2016 (r296608) @@ -45,7 +45,7 @@

-Release Notes for BIND Version 9.9.8-P3

+Release Notes for BIND Version 9.9.8-P4

Introduction

@@ -68,6 +68,10 @@ This document summarizes changes since BIND 9.9.8:

+ BIND 9.9.8-P4 addresses the security issues described in + CVE-2016-1285 and CVE-2016-1286. +

+

BIND 9.9.8-P3 addresses the security issue described in CVE-2015-8704. It also fixes a serious regression in authoritative server selection that was introduced in 9.9.8. @@ -96,26 +100,35 @@ Security Fixes

  • + The resolver could abort with an assertion failure due to + improper DNAME handling when parsing fetch reply + messages. This flaw is disclosed in CVE-2016-1286. [RT #41753] +

  • +
  • + Malformed control messages can trigger assertions in named + and rndc. This flaw is disclosed in CVE-2016-1285. [RT + #41666] +

  • +
  • Specific APL data could trigger an INSIST. This flaw - was discovered by Brian Mitchell and is disclosed in - CVE-2015-8704. [RT #41396] + is disclosed in CVE-2015-8704. [RT #41396]

  • - Named is potentially vulnerable to the OpenSSL vulnerabilty + Named is potentially vulnerable to the OpenSSL vulnerability described in CVE-2015-3193.

  • + Incorrect reference counting could result in an INSIST + failure if a socket error occurred while performing a + lookup. This flaw is disclosed in CVE-2015-8461. [RT#40945] +

  • +
  • Insufficient testing when parsing a message allowed records with an incorrect class to be be accepted, triggering a REQUIRE failure when those records were subsequently cached. This flaw is disclosed in CVE-2015-8000. [RT #40987]

  • -
  • - Incorrect reference counting could result in an INSIST - failure if a socket error occurred while performing a - lookup. This flaw is disclosed in CVE-2015-8461. [RT#40945] -

@@ -143,7 +156,8 @@

End of Life

- The BIND 9.9 (Extended Support Version) will be supported until June, 2017. + The BIND 9.9 (Extended Support Version) will be supported until + December, 2017. https://www.isc.org/downloads/software-support-policy/

@@ -177,6 +191,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/Bv9ARM.ch10.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/Bv9ARM.ch10.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/Bv9ARM.ch10.html Thu Mar 10 07:44:56 2016 (r296608) @@ -163,6 +163,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/Bv9ARM.ch11.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/Bv9ARM.ch11.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/Bv9ARM.ch11.html Thu Mar 10 07:44:56 2016 (r296608) @@ -514,6 +514,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/Bv9ARM.ch12.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/Bv9ARM.ch12.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/Bv9ARM.ch12.html Thu Mar 10 07:44:56 2016 (r296608) @@ -47,13 +47,13 @@
BIND 9 DNS Library Support
-
Prerequisite
-
Compilation
-
Installation
-
Known Defects/Restrictions
-
The dns.conf File
-
Sample Applications
-
Library References
+
Prerequisite
+
Compilation
+
Installation
+
Known Defects/Restrictions
+
The dns.conf File
+
Sample Applications
+
Library References
@@ -89,7 +89,7 @@

-Prerequisite

+Prerequisite

GNU make is required to build the export libraries (other part of BIND 9 can still be built with other types of make). In the reminder of this document, "make" means GNU make. Note that @@ -98,7 +98,7 @@

-Compilation

+Compilation
 $ ./configure --enable-exportlib [other flags]
 $ make
@@ -113,7 +113,7 @@ $ make
 

-Installation

+Installation
 $ cd lib/export
 $ make install
@@ -135,7 +135,7 @@ $ make i
 
 

-Known Defects/Restrictions

+Known Defects/Restrictions
  • Currently, win32 is not supported for the export library. (Normal BIND 9 application can be built as @@ -175,7 +175,7 @@ $ make

    -The dns.conf File

    +The dns.conf File

The IRS library supports an "advanced" configuration file related to the DNS library for configuration parameters that would be beyond the capability of the @@ -193,14 +193,14 @@ $ make

-Sample Applications

+Sample Applications

Some sample application programs using this API are provided for reference. The following is a brief description of these applications.

-sample: a simple stub resolver utility

+sample: a simple stub resolver utility

It sends a query of a given name (of a given optional RR type) to a specified recursive server, and prints the result as a list of @@ -264,7 +264,7 @@ $ make

-sample-async: a simple stub resolver, working asynchronously

+sample-async: a simple stub resolver, working asynchronously

Similar to "sample", but accepts a list of (query) domain names as a separate file and resolves the names @@ -305,7 +305,7 @@ $ make

-sample-request: a simple DNS transaction client

+sample-request: a simple DNS transaction client

It sends a query to a specified server, and prints the response with minimal processing. It doesn't act as a @@ -346,7 +346,7 @@ $ make

-sample-gai: getaddrinfo() and getnameinfo() test code

+sample-gai: getaddrinfo() and getnameinfo() test code

This is a test program to check getaddrinfo() and getnameinfo() behavior. It takes a @@ -363,7 +363,7 @@ $ make

-sample-update: a simple dynamic update client program

+sample-update: a simple dynamic update client program

It accepts a single update command as a command-line argument, sends an update request message to the @@ -458,7 +458,7 @@ $ sample

-nsprobe: domain/name server checker in terms of RFC 4074

+nsprobe: domain/name server checker in terms of RFC 4074

It checks a set of domains to see the name servers of the domains behave @@ -515,7 +515,7 @@ $ sample

-Library References

+Library References

As of this writing, there is no formal "manual" of the libraries, except this document, header files (some of them provide pretty detailed explanations), and sample application @@ -540,6 +540,6 @@ $ sample -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/Bv9ARM.ch13.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/Bv9ARM.ch13.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/Bv9ARM.ch13.html Thu Mar 10 07:44:56 2016 (r296608) @@ -140,6 +140,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/Bv9ARM.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/Bv9ARM.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/Bv9ARM.html Thu Mar 10 07:44:56 2016 (r296608) @@ -41,7 +41,7 @@

BIND 9 Administrator Reference Manual

-

BIND Version 9.9.8-P3

+

BIND Version 9.9.8-P4

@@ -234,7 +234,7 @@
A. Release Notes
-
Release Notes for BIND Version 9.9.8-P3
+
Release Notes for BIND Version 9.9.8-P4
Introduction
Download
@@ -262,13 +262,13 @@
BIND 9 DNS Library Support
-
Prerequisite
-
Compilation
-
Installation
-
Known Defects/Restrictions
-
The dns.conf File
-
Sample Applications
-
Library References
+
Prerequisite
+
Compilation
+
Installation
+
Known Defects/Restrictions
+
The dns.conf File
+
Sample Applications
+
Library References
I. Manual pages
@@ -365,6 +365,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/Bv9ARM.pdf ============================================================================== Binary file (source and/or target). No diff available. Modified: stable/9/contrib/bind9/doc/arm/man.arpaname.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/man.arpaname.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/man.arpaname.html Thu Mar 10 07:44:56 2016 (r296608) @@ -50,20 +50,20 @@

arpaname {ipaddress ...}

-

DESCRIPTION

+

DESCRIPTION

arpaname translates IP addresses (IPv4 and IPv6) to the corresponding IN-ADDR.ARPA or IP6.ARPA names.

-

SEE ALSO

+

SEE ALSO

BIND 9 Administrator Reference Manual.

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -87,6 +87,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/man.ddns-confgen.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/man.ddns-confgen.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/man.ddns-confgen.html Thu Mar 10 07:44:56 2016 (r296608) @@ -50,7 +50,7 @@

ddns-confgen [-a algorithm] [-h] [-k keyname] [-r randomfile] [ -s name | -z zone ] [-q] [name]

-

DESCRIPTION

+

DESCRIPTION

ddns-confgen generates a key for use by nsupdate and named. It simplifies configuration @@ -77,7 +77,7 @@

-

OPTIONS

+

OPTIONS

-a algorithm

@@ -144,7 +144,7 @@

-

SEE ALSO

+

SEE ALSO

nsupdate(1), named.conf(5), named(8), @@ -152,7 +152,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -176,6 +176,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/man.dig.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/man.dig.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/man.dig.html Thu Mar 10 07:44:56 2016 (r296608) @@ -52,7 +52,7 @@

dig [global-queryopt...] [query...]

-

DESCRIPTION

+

DESCRIPTION

dig (domain information groper) is a flexible tool for interrogating DNS name servers. It performs DNS lookups and @@ -99,7 +99,7 @@

-

SIMPLE USAGE

+

SIMPLE USAGE

A typical invocation of dig looks like:

@@ -152,7 +152,7 @@

-

OPTIONS

+

OPTIONS

-4

@@ -280,7 +280,7 @@

-

QUERY OPTIONS

+

QUERY OPTIONS

dig provides a number of query options which affect the way in which lookups are made and the results displayed. Some of @@ -649,7 +649,7 @@

-

MULTIPLE QUERIES

+

MULTIPLE QUERIES

The BIND 9 implementation of dig supports @@ -695,7 +695,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc

-

IDN SUPPORT

+

IDN SUPPORT

If dig has been built with IDN (internationalized domain name) support, it can accept and display non-ASCII domain names. @@ -709,14 +709,14 @@ dig +qr www.isc.org any -x 127.0.0.1 isc

-

FILES

+

FILES

/etc/resolv.conf

${HOME}/.digrc

-

SEE ALSO

+

SEE ALSO

host(1), named(8), dnssec-keygen(8), @@ -724,7 +724,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc

-

BUGS

+

BUGS

There are probably too many query options.

@@ -747,6 +747,6 @@ dig +qr www.isc.org any -x 127.0.0.1 isc
-

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/man.dnssec-checkds.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/man.dnssec-checkds.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/man.dnssec-checkds.html Thu Mar 10 07:44:56 2016 (r296608) @@ -51,7 +51,7 @@

dnssec-dsfromkey [-l domain] [-f file] [-d dig path] [-D dsfromkey path] {zone}

-

DESCRIPTION

+

DESCRIPTION

dnssec-checkds verifies the correctness of Delegation Signer (DS) or DNSSEC Lookaside Validation (DLV) resource records for keys in a specified @@ -59,7 +59,7 @@

-

OPTIONS

+

OPTIONS

-f file

@@ -88,14 +88,14 @@

-

SEE ALSO

+

SEE ALSO

dnssec-dsfromkey(8), dnssec-keygen(8), dnssec-signzone(8),

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -118,6 +118,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/man.dnssec-coverage.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/man.dnssec-coverage.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/man.dnssec-coverage.html Thu Mar 10 07:44:56 2016 (r296608) @@ -50,7 +50,7 @@

dnssec-coverage [-K directory] [-f file] [-d DNSKEY TTL] [-m max TTL] [-r interval] [-c compilezone path] [zone]

-

DESCRIPTION

+

DESCRIPTION

dnssec-coverage verifies that the DNSSEC keys for a given zone or a set of zones have timing metadata set properly to ensure no future lapses in DNSSEC @@ -78,7 +78,7 @@

-

OPTIONS

+

OPTIONS

-f file

@@ -168,7 +168,7 @@

-

SEE ALSO

+

SEE ALSO

dnssec-checkds(8), dnssec-dsfromkey(8), @@ -177,7 +177,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -201,6 +201,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html Thu Mar 10 07:44:56 2016 (r296608) @@ -52,14 +52,14 @@

dnssec-dsfromkey [-h] [-V]

-

DESCRIPTION

+

DESCRIPTION

dnssec-dsfromkey outputs the Delegation Signer (DS) resource record (RR), as defined in RFC 3658 and RFC 4509, for the given key(s).

-

OPTIONS

+

OPTIONS

-1

@@ -150,7 +150,7 @@

-

EXAMPLE

+

EXAMPLE

To build the SHA-256 DS RR from the Kexample.com.+003+26160 @@ -165,7 +165,7 @@

-

FILES

+

FILES

The keyfile can be designed by the key identification Knnnn.+aaa+iiiii or the full file name @@ -179,13 +179,13 @@

-

CAVEAT

+

CAVEAT

A keyfile error can give a "file not found" even if the file exists.

-

SEE ALSO

+

SEE ALSO

dnssec-keygen(8), dnssec-signzone(8), BIND 9 Administrator Reference Manual, @@ -195,7 +195,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -219,6 +219,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html Thu Mar 10 07:44:56 2016 (r296608) @@ -50,7 +50,7 @@

dnssec-keyfromlabel {-l label} [-3] [-a algorithm] [-A date/offset] [-c class] [-D date/offset] [-E engine] [-f flag] [-G] [-I date/offset] [-i interval] [-k] [-K directory] [-L ttl] [-n nametype] [-P date/offset] [-p protocol] [-R date/offset] [-S key] [-t type] [-v level] [-V] [-y] {name}

-

DESCRIPTION

+

DESCRIPTION

dnssec-keyfromlabel generates a key pair of files that referencing a key object stored in a cryptographic hardware service module (HSM). The private key @@ -66,7 +66,7 @@

-

OPTIONS

+

OPTIONS

-a algorithm
@@ -209,7 +209,7 @@
-

TIMING OPTIONS

+

TIMING OPTIONS

Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the argument begins with a '+' or '-', it is interpreted as @@ -281,7 +281,7 @@

-

GENERATED KEY FILES

+

GENERATED KEY FILES

When dnssec-keyfromlabel completes successfully, @@ -320,7 +320,7 @@

-

SEE ALSO

+

SEE ALSO

dnssec-keygen(8), dnssec-signzone(8), BIND 9 Administrator Reference Manual, @@ -328,7 +328,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -352,6 +352,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/man.dnssec-keygen.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/man.dnssec-keygen.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/man.dnssec-keygen.html Thu Mar 10 07:44:56 2016 (r296608) @@ -50,7 +50,7 @@

dnssec-keygen [-a algorithm] [-b keysize] [-n nametype] [-3] [-A date/offset] [-C] [-c class] [-D date/offset] [-E engine] [-f flag] [-G] [-g generator] [-h] [-I date/offset] [-i interval] [-K directory] [-L ttl] [-k] [-P date/offset] [-p protocol] [-q] [-R date/offset] [-r randomdev] [-S key] [-s strength] [-t type] [-v level] [-V] [-z] {name}

-

DESCRIPTION

+

DESCRIPTION

dnssec-keygen generates keys for DNSSEC (Secure DNS), as defined in RFC 2535 and RFC 4034. It can also generate keys for use with @@ -64,7 +64,7 @@

-

OPTIONS

+

OPTIONS

-a algorithm
@@ -280,7 +280,7 @@
-

TIMING OPTIONS

+

TIMING OPTIONS

Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. If the argument begins with a '+' or '-', it is interpreted as @@ -354,7 +354,7 @@

-

GENERATED KEYS

+

GENERATED KEYS

When dnssec-keygen completes successfully, @@ -400,7 +400,7 @@

-

EXAMPLE

+

EXAMPLE

To generate a 768-bit DSA key for the domain example.com, the following command would be @@ -421,7 +421,7 @@

-

SEE ALSO

+

SEE ALSO

dnssec-signzone(8), BIND 9 Administrator Reference Manual, RFC 2539, @@ -430,7 +430,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

@@ -454,6 +454,6 @@ -

BIND 9.9.8-P3 (Extended Support Version)

+

BIND 9.9.8-P4 (Extended Support Version)

Modified: stable/9/contrib/bind9/doc/arm/man.dnssec-revoke.html ============================================================================== --- stable/9/contrib/bind9/doc/arm/man.dnssec-revoke.html Thu Mar 10 06:25:47 2016 (r296607) +++ stable/9/contrib/bind9/doc/arm/man.dnssec-revoke.html Thu Mar 10 07:44:56 2016 (r296608) @@ -50,7 +50,7 @@

dnssec-revoke [-hr] [-v level] [-V] [-K directory] [-E engine] [-f] [-R] {keyfile}

-

DESCRIPTION

+

DESCRIPTION

dnssec-revoke reads a DNSSEC key file, sets the REVOKED bit on the key as defined *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Mar 10 08:56:19 2016 Return-Path: Delivered-To: svn-src-all@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 ED219AC779E; Thu, 10 Mar 2016 08:56:19 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C87BD1D5C; Thu, 10 Mar 2016 08:56:19 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A8uIIQ079625; Thu, 10 Mar 2016 08:56:18 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A8uItc079623; Thu, 10 Mar 2016 08:56:18 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603100856.u2A8uItc079623@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 10 Mar 2016 08:56:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296609 - vendor-sys/illumos/dist/uts/common/fs/zfs X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 08:56:20 -0000 Author: mav Date: Thu Mar 10 08:56:18 2016 New Revision: 296609 URL: https://svnweb.freebsd.org/changeset/base/296609 Log: 6370 ZFS send fails to transmit some holes Reviewed by: Matthew Ahrens Reviewed by: Chris Williamson Reviewed by: Stefan Ring Reviewed by: Steven Burgess Reviewed by: Arne Jansen Approved by: Robert Mustacchi Author: Paul Dagnelie In certain circumstances, "zfs send -i" (incremental send) can produce a stream which will result in incorrect sparse file contents on the target. The problem manifests as regions of the received file that should be sparse (and read a zero-filled) actually contain data from a file that was deleted (and which happened to share this file's object ID). Note: this can happen only with filesystems (not zvols, because they do not free (and thus can not reuse) object IDs). Note: This can happen only if, since the incremental source (FromSnap), a file was deleted and then another file was created, and the new file is sparse (i.e. has areas that were never written to and should be implicitly zero-filled). We suspect that this was introduced by 4370 (applies only if hole_birth feature is enabled), and made worse by 5243 (applies if hole_birth feature is disabled, and we never send any holes). The bug is caused by the hole birth feature. When an object is deleted and replaced, all the holes in the object have birth time zero. However, zfs send cannot tell that the holes are new since the file was replaced, so it doesn't send them in an incremental. As a result, you can end up with invalid data when you receive incremental send streams. As a short-term fix, we can always send holes with birth time 0 (unless it's a zvol or a dataset where we can guarantee that no objects have been reused). Closes #37 Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_object.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_traverse.c Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_object.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_object.c Thu Mar 10 07:44:56 2016 (r296608) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_object.c Thu Mar 10 08:56:18 2016 (r296609) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2013, 2014 by Delphix. All rights reserved. + * Copyright (c) 2013, 2015 by Delphix. All rights reserved. * Copyright 2014 HybridCluster. All rights reserved. */ @@ -50,6 +50,12 @@ dmu_object_alloc(objset_t *os, dmu_objec * reasonably sparse (at most 1/4 full). Look from the * beginning once, but after that keep looking from here. * If we can't find one, just keep going from here. + * + * Note that dmu_traverse depends on the behavior that we use + * multiple blocks of the dnode object before going back to + * reuse objects. Any change to this algorithm should preserve + * that property or find another solution to the issues + * described in traverse_visitbp. */ if (P2PHASE(object, L2_dnode_count) == 0) { uint64_t offset = restarted ? object << DNODE_SHIFT : 0; Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_traverse.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_traverse.c Thu Mar 10 07:44:56 2016 (r296608) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_traverse.c Thu Mar 10 08:56:18 2016 (r296609) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2012, 2016 by Delphix. All rights reserved. */ #include @@ -62,6 +62,7 @@ typedef struct traverse_data { uint64_t td_hole_birth_enabled_txg; blkptr_cb_t *td_func; void *td_arg; + boolean_t td_realloc_possible; } traverse_data_t; static int traverse_dnode(traverse_data_t *td, const dnode_phys_t *dnp, @@ -231,18 +232,30 @@ traverse_visitbp(traverse_data_t *td, co if (bp->blk_birth == 0) { /* - * Since this block has a birth time of 0 it must be a - * hole created before the SPA_FEATURE_HOLE_BIRTH - * feature was enabled. If SPA_FEATURE_HOLE_BIRTH - * was enabled before the min_txg for this traveral we - * know the hole must have been created before the - * min_txg for this traveral, so we can skip it. If - * SPA_FEATURE_HOLE_BIRTH was enabled after the min_txg - * for this traveral we cannot tell if the hole was - * created before or after the min_txg for this - * traversal, so we cannot skip it. + * Since this block has a birth time of 0 it must be one of + * two things: a hole created before the + * SPA_FEATURE_HOLE_BIRTH feature was enabled, or a hole + * which has always been a hole in an object. + * + * If a file is written sparsely, then the unwritten parts of + * the file were "always holes" -- that is, they have been + * holes since this object was allocated. However, we (and + * our callers) can not necessarily tell when an object was + * allocated. Therefore, if it's possible that this object + * was freed and then its object number reused, we need to + * visit all the holes with birth==0. + * + * If it isn't possible that the object number was reused, + * then if SPA_FEATURE_HOLE_BIRTH was enabled before we wrote + * all the blocks we will visit as part of this traversal, + * then this hole must have always existed, so we can skip + * it. We visit blocks born after (exclusive) td_min_txg. + * + * Note that the meta-dnode cannot be reallocated. */ - if (td->td_hole_birth_enabled_txg < td->td_min_txg) + if ((!td->td_realloc_possible || + zb->zb_object == DMU_META_DNODE_OBJECT) && + td->td_hole_birth_enabled_txg <= td->td_min_txg) return (0); } else if (bp->blk_birth <= td->td_min_txg) { return (0); @@ -337,6 +350,15 @@ traverse_visitbp(traverse_data_t *td, co objset_phys_t *osp = buf->b_data; prefetch_dnode_metadata(td, &osp->os_meta_dnode, zb->zb_objset, DMU_META_DNODE_OBJECT); + /* + * See the block comment above for the goal of this variable. + * If the maxblkid of the meta-dnode is 0, then we know that + * we've never had more than DNODES_PER_BLOCK objects in the + * dataset, which means we can't have reused any object ids. + */ + if (osp->os_meta_dnode.dn_maxblkid == 0) + td->td_realloc_possible = B_FALSE; + if (arc_buf_size(buf) >= sizeof (objset_phys_t)) { prefetch_dnode_metadata(td, &osp->os_groupused_dnode, zb->zb_objset, DMU_GROUPUSED_OBJECT); @@ -543,12 +565,13 @@ traverse_impl(spa_t *spa, dsl_dataset_t td.td_pfd = &pd; td.td_flags = flags; td.td_paused = B_FALSE; + td.td_realloc_possible = (txg_start == 0 ? B_FALSE : B_TRUE); if (spa_feature_is_active(spa, SPA_FEATURE_HOLE_BIRTH)) { VERIFY(spa_feature_enabled_txg(spa, SPA_FEATURE_HOLE_BIRTH, &td.td_hole_birth_enabled_txg)); } else { - td.td_hole_birth_enabled_txg = 0; + td.td_hole_birth_enabled_txg = UINT64_MAX; } pd.pd_flags = flags; From owner-svn-src-all@freebsd.org Thu Mar 10 09:01:21 2016 Return-Path: Delivered-To: svn-src-all@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 96DDEAC7B1E; Thu, 10 Mar 2016 09:01:21 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 18F6018D; Thu, 10 Mar 2016 09:01:21 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2A91KRc082453; Thu, 10 Mar 2016 09:01:20 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2A91JLq082451; Thu, 10 Mar 2016 09:01:19 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603100901.u2A91JLq082451@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 10 Mar 2016 09:01:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296610 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 09:01:21 -0000 Author: mav Date: Thu Mar 10 09:01:19 2016 New Revision: 296610 URL: https://svnweb.freebsd.org/changeset/base/296610 Log: MFV r296609: 6370 ZFS send fails to transmit some holes Reviewed by: Matthew Ahrens Reviewed by: Chris Williamson Reviewed by: Stefan Ring Reviewed by: Steven Burgess Reviewed by: Arne Jansen Approved by: Robert Mustacchi Author: Paul Dagnelie In certain circumstances, "zfs send -i" (incremental send) can produce a stream which will result in incorrect sparse file contents on the target. The problem manifests as regions of the received file that should be sparse (and read a zero-filled) actually contain data from a file that was deleted (and which happened to share this file's object ID). Note: this can happen only with filesystems (not zvols, because they do not free (and thus can not reuse) object IDs). Note: This can happen only if, since the incremental source (FromSnap), a file was deleted and then another file was created, and the new file is sparse (i.e. has areas that were never written to and should be implicitly zero-filled). We suspect that this was introduced by 4370 (applies only if hole_birth feature is enabled), and made worse by 5243 (applies if hole_birth feature is disabled, and we never send any holes). The bug is caused by the hole birth feature. When an object is deleted and replaced, all the holes in the object have birth time zero. However, zfs send cannot tell that the holes are new since the file was replaced, so it doesn't send them in an incremental. As a result, you can end up with invalid data when you receive incremental send streams. As a short-term fix, we can always send holes with birth time 0 (unless it's a zvol or a dataset where we can guarantee that no objects have been reused). Closes #37 openzfs/openzfs@adef853162e83f7cdf6b2d9af9756d434a9c743b Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Directory Properties: head/sys/cddl/contrib/opensolaris/ (props changed) Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c Thu Mar 10 08:56:18 2016 (r296609) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c Thu Mar 10 09:01:19 2016 (r296610) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2013, 2014 by Delphix. All rights reserved. + * Copyright (c) 2013, 2015 by Delphix. All rights reserved. * Copyright 2014 HybridCluster. All rights reserved. */ @@ -50,6 +50,12 @@ dmu_object_alloc(objset_t *os, dmu_objec * reasonably sparse (at most 1/4 full). Look from the * beginning once, but after that keep looking from here. * If we can't find one, just keep going from here. + * + * Note that dmu_traverse depends on the behavior that we use + * multiple blocks of the dnode object before going back to + * reuse objects. Any change to this algorithm should preserve + * that property or find another solution to the issues + * described in traverse_visitbp. */ if (P2PHASE(object, L2_dnode_count) == 0) { uint64_t offset = restarted ? object << DNODE_SHIFT : 0; Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Thu Mar 10 08:56:18 2016 (r296609) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Thu Mar 10 09:01:19 2016 (r296610) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2012, 2016 by Delphix. All rights reserved. * Copyright (c) 2015 Chunwei Chen. All rights reserved. */ @@ -63,6 +63,7 @@ typedef struct traverse_data { uint64_t td_hole_birth_enabled_txg; blkptr_cb_t *td_func; void *td_arg; + boolean_t td_realloc_possible; } traverse_data_t; static int traverse_dnode(traverse_data_t *td, const dnode_phys_t *dnp, @@ -232,18 +233,30 @@ traverse_visitbp(traverse_data_t *td, co if (bp->blk_birth == 0) { /* - * Since this block has a birth time of 0 it must be a - * hole created before the SPA_FEATURE_HOLE_BIRTH - * feature was enabled. If SPA_FEATURE_HOLE_BIRTH - * was enabled before the min_txg for this traveral we - * know the hole must have been created before the - * min_txg for this traveral, so we can skip it. If - * SPA_FEATURE_HOLE_BIRTH was enabled after the min_txg - * for this traveral we cannot tell if the hole was - * created before or after the min_txg for this - * traversal, so we cannot skip it. + * Since this block has a birth time of 0 it must be one of + * two things: a hole created before the + * SPA_FEATURE_HOLE_BIRTH feature was enabled, or a hole + * which has always been a hole in an object. + * + * If a file is written sparsely, then the unwritten parts of + * the file were "always holes" -- that is, they have been + * holes since this object was allocated. However, we (and + * our callers) can not necessarily tell when an object was + * allocated. Therefore, if it's possible that this object + * was freed and then its object number reused, we need to + * visit all the holes with birth==0. + * + * If it isn't possible that the object number was reused, + * then if SPA_FEATURE_HOLE_BIRTH was enabled before we wrote + * all the blocks we will visit as part of this traversal, + * then this hole must have always existed, so we can skip + * it. We visit blocks born after (exclusive) td_min_txg. + * + * Note that the meta-dnode cannot be reallocated. */ - if (td->td_hole_birth_enabled_txg < td->td_min_txg) + if ((!td->td_realloc_possible || + zb->zb_object == DMU_META_DNODE_OBJECT) && + td->td_hole_birth_enabled_txg <= td->td_min_txg) return (0); } else if (bp->blk_birth <= td->td_min_txg) { return (0); @@ -338,6 +351,15 @@ traverse_visitbp(traverse_data_t *td, co objset_phys_t *osp = buf->b_data; prefetch_dnode_metadata(td, &osp->os_meta_dnode, zb->zb_objset, DMU_META_DNODE_OBJECT); + /* + * See the block comment above for the goal of this variable. + * If the maxblkid of the meta-dnode is 0, then we know that + * we've never had more than DNODES_PER_BLOCK objects in the + * dataset, which means we can't have reused any object ids. + */ + if (osp->os_meta_dnode.dn_maxblkid == 0) + td->td_realloc_possible = B_FALSE; + if (arc_buf_size(buf) >= sizeof (objset_phys_t)) { prefetch_dnode_metadata(td, &osp->os_groupused_dnode, zb->zb_objset, DMU_GROUPUSED_OBJECT); @@ -544,12 +566,13 @@ traverse_impl(spa_t *spa, dsl_dataset_t td.td_pfd = &pd; td.td_flags = flags; td.td_paused = B_FALSE; + td.td_realloc_possible = (txg_start == 0 ? B_FALSE : B_TRUE); if (spa_feature_is_active(spa, SPA_FEATURE_HOLE_BIRTH)) { VERIFY(spa_feature_enabled_txg(spa, SPA_FEATURE_HOLE_BIRTH, &td.td_hole_birth_enabled_txg)); } else { - td.td_hole_birth_enabled_txg = 0; + td.td_hole_birth_enabled_txg = UINT64_MAX; } pd.pd_flags = flags; From owner-svn-src-all@freebsd.org Thu Mar 10 10:03:30 2016 Return-Path: Delivered-To: svn-src-all@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 3445EACA755; Thu, 10 Mar 2016 10:03:30 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F212A11B; Thu, 10 Mar 2016 10:03:29 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AA3TjN000916; Thu, 10 Mar 2016 10:03:29 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AA3SRf000908; Thu, 10 Mar 2016 10:03:28 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201603101003.u2AA3SRf000908@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Thu, 10 Mar 2016 10:03:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r296611 - in releng/9.3: . contrib/bind9/bin/named contrib/bind9/bin/rndc contrib/bind9/lib/dns contrib/bind9/lib/isccc crypto/openssl/crypto/bn sys/conf X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 10:03:30 -0000 Author: delphij Date: Thu Mar 10 10:03:28 2016 New Revision: 296611 URL: https://svnweb.freebsd.org/changeset/base/296611 Log: Fix multiple vulnerabilities of BIND. [SA-16:13] Fix a regression with OpenSSL patch. [SA-16:12] Approved by: so Modified: releng/9.3/UPDATING releng/9.3/contrib/bind9/bin/named/control.c releng/9.3/contrib/bind9/bin/named/controlconf.c releng/9.3/contrib/bind9/bin/rndc/rndc.c releng/9.3/contrib/bind9/lib/dns/resolver.c releng/9.3/contrib/bind9/lib/isccc/cc.c releng/9.3/crypto/openssl/crypto/bn/bn_exp.c releng/9.3/sys/conf/newvers.sh Modified: releng/9.3/UPDATING ============================================================================== --- releng/9.3/UPDATING Thu Mar 10 09:01:19 2016 (r296610) +++ releng/9.3/UPDATING Thu Mar 10 10:03:28 2016 (r296611) @@ -11,6 +11,13 @@ handbook: Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before running portupgrade. +20160310 p38 FreeBSD-SA-16:13.bind + FreeBSD-SA-16:12.openssl [revised] + + Fix multiple vulnerabilities of BIND. [SA-16:13] + + Fix a regression with OpenSSL patch. [SA-16:12] + 20160303 p37 FreeBSD-SA-16:12.openssl Fix multiple vulnerabilities of OpenSSL. Modified: releng/9.3/contrib/bind9/bin/named/control.c ============================================================================== --- releng/9.3/contrib/bind9/bin/named/control.c Thu Mar 10 09:01:19 2016 (r296610) +++ releng/9.3/contrib/bind9/bin/named/control.c Thu Mar 10 10:03:28 2016 (r296611) @@ -69,7 +69,7 @@ ns_control_docommand(isccc_sexpr_t *mess #endif data = isccc_alist_lookup(message, "_data"); - if (data == NULL) { + if (!isccc_alist_alistp(data)) { /* * No data section. */ Modified: releng/9.3/contrib/bind9/bin/named/controlconf.c ============================================================================== --- releng/9.3/contrib/bind9/bin/named/controlconf.c Thu Mar 10 09:01:19 2016 (r296610) +++ releng/9.3/contrib/bind9/bin/named/controlconf.c Thu Mar 10 10:03:28 2016 (r296611) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2008, 2011-2014 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2008, 2011-2014, 2016 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2001-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -396,7 +396,7 @@ control_recvmessage(isc_task_t *task, is * Limit exposure to replay attacks. */ _ctrl = isccc_alist_lookup(request, "_ctrl"); - if (_ctrl == NULL) { + if (!isccc_alist_alistp(_ctrl)) { log_invalid(&conn->ccmsg, ISC_R_FAILURE); goto cleanup_request; } Modified: releng/9.3/contrib/bind9/bin/rndc/rndc.c ============================================================================== --- releng/9.3/contrib/bind9/bin/rndc/rndc.c Thu Mar 10 09:01:19 2016 (r296610) +++ releng/9.3/contrib/bind9/bin/rndc/rndc.c Thu Mar 10 10:03:28 2016 (r296611) @@ -252,8 +252,8 @@ rndc_recvdone(isc_task_t *task, isc_even DO("parse message", isccc_cc_fromwire(&source, &response, &secret)); data = isccc_alist_lookup(response, "_data"); - if (data == NULL) - fatal("no data section in response"); + if (!isccc_alist_alistp(data)) + fatal("bad or missing data section in response"); result = isccc_cc_lookupstring(data, "err", &errormsg); if (result == ISC_R_SUCCESS) { failed = ISC_TRUE; @@ -316,8 +316,8 @@ rndc_recvnonce(isc_task_t *task, isc_eve DO("parse message", isccc_cc_fromwire(&source, &response, &secret)); _ctrl = isccc_alist_lookup(response, "_ctrl"); - if (_ctrl == NULL) - fatal("_ctrl section missing"); + if (!isccc_alist_alistp(_ctrl)) + fatal("bad or missing ctrl section in response"); nonce = 0; if (isccc_cc_lookupuint32(_ctrl, "_nonce", &nonce) != ISC_R_SUCCESS) nonce = 0; Modified: releng/9.3/contrib/bind9/lib/dns/resolver.c ============================================================================== --- releng/9.3/contrib/bind9/lib/dns/resolver.c Thu Mar 10 09:01:19 2016 (r296610) +++ releng/9.3/contrib/bind9/lib/dns/resolver.c Thu Mar 10 10:03:28 2016 (r296611) @@ -5385,14 +5385,11 @@ cname_target(dns_rdataset_t *rdataset, d } static inline isc_result_t -dname_target(fetchctx_t *fctx, dns_rdataset_t *rdataset, dns_name_t *qname, - dns_name_t *oname, dns_fixedname_t *fixeddname) +dname_target(dns_rdataset_t *rdataset, dns_name_t *qname, + unsigned int nlabels, dns_fixedname_t *fixeddname) { isc_result_t result; dns_rdata_t rdata = DNS_RDATA_INIT; - unsigned int nlabels; - int order; - dns_namereln_t namereln; dns_rdata_dname_t dname; dns_fixedname_t prefix; @@ -5407,21 +5404,6 @@ dname_target(fetchctx_t *fctx, dns_rdata if (result != ISC_R_SUCCESS) return (result); - /* - * Get the prefix of qname. - */ - namereln = dns_name_fullcompare(qname, oname, &order, &nlabels); - if (namereln != dns_namereln_subdomain) { - char qbuf[DNS_NAME_FORMATSIZE]; - char obuf[DNS_NAME_FORMATSIZE]; - - dns_rdata_freestruct(&dname); - dns_name_format(qname, qbuf, sizeof(qbuf)); - dns_name_format(oname, obuf, sizeof(obuf)); - log_formerr(fctx, "unrelated DNAME in answer: " - "%s is not in %s", qbuf, obuf); - return (DNS_R_FORMERR); - } dns_fixedname_init(&prefix); dns_name_split(qname, nlabels, dns_fixedname_name(&prefix), NULL); dns_fixedname_init(fixeddname); @@ -6034,13 +6016,13 @@ static isc_result_t answer_response(fetchctx_t *fctx) { isc_result_t result; dns_message_t *message; - dns_name_t *name, *qname, tname, *ns_name; + dns_name_t *name, *dname = NULL, *qname, tname, *ns_name; dns_rdataset_t *rdataset, *ns_rdataset; isc_boolean_t done, external, chaining, aa, found, want_chaining; isc_boolean_t have_answer, found_cname, found_type, wanted_chaining; unsigned int aflag; dns_rdatatype_t type; - dns_fixedname_t dname, fqname; + dns_fixedname_t fdname, fqname; dns_view_t *view; FCTXTRACE("answer_response"); @@ -6068,10 +6050,15 @@ answer_response(fetchctx_t *fctx) { view = fctx->res->view; result = dns_message_firstname(message, DNS_SECTION_ANSWER); while (!done && result == ISC_R_SUCCESS) { + dns_namereln_t namereln; + int order; + unsigned int nlabels; + name = NULL; dns_message_currentname(message, DNS_SECTION_ANSWER, &name); external = ISC_TF(!dns_name_issubdomain(name, &fctx->domain)); - if (dns_name_equal(name, qname)) { + namereln = dns_name_fullcompare(qname, name, &order, &nlabels); + if (namereln == dns_namereln_equal) { wanted_chaining = ISC_FALSE; for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; @@ -6196,10 +6183,11 @@ answer_response(fetchctx_t *fctx) { */ INSIST(!external); if (aflag == - DNS_RDATASETATTR_ANSWER) + DNS_RDATASETATTR_ANSWER) { have_answer = ISC_TRUE; - name->attributes |= - DNS_NAMEATTR_ANSWER; + name->attributes |= + DNS_NAMEATTR_ANSWER; + } rdataset->attributes |= aflag; if (aa) rdataset->trust = @@ -6254,6 +6242,8 @@ answer_response(fetchctx_t *fctx) { if (wanted_chaining) chaining = ISC_TRUE; } else { + dns_rdataset_t *dnameset = NULL; + /* * Look for a DNAME (or its SIG). Anything else is * ignored. @@ -6261,32 +6251,56 @@ answer_response(fetchctx_t *fctx) { wanted_chaining = ISC_FALSE; for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; - rdataset = ISC_LIST_NEXT(rdataset, link)) { - isc_boolean_t found_dname = ISC_FALSE; - dns_name_t *dname_name; + rdataset = ISC_LIST_NEXT(rdataset, link)) + { + /* + * Only pass DNAME or RRSIG(DNAME). + */ + if (rdataset->type != dns_rdatatype_dname && + (rdataset->type != dns_rdatatype_rrsig || + rdataset->covers != dns_rdatatype_dname)) + continue; + + /* + * If we're not chaining, then the DNAME and + * its signature should not be external. + */ + if (!chaining && external) { + char qbuf[DNS_NAME_FORMATSIZE]; + char obuf[DNS_NAME_FORMATSIZE]; + + dns_name_format(name, qbuf, + sizeof(qbuf)); + dns_name_format(&fctx->domain, obuf, + sizeof(obuf)); + log_formerr(fctx, "external DNAME or " + "RRSIG covering DNAME " + "in answer: %s is " + "not in %s", qbuf, obuf); + return (DNS_R_FORMERR); + } + + if (namereln != dns_namereln_subdomain) { + char qbuf[DNS_NAME_FORMATSIZE]; + char obuf[DNS_NAME_FORMATSIZE]; + + dns_name_format(qname, qbuf, + sizeof(qbuf)); + dns_name_format(name, obuf, + sizeof(obuf)); + log_formerr(fctx, "unrelated DNAME " + "in answer: %s is " + "not in %s", qbuf, obuf); + return (DNS_R_FORMERR); + } - found = ISC_FALSE; aflag = 0; if (rdataset->type == dns_rdatatype_dname) { - /* - * We're looking for something else, - * but we found a DNAME. - * - * If we're not chaining, then the - * DNAME should not be external. - */ - if (!chaining && external) { - log_formerr(fctx, - "external DNAME"); - return (DNS_R_FORMERR); - } - found = ISC_TRUE; want_chaining = ISC_TRUE; POST(want_chaining); aflag = DNS_RDATASETATTR_ANSWER; - result = dname_target(fctx, rdataset, - qname, name, - &dname); + result = dname_target(rdataset, qname, + nlabels, &fdname); if (result == ISC_R_NOSPACE) { /* * We can't construct the @@ -6298,90 +6312,73 @@ answer_response(fetchctx_t *fctx) { } else if (result != ISC_R_SUCCESS) return (result); else - found_dname = ISC_TRUE; + dnameset = rdataset; - dname_name = dns_fixedname_name(&dname); + dname = dns_fixedname_name(&fdname); if (!is_answertarget_allowed(view, - qname, - rdataset->type, - dname_name, - &fctx->domain)) { + qname, rdataset->type, + dname, &fctx->domain)) { return (DNS_R_SERVFAIL); } - } else if (rdataset->type == dns_rdatatype_rrsig - && rdataset->covers == - dns_rdatatype_dname) { + } else { /* * We've found a signature that * covers the DNAME. */ - found = ISC_TRUE; aflag = DNS_RDATASETATTR_ANSWERSIG; } - if (found) { + /* + * We've found an answer to our + * question. + */ + name->attributes |= DNS_NAMEATTR_CACHE; + rdataset->attributes |= DNS_RDATASETATTR_CACHE; + rdataset->trust = dns_trust_answer; + if (!chaining) { /* - * We've found an answer to our - * question. + * This data is "the" answer to + * our question only if we're + * not chaining. */ - name->attributes |= - DNS_NAMEATTR_CACHE; - rdataset->attributes |= - DNS_RDATASETATTR_CACHE; - rdataset->trust = dns_trust_answer; - if (!chaining) { - /* - * This data is "the" answer - * to our question only if - * we're not chaining. - */ - INSIST(!external); - if (aflag == - DNS_RDATASETATTR_ANSWER) - have_answer = ISC_TRUE; + INSIST(!external); + if (aflag == DNS_RDATASETATTR_ANSWER) { + have_answer = ISC_TRUE; name->attributes |= DNS_NAMEATTR_ANSWER; - rdataset->attributes |= aflag; - if (aa) - rdataset->trust = - dns_trust_authanswer; - } else if (external) { - rdataset->attributes |= - DNS_RDATASETATTR_EXTERNAL; - } - - /* - * DNAME chaining. - */ - if (found_dname) { - /* - * Copy the dname into the - * qname fixed name. - * - * Although we check for - * failure of the copy - * operation, in practice it - * should never fail since - * we already know that the - * result fits in a fixedname. - */ - dns_fixedname_init(&fqname); - result = dns_name_copy( - dns_fixedname_name(&dname), - dns_fixedname_name(&fqname), - NULL); - if (result != ISC_R_SUCCESS) - return (result); - wanted_chaining = ISC_TRUE; - name->attributes |= - DNS_NAMEATTR_CHAINING; - rdataset->attributes |= - DNS_RDATASETATTR_CHAINING; - qname = dns_fixedname_name( - &fqname); } + rdataset->attributes |= aflag; + if (aa) + rdataset->trust = + dns_trust_authanswer; + } else if (external) { + rdataset->attributes |= + DNS_RDATASETATTR_EXTERNAL; } } + + /* + * DNAME chaining. + */ + if (dnameset != NULL) { + /* + * Copy the dname into the qname fixed name. + * + * Although we check for failure of the copy + * operation, in practice it should never fail + * since we already know that the result fits + * in a fixedname. + */ + dns_fixedname_init(&fqname); + qname = dns_fixedname_name(&fqname); + result = dns_name_copy(dname, qname, NULL); + if (result != ISC_R_SUCCESS) + return (result); + wanted_chaining = ISC_TRUE; + name->attributes |= DNS_NAMEATTR_CHAINING; + dnameset->attributes |= + DNS_RDATASETATTR_CHAINING; + } if (wanted_chaining) chaining = ISC_TRUE; } Modified: releng/9.3/contrib/bind9/lib/isccc/cc.c ============================================================================== --- releng/9.3/contrib/bind9/lib/isccc/cc.c Thu Mar 10 09:01:19 2016 (r296610) +++ releng/9.3/contrib/bind9/lib/isccc/cc.c Thu Mar 10 10:03:28 2016 (r296611) @@ -287,10 +287,10 @@ verify(isccc_sexpr_t *alist, unsigned ch * Extract digest. */ _auth = isccc_alist_lookup(alist, "_auth"); - if (_auth == NULL) + if (!isccc_alist_alistp(_auth)) return (ISC_R_FAILURE); hmd5 = isccc_alist_lookup(_auth, "hmd5"); - if (hmd5 == NULL) + if (!isccc_sexpr_binaryp(hmd5)) return (ISC_R_FAILURE); /* * Compute digest. @@ -545,7 +545,7 @@ isccc_cc_createack(isccc_sexpr_t *messag REQUIRE(ackp != NULL && *ackp == NULL); _ctrl = isccc_alist_lookup(message, "_ctrl"); - if (_ctrl == NULL || + if (!isccc_alist_alistp(_ctrl) || isccc_cc_lookupuint32(_ctrl, "_ser", &serial) != ISC_R_SUCCESS || isccc_cc_lookupuint32(_ctrl, "_tim", &t) != ISC_R_SUCCESS) return (ISC_R_FAILURE); @@ -590,7 +590,7 @@ isccc_cc_isack(isccc_sexpr_t *message) isccc_sexpr_t *_ctrl; _ctrl = isccc_alist_lookup(message, "_ctrl"); - if (_ctrl == NULL) + if (!isccc_alist_alistp(_ctrl)) return (ISC_FALSE); if (isccc_cc_lookupstring(_ctrl, "_ack", NULL) == ISC_R_SUCCESS) return (ISC_TRUE); @@ -603,7 +603,7 @@ isccc_cc_isreply(isccc_sexpr_t *message) isccc_sexpr_t *_ctrl; _ctrl = isccc_alist_lookup(message, "_ctrl"); - if (_ctrl == NULL) + if (!isccc_alist_alistp(_ctrl)) return (ISC_FALSE); if (isccc_cc_lookupstring(_ctrl, "_rpl", NULL) == ISC_R_SUCCESS) return (ISC_TRUE); @@ -623,7 +623,7 @@ isccc_cc_createresponse(isccc_sexpr_t *m _ctrl = isccc_alist_lookup(message, "_ctrl"); _data = isccc_alist_lookup(message, "_data"); - if (_ctrl == NULL || _data == NULL || + if (!isccc_alist_alistp(_ctrl) || !isccc_alist_alistp(_data) || isccc_cc_lookupuint32(_ctrl, "_ser", &serial) != ISC_R_SUCCESS || isccc_cc_lookupstring(_data, "type", &type) != ISC_R_SUCCESS) return (ISC_R_FAILURE); @@ -812,7 +812,7 @@ isccc_cc_checkdup(isccc_symtab_t *symtab isccc_sexpr_t *_ctrl; _ctrl = isccc_alist_lookup(message, "_ctrl"); - if (_ctrl == NULL || + if (!isccc_alist_alistp(_ctrl) || isccc_cc_lookupstring(_ctrl, "_ser", &_ser) != ISC_R_SUCCESS || isccc_cc_lookupstring(_ctrl, "_tim", &_tim) != ISC_R_SUCCESS) return (ISC_R_FAILURE); Modified: releng/9.3/crypto/openssl/crypto/bn/bn_exp.c ============================================================================== --- releng/9.3/crypto/openssl/crypto/bn/bn_exp.c Thu Mar 10 09:01:19 2016 (r296610) +++ releng/9.3/crypto/openssl/crypto/bn/bn_exp.c Thu Mar 10 10:03:28 2016 (r296611) @@ -107,13 +107,13 @@ * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * - */ - -#include "cryptlib.h" -#include "constant_time_locl.h" -#include "bn_lcl.h" - -/* maximum precomputation table size for *variable* sliding windows */ + */ + +#include "cryptlib.h" +#include "constant_time_locl.h" +#include "bn_lcl.h" + +/* maximum precomputation table size for *variable* sliding windows */ #define TABLE_SIZE 32 /* this one works - simple but works */ @@ -521,79 +521,79 @@ int BN_mod_exp_mont(BIGNUM *rr, const BI * pattern as far as cache lines are concerned. The following functions are * used to transfer a BIGNUM from/to that table. */ - -static int MOD_EXP_CTIME_COPY_TO_PREBUF(BIGNUM *b, int top, - unsigned char *buf, int idx, - int window) -{ - int i, j; - int width = 1 << window; - BN_ULONG *table = (BN_ULONG *)buf; - - if (bn_wexpand(b, top) == NULL) - return 0; + +static int MOD_EXP_CTIME_COPY_TO_PREBUF(BIGNUM *b, int top, + unsigned char *buf, int idx, + int window) +{ + int i, j; + int width = 1 << window; + BN_ULONG *table = (BN_ULONG *)buf; + + if (bn_wexpand(b, top) == NULL) + return 0; while (b->top < top) { - b->d[b->top++] = 0; - } - - for (i = 0, j = idx; i < top; i++, j += width) { - table[j] = b->d[i]; - } - - bn_correct_top(b); + b->d[b->top++] = 0; + } + + for (i = 0, j = idx; i < top; i++, j += width) { + table[j] = b->d[i]; + } + + bn_correct_top(b); return 1; } - -static int MOD_EXP_CTIME_COPY_FROM_PREBUF(BIGNUM *b, int top, - unsigned char *buf, int idx, - int window) -{ - int i, j; - int width = 1 << window; - volatile BN_ULONG *table = (volatile BN_ULONG *)buf; - - if (bn_wexpand(b, top) == NULL) - return 0; - - if (window <= 3) { - for (i = 0; i < top; i++, table += width) { - BN_ULONG acc = 0; - - for (j = 0; j < width; j++) { - acc |= table[j] & - ((BN_ULONG)0 - (constant_time_eq_int(j,idx)&1)); - } - - b->d[i] = acc; - } - } else { - int xstride = 1 << (window - 2); - BN_ULONG y0, y1, y2, y3; - - i = idx >> (window - 2); /* equivalent of idx / xstride */ - idx &= xstride - 1; /* equivalent of idx % xstride */ - - y0 = (BN_ULONG)0 - (constant_time_eq_int(i,0)&1); - y1 = (BN_ULONG)0 - (constant_time_eq_int(i,1)&1); - y2 = (BN_ULONG)0 - (constant_time_eq_int(i,2)&1); - y3 = (BN_ULONG)0 - (constant_time_eq_int(i,3)&1); - - for (i = 0; i < top; i++, table += width) { - BN_ULONG acc = 0; - - for (j = 0; j < xstride; j++) { - acc |= ( (table[j + 0 * xstride] & y0) | - (table[j + 1 * xstride] & y1) | - (table[j + 2 * xstride] & y2) | - (table[j + 3 * xstride] & y3) ) - & ((BN_ULONG)0 - (constant_time_eq_int(j,idx)&1)); - } - - b->d[i] = acc; - } - } - - b->top = top; + +static int MOD_EXP_CTIME_COPY_FROM_PREBUF(BIGNUM *b, int top, + unsigned char *buf, int idx, + int window) +{ + int i, j; + int width = 1 << window; + volatile BN_ULONG *table = (volatile BN_ULONG *)buf; + + if (bn_wexpand(b, top) == NULL) + return 0; + + if (window <= 3) { + for (i = 0; i < top; i++, table += width) { + BN_ULONG acc = 0; + + for (j = 0; j < width; j++) { + acc |= table[j] & + ((BN_ULONG)0 - (constant_time_eq_int(j,idx)&1)); + } + + b->d[i] = acc; + } + } else { + int xstride = 1 << (window - 2); + BN_ULONG y0, y1, y2, y3; + + i = idx >> (window - 2); /* equivalent of idx / xstride */ + idx &= xstride - 1; /* equivalent of idx % xstride */ + + y0 = (BN_ULONG)0 - (constant_time_eq_int(i,0)&1); + y1 = (BN_ULONG)0 - (constant_time_eq_int(i,1)&1); + y2 = (BN_ULONG)0 - (constant_time_eq_int(i,2)&1); + y3 = (BN_ULONG)0 - (constant_time_eq_int(i,3)&1); + + for (i = 0; i < top; i++, table += width) { + BN_ULONG acc = 0; + + for (j = 0; j < xstride; j++) { + acc |= ( (table[j + 0 * xstride] & y0) | + (table[j + 1 * xstride] & y1) | + (table[j + 2 * xstride] & y2) | + (table[j + 3 * xstride] & y3) ) + & ((BN_ULONG)0 - (constant_time_eq_int(j,idx)&1)); + } + + b->d[i] = acc; + } + } + + b->top = top; bn_correct_top(b); return 1; } @@ -684,13 +684,13 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr /* * Initialize the intermediate result. Do this early to save double * conversion, once each for a^0 and intermediate result. - */ - if (!BN_to_montgomery(r, BN_value_one(), mont, ctx)) - goto err; - if (!MOD_EXP_CTIME_COPY_TO_PREBUF(r, top, powerbuf, 0, window)) - goto err; - - /* Initialize computeTemp as a^1 with montgomery precalcs */ + */ + if (!BN_to_montgomery(r, BN_value_one(), mont, ctx)) + goto err; + if (!MOD_EXP_CTIME_COPY_TO_PREBUF(r, top, powerbuf, 0, window)) + goto err; + + /* Initialize computeTemp as a^1 with montgomery precalcs */ computeTemp = BN_CTX_get(ctx); am = BN_CTX_get(ctx); if (computeTemp == NULL || am == NULL) @@ -703,13 +703,13 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr } else aa = a; if (!BN_to_montgomery(am, aa, mont, ctx)) - goto err; - if (!BN_copy(computeTemp, am)) - goto err; - if (!MOD_EXP_CTIME_COPY_TO_PREBUF(am, top, powerbuf, 1, window)) - goto err; - - /* + goto err; + if (!BN_copy(computeTemp, am)) + goto err; + if (!MOD_EXP_CTIME_COPY_TO_PREBUF(am, top, powerbuf, 1, window)) + goto err; + + /* * If the window size is greater than 1, then calculate * val[i=2..2^winsize-1]. Powers are computed as a*a^(i-1) (even powers * could instead be computed as (a^(i/2))^2 to use the slight performance @@ -718,14 +718,14 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr if (window > 1) { for (i = 2; i < numPowers; i++) { /* Calculate a^i = a^(i-1) * a */ - if (!BN_mod_mul_montgomery - (computeTemp, am, computeTemp, mont, ctx)) - goto err; - if (!MOD_EXP_CTIME_COPY_TO_PREBUF(computeTemp, top, powerbuf, i, - window)) - goto err; - } - } + if (!BN_mod_mul_montgomery + (computeTemp, am, computeTemp, mont, ctx)) + goto err; + if (!MOD_EXP_CTIME_COPY_TO_PREBUF(computeTemp, top, powerbuf, i, + window)) + goto err; + } + } /* * Adjust the number of bits up to a multiple of the window size. If the @@ -758,7 +758,7 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr * Fetch the appropriate pre-computed value from the pre-buf */ if (!MOD_EXP_CTIME_COPY_FROM_PREBUF - (computeTemp, top, powerbuf, wvalue, numPowers)) + (computeTemp, top, powerbuf, wvalue, window)) goto err; /* Multiply the result into the intermediate result */ Modified: releng/9.3/sys/conf/newvers.sh ============================================================================== --- releng/9.3/sys/conf/newvers.sh Thu Mar 10 09:01:19 2016 (r296610) +++ releng/9.3/sys/conf/newvers.sh Thu Mar 10 10:03:28 2016 (r296611) @@ -32,7 +32,7 @@ TYPE="FreeBSD" REVISION="9.3" -BRANCH="RELEASE-p37" +BRANCH="RELEASE-p38" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} fi From owner-svn-src-all@freebsd.org Thu Mar 10 10:51:13 2016 Return-Path: Delivered-To: svn-src-all@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 27B8CACAA35; Thu, 10 Mar 2016 10:51:13 +0000 (UTC) (envelope-from timon@timon.net.nz) Received: from flare.plasmahost.ru (static.155.109.4.46.clients.your-server.de [46.4.109.155]) (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 A6453113; Thu, 10 Mar 2016 10:51:12 +0000 (UTC) (envelope-from timon@timon.net.nz) Received: from [185.6.245.156] (helo=t510.timon.net.nz) by flare.plasmahost.ru with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86_2 (FreeBSD)) (envelope-from ) id 1adxW9-000HeA-NE; Thu, 10 Mar 2016 10:08:33 +0000 Subject: Re: svn commit: r296590 - in head/sys: dev/fdc sys To: Warner Losh , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603100036.u2A0ad3i028284@repo.freebsd.org> From: Aleksander Matveev Message-ID: <56E14799.7070205@timon.net.nz> Date: Thu, 10 Mar 2016 13:08:25 +0300 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603100036.u2A0ad3i028284@repo.freebsd.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 10:51:13 -0000 On 10/03/2016 03:36, Warner Losh wrote: > Author: imp > Date: Thu Mar 10 00:36:38 2016 > New Revision: 296590 > URL: https://svnweb.freebsd.org/changeset/base/296590 > > Log: > Add raw RX-50 support. These are 400k single sided disks with 80 > tracks and 10 sectors per track. More exotic RX-50 types not > supported, nor is there support for de-interleaving the first two > tracks where the physical sectors are 0 1 2 3 4 5 6 7 8 9, but they > should be interpreted as 0 5 1 6 2 7 3 8 4 9. This is purely to read > the media with dd. The FAT that's on these disks won't work with > msdosfs anyway. > A week ago I sorted some stuff and found my old "Western Digital 93044-a" 43.2 MiB IDE HDD. Unfortunately, I couldn't read it under FreeBSD because HDD doesn't support LBA addressing and FreeBSD doesn't support CHS anymore. At first I thought that this is right to drop support of such old hardware, but after this commit may be I should write a patch that brings back CHS-addressing support :) -- Aleksandr Matveev From owner-svn-src-all@freebsd.org Thu Mar 10 14:17:25 2016 Return-Path: Delivered-To: svn-src-all@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 7957BACB943; Thu, 10 Mar 2016 14:17:25 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4B2FF95A; Thu, 10 Mar 2016 14:17:25 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AEHOeP077063; Thu, 10 Mar 2016 14:17:24 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AEHOu8077062; Thu, 10 Mar 2016 14:17:24 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603101417.u2AEHOu8077062@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 10 Mar 2016 14:17:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296612 - head/sys/dev/cxgb/ulp/tom X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 14:17:25 -0000 Author: np Date: Thu Mar 10 14:17:24 2016 New Revision: 296612 URL: https://svnweb.freebsd.org/changeset/base/296612 Log: cxgb(4): Remove redundant part of an assertion. PR: 207858 Submitted by: David Binderman Modified: head/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c Modified: head/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c ============================================================================== --- head/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c Thu Mar 10 10:03:28 2016 (r296611) +++ head/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c Thu Mar 10 14:17:24 2016 (r296612) @@ -286,7 +286,7 @@ release_tid(struct toedev *tod, unsigned struct tid_info *t = &td->tid_maps; #endif - KASSERT(tid >= 0 && tid < t->ntids, + KASSERT(tid < t->ntids, ("%s: tid=%d, ntids=%d", __func__, tid, t->ntids)); m = M_GETHDR_OFLD(qset, CPL_PRIORITY_CONTROL, cpl); From owner-svn-src-all@freebsd.org Thu Mar 10 14:18:15 2016 Return-Path: Delivered-To: svn-src-all@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 F0B89ACBA02; Thu, 10 Mar 2016 14:18:15 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C1CBDB04; Thu, 10 Mar 2016 14:18:15 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AEIESQ077147; Thu, 10 Mar 2016 14:18:14 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AEIEqe077146; Thu, 10 Mar 2016 14:18:14 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603101418.u2AEIEqe077146@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 10 Mar 2016 14:18:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296613 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 14:18:16 -0000 Author: mav Date: Thu Mar 10 14:18:14 2016 New Revision: 296613 URL: https://svnweb.freebsd.org/changeset/base/296613 Log: Make ZFS more picky to GEOM stripe sizes and offsets. Use of misaligned or non-power-of-2 stripes is not really useful for ZFS, since increased ashift won't help to avoid read-modify-write cycles, and only reduce pool space efficiency and compression rates. Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Thu Mar 10 14:17:24 2016 (r296612) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Thu Mar 10 14:18:14 2016 (r296613) @@ -811,7 +811,8 @@ vdev_geom_open(vdev_t *vd, uint64_t *psi */ *logical_ashift = highbit(MAX(pp->sectorsize, SPA_MINBLOCKSIZE)) - 1; *physical_ashift = 0; - if (pp->stripesize) + if (pp->stripesize > (1 << *logical_ashift) && ISP2(pp->stripesize) && + pp->stripeoffset == 0) *physical_ashift = highbit(pp->stripesize) - 1; /* From owner-svn-src-all@freebsd.org Thu Mar 10 15:51:45 2016 Return-Path: Delivered-To: svn-src-all@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 84934ACAAD4; Thu, 10 Mar 2016 15:51:45 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 2327C238; Thu, 10 Mar 2016 15:51:45 +0000 (UTC) (envelope-from br@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AFpigL006454; Thu, 10 Mar 2016 15:51:44 GMT (envelope-from br@FreeBSD.org) Received: (from br@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AFph5h006441; Thu, 10 Mar 2016 15:51:43 GMT (envelope-from br@FreeBSD.org) Message-Id: <201603101551.u2AFph5h006441@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: br set sender to br@FreeBSD.org using -f From: Ruslan Bukin Date: Thu, 10 Mar 2016 15:51:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296614 - in head/sys: conf riscv/conf riscv/htif riscv/include riscv/riscv X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 15:51:45 -0000 Author: br Date: Thu Mar 10 15:51:43 2016 New Revision: 296614 URL: https://svnweb.freebsd.org/changeset/base/296614 Log: Add support for ddb(4). Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Added: head/sys/riscv/include/riscv_opcode.h (contents, props changed) head/sys/riscv/include/stack.h (contents, props changed) head/sys/riscv/riscv/db_disasm.c (contents, props changed) head/sys/riscv/riscv/db_interface.c (contents, props changed) head/sys/riscv/riscv/db_trace.c (contents, props changed) head/sys/riscv/riscv/unwind.c (contents, props changed) Modified: head/sys/conf/Makefile.riscv head/sys/conf/files.riscv head/sys/riscv/conf/GENERIC head/sys/riscv/htif/htif_console.c head/sys/riscv/include/db_machdep.h head/sys/riscv/include/riscvreg.h head/sys/riscv/riscv/stack_machdep.c head/sys/riscv/riscv/trap.c Modified: head/sys/conf/Makefile.riscv ============================================================================== --- head/sys/conf/Makefile.riscv Thu Mar 10 14:18:14 2016 (r296613) +++ head/sys/conf/Makefile.riscv Thu Mar 10 15:51:43 2016 (r296614) @@ -29,7 +29,7 @@ S= ../../.. INCLUDES+= -I$S/contrib/libfdt .if !empty(DDB_ENABLED) -CFLAGS += -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer +CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls .endif %BEFORE_DEPEND Modified: head/sys/conf/files.riscv ============================================================================== --- head/sys/conf/files.riscv Thu Mar 10 14:18:14 2016 (r296613) +++ head/sys/conf/files.riscv Thu Mar 10 15:51:43 2016 (r296614) @@ -23,6 +23,9 @@ riscv/riscv/clock.c standard riscv/riscv/copyinout.S standard riscv/riscv/copystr.c standard riscv/riscv/cpufunc_asm.S standard +riscv/riscv/db_disasm.c optional ddb +riscv/riscv/db_interface.c optional ddb +riscv/riscv/db_trace.c optional ddb riscv/riscv/devmap.c standard riscv/riscv/dump_machdep.c standard riscv/riscv/elf_machdep.c standard @@ -44,4 +47,5 @@ riscv/riscv/trap.c standard riscv/riscv/timer.c standard riscv/riscv/uio_machdep.c standard riscv/riscv/uma_machdep.c standard +riscv/riscv/unwind.c optional ddb | kdtrace_hooks | stack riscv/riscv/vm_machdep.c standard Modified: head/sys/riscv/conf/GENERIC ============================================================================== --- head/sys/riscv/conf/GENERIC Thu Mar 10 14:18:14 2016 (r296613) +++ head/sys/riscv/conf/GENERIC Thu Mar 10 15:51:43 2016 (r296614) @@ -79,10 +79,10 @@ options SMP # options ROOTDEVNAME=\"ufs:/dev/md0\" # Debugging support. Always need this: -# options KDB # Enable kernel debugger support. -# options KDB_TRACE # Print a stack trace for a panic. +options KDB # Enable kernel debugger support. +options KDB_TRACE # Print a stack trace for a panic. # For full debugger support use (turn off in stable branch): -# options DDB # Support DDB. +options DDB # Support DDB. # options GDB # Support remote GDB. options DEADLKRES # Enable the deadlock resolver options INVARIANTS # Enable calls of extra sanity checking Modified: head/sys/riscv/htif/htif_console.c ============================================================================== --- head/sys/riscv/htif/htif_console.c Thu Mar 10 14:18:14 2016 (r296613) +++ head/sys/riscv/htif/htif_console.c Thu Mar 10 15:51:43 2016 (r296614) @@ -267,10 +267,37 @@ riscv_cnungrab(struct consdev *cp) static int riscv_cngetc(struct consdev *cp) { +#if defined(KDB) + uint64_t devcmd; + uint64_t entry; + uint64_t devid; +#endif uint8_t data; int ch; - ch = htif_getc(); + htif_getc(); + +#if defined(KDB) + if (kdb_active) { + entry = machine_command(ECALL_HTIF_GET_ENTRY, 0); + while (entry) { + devid = HTIF_DEV_ID(entry); + devcmd = HTIF_DEV_CMD(entry); + data = HTIF_DEV_DATA(entry); + + if (devid == CONSOLE_DEFAULT_ID && devcmd == 0) { + entry_last->data = data; + entry_last->used = 1; + entry_last = entry_last->next; + } else { + printf("Lost interrupt: devid %d\n", + devid); + } + + entry = machine_command(ECALL_HTIF_GET_ENTRY, 0); + } + } +#endif if (entry_served->used == 1) { data = entry_served->data; Modified: head/sys/riscv/include/db_machdep.h ============================================================================== --- head/sys/riscv/include/db_machdep.h Thu Mar 10 14:18:14 2016 (r296613) +++ head/sys/riscv/include/db_machdep.h Thu Mar 10 15:51:43 2016 (r296614) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2015 Ruslan Bukin + * Copyright (c) 2015-2016 Ruslan Bukin * All rights reserved. * * Portions of this software were developed by SRI International and the @@ -41,7 +41,51 @@ #include #include +#define T_BREAKPOINT (EXCP_INSTR_BREAKPOINT) +#define T_WATCHPOINT (0) + typedef vm_offset_t db_addr_t; typedef long db_expr_t; +#define PC_REGS() ((db_addr_t)kdb_thrctx->pcb_sepc) + +#define BKPT_INST (0x00100073) +#define BKPT_SIZE (INSN_SIZE) +#define BKPT_SET(inst) (BKPT_INST) + +#define BKPT_SKIP do { \ + kdb_frame->tf_sepc += BKPT_SIZE; \ +} while (0) + +#define db_clear_single_step kdb_cpu_clear_singlestep +#define db_set_single_step kdb_cpu_set_singlestep + +#define IS_BREAKPOINT_TRAP(type, code) (type == T_BREAKPOINT) +#define IS_WATCHPOINT_TRAP(type, code) (type == T_WATCHPOINT) + +#define inst_trap_return(ins) (ins == 0x10000073) /* eret */ +#define inst_return(ins) (ins == 0x00008067) /* ret */ +#define inst_call(ins) (((ins) & 0x7f) == 111 || \ + ((ins) & 0x7f) == 103) /* jal, jalr */ + +#define inst_load(ins) ({ \ + uint32_t tmp_instr = db_get_value(PC_REGS(), sizeof(uint32_t), FALSE); \ + is_load_instr(tmp_instr); \ +}) + +#define inst_store(ins) ({ \ + uint32_t tmp_instr = db_get_value(PC_REGS(), sizeof(uint32_t), FALSE); \ + is_store_instr(tmp_instr); \ +}) + +#define is_load_instr(ins) (((ins) & 0x7f) == 3) +#define is_store_instr(ins) (((ins) & 0x7f) == 35) + +#define next_instr_address(pc, bd) ((bd) ? (pc) : ((pc) + 4)) + +#define DB_SMALL_VALUE_MAX (0x7fffffff) +#define DB_SMALL_VALUE_MIN (-0x40001) + +#define DB_ELFSIZE 64 + #endif /* !_MACHINE_DB_MACHDEP_H_ */ Added: head/sys/riscv/include/riscv_opcode.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/riscv/include/riscv_opcode.h Thu Mar 10 15:51:43 2016 (r296614) @@ -0,0 +1,116 @@ +/*- + * Copyright (c) 2016 Ruslan Bukin + * All rights reserved. + * + * Portions of this software were developed by SRI International and the + * University of Cambridge Computer Laboratory under DARPA/AFRL contract + * FA8750-10-C-0237 ("CTSRD"), as part of the DARPA CRASH research programme. + * + * Portions of this software were developed by the University of Cambridge + * Computer Laboratory as part of the CTSRD Project, with support from the + * UK Higher Education Innovation Fund (HEIF). + * + * 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 _MACHINE_RISCV_OPCODE_H_ +#define _MACHINE_RISCV_OPCODE_H_ + +/* + * Define the instruction formats and opcode values for the + * RISC-V instruction set. + */ +#include + +/* + * Define the instruction formats. + */ +typedef union { + unsigned word; + + struct { + unsigned opcode: 7; + unsigned rd: 5; + unsigned funct3: 3; + unsigned rs1: 5; + unsigned rs2: 5; + unsigned funct7: 7; + } RType; + + struct { + unsigned opcode: 7; + unsigned rd: 5; + unsigned funct3: 3; + unsigned rs1: 5; + unsigned rs2: 6; + unsigned funct7: 6; + } R2Type; + + struct { + unsigned opcode: 7; + unsigned rd: 5; + unsigned funct3: 3; + unsigned rs1: 5; + unsigned imm: 12; + } IType; + + struct { + unsigned opcode: 7; + unsigned imm0_4: 5; + unsigned funct3: 3; + unsigned rs1: 5; + unsigned rs2: 5; + unsigned imm5_11: 7; + } SType; + + struct { + unsigned opcode: 7; + unsigned imm11: 1; + unsigned imm1_4: 4; + unsigned funct3: 3; + unsigned rs1: 5; + unsigned rs2: 5; + unsigned imm5_10: 6; + unsigned imm12: 1; + } SBType; + + struct { + unsigned opcode: 7; + unsigned rd: 5; + unsigned imm12_31: 20; + } UType; + + struct { + unsigned opcode: 7; + unsigned rd: 5; + unsigned imm12_19: 8; + unsigned imm11: 1; + unsigned imm1_10: 10; + unsigned imm20: 1; + } UJType; +} InstFmt; + +#define RISCV_OPCODE(r) (r & 0x7f) + +#endif /* !_MACHINE_RISCV_OPCODE_H_ */ Modified: head/sys/riscv/include/riscvreg.h ============================================================================== --- head/sys/riscv/include/riscvreg.h Thu Mar 10 14:18:14 2016 (r296613) +++ head/sys/riscv/include/riscvreg.h Thu Mar 10 15:51:43 2016 (r296614) @@ -117,9 +117,10 @@ #define SIP_SSIP (1 << 1) #define SIP_STIP (1 << 5) -#define NCSRS 4096 -#define CSR_IPI 0x783 -#define XLEN 8 +#define NCSRS 4096 +#define CSR_IPI 0x783 +#define XLEN 8 +#define INSN_SIZE 4 #define CSR_ZIMM(val) \ (__builtin_constant_p(val) && ((u_long)(val) < 32)) Added: head/sys/riscv/include/stack.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/riscv/include/stack.h Thu Mar 10 15:51:43 2016 (r296614) @@ -0,0 +1,51 @@ +/*- + * Copyright (c) 2016 Ruslan Bukin + * All rights reserved. + * + * Portions of this software were developed by SRI International and the + * University of Cambridge Computer Laboratory under DARPA/AFRL contract + * FA8750-10-C-0237 ("CTSRD"), as part of the DARPA CRASH research programme. + * + * Portions of this software were developed by the University of Cambridge + * Computer Laboratory as part of the CTSRD Project, with support from the + * UK Higher Education Innovation Fund (HEIF). + * + * 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 _MACHINE_STACK_H_ +#define _MACHINE_STACK_H_ + +#define INKERNEL(va) ((va) >= VM_MIN_KERNEL_ADDRESS && \ + (va) <= VM_MAX_KERNEL_ADDRESS) + +struct unwind_state { + uint64_t fp; + uint64_t sp; + uint64_t pc; +}; + +int unwind_frame(struct unwind_state *); + +#endif /* !_MACHINE_STACK_H_ */ Added: head/sys/riscv/riscv/db_disasm.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/riscv/riscv/db_disasm.c Thu Mar 10 15:51:43 2016 (r296614) @@ -0,0 +1,475 @@ +/*- + * Copyright (c) 2016 Ruslan Bukin + * All rights reserved. + * + * Portions of this software were developed by SRI International and the + * University of Cambridge Computer Laboratory under DARPA/AFRL contract + * FA8750-10-C-0237 ("CTSRD"), as part of the DARPA CRASH research programme. + * + * Portions of this software were developed by the University of Cambridge + * Computer Laboratory as part of the CTSRD Project, with support from the + * UK Higher Education Innovation Fund (HEIF). + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include + +#include +#include + +struct riscv_op { + char *name; + char *type; + char *fmt; + int opcode; + int funct3; + int funct7; /* Or imm, depending on type. */ +}; + +/* + * Keep sorted by opcode, funct3, funct7 so some instructions + * aliases will be supported (e.g. "mv" instruction alias) + * Use same print format as binutils do. + */ +static struct riscv_op riscv_opcodes[] = { + { "lb", "I", "d,o(s)", 3, 0, -1 }, + { "lh", "I", "d,o(s)", 3, 1, -1 }, + { "lw", "I", "d,o(s)", 3, 2, -1 }, + { "ld", "I", "d,o(s)", 3, 3, -1 }, + { "lbu", "I", "d,o(s)", 3, 4, -1 }, + { "lhu", "I", "d,o(s)", 3, 5, -1 }, + { "lwu", "I", "d,o(s)", 3, 6, -1 }, + { "ldu", "I", "d,o(s)", 3, 7, -1 }, + { "fence", "I", "", 15, 0, -1 }, + { "fence.i", "I", "", 15, 1, -1 }, + { "mv", "I", "d,s", 19, 0, 0 }, + { "addi", "I", "d,s,j", 19, 0, -1 }, + { "slli", "R2", "d,s,>", 19, 1, 0 }, + { "slti", "I", "d,s,j", 19, 2, -1 }, + { "sltiu", "I", "d,s,j", 19, 3, -1 }, + { "xori", "I", "d,s,j", 19, 4, -1 }, + { "srli", "R2", "d,s,>", 19, 5, 0 }, + { "srai", "R2", "d,s,>", 19, 5, 0b010000 }, + { "ori", "I", "d,s,j", 19, 6, -1 }, + { "andi", "I", "d,s,j", 19, 7, -1 }, + { "auipc", "U", "d,u", 23, -1, -1 }, + { "sext.w", "I", "d,s", 27, 0, 0 }, + { "addiw", "I", "d,s,j", 27, 0, -1 }, + { "slliw", "R", "d,s,<", 27, 1, 0 }, + { "srliw", "R", "d,s,<", 27, 5, 0 }, + { "sraiw", "R", "d,s,<", 27, 5, 0b0100000 }, + { "sb", "S", "t,q(s)", 35, 0, -1 }, + { "sh", "S", "t,q(s)", 35, 1, -1 }, + { "sw", "S", "t,q(s)", 35, 2, -1 }, + { "sd", "S", "t,q(s)", 35, 3, -1 }, + { "sbu", "S", "t,q(s)", 35, 4, -1 }, + { "shu", "S", "t,q(s)", 35, 5, -1 }, + { "swu", "S", "t,q(s)", 35, 6, -1 }, + { "sdu", "S", "t,q(s)", 35, 7, -1 }, + { "lr.w", "R", "d,t,0(s)", 47, 2, 0b0001000 }, + { "sc.w", "R", "d,t,0(s)", 47, 2, 0b0001100 }, + { "amoswap.w", "R", "d,t,0(s)", 47, 2, 0b0000100 }, + { "amoadd.w", "R", "d,t,0(s)", 47, 2, 0b0000000 }, + { "amoxor.w", "R", "d,t,0(s)", 47, 2, 0b0010000 }, + { "amoand.w", "R", "d,t,0(s)", 47, 2, 0b0110000 }, + { "amoor.w", "R", "d,t,0(s)", 47, 2, 0b0100000 }, + { "amomin.w", "R", "d,t,0(s)", 47, 2, 0b1000000 }, + { "amomax.w", "R", "d,t,0(s)", 47, 2, 0b1010000 }, + { "amominu.w", "R", "d,t,0(s)", 47, 2, 0b1100000 }, + { "amomaxu.w", "R", "d,t,0(s)", 47, 2, 0b1110000 }, + { "lr.w.aq", "R", "d,t,0(s)", 47, 2, 0b0001000 }, + { "sc.w.aq", "R", "d,t,0(s)", 47, 2, 0b0001100 }, + { "amoswap.w.aq","R", "d,t,0(s)", 47, 2, 0b0000110 }, + { "amoadd.w.aq","R", "d,t,0(s)", 47, 2, 0b0000010 }, + { "amoxor.w.aq","R", "d,t,0(s)", 47, 2, 0b0010010 }, + { "amoand.w.aq","R", "d,t,0(s)", 47, 2, 0b0110010 }, + { "amoor.w.aq", "R", "d,t,0(s)", 47, 2, 0b0100010 }, + { "amomin.w.aq","R", "d,t,0(s)", 47, 2, 0b1000010 }, + { "amomax.w.aq","R", "d,t,0(s)", 47, 2, 0b1010010 }, + { "amominu.w.aq","R", "d,t,0(s)", 47, 2, 0b1100010 }, + { "amomaxu.w.aq","R", "d,t,0(s)", 47, 2, 0b1110010 }, + { "amoswap.w.rl","R", "d,t,0(s)", 47, 2, 0b0000110 }, + { "amoadd.w.rl","R", "d,t,0(s)", 47, 2, 0b0000001 }, + { "amoxor.w.rl","R", "d,t,0(s)", 47, 2, 0b0010001 }, + { "amoand.w.rl","R", "d,t,0(s)", 47, 2, 0b0110001 }, + { "amoor.w.rl", "R", "d,t,0(s)", 47, 2, 0b0100001 }, + { "amomin.w.rl","R", "d,t,0(s)", 47, 2, 0b1000001 }, + { "amomax.w.rl","R", "d,t,0(s)", 47, 2, 0b1010001 }, + { "amominu.w.rl","R", "d,t,0(s)", 47, 2, 0b1100001 }, + { "amomaxu.w.rl","R", "d,t,0(s)", 47, 2, 0b1110001 }, + { "amoswap.d", "R", "d,t,0(s)", 47, 3, 0b0000100 }, + { "amoadd.d", "R", "d,t,0(s)", 47, 3, 0b0000000 }, + { "amoxor.d", "R", "d,t,0(s)", 47, 3, 0b0010000 }, + { "amoand.d", "R", "d,t,0(s)", 47, 3, 0b0110000 }, + { "amoor.d", "R", "d,t,0(s)", 47, 3, 0b0100000 }, + { "amomin.d", "R", "d,t,0(s)", 47, 3, 0b1000000 }, + { "amomax.d", "R", "d,t,0(s)", 47, 3, 0b1010000 }, + { "amominu.d", "R", "d,t,0(s)", 47, 3, 0b1100000 }, + { "amomaxu.d", "R", "d,t,0(s)", 47, 3, 0b1110000 }, + { "lr.d.aq", "R", "d,t,0(s)", 47, 3, 0b0001000 }, + { "sc.d.aq", "R", "d,t,0(s)", 47, 3, 0b0001100 }, + { "amoswap.d.aq","R", "d,t,0(s)", 47, 3, 0b0000110 }, + { "amoadd.d.aq","R", "d,t,0(s)", 47, 3, 0b0000010 }, + { "amoxor.d.aq","R", "d,t,0(s)", 47, 3, 0b0010010 }, + { "amoand.d.aq","R", "d,t,0(s)", 47, 3, 0b0110010 }, + { "amoor.d.aq", "R", "d,t,0(s)", 47, 3, 0b0100010 }, + { "amomin.d.aq","R", "d,t,0(s)", 47, 3, 0b1000010 }, + { "amomax.d.aq","R", "d,t,0(s)", 47, 3, 0b1010010 }, + { "amominu.d.aq","R", "d,t,0(s)", 47, 3, 0b1100010 }, + { "amomaxu.d.aq","R", "d,t,0(s)", 47, 3, 0b1110010 }, + { "amoswap.d.rl","R", "d,t,0(s)", 47, 3, 0b0000110 }, + { "amoadd.d.rl","R", "d,t,0(s)", 47, 3, 0b0000001 }, + { "amoxor.d.rl","R", "d,t,0(s)", 47, 3, 0b0010001 }, + { "amoand.d.rl","R", "d,t,0(s)", 47, 3, 0b0110001 }, + { "amoor.d.rl", "R", "d,t,0(s)", 47, 3, 0b0100001 }, + { "amomin.d.rl","R", "d,t,0(s)", 47, 3, 0b1000001 }, + { "amomax.d.rl","R", "d,t,0(s)", 47, 3, 0b1010001 }, + { "amominu.d.rl","R", "d,t,0(s)", 47, 3, 0b1100001 }, + { "amomaxu.d.rl","R", "d,t,0(s)", 47, 3, 0b1110001 }, + { "add", "R", "d,s,t", 51, 0, 0 }, + { "sub", "R", "d,s,t", 51, 0, 0b0100000 }, + { "mul", "R", "d,s,t", 51, 0, 0b0000001 }, + { "sll", "R", "d,s,t", 51, 1, 0 }, + { "slt", "R", "d,s,t", 51, 2, 0 }, + { "sltu", "R", "d,s,t", 51, 3, 0 }, + { "xor", "R", "d,s,t", 51, 4, 0 }, + { "srl", "R", "d,s,t", 51, 5, 0 }, + { "sra", "R", "d,s,t", 51, 5, 0b0100000 }, + { "or", "R", "d,s,t", 51, 6, 0 }, + { "and", "R", "d,s,t", 51, 7, 0 }, + { "lui", "U", "d,u", 55, -1, -1 }, + { "addw", "R", "d,s,t", 59, 0, 0 }, + { "subw", "R", "d,s,t", 59, 0, 0b0100000 }, + { "mulw", "R", "d,s,t", 59, 0, 1 }, + { "sllw", "R", "d,s,t", 59, 1, 0 }, + { "srlw", "R", "d,s,t", 59, 5, 0 }, + { "sraw", "R", "d,s,t", 59, 5, 0b0100000 }, + { "beq", "SB", "s,t,p", 99, 0, -1 }, + { "bne", "SB", "s,t,p", 99, 1, -1 }, + { "blt", "SB", "s,t,p", 99, 4, -1 }, + { "bge", "SB", "s,t,p", 99, 5, -1 }, + { "bltu", "SB", "s,t,p", 99, 6, -1 }, + { "bgeu", "SB", "s,t,p", 99, 7, -1 }, + { "jalr", "I", "d,s,j", 103, 0, -1 }, + { "jal", "UJ", "a", 111, -1, -1 }, + { "eret", "I", "", 115, 0, 0b000100000000 }, + { "sfence.vm", "I", "", 115, 0, 0b000100000001 }, + { "wfi", "I", "", 115, 0, 0b000100000010 }, + { "csrrw", "I", "d,E,s", 115, 1, -1}, + { "csrrs", "I", "d,E,s", 115, 2, -1}, + { "csrrc", "I", "d,E,s", 115, 3, -1}, + { "csrrwi", "I", "d,E,Z", 115, 5, -1}, + { "csrrsi", "I", "d,E,Z", 115, 6, -1}, + { "csrrci", "I", "d,E,Z", 115, 7, -1}, + { NULL, NULL, NULL, 0, 0, 0 } +}; + +struct csr_op { + char *name; + int imm; +}; + +static struct csr_op csr_name[] = { + { "fflags", 0x001 }, + { "frm", 0x002 }, + { "fcsr", 0x003 }, + { "cycle", 0xc00 }, + { "time", 0xc01 }, + { "instret", 0xc02 }, + { "stats", 0x0c0 }, + { "uarch0", 0xcc0 }, + { "uarch1", 0xcc1 }, + { "uarch2", 0xcc2 }, + { "uarch3", 0xcc3 }, + { "uarch4", 0xcc4 }, + { "uarch5", 0xcc5 }, + { "uarch6", 0xcc6 }, + { "uarch7", 0xcc7 }, + { "uarch8", 0xcc8 }, + { "uarch9", 0xcc9 }, + { "uarch10", 0xcca }, + { "uarch11", 0xccb }, + { "uarch12", 0xccc }, + { "uarch13", 0xccd }, + { "uarch14", 0xcce }, + { "uarch15", 0xccf }, + { "sstatus", 0x100 }, + { "stvec", 0x101 }, + { "sie", 0x104 }, + { "sscratch", 0x140 }, + { "sepc", 0x141 }, + { "sip", 0x144 }, + { "sptbr", 0x180 }, + { "sasid", 0x181 }, + { "cyclew", 0x900 }, + { "timew", 0x901 }, + { "instretw", 0x902 }, + { "stime", 0xd01 }, + { "scause", 0xd42 }, + { "sbadaddr", 0xd43 }, + { "stimew", 0xa01 }, + { "mstatus", 0x300 }, + { "mtvec", 0x301 }, + { "mtdeleg", 0x302 }, + { "mie", 0x304 }, + { "mtimecmp", 0x321 }, + { "mscratch", 0x340 }, + { "mepc", 0x341 }, + { "mcause", 0x342 }, + { "mbadaddr", 0x343 }, + { "mip", 0x344 }, + { "mtime", 0x701 }, + { "mcpuid", 0xf00 }, + { "mimpid", 0xf01 }, + { "mhartid", 0xf10 }, + { "mtohost", 0x780 }, + { "mfromhost", 0x781 }, + { "mreset", 0x782 }, + { "send_ipi", 0x783 }, + { "miobase", 0x784 }, + { "cycleh", 0xc80 }, + { "timeh", 0xc81 }, + { "instreth", 0xc82 }, + { "cyclehw", 0x980 }, + { "timehw", 0x981 }, + { "instrethw", 0x982 }, + { "stimeh", 0xd81 }, + { "stimehw", 0xa81 }, + { "mtimecmph", 0x361 }, + { "mtimeh", 0x741 }, + { NULL, 0 } +}; + +static char *reg_name[32] = { + "zero", "ra", "sp", "gp", "tp", "t0", "t1", "t2", + "s0", "s1", "a0", "a1", "a2", "a3", "a4", "a5", + "a6", "a7", "s2", "s3", "s4", "s5", "s6", "s7", + "s8", "s9", "s10", "s11", "t3", "t4", "t5", "t6" +}; + +static int32_t +get_imm(InstFmt i, char *type, uint32_t *val) +{ + int imm; + + imm = 0; + + if (strcmp(type, "I") == 0) { + imm = i.IType.imm; + *val = imm; + if (imm & (1 << 11)) + imm |= (0xfffff << 12); /* sign extend */ + + } else if (strcmp(type, "S") == 0) { + imm = i.SType.imm0_4; + imm |= (i.SType.imm5_11 << 5); + *val = imm; + if (imm & (1 << 11)) + imm |= (0xfffff << 12); /* sign extend */ + + } else if (strcmp(type, "U") == 0) { + imm = i.UType.imm12_31; + *val = imm; + + } else if (strcmp(type, "UJ") == 0) { + imm = i.UJType.imm12_19 << 12; + imm |= i.UJType.imm11 << 11; + imm |= i.UJType.imm1_10 << 1; + imm |= i.UJType.imm20 << 20; + *val = imm; + if (imm & (1 << 20)) + imm |= (0xfff << 21); /* sign extend */ + + } else if (strcmp(type, "SB") == 0) { + imm = i.SBType.imm11 << 11; + imm |= i.SBType.imm1_4 << 1; + imm |= i.SBType.imm5_10 << 5; + imm |= i.SBType.imm12 << 12; + *val = imm; + if (imm & (1 << 12)) + imm |= (0xfffff << 12); /* sign extend */ + } + + return (imm); +} + +static int +oprint(struct riscv_op *op, vm_offset_t loc, int rd, + int rs1, int rs2, uint32_t val, vm_offset_t imm) +{ + char *p; + int i; + + p = op->fmt; + + db_printf("%s\t", op->name); + + while (*p) { + if (strncmp("d", p, 1) == 0) + db_printf("%s", reg_name[rd]); + + else if (strncmp("s", p, 1) == 0) + db_printf("%s", reg_name[rs1]); + + else if (strncmp("t", p, 1) == 0) + db_printf("%s", reg_name[rs2]); + + else if (strncmp(">", p, 1) == 0) + db_printf("0x%x", rs2); + + else if (strncmp("E", p, 1) == 0) { + for (i = 0; csr_name[i].name != NULL; i++) + if (csr_name[i].imm == val) + db_printf("%s", + csr_name[i].name); + } else if (strncmp("Z", p, 1) == 0) + db_printf("%d", rs1); + + else if (strncmp("<", p, 1) == 0) + db_printf("0x%x", rs2); + + else if (strncmp("j", p, 1) == 0) + db_printf("%d", imm); + + else if (strncmp("u", p, 1) == 0) + db_printf("0x%x", imm); + + else if (strncmp("a", p, 1) == 0) + db_printf("0x%016lx", imm); + + else if (strncmp("p", p, 1) == 0) + db_printf("0x%016lx", (loc + imm)); + + else if (strlen(p) >= 4) { + if (strncmp("o(s)", p, 4) == 0) + db_printf("%d(%s)", imm, reg_name[rs1]); + else if (strncmp("q(s)", p, 4) == 0) + db_printf("%d(%s)", imm, reg_name[rs1]); + else if (strncmp("0(s)", p, 4) == 0) + db_printf("(%s)", reg_name[rs1]); + } + + while (*p && strncmp(p, ",", 1) != 0) + p++; + + if (*p) { + db_printf(", "); + p++; + } + } + + + return (0); +} + +static int +match_type(InstFmt i, struct riscv_op *op, vm_offset_t loc) +{ + uint32_t val; + int found; + int imm; + + val = 0; + imm = get_imm(i, op->type, &val); + + if (strcmp(op->type, "U") == 0) { + oprint(op, loc, i.UType.rd, 0, 0, val, imm); + return (1); + } + if (strcmp(op->type, "UJ") == 0) { + oprint(op, loc, 0, 0, 0, val, (loc + imm)); + return (1); + } + if ((strcmp(op->type, "I") == 0) && \ + (op->funct3 == i.IType.funct3)) { + found = 0; + if (op->funct7 != -1) { + if (op->funct7 == i.IType.imm) + found = 1; + } else + found = 1; + + if (found) { + oprint(op, loc, i.IType.rd, + i.IType.rs1, 0, val, imm); + return (1); + } + } + if ((strcmp(op->type, "S") == 0) && \ + (op->funct3 == i.SType.funct3)) { + oprint(op, loc, 0, i.SType.rs1, i.SType.rs2, + val, imm); + return (1); + } + if ((strcmp(op->type, "SB") == 0) && \ + (op->funct3 == i.SBType.funct3)) { + oprint(op, loc, 0, i.SBType.rs1, i.SBType.rs2, + val, imm); + return (1); + } + if ((strcmp(op->type, "R2") == 0) && \ + (op->funct3 == i.R2Type.funct3) && \ + (op->funct7 == i.R2Type.funct7)) { + oprint(op, loc, i.R2Type.rd, i.R2Type.rs1, + i.R2Type.rs2, val, imm); + return (1); + } + if ((strcmp(op->type, "R") == 0) && \ + (op->funct3 == i.RType.funct3) && \ + (op->funct7 == i.RType.funct7)) { + oprint(op, loc, i.RType.rd, i.RType.rs1, + val, i.RType.rs2, imm); + return (1); + } + + return (0); +} + +vm_offset_t +db_disasm(vm_offset_t loc, bool altfmt) +{ + struct riscv_op *op; + InstFmt i; + int j; + + i.word = db_get_value(loc, INSN_SIZE, 0); + + /* First match opcode */ + for (j = 0; riscv_opcodes[j].name != NULL; j++) { + op = &riscv_opcodes[j]; + if (op->opcode == i.RType.opcode) { + if (match_type(i, op, loc)) + break; + } + } + + db_printf("\n"); + return(loc + INSN_SIZE); +} Added: head/sys/riscv/riscv/db_interface.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/riscv/riscv/db_interface.c Thu Mar 10 15:51:43 2016 (r296614) @@ -0,0 +1,163 @@ +/*- + * Copyright (c) 2015 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Semihalf under + * the sponsorship of 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. + */ + +#include +__FBSDID("$FreeBSD$"); +#include +#include +#include +#include +#include + +#ifdef KDB +#include +#endif + +#include +#include + +#include +#include +#include +#include + +static int +db_frame(struct db_variable *vp, db_expr_t *valuep, int op) +{ + long *reg; + + if (kdb_frame == NULL) + return (0); + + reg = (long *)((uintptr_t)kdb_frame + (db_expr_t)vp->valuep); + if (op == DB_VAR_GET) + *valuep = *reg; + else + *reg = *valuep; + return (1); +} + +#define DB_OFFSET(x) (db_expr_t *)offsetof(struct trapframe, x) +struct db_variable db_regs[] = { + { "ra", DB_OFFSET(tf_ra), db_frame }, + { "sp", DB_OFFSET(tf_sp), db_frame }, + { "gp", DB_OFFSET(tf_gp), db_frame }, + { "tp", DB_OFFSET(tf_tp), db_frame }, + { "t0", DB_OFFSET(tf_t[0]), db_frame }, + { "t1", DB_OFFSET(tf_t[1]), db_frame }, + { "t2", DB_OFFSET(tf_t[2]), db_frame }, + { "t3", DB_OFFSET(tf_t[3]), db_frame }, + { "t4", DB_OFFSET(tf_t[4]), db_frame }, + { "t5", DB_OFFSET(tf_t[5]), db_frame }, + { "t6", DB_OFFSET(tf_t[6]), db_frame }, + { "s0", DB_OFFSET(tf_s[0]), db_frame }, + { "s1", DB_OFFSET(tf_s[1]), db_frame }, + { "s2", DB_OFFSET(tf_s[2]), db_frame }, + { "s3", DB_OFFSET(tf_s[3]), db_frame }, + { "s4", DB_OFFSET(tf_s[4]), db_frame }, + { "s5", DB_OFFSET(tf_s[5]), db_frame }, + { "s6", DB_OFFSET(tf_s[6]), db_frame }, + { "s7", DB_OFFSET(tf_s[7]), db_frame }, + { "s8", DB_OFFSET(tf_s[8]), db_frame }, + { "s9", DB_OFFSET(tf_s[9]), db_frame }, + { "s10", DB_OFFSET(tf_s[10]), db_frame }, + { "s11", DB_OFFSET(tf_s[11]), db_frame }, + { "a0", DB_OFFSET(tf_a[0]), db_frame }, + { "a1", DB_OFFSET(tf_a[1]), db_frame }, + { "a2", DB_OFFSET(tf_a[2]), db_frame }, + { "a3", DB_OFFSET(tf_a[3]), db_frame }, + { "a4", DB_OFFSET(tf_a[4]), db_frame }, + { "a5", DB_OFFSET(tf_a[5]), db_frame }, + { "a6", DB_OFFSET(tf_a[6]), db_frame }, + { "a7", DB_OFFSET(tf_a[7]), db_frame }, + { "sepc", DB_OFFSET(tf_sepc), db_frame }, + { "sstatus", DB_OFFSET(tf_sstatus), db_frame }, + { "sbadaddr", DB_OFFSET(tf_sbadaddr), db_frame }, + { "scause", DB_OFFSET(tf_scause), db_frame }, +}; + +struct db_variable *db_eregs = db_regs + nitems(db_regs); + +void +db_show_mdpcpu(struct pcpu *pc) +{ +} + +/* + * Read bytes from kernel address space for debugger. + */ +int +db_read_bytes(vm_offset_t addr, size_t size, char *data) +{ + jmp_buf jb; + void *prev_jb; + const char *src; + int ret; + + prev_jb = kdb_jmpbuf(jb); + ret = setjmp(jb); + + if (ret == 0) { + src = (const char *)addr; + while (size-- > 0) + *data++ = *src++; + } + (void)kdb_jmpbuf(prev_jb); + + return (ret); +} + +/* + * Write bytes to kernel address space for debugger. + */ +int +db_write_bytes(vm_offset_t addr, size_t size, char *data) +{ + jmp_buf jb; + void *prev_jb; + char *dst; + int ret; + + prev_jb = kdb_jmpbuf(jb); + ret = setjmp(jb); + if (ret == 0) { + dst = (char *)addr; + while (size-- > 0) + *dst++ = *data++; + + fence(); + + /* Clean D-cache and invalidate I-cache */ + cpu_dcache_wb_range(addr, (vm_size_t)size); + cpu_icache_sync_range(addr, (vm_size_t)size); + } + (void)kdb_jmpbuf(prev_jb); + + return (ret); +} Added: head/sys/riscv/riscv/db_trace.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/riscv/riscv/db_trace.c Thu Mar 10 15:51:43 2016 (r296614) @@ -0,0 +1,135 @@ +/*- + * Copyright (c) 2015 The FreeBSD Foundation + * Copyright (c) 2016 Ruslan Bukin + * All rights reserved. + * + * Portions of this software were developed by Semihalf under + * the sponsorship of the FreeBSD Foundation. + * + * Portions of this software were developed by SRI International and the + * University of Cambridge Computer Laboratory under DARPA/AFRL contract + * FA8750-10-C-0237 ("CTSRD"), as part of the DARPA CRASH research programme. + * + * Portions of this software were developed by the University of Cambridge + * Computer Laboratory as part of the CTSRD Project, with support from the + * UK Higher Education Innovation Fund (HEIF). + * + * Redistribution and use in source and binary forms, with or without *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Mar 10 16:39:47 2016 Return-Path: Delivered-To: svn-src-all@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 5F94EACA2FC; Thu, 10 Mar 2016 16:39:47 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 308BF1089; Thu, 10 Mar 2016 16:39:47 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AGdkLO022028; Thu, 10 Mar 2016 16:39:46 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AGdkiv022027; Thu, 10 Mar 2016 16:39:46 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603101639.u2AGdkiv022027@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 10 Mar 2016 16:39:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296615 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 16:39:47 -0000 Author: mav Date: Thu Mar 10 16:39:46 2016 New Revision: 296615 URL: https://svnweb.freebsd.org/changeset/base/296615 Log: Make ZFS ignore stripe sizes above SPA_MAXASHIFT (8KB). If device has stripe size bigger then maximal sector size supported by ZFS, there is nothing can be done to avoid read-modify-write cycles. Taking that stripe size into account will only reduce space efficiency and pointlessly bother user with warnings that can not be fixed. Discussed with: smh Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Thu Mar 10 15:51:43 2016 (r296614) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Thu Mar 10 16:39:46 2016 (r296615) @@ -812,7 +812,7 @@ vdev_geom_open(vdev_t *vd, uint64_t *psi *logical_ashift = highbit(MAX(pp->sectorsize, SPA_MINBLOCKSIZE)) - 1; *physical_ashift = 0; if (pp->stripesize > (1 << *logical_ashift) && ISP2(pp->stripesize) && - pp->stripeoffset == 0) + pp->stripesize <= (1 << SPA_MAXASHIFT) && pp->stripeoffset == 0) *physical_ashift = highbit(pp->stripesize) - 1; /* From owner-svn-src-all@freebsd.org Thu Mar 10 16:59:25 2016 Return-Path: Delivered-To: svn-src-all@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 26F42ACABBC; Thu, 10 Mar 2016 16:59:25 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 EBDB11E1E; Thu, 10 Mar 2016 16:59:24 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AGxN2b028288; Thu, 10 Mar 2016 16:59:23 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AGxN0T028287; Thu, 10 Mar 2016 16:59:23 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201603101659.u2AGxN0T028287@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Thu, 10 Mar 2016 16:59:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org Subject: svn commit: r296616 - svnadmin/conf X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 16:59:25 -0000 Author: adrian Date: Thu Mar 10 16:59:23 2016 New Revision: 296616 URL: https://svnweb.freebsd.org/changeset/base/296616 Log: Release avos@ from mentorship! Modified: svnadmin/conf/mentors Modified: svnadmin/conf/mentors ============================================================================== --- svnadmin/conf/mentors Thu Mar 10 16:39:46 2016 (r296615) +++ svnadmin/conf/mentors Thu Mar 10 16:59:23 2016 (r296616) @@ -13,7 +13,6 @@ achim scottl Co-mentor: emaste anish neel Co-mentor: grehan agc scottl Co-mentor: emax -avos adrian benl philip Co-mentor: simon carl jimharris cherry gibbs From owner-svn-src-all@freebsd.org Thu Mar 10 17:13:12 2016 Return-Path: Delivered-To: svn-src-all@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 9101CACB2F2; Thu, 10 Mar 2016 17:13:12 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6CA7297F; Thu, 10 Mar 2016 17:13:12 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AHDBJt034364; Thu, 10 Mar 2016 17:13:11 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AHDBqD034360; Thu, 10 Mar 2016 17:13:11 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603101713.u2AHDBqD034360@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 10 Mar 2016 17:13:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296617 - in head/sys/dev: nvd nvme X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 17:13:12 -0000 Author: mav Date: Thu Mar 10 17:13:10 2016 New Revision: 296617 URL: https://svnweb.freebsd.org/changeset/base/296617 Log: Revert r292074 (by smh): Limit stripesize reported from nvd(4) to 4K I believe that this patch handled the problem from the wrong side. Instead of making ZFS properly handle large stripe sizes, it made unrelated driver to lie in reported parameters to workaround that. Alternative solution for this problem from ZFS side was committed at r296615. Discussed with: smh Modified: head/sys/dev/nvd/nvd.c head/sys/dev/nvme/nvme.h head/sys/dev/nvme/nvme_ns.c head/sys/dev/nvme/nvme_sysctl.c Modified: head/sys/dev/nvd/nvd.c ============================================================================== --- head/sys/dev/nvd/nvd.c Thu Mar 10 16:59:23 2016 (r296616) +++ head/sys/dev/nvd/nvd.c Thu Mar 10 17:13:10 2016 (r296617) @@ -311,7 +311,7 @@ nvd_new_disk(struct nvme_namespace *ns, disk->d_delmaxsize = (off_t)nvme_ns_get_size(ns); if (disk->d_delmaxsize > nvd_delete_max) disk->d_delmaxsize = nvd_delete_max; - disk->d_stripesize = nvme_ns_get_optimal_sector_size(ns); + disk->d_stripesize = nvme_ns_get_stripesize(ns); if (TAILQ_EMPTY(&disk_head)) disk->d_unit = 0; Modified: head/sys/dev/nvme/nvme.h ============================================================================== --- head/sys/dev/nvme/nvme.h Thu Mar 10 16:59:23 2016 (r296616) +++ head/sys/dev/nvme/nvme.h Thu Mar 10 17:13:10 2016 (r296617) @@ -898,7 +898,6 @@ const char * nvme_ns_get_serial_number(s const char * nvme_ns_get_model_number(struct nvme_namespace *ns); const struct nvme_namespace_data * nvme_ns_get_data(struct nvme_namespace *ns); -uint32_t nvme_ns_get_optimal_sector_size(struct nvme_namespace *ns); uint32_t nvme_ns_get_stripesize(struct nvme_namespace *ns); int nvme_ns_bio_process(struct nvme_namespace *ns, struct bio *bp, Modified: head/sys/dev/nvme/nvme_ns.c ============================================================================== --- head/sys/dev/nvme/nvme_ns.c Thu Mar 10 16:59:23 2016 (r296616) +++ head/sys/dev/nvme/nvme_ns.c Thu Mar 10 17:13:10 2016 (r296617) @@ -45,8 +45,6 @@ __FBSDID("$FreeBSD$"); #include "nvme_private.h" -extern int nvme_max_optimal_sectorsize; - static void nvme_bio_child_inbed(struct bio *parent, int bio_error); static void nvme_bio_child_done(void *arg, const struct nvme_completion *cpl); @@ -219,22 +217,6 @@ nvme_ns_get_stripesize(struct nvme_names return (ns->stripesize); } -uint32_t -nvme_ns_get_optimal_sector_size(struct nvme_namespace *ns) -{ - uint32_t stripesize; - - stripesize = nvme_ns_get_stripesize(ns); - - if (stripesize == 0) - return nvme_ns_get_sector_size(ns); - - if (nvme_max_optimal_sectorsize == 0) - return (stripesize); - - return (MIN(stripesize, nvme_max_optimal_sectorsize)); -} - static void nvme_ns_bio_done(void *arg, const struct nvme_completion *status) { Modified: head/sys/dev/nvme/nvme_sysctl.c ============================================================================== --- head/sys/dev/nvme/nvme_sysctl.c Thu Mar 10 16:59:23 2016 (r296616) +++ head/sys/dev/nvme/nvme_sysctl.c Thu Mar 10 17:13:10 2016 (r296617) @@ -33,22 +33,6 @@ __FBSDID("$FreeBSD$"); #include "nvme_private.h" -SYSCTL_NODE(_kern, OID_AUTO, nvme, CTLFLAG_RD, 0, "NVM Express"); -/* - * Intel NVMe controllers have a slow path for I/Os that span a 128KB - * stripe boundary but ZFS limits ashift, which is derived from - * d_stripesize, to 13 (8KB) so we limit the stripesize reported to - * geom(8) to 4KB by default. - * - * This may result in a small number of additional I/Os to require - * splitting in nvme(4), however the NVMe I/O path is very efficient - * so these additional I/Os will cause very minimal (if any) difference - * in performance or CPU utilisation. - */ -int nvme_max_optimal_sectorsize = 1<<12; -SYSCTL_INT(_kern_nvme, OID_AUTO, max_optimal_sectorsize, CTLFLAG_RWTUN, - &nvme_max_optimal_sectorsize, 0, "The maximum optimal sectorsize reported"); - /* * CTLTYPE_S64 and sysctl_handle_64 were added in r217616. Define these * explicitly here for older kernels that don't include the r217616 From owner-svn-src-all@freebsd.org Thu Mar 10 18:01:24 2016 Return-Path: Delivered-To: svn-src-all@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 B3288ACA3A8; Thu, 10 Mar 2016 18:01:24 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-oi0-x22c.google.com (mail-oi0-x22c.google.com [IPv6:2607:f8b0:4003:c06::22c]) (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 78ED280; Thu, 10 Mar 2016 18:01:24 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-oi0-x22c.google.com with SMTP id c203so67210848oia.2; Thu, 10 Mar 2016 10:01:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=r06xt4xjceEb9+P5GF5WZC+eH8203WYr1nowd6viqjc=; b=z3LFtDnHUazeoFD08dNww5GEBEYJawNUBPkaBJ5eHn3jbgmpkM4oHUwnp5uhQcS7XP elMvCBfkWmXLVuc6uW2Y5d8bWGk2c8p+bxjhydcQi+Po5ztVCC0Mx8DUYf1u0j+Cz4hV jlL9udHA9Jk/Ms67+Ku8yxB4o7bkoxFgIID1f/llqsP0ESKdulMFFOuPg4V5fpVWvFjj 80uaC+C1akXB0tzXk7+pI119HF81663zeHS+xEjNHGc/zTfFyeSzdRoUz/alFtkZxzA6 cN5bUxzV+8ErDk8yP36HBvbSv2StZrL2egUr1FPTHQ/B98SPoGl9wrH9bafslUNmbmLb tlYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=r06xt4xjceEb9+P5GF5WZC+eH8203WYr1nowd6viqjc=; b=l1dhlcOjla+oNPvXY+5SbQERr9Yhx8qaE4En0FsWOXBfk/dhPHgfb8xuf2bQqLneTd kvzD/3G7VO56y8maDnUMzeyyu3RKVX3TZC6p8syu6W4eCbK7SwAzcPmcyqUTN1JQQKhL WHUkp6EHjn9i1ydJ1VTkzV7lL1iIbzRrUlGON49p5WKgIs2/nHaovfomEq+u5WoQzhgC gWTOIu+UxzmBJBivN21p9UqZSDWSuiZ2VkQYSDe/3jC816CFe64B0z85DBugtcK139Ai buFPZHaPhWy52e0P1yYe+cfpWExMn6HbxYuIIuneLudF8p0AojVNs5JfIfKgZqbivceB PtRg== X-Gm-Message-State: AD7BkJJ9n17RYeyrm/qFt6148HusZXPV1PodY8bTmnKLb7O8/eQfPfin86bskmhNYG8BrzCv6tjffKQQY+uqdw== MIME-Version: 1.0 X-Received: by 10.202.202.87 with SMTP id a84mr2919921oig.57.1457632883764; Thu, 10 Mar 2016 10:01:23 -0800 (PST) Sender: asomers@gmail.com Received: by 10.202.64.138 with HTTP; Thu, 10 Mar 2016 10:01:23 -0800 (PST) In-Reply-To: <201512110206.tBB264Ad039486@repo.freebsd.org> References: <201512110206.tBB264Ad039486@repo.freebsd.org> Date: Thu, 10 Mar 2016 11:01:23 -0700 X-Google-Sender-Auth: NWfpbGy-Nwb8clal8s5I1OJFgjg Message-ID: Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme From: Alan Somers To: Steven Hartland Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 18:01:24 -0000 Are you saying that Intel NVMe controllers perform poorly for all I/Os that are less than 128KB, or just for I/Os of any size that cross a 128KB boundary? On Thu, Dec 10, 2015 at 7:06 PM, Steven Hartland wrote: > Author: smh > Date: Fri Dec 11 02:06:03 2015 > New Revision: 292074 > URL: https://svnweb.freebsd.org/changeset/base/292074 > > Log: > Limit stripesize reported from nvd(4) to 4K > > Intel NVMe controllers have a slow path for I/Os that span a 128KB > stripe boundary but ZFS limits ashift, which is derived from d_stripesize, > to 13 (8KB) so we limit the stripesize reported to geom(8) to 4KB. > > This may result in a small number of additional I/Os to require > splitting in nvme(4), however the NVMe I/O path is very efficient so these > additional I/Os will cause very minimal (if any) difference in performance > or CPU utilisation. > > This can be controller by the new sysctl > kern.nvme.max_optimal_sectorsize. > > MFC after: 1 week > Sponsored by: Multiplay > Differential Revision: https://reviews.freebsd.org/D4446 > > Modified: > head/sys/dev/nvd/nvd.c > head/sys/dev/nvme/nvme.h > head/sys/dev/nvme/nvme_ns.c > head/sys/dev/nvme/nvme_sysctl.c > > From owner-svn-src-all@freebsd.org Thu Mar 10 18:21:04 2016 Return-Path: Delivered-To: svn-src-all@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 CA8ECACAEE5; Thu, 10 Mar 2016 18:21:04 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 81E1DB6; Thu, 10 Mar 2016 18:21:04 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AIL3R2053159; Thu, 10 Mar 2016 18:21:03 GMT (envelope-from brueffer@FreeBSD.org) Received: (from brueffer@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AIL3Di053157; Thu, 10 Mar 2016 18:21:03 GMT (envelope-from brueffer@FreeBSD.org) Message-Id: <201603101821.u2AIL3Di053157@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brueffer set sender to brueffer@FreeBSD.org using -f From: Christian Brueffer Date: Thu, 10 Mar 2016 18:21:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296618 - head/share/man/man9 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 18:21:04 -0000 Author: brueffer Date: Thu Mar 10 18:21:03 2016 New Revision: 296618 URL: https://svnweb.freebsd.org/changeset/base/296618 Log: Fix mdoc markup. Modified: head/share/man/man9/bus_adjust_resource.9 head/share/man/man9/bus_alloc_resource.9 Modified: head/share/man/man9/bus_adjust_resource.9 ============================================================================== --- head/share/man/man9/bus_adjust_resource.9 Thu Mar 10 17:13:10 2016 (r296617) +++ head/share/man/man9/bus_adjust_resource.9 Thu Mar 10 18:21:03 2016 (r296618) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 29, 2011 +.Dd March 10, 2016 .Dt BUS_ADJUST_RESOURCE 9 .Os .Sh NAME @@ -41,8 +41,7 @@ .In sys/rman.h .In machine/resource.h .Ft int -.Fo bus_adjust_resource -.Fa "device_t dev" "int type" "struct resource *r" "rman_res_t start" "rman_res_t end" +.Fn bus_adjust_resource "device_t dev" "int type" "struct resource *r" "rman_res_t start" "rman_res_t end" .Sh DESCRIPTION This function is used to ask the parent bus to adjust the resource range assigned to an allocated resource. Modified: head/share/man/man9/bus_alloc_resource.9 ============================================================================== --- head/share/man/man9/bus_alloc_resource.9 Thu Mar 10 17:13:10 2016 (r296617) +++ head/share/man/man9/bus_alloc_resource.9 Thu Mar 10 18:21:03 2016 (r296618) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 18, 2000 +.Dd March 10, 2016 .Dt BUS_ALLOC_RESOURCE 9 .Os .Sh NAME @@ -50,10 +50,8 @@ .Fc .Ft struct resource * .Fn bus_alloc_resource_any "device_t dev" "int type" "int *rid" "u_int flags" -.Fc .Ft struct resource * -.Fn bus_alloc_resource_anywhere -.Fa "device_t dev" "int type" "int *rid" "rman_res_t count" "u_int flags" +.Fn bus_alloc_resource_anywhere "device_t dev" "int type" "int *rid" "rman_res_t count" "u_int flags" .Sh DESCRIPTION This is an easy interface to the resource-management functions. It hides the indirection through the parent's method table. From owner-svn-src-all@freebsd.org Thu Mar 10 20:10:27 2016 Return-Path: Delivered-To: svn-src-all@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 010B2ACB1EB; Thu, 10 Mar 2016 20:10:27 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 ADC51854; Thu, 10 Mar 2016 20:10:26 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AKAP75088526; Thu, 10 Mar 2016 20:10:25 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AKAPEb088524; Thu, 10 Mar 2016 20:10:25 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603102010.u2AKAPEb088524@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Thu, 10 Mar 2016 20:10:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296619 - in vendor-crypto/openssh/dist: . contrib contrib/redhat contrib/suse openbsd-compat regress regress/unittests/sshkey X-SVN-Group: vendor-crypto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 20:10:27 -0000 Author: des Date: Thu Mar 10 20:10:25 2016 New Revision: 296619 URL: https://svnweb.freebsd.org/changeset/base/296619 Log: Vendor import of OpenSSH 7.2p1. Added: vendor-crypto/openssh/dist/platform-pledge.c (contents, props changed) vendor-crypto/openssh/dist/regress/cert-file.sh (contents, props changed) vendor-crypto/openssh/dist/regress/check-perm.c (contents, props changed) vendor-crypto/openssh/dist/sandbox-pledge.c (contents, props changed) vendor-crypto/openssh/dist/sandbox-solaris.c (contents, props changed) Deleted: vendor-crypto/openssh/dist/roaming_client.c vendor-crypto/openssh/dist/roaming_common.c vendor-crypto/openssh/dist/roaming_dummy.c vendor-crypto/openssh/dist/roaming_serv.c Modified: vendor-crypto/openssh/dist/ChangeLog vendor-crypto/openssh/dist/Makefile.in vendor-crypto/openssh/dist/README vendor-crypto/openssh/dist/README.platform vendor-crypto/openssh/dist/auth-bsdauth.c vendor-crypto/openssh/dist/auth-krb5.c vendor-crypto/openssh/dist/auth-options.c vendor-crypto/openssh/dist/auth-pam.c vendor-crypto/openssh/dist/auth.h vendor-crypto/openssh/dist/auth2-pubkey.c vendor-crypto/openssh/dist/authfd.c vendor-crypto/openssh/dist/authfd.h vendor-crypto/openssh/dist/authfile.c vendor-crypto/openssh/dist/channels.c vendor-crypto/openssh/dist/cipher.c vendor-crypto/openssh/dist/clientloop.c vendor-crypto/openssh/dist/clientloop.h vendor-crypto/openssh/dist/config.h.in vendor-crypto/openssh/dist/configure vendor-crypto/openssh/dist/configure.ac vendor-crypto/openssh/dist/contrib/redhat/openssh.spec vendor-crypto/openssh/dist/contrib/ssh-copy-id vendor-crypto/openssh/dist/contrib/ssh-copy-id.1 vendor-crypto/openssh/dist/contrib/suse/openssh.spec vendor-crypto/openssh/dist/defines.h vendor-crypto/openssh/dist/dh.h vendor-crypto/openssh/dist/includes.h vendor-crypto/openssh/dist/kex.c vendor-crypto/openssh/dist/kex.h vendor-crypto/openssh/dist/kexc25519s.c vendor-crypto/openssh/dist/kexdhs.c vendor-crypto/openssh/dist/kexecdhs.c vendor-crypto/openssh/dist/kexgexs.c vendor-crypto/openssh/dist/key.c vendor-crypto/openssh/dist/key.h vendor-crypto/openssh/dist/krl.c vendor-crypto/openssh/dist/krl.h vendor-crypto/openssh/dist/loginrec.c vendor-crypto/openssh/dist/misc.c vendor-crypto/openssh/dist/moduli.0 vendor-crypto/openssh/dist/monitor.c vendor-crypto/openssh/dist/monitor_wrap.c vendor-crypto/openssh/dist/monitor_wrap.h vendor-crypto/openssh/dist/mux.c vendor-crypto/openssh/dist/myproposal.h vendor-crypto/openssh/dist/opacket.c vendor-crypto/openssh/dist/opacket.h vendor-crypto/openssh/dist/openbsd-compat/bsd-misc.c vendor-crypto/openssh/dist/openbsd-compat/bsd-misc.h vendor-crypto/openssh/dist/openbsd-compat/bsd-poll.h vendor-crypto/openssh/dist/openbsd-compat/glob.c vendor-crypto/openssh/dist/openbsd-compat/glob.h vendor-crypto/openssh/dist/openbsd-compat/openbsd-compat.h vendor-crypto/openssh/dist/openbsd-compat/port-solaris.c vendor-crypto/openssh/dist/openbsd-compat/port-solaris.h vendor-crypto/openssh/dist/openbsd-compat/realpath.c vendor-crypto/openssh/dist/packet.c vendor-crypto/openssh/dist/packet.h vendor-crypto/openssh/dist/platform.h vendor-crypto/openssh/dist/readconf.c vendor-crypto/openssh/dist/readconf.h vendor-crypto/openssh/dist/readpass.c vendor-crypto/openssh/dist/regress/Makefile vendor-crypto/openssh/dist/regress/agent-ptrace.sh vendor-crypto/openssh/dist/regress/dhgex.sh vendor-crypto/openssh/dist/regress/hostkey-rotate.sh vendor-crypto/openssh/dist/regress/keys-command.sh vendor-crypto/openssh/dist/regress/keyscan.sh vendor-crypto/openssh/dist/regress/limit-keytype.sh vendor-crypto/openssh/dist/regress/principals-command.sh vendor-crypto/openssh/dist/regress/proxy-connect.sh vendor-crypto/openssh/dist/regress/rekey.sh vendor-crypto/openssh/dist/regress/setuid-allowed.c vendor-crypto/openssh/dist/regress/sftp-chroot.sh vendor-crypto/openssh/dist/regress/unittests/sshkey/test_file.c vendor-crypto/openssh/dist/regress/unittests/sshkey/test_fuzz.c vendor-crypto/openssh/dist/regress/unittests/sshkey/test_sshkey.c vendor-crypto/openssh/dist/roaming.h vendor-crypto/openssh/dist/sandbox-seccomp-filter.c vendor-crypto/openssh/dist/sandbox-systrace.c vendor-crypto/openssh/dist/scp.0 vendor-crypto/openssh/dist/scp.1 vendor-crypto/openssh/dist/scp.c vendor-crypto/openssh/dist/servconf.c vendor-crypto/openssh/dist/serverloop.c vendor-crypto/openssh/dist/session.c vendor-crypto/openssh/dist/sftp-client.c vendor-crypto/openssh/dist/sftp-client.h vendor-crypto/openssh/dist/sftp-server-main.c vendor-crypto/openssh/dist/sftp-server.0 vendor-crypto/openssh/dist/sftp-server.c vendor-crypto/openssh/dist/sftp.0 vendor-crypto/openssh/dist/sftp.1 vendor-crypto/openssh/dist/sftp.c vendor-crypto/openssh/dist/ssh-add.0 vendor-crypto/openssh/dist/ssh-add.c vendor-crypto/openssh/dist/ssh-agent.0 vendor-crypto/openssh/dist/ssh-agent.1 vendor-crypto/openssh/dist/ssh-agent.c vendor-crypto/openssh/dist/ssh-dss.c vendor-crypto/openssh/dist/ssh-ecdsa.c vendor-crypto/openssh/dist/ssh-keygen.0 vendor-crypto/openssh/dist/ssh-keygen.1 vendor-crypto/openssh/dist/ssh-keygen.c vendor-crypto/openssh/dist/ssh-keyscan.0 vendor-crypto/openssh/dist/ssh-keyscan.1 vendor-crypto/openssh/dist/ssh-keyscan.c vendor-crypto/openssh/dist/ssh-keysign.0 vendor-crypto/openssh/dist/ssh-keysign.8 vendor-crypto/openssh/dist/ssh-keysign.c vendor-crypto/openssh/dist/ssh-pkcs11-client.c vendor-crypto/openssh/dist/ssh-pkcs11-helper.0 vendor-crypto/openssh/dist/ssh-pkcs11-helper.c vendor-crypto/openssh/dist/ssh-pkcs11.c vendor-crypto/openssh/dist/ssh-rsa.c vendor-crypto/openssh/dist/ssh.0 vendor-crypto/openssh/dist/ssh.1 vendor-crypto/openssh/dist/ssh.c vendor-crypto/openssh/dist/ssh.h vendor-crypto/openssh/dist/ssh2.h vendor-crypto/openssh/dist/ssh_api.c vendor-crypto/openssh/dist/ssh_config vendor-crypto/openssh/dist/ssh_config.0 vendor-crypto/openssh/dist/ssh_config.5 vendor-crypto/openssh/dist/sshbuf-getput-basic.c vendor-crypto/openssh/dist/sshbuf.c vendor-crypto/openssh/dist/sshbuf.h vendor-crypto/openssh/dist/sshconnect.c vendor-crypto/openssh/dist/sshconnect.h vendor-crypto/openssh/dist/sshconnect1.c vendor-crypto/openssh/dist/sshconnect2.c vendor-crypto/openssh/dist/sshd.0 vendor-crypto/openssh/dist/sshd.8 vendor-crypto/openssh/dist/sshd.c vendor-crypto/openssh/dist/sshd_config vendor-crypto/openssh/dist/sshd_config.0 vendor-crypto/openssh/dist/sshd_config.5 vendor-crypto/openssh/dist/ssherr.c vendor-crypto/openssh/dist/sshkey.c vendor-crypto/openssh/dist/sshkey.h vendor-crypto/openssh/dist/sshlogin.c vendor-crypto/openssh/dist/uidswap.c vendor-crypto/openssh/dist/version.h vendor-crypto/openssh/dist/xmalloc.c vendor-crypto/openssh/dist/xmalloc.h Modified: vendor-crypto/openssh/dist/ChangeLog ============================================================================== --- vendor-crypto/openssh/dist/ChangeLog Thu Mar 10 18:21:03 2016 (r296618) +++ vendor-crypto/openssh/dist/ChangeLog Thu Mar 10 20:10:25 2016 (r296619) @@ -1,7615 +1,8907 @@ -commit c88ac102f0eb89f2eaa314cb2e2e0ca3c890c443 -Author: Damien Miller -Date: Thu Jan 14 11:08:19 2016 +1100 +commit 72b061d4ba0f909501c595d709ea76e06b01e5c9 +Author: Darren Tucker +Date: Fri Feb 26 14:40:04 2016 +1100 - bump version numbers + Add a note about using xlc on AIX. + +commit fd4e4f2416baa2e6565ea49d52aade296bad3e28 +Author: Darren Tucker +Date: Wed Feb 24 10:44:25 2016 +1100 + + Skip PrintLastLog in config dump mode. + + When DISABLE_LASTLOG is set, do not try to include PrintLastLog in the + config dump since it'll be reported as UNKNOWN. -commit 302bc21e6fadacb04b665868cd69b625ef69df90 +commit 99135c764fa250801da5ec3b8d06cbd0111caae8 Author: Damien Miller -Date: Thu Jan 14 11:04:04 2016 +1100 +Date: Tue Feb 23 20:17:23 2016 +1100 - openssh-7.1p2 + update spec/README versions ahead of release -commit 6b33763242c063e4e0593877e835eeb1fd1b60aa +commit b86a334aaaa4d1e643eb1fd71f718573d6d948b5 Author: Damien Miller -Date: Thu Jan 14 11:02:58 2016 +1100 +Date: Tue Feb 23 20:16:53 2016 +1100 - forcibly disable roaming support in the client + put back portable patchlevel to p1 -commit 34d364f0d2e1e30a444009f0e04299bb7c94ba13 +commit 555dd35ff176847e3c6bd068ba2e8db4022eb24f Author: djm@openbsd.org -Date: Mon Oct 5 17:11:21 2015 +0000 +Date: Tue Feb 23 09:14:34 2016 +0000 upstream commit - some more bzero->explicit_bzero, from Michael McConville + openssh-7.2 - Upstream-ID: 17f19545685c33327db2efdc357c1c9225ff00d0 + Upstream-ID: 9db776b26014147fc907ece8460ef2bcb0f11e78 -commit 8f5b93026797b9f7fba90d0c717570421ccebbd3 -Author: guenther@openbsd.org -Date: Fri Sep 11 08:50:04 2015 +0000 +commit 1acc058d0a7913838c830ed998a1a1fb5b7864bf +Author: Damien Miller +Date: Tue Feb 23 16:12:13 2016 +1100 - upstream commit - - Use explicit_bzero() when zeroing before free() + Disable tests where fs perms are incorrect - from Michael McConville (mmcconv1 (at) sccs.swarthmore.edu) - ok millert@ djm@ + Some tests have strict requirements on the filesystem permissions + for certain files and directories. This adds a regress/check-perm + tool that copies the relevant logic from sshd to exactly test + the paths in question. This lets us skip tests when the local + filesystem doesn't conform to our expectations rather than + continuing and failing the test run. - Upstream-ID: 2e3337db046c3fe70c7369ee31515ac73ec00f50 + ok dtucker@ -commit d77148e3a3ef6c29b26ec74331455394581aa257 -Author: djm@openbsd.org -Date: Sun Nov 8 21:59:11 2015 +0000 +commit 39f303b1f36d934d8410b05625f25c7bcb75db4d +Author: Damien Miller +Date: Tue Feb 23 12:56:59 2016 +1100 - upstream commit + fix sandbox on OSX Lion - fix OOB read in packet code caused by missing return - statement found by Ben Hawkes; ok markus@ deraadt@ + sshd was failing with: - Upstream-ID: a3e3a85434ebfa0690d4879091959591f30efc62 - -commit 076d849e17ab12603627f87b301e2dca71bae518 -Author: Damien Miller -Date: Sat Nov 14 18:44:49 2015 +1100 - - read back from libcrypto RAND when privdropping + ssh_sandbox_child: sandbox_init: dlopen(/usr/lib/libsandbox.1.dylib, 261):cw + image not found [preauth] - makes certain libcrypto implementations cache a /dev/urandom fd - in preparation of sandboxing. Based on patch by Greg Hartman. + caused by chroot before sandboxing. Avoid by explicitly linking libsandbox + to sshd. Spotted by Darren. -commit f72adc0150011a28f177617a8456e1f83733099d +commit 0d1451a32c7436e6d3d482351e776bc5e7824ce4 Author: djm@openbsd.org -Date: Sun Dec 13 22:42:23 2015 +0000 +Date: Tue Feb 23 01:34:14 2016 +0000 upstream commit - unbreak connections with peers that set - first_kex_follows; fix from Matt Johnston va bz#2515 + fix spurious error message when incorrect passphrase + entered for keys; reported by espie@ ok deraadt@ - Upstream-ID: decc88ec4fc7515594fdb42b04aa03189a44184b + Upstream-ID: 58b2e46e63ed6912ed1ee780bd3bd8560f9a5899 -commit 04bd8d019ccd906cac1a2b362517b8505f3759e6 -Author: djm@openbsd.org -Date: Tue Jan 12 23:42:54 2016 +0000 +commit 09d87d79741beb85768b5e788d7dfdf4bc3543dc +Author: sobrado@openbsd.org +Date: Sat Feb 20 23:06:23 2016 +0000 upstream commit - use explicit_bzero() more liberally in the buffer code; ok - deraadt + set ssh(1) protocol version to 2 only. - Upstream-ID: 0ece37069fd66bc6e4f55eb1321f93df372b65bf + ok djm@ + + Upstream-ID: e168daf9d27d7e392e3c9923826bd8e87b2b3a10 -commit e91346dc2bbf460246df2ab591b7613908c1b0ad -Author: Damien Miller -Date: Fri Aug 21 14:49:03 2015 +1000 +commit 9262e07826ba5eebf8423f7ac9e47ec488c47869 +Author: sobrado@openbsd.org +Date: Sat Feb 20 23:02:39 2016 +0000 - we don't use Github for issues/pull-requests + upstream commit + + add missing ~/.ssh/id_ecdsa and ~/.ssh/id_ed25519 to + IdentityFile. + + ok djm@ + + Upstream-ID: 6ce99466312e4ae7708017c3665e3edb976f70cf -commit a4f5b507c708cc3dc2c8dd2d02e4416d7514dc23 -Author: Damien Miller -Date: Fri Aug 21 14:43:55 2015 +1000 +commit c12f0fdce8f985fca8d71829fd64c5b89dc777f5 +Author: sobrado@openbsd.org +Date: Sat Feb 20 23:01:46 2016 +0000 - fix URL for connect.c + upstream commit + + AddressFamily defaults to any. + + ok djm@ + + Upstream-ID: 0d94aa06a4b889bf57a7f631c45ba36d24c13e0c -commit d026a8d3da0f8186598442997c7d0a28e7275414 -Author: Damien Miller -Date: Fri Aug 21 13:47:10 2015 +1000 +commit 907091acb188b1057d50c2158f74c3ecf1c2302b +Author: Darren Tucker +Date: Fri Feb 19 09:05:39 2016 +1100 - update version numbers for 7.1 + Make Solaris privs code build on older systems. + + Not all systems with Solaris privs have priv_basicset so factor that + out and provide backward compatibility code. Similarly, not all have + PRIV_NET_ACCESS so wrap that in #ifdef. Based on code from + alex at cooperi.net and djm@ with help from carson at taltos.org and + wieland at purdue.edu. -commit 78f8f589f0ca1c9f41e5a9bae3cda5ce8a6b42ed +commit 292a8dee14e5e67dcd1b49ba5c7b9023e8420d59 Author: djm@openbsd.org -Date: Fri Aug 21 03:45:26 2015 +0000 +Date: Wed Feb 17 22:20:14 2016 +0000 upstream commit - openssh-7.1 + rekey refactor broke SSH1; spotted by Tom G. Christensen - Upstream-ID: ff7b1ef4b06caddfb45e08ba998128c88be3d73f + Upstream-ID: 43f0d57928cc077c949af0bfa71ef574dcb58243 -commit 32a181980c62fce94f7f9ffaf6a79d90f0c309cf +commit 3a13cb543df9919aec2fc6b75f3dd3802facaeca Author: djm@openbsd.org -Date: Fri Aug 21 03:42:19 2015 +0000 +Date: Wed Feb 17 08:57:34 2016 +0000 upstream commit - fix inverted logic that broke PermitRootLogin; reported - by Mantas Mikulenas; ok markus@ + rsa-sha2-512,rsa-sha2-256 cannot be selected explicitly + in *KeyTypes options yet. Remove them from the lists of algorithms for now. + committing on behalf of markus@ ok djm@ - Upstream-ID: 260dd6a904c1bb7e43267e394b1c9cf70bdd5ea5 + Upstream-ID: c6e8820eb8e610ac21551832c0c89684a9a51bb7 -commit ce445b0ed927e45bd5bdce8f836eb353998dd65c -Author: deraadt@openbsd.org -Date: Thu Aug 20 22:32:42 2015 +0000 +commit a685ae8d1c24fb7c712c55a4f3280ee76f5f1e4b +Author: jmc@openbsd.org +Date: Wed Feb 17 07:38:19 2016 +0000 upstream commit - Do not cast result of malloc/calloc/realloc* if stdlib.h - is in scope ok krw millert - - Upstream-ID: 5e50ded78cadf3841556649a16cc4b1cb6c58667 - -commit 05291e5288704d1a98bacda269eb5a0153599146 -Author: naddy@openbsd.org -Date: Thu Aug 20 19:20:06 2015 +0000 - - upstream commit + since these pages now clearly tell folks to avoid v1, + normalise the docs from a v2 perspective (i.e. stop pointing out which bits + are v2 only); - In the certificates section, be consistent about using - "host_key" and "user_key" for the respective key types. ok sthen@ deraadt@ + ok/tweaks djm ok markus - Upstream-ID: 9e037ea3b15577b238604c5533e082a3947f13cb + Upstream-ID: eb474f8c36fb6a532dc05c282f7965e38dcfa129 -commit 8543d4ef6f2e9f98c3e6b77c894ceec30c5e4ae4 +commit c5c3f3279a0e4044b8de71b70d3570d692d0f29d Author: djm@openbsd.org -Date: Wed Aug 19 23:21:42 2015 +0000 +Date: Wed Feb 17 05:29:04 2016 +0000 upstream commit - Better compat matching for WinSCP, add compat matching - for FuTTY (fork of PuTTY); ok markus@ deraadt@ + make sandboxed privilege separation the default, not just + for new installs; "absolutely" deraadt@ - Upstream-ID: 24001d1ac115fa3260fbdc329a4b9aeb283c5389 + Upstream-ID: 5221ef3b927d2df044e9aa3f5db74ae91743f69b -commit ec6eda16ebab771aa3dfc90629b41953b999cb1e -Author: djm@openbsd.org -Date: Wed Aug 19 23:19:01 2015 +0000 +commit eb3f7337a651aa01d5dec019025e6cdc124ed081 +Author: jmc@openbsd.org +Date: Tue Feb 16 07:47:54 2016 +0000 upstream commit - fix double-free() in error path of DSA key generation - reported by Mateusz Kocielski; ok markus@ + no need to state that protocol 2 is the default twice; - Upstream-ID: 4735d8f888b10599a935fa1b374787089116713c + Upstream-ID: b1e4c36b0c2e12e338e5b66e2978f2ac953b95eb -commit 45b0eb752c94954a6de046bfaaf129e518ad4b5b +commit e7901efa9b24e5b0c7e74f2c5520d47eead4d005 Author: djm@openbsd.org -Date: Wed Aug 19 23:18:26 2015 +0000 +Date: Tue Feb 16 05:11:04 2016 +0000 upstream commit - fix free() of uninitialised pointer reported by Mateusz - Kocielski; ok markus@ + Replace list of ciphers and MACs adjacent to -1/-2 flag + descriptions in ssh(1) with a strong recommendation not to use protocol 1. + Add a similar warning to the Protocol option descriptions in ssh_config(5) + and sshd_config(5); - Upstream-ID: 519552b050618501a06b7b023de5cb104e2c5663 + prompted by and ok mmcc@ + + Upstream-ID: 961f99e5437d50e636feca023978950a232ead5e -commit c837643b93509a3ef538cb6624b678c5fe32ff79 +commit 5a0fcb77287342e2fc2ba1cee79b6af108973dc2 Author: djm@openbsd.org -Date: Wed Aug 19 23:17:51 2015 +0000 +Date: Tue Feb 16 03:37:48 2016 +0000 upstream commit - fixed unlink([uninitialised memory]) reported by Mateusz - Kocielski; ok markus@ + add a "Close session" log entry (at loglevel=verbose) to + correspond to the existing "Starting session" one. Also include the session + id number to make multiplexed sessions more apparent. - Upstream-ID: 14a0c4e7d891f5a8dabc4b89d4f6b7c0d5a20109 + feedback and ok dtucker@ + + Upstream-ID: e72d2ac080e02774376325136e532cb24c2e617c -commit 1f8d3d629cd553031021068eb9c646a5f1e50994 -Author: jmc@openbsd.org -Date: Fri Aug 14 15:32:41 2015 +0000 +commit 624fd395b559820705171f460dd33d67743d13d6 +Author: djm@openbsd.org +Date: Wed Feb 17 02:24:17 2016 +0000 upstream commit - match myproposal.h order; from brian conway (i snuck in a - tweak while here) - - ok dtucker + include bad $SSH_CONNECTION in failure output - Upstream-ID: 35174a19b5237ea36aa3798f042bf5933b772c67 + Upstream-Regress-ID: b22d72edfde78c403aaec2b9c9753ef633cc0529 -commit 1dc8d93ce69d6565747eb44446ed117187621b26 -Author: deraadt@openbsd.org -Date: Thu Aug 6 14:53:21 2015 +0000 +commit 60d860e54b4f199e5e89963b1c086981309753cb +Author: Darren Tucker +Date: Wed Feb 17 13:37:09 2016 +1100 - upstream commit - - add prohibit-password as a synonymn for without-password, - since the without-password is causing too many questions. Harden it to ban - all but pubkey, hostbased, and GSSAPI auth (when the latter is enabled) from - djm, ok markus + Rollback addition of va_start. - Upstream-ID: d53317d7b28942153e6236d3fd6e12ceb482db7a + va_start was added in 0f754e29dd3760fc0b172c1220f18b753fb0957e, however + it has the wrong number of args and it's not usable in non-variadic + functions anyway so it breaks things (for example Solaris 2.6 as + reported by Tom G. Christensen).i ok djm@ -commit 90a95a4745a531b62b81ce3b025e892bdc434de5 -Author: Damien Miller -Date: Tue Aug 11 13:53:41 2015 +1000 +commit 2fee909c3cee2472a98b26eb82696297b81e0d38 +Author: Darren Tucker +Date: Wed Feb 17 09:48:15 2016 +1100 - update version in README + Look for gethostbyname in libresolv and libnsl. + + Should fix build problem on Solaris 2.6 reported by Tom G. Christensen. -commit 318c37743534b58124f1bab37a8a0087a3a9bd2f +commit 5ac712d81a84396aab441a272ec429af5b738302 Author: Damien Miller -Date: Tue Aug 11 13:53:09 2015 +1000 +Date: Tue Feb 16 10:45:02 2016 +1100 - update versions in *.spec + make existing ssh_malloc_init only for __OpenBSD__ -commit 5e75f5198769056089fb06c4d738ab0e5abc66f7 -Author: Damien Miller -Date: Tue Aug 11 13:34:12 2015 +1000 +commit 24c9bded569d9f2449ded73f92fb6d12db7a9eec +Author: djm@openbsd.org +Date: Mon Feb 15 23:32:37 2016 +0000 - set sshpam_ctxt to NULL after free + upstream commit - Avoids use-after-free in monitor when privsep child is compromised. - Reported by Moritz Jodeit; ok dtucker@ - -commit d4697fe9a28dab7255c60433e4dd23cf7fce8a8b -Author: Damien Miller -Date: Tue Aug 11 13:33:24 2015 +1000 - - Don't resend username to PAM; it already has it. + memleak of algorithm name in mm_answer_sign; reported by + Jakub Jelen - Pointed out by Moritz Jodeit; ok dtucker@ - -commit 88763a6c893bf3dfe951ba9271bf09715e8d91ca -Author: Darren Tucker -Date: Mon Jul 27 12:14:25 2015 +1000 - - Import updated moduli file from OpenBSD. + Upstream-ID: ccd742cd25952240ebd23d7d4d6b605862584d08 -commit 55b263fb7cfeacb81aaf1c2036e0394c881637da -Author: Damien Miller -Date: Mon Aug 10 11:13:44 2015 +1000 +commit ffb1e7e896139a42ceb78676f637658f44612411 +Author: dtucker@openbsd.org +Date: Mon Feb 15 09:47:49 2016 +0000 - let principals-command.sh work for noexec /var/run + upstream commit + + Add a function to enable security-related malloc_options. + With and ok deraadt@, something similar has been in the snaps for a while. + + Upstream-ID: 43a95523b832b7f3b943d2908662191110c380ed -commit 2651e34cd11b1aac3a0fe23b86d8c2ff35c07897 +commit ef39e8c0497ff0564990a4f9e8b7338b3ba3507c Author: Damien Miller -Date: Thu Aug 6 11:43:42 2015 +1000 +Date: Tue Feb 16 10:34:39 2016 +1100 - work around echo -n / sed behaviour in tests + sync ssh-copy-id with upstream 783ef08b0a75 -commit d85dad81778c1aa8106acd46930b25fdf0d15b2a +commit d2d772f55b19bb0e8d03c2fe1b9bb176d9779efd Author: djm@openbsd.org -Date: Wed Aug 5 05:27:33 2015 +0000 +Date: Fri Feb 12 00:20:30 2016 +0000 upstream commit - adjust for RSA minimum modulus switch; ok deraadt@ + avoid fatal() for PKCS11 tokens that present empty key IDs + bz#1773, ok markus@ - Upstream-Regress-ID: 5a72c83431b96224d583c573ca281cd3a3ebfdae + Upstream-ID: 044a764fee526f2c4a9d530bd10695422d01fc54 -commit 57e8e229bad5fe6056b5f1199665f5f7008192c6 +commit e4c918a6c721410792b287c9fd21356a1bed5805 Author: djm@openbsd.org -Date: Tue Aug 4 05:23:06 2015 +0000 +Date: Thu Feb 11 02:56:32 2016 +0000 upstream commit - backout SSH_RSA_MINIMUM_MODULUS_SIZE increase for this - release; problems spotted by sthen@ ok deraadt@ markus@ + sync crypto algorithm lists in ssh_config(5) and + sshd_config(5) with current reality. bz#2527 - Upstream-ID: d0bd60dde9e8c3cd7030007680371894c1499822 + Upstream-ID: d7fd1b6c1ed848d866236bcb1d7049d2bb9b2ff6 -commit f097d0ea1e0889ca0fa2e53a00214e43ab7fa22a +commit e30cabfa4ab456a30b3224f7f545f1bdfc4a2517 Author: djm@openbsd.org -Date: Sun Aug 2 09:56:42 2015 +0000 +Date: Thu Feb 11 02:21:34 2016 +0000 upstream commit - openssh 7.0; ok deraadt@ + fix regression in openssh-6.8 sftp client: existing + destination directories would incorrectly terminate recursive uploads; + bz#2528 - Upstream-ID: c63afdef537f57f28ae84145c5a8e29e9250221f + Upstream-ID: 3306be469f41f26758e3d447987ac6d662623e18 -commit 3d5728a0f6874ce4efb16913a12963595070f3a9 -Author: chris@openbsd.org -Date: Fri Jul 31 15:38:09 2015 +0000 +commit 714e367226ded4dc3897078be48b961637350b05 +Author: djm@openbsd.org +Date: Tue Feb 9 05:30:04 2016 +0000 upstream commit - Allow PermitRootLogin to be overridden by config - - ok markus@ deeradt@ + turn off more old crypto in the client: hmac-md5, ripemd, + truncated HMACs, RC4, blowfish. ok markus@ dtucker@ - Upstream-ID: 5cf3e26ed702888de84e2dc9d0054ccf4d9125b4 + Upstream-ID: 96aa11c2c082be45267a690c12f1d2aae6acd46e -commit 6f941396b6835ad18018845f515b0c4fe20be21a +commit 5a622844ff7f78dcb75e223399f9ef0977e8d0a3 Author: djm@openbsd.org -Date: Thu Jul 30 23:09:15 2015 +0000 +Date: Mon Feb 8 23:40:12 2016 +0000 upstream commit - fix pty permissions; patch from Nikolay Edigaryev; ok - deraadt + don't attempt to percent_expand() already-canonicalised + addresses, avoiding unnecessary failures when attempting to connect to scoped + IPv6 addresses (that naturally contain '%' characters) - Upstream-ID: 40ff076d2878b916fbfd8e4f45dbe5bec019e550 + Upstream-ID: f24569cffa1a7cbde5f08dc739a72f4d78aa5c6a -commit f4373ed1e8fbc7c8ce3fc4ea97d0ba2e0c1d7ef0 -Author: deraadt@openbsd.org -Date: Thu Jul 30 19:23:02 2015 +0000 +commit 19bcf2ea2d17413f2d9730dd2a19575ff86b9b6a +Author: djm@openbsd.org +Date: Mon Feb 8 10:57:07 2016 +0000 upstream commit - change default: PermitRootLogin without-password matching - install script changes coming as well ok djm markus + refactor activation of rekeying - Upstream-ID: 0e2a6c4441daf5498b47a61767382bead5eb8ea6 + This makes automatic rekeying internal to the packet code (previously + the server and client loops needed to assist). In doing to it makes + application of rekey limits more accurate by accounting for packets + about to be sent as well as packets queued during rekeying events + themselves. + + Based on a patch from dtucker@ which was in turn based on a patch + Aleksander Adamowski in bz#2521; ok markus@ + + Upstream-ID: a441227fd64f9739850ca97b4cf794202860fcd8 -commit 0c30ba91f87fcda7e975e6ff8a057f624e87ea1c -Author: Damien Miller -Date: Thu Jul 30 12:31:39 2015 +1000 +commit 603ba41179e4b53951c7b90ee95b6ef3faa3f15d +Author: naddy@openbsd.org +Date: Fri Feb 5 13:28:19 2016 +0000 - downgrade OOM adjustment logging: verbose -> debug + upstream commit + + Only check errno if read() has returned an error. EOF is + not an error. This fixes a problem where the mux master would sporadically + fail to notice that the client had exited. ok mikeb@ djm@ + + Upstream-ID: 3c2dadc21fac6ef64665688aac8a75fffd57ae53 -commit f9eca249d4961f28ae4b09186d7dc91de74b5895 -Author: djm@openbsd.org -Date: Thu Jul 30 00:01:34 2015 +0000 +commit 56d7dac790693ce420d225119283bc355cff9185 +Author: jsg@openbsd.org +Date: Fri Feb 5 04:31:21 2016 +0000 upstream commit - Allow ssh_config and sshd_config kex parameters options be - prefixed by a '+' to indicate that the specified items be appended to the - default rather than replacing it. - - approach suggested by dtucker@, feedback dlg@, ok markus@ + avoid an uninitialised value when NumberOfPasswordPrompts + is 0 ok markus@ djm@ - Upstream-ID: 0f901137298fc17095d5756ff1561a7028e8882a + Upstream-ID: 11b068d83c2865343aeb46acf1e9eec00f829b6b -commit 5cefe769105a2a2e3ca7479d28d9a325d5ef0163 +commit deae7d52d59c5019c528f977360d87fdda15d20b Author: djm@openbsd.org -Date: Wed Jul 29 08:34:54 2015 +0000 +Date: Fri Feb 5 03:07:06 2016 +0000 upstream commit - fix bug in previous; was printing incorrect string for - failed host key algorithms negotiation + mention internal DH-GEX fallback groups; bz#2302 - Upstream-ID: 22c0dc6bc61930513065d92e11f0753adc4c6e6e + Upstream-ID: e7b395fcca3122cd825515f45a2e41c9a157e09e -commit f319912b0d0e1675b8bb051ed8213792c788bcb2 +commit cac3b6665f884d46192c0dc98a64112e8b11a766 Author: djm@openbsd.org -Date: Wed Jul 29 04:43:06 2015 +0000 +Date: Fri Feb 5 02:37:56 2016 +0000 upstream commit - include the peer's offer when logging a failure to - negotiate a mutual set of algorithms (kex, pubkey, ciphers, etc.) ok markus@ + better description for MaxSessions; bz#2531 - Upstream-ID: bbb8caabf5c01790bb845f5ce135565248d7c796 + Upstream-ID: e2c0d74ee185cd1a3e9d4ca1f1b939b745b354da -commit b6ea0e573042eb85d84defb19227c89eb74cf05a +commit 5ef4b0fdcc7a239577a754829b50022b91ab4712 +Author: Damien Miller +Date: Wed Jan 27 17:45:56 2016 +1100 + + avoid FreeBSD RCS Id in comment + + Change old $FreeBSD version string in comment so it doesn't + become an RCS ident downstream; requested by des AT des.no + +commit 696d12683c90d20a0a9c5f4275fc916b7011fb04 Author: djm@openbsd.org -Date: Tue Jul 28 23:20:42 2015 +0000 +Date: Thu Feb 4 23:43:48 2016 +0000 upstream commit - add Cisco to the list of clients that choke on the - hostkeys update extension. Pointed out by Howard Kash + printf argument casts to avoid warnings on strict + compilers - Upstream-ID: c9eadde28ecec056c73d09ee10ba4570dfba7e84 + Upstream-ID: 7b9f6712cef01865ad29070262d366cf13587c9c -commit 3f628c7b537291c1019ce86af90756fb4e66d0fd -Author: guenther@openbsd.org -Date: Mon Jul 27 16:29:23 2015 +0000 +commit 5658ef2501e785fbbdf5de2dc33b1ff7a4dca73a +Author: millert@openbsd.org +Date: Mon Feb 1 21:18:17 2016 +0000 upstream commit - Permit kbind(2) use in the sandbox now, to ease testing - of ld.so work using it - - reminded by miod@, ok deraadt@ + Avoid ugly "DISPLAY "(null)" invalid; disabling X11 + forwarding" message when DISPLAY is not set. This could also result in a + crash on systems with a printf that doesn't handle NULL. OK djm@ - Upstream-ID: 523922e4d1ba7a091e3824e77a8a3c818ee97413 + Upstream-ID: 20ee0cfbda678a247264c20ed75362042b90b412 -commit ebe27ebe520098bbc0fe58945a87ce8490121edb -Author: millert@openbsd.org -Date: Mon Jul 20 18:44:12 2015 +0000 +commit 537f88ec7bcf40bd444ac5584c707c5588c55c43 +Author: dtucker@openbsd.org +Date: Fri Jan 29 05:18:15 2016 +0000 upstream commit - Move .Pp before .Bl, not after to quiet mandoc -Tlint. - Noticed by jmc@ + Add regression test for RekeyLimit parsing of >32bit values + (4G and 8G). - Upstream-ID: 59fadbf8407cec4e6931e50c53cfa0214a848e23 + Upstream-Regress-ID: 548390350c62747b6234f522a99c319eee401328 -commit d5d91d0da819611167782c66ab629159169d94d4 -Author: millert@openbsd.org -Date: Mon Jul 20 18:42:35 2015 +0000 +commit 4c6cb8330460f94e6c7ae28a364236d4188156a3 +Author: dtucker@openbsd.org +Date: Fri Jan 29 23:04:46 2016 +0000 upstream commit - Sync usage with SYNOPSIS + Remove leftover roaming dead code. ok djm markus. - Upstream-ID: 7a321a170181a54f6450deabaccb6ef60cf3f0b7 + Upstream-ID: 13d1f9c8b65a5109756bcfd3b74df949d53615be -commit 79ec2142fbc68dd2ed9688608da355fc0b1ed743 -Author: millert@openbsd.org -Date: Mon Jul 20 15:39:52 2015 +0000 +commit 28136471809806d6246ef41e4341467a39fe2f91 +Author: djm@openbsd.org +Date: Fri Jan 29 05:46:01 2016 +0000 upstream commit - Better desciption of Unix domain socket forwarding. - bz#2423; ok jmc@ + include packet type of non-data packets in debug3 output; + ok markus dtucker - Upstream-ID: 85e28874726897e3f26ae50dfa2e8d2de683805d + Upstream-ID: 034eaf639acc96459b9c5ce782db9fcd8bd02d41 -commit d56fd1828074a4031b18b8faa0bf949669eb18a0 -Author: Damien Miller -Date: Mon Jul 20 11:19:51 2015 +1000 - - make realpath.c compile -Wsign-compare clean - -commit c63c9a691dca26bb7648827f5a13668832948929 -Author: djm@openbsd.org -Date: Mon Jul 20 00:30:01 2015 +0000 +commit 6fd6e28daccafaa35f02741036abe64534c361a1 +Author: dtucker@openbsd.org +Date: Fri Jan 29 03:31:03 2016 +0000 upstream commit - mention that the default of UseDNS=no implies that - hostnames cannot be used for host matching in sshd_config and - authorized_keys; bz#2045, ok dtucker@ + Revert "account for packets buffered but not yet + processed" change as it breaks for very small RekeyLimit values due to + continuous rekeying. ok djm@ - Upstream-ID: 0812705d5f2dfa59aab01f2764ee800b1741c4e1 + Upstream-ID: 7e03f636cb45ab60db18850236ccf19079182a19 -commit 63ebcd0005e9894fcd6871b7b80aeea1fec0ff76 -Author: djm@openbsd.org -Date: Sat Jul 18 08:02:17 2015 +0000 +commit 921ff00b0ac429666fb361d2d6cb1c8fff0006cb +Author: dtucker@openbsd.org +Date: Fri Jan 29 02:54:45 2016 +0000 upstream commit - don't ignore PKCS#11 hosted keys that return empty - CKA_ID; patch by Jakub Jelen via bz#2429; ok markus + Allow RekeyLimits in excess of 4G up to 2**63 bits + (limited by the return type of scan_scaled). Part of bz#2521, ok djm. - Upstream-ID: 2f7c94744eb0342f8ee8bf97b2351d4e00116485 + Upstream-ID: 13bea82be566b9704821b1ea05bf7804335c7979 -commit b15fd989c8c62074397160147a8d5bc34b3f3c63 -Author: djm@openbsd.org -Date: Sat Jul 18 08:00:21 2015 +0000 +commit c0060a65296f01d4634f274eee184c0e93ba0f23 +Author: dtucker@openbsd.org +Date: Fri Jan 29 02:42:46 2016 +0000 upstream commit - skip uninitialised PKCS#11 slots; patch from Jakub Jelen - in bz#2427 ok markus@ + Account for packets buffered but not yet processed when + computing whether or not it is time to perform rekeying. bz#2521, based + loosely on a patch from olo at fb.com, ok djm@ - Upstream-ID: 744c1e7796e237ad32992d0d02148e8a18f27d29 + Upstream-ID: 67e268b547f990ed220f3cb70a5624d9bda12b8c -commit 5b64f85bb811246c59ebab70aed331f26ba37b18 +commit 44cf930e670488c85c9efeb373fa5f4b455692ac Author: djm@openbsd.org -Date: Sat Jul 18 07:57:14 2015 +0000 +Date: Wed Jan 27 06:44:58 2016 +0000 upstream commit - only query each keyboard-interactive device once per - authentication request regardless of how many times it is listed; ok markus@ + change old $FreeBSD version string in comment so it doesn't + become an RCS ident downstream; requested by des AT des.no - Upstream-ID: d73fafba6e86030436ff673656ec1f33d9ffeda1 + Upstream-ID: 8ca558c01f184e596b45e4fc8885534b2c864722 -commit cd7324d0667794eb5c236d8a4e0f236251babc2d +commit ebacd377769ac07d1bf3c75169644336056b7060 Author: djm@openbsd.org -Date: Fri Jul 17 03:34:27 2015 +0000 +Date: Wed Jan 27 00:53:12 2016 +0000 upstream commit - remove -u flag to diff (only used for error output) to make - things easier for -portable + make the debug messages a bit more useful here - Upstream-Regress-ID: a5d6777d2909540d87afec3039d9bb2414ade548 + Upstream-ID: 478ccd4e897e0af8486b294aa63aa3f90ab78d64 -commit deb8d99ecba70b67f4af7880b11ca8768df9ec3a -Author: djm@openbsd.org -Date: Fri Jul 17 03:09:19 2015 +0000 +commit 458abc2934e82034c5c281336d8dc0f910aecad3 +Author: jsg@openbsd.org +Date: Sat Jan 23 05:31:35 2016 +0000 upstream commit - direct-streamlocal@openssh.com Unix domain foward - messages do not contain a "reserved for future use" field and in fact, - serverloop.c checks that there isn't one. Remove erroneous mention from - PROTOCOL description. bz#2421 from Daniel Black + Zero a stack buffer with explicit_bzero() instead of + memset() when returning from client_loop() for consistency with + buffer_free()/sshbuf_free(). - Upstream-ID: 3d51a19e64f72f764682f1b08f35a8aa810a43ac + ok dtucker@ deraadt@ djm@ + + Upstream-ID: bc9975b2095339811c3b954694d7d15ea5c58f66 -commit 356b61f365405b5257f5b2ab446e5d7bd33a7b52 -Author: djm@openbsd.org -Date: Fri Jul 17 03:04:27 2015 +0000 +commit 65a3c0dacbc7dbb75ddb6a70ebe22d8de084d0b0 +Author: dtucker@openbsd.org +Date: Wed Jan 20 09:22:39 2016 +0000 upstream commit - describe magic for setting up Unix domain socket fowards - via the mux channel; bz#2422 patch from Daniel Black + Include sys/time.h for gettimeofday. From sortie at + maxsi.org. - Upstream-ID: 943080fe3864715c423bdeb7c920bb30c4eee861 + Upstream-ID: 6ed0c33b836d9de0a664cd091e86523ecaa2fb3b -commit d3e2aee41487d55b8d7d40f538b84ff1db7989bc -Author: Darren Tucker -Date: Fri Jul 17 12:52:34 2015 +1000 +commit fc77ccdc2ce6d5d06628b8da5048a6a5f6ffca5a +Author: markus@openbsd.org +Date: Thu Jan 14 22:56:56 2016 +0000 - Check if realpath works on nonexistent files. - - On some platforms the native realpath doesn't work with non-existent - files (this is actually specified in some versions of POSIX), however - the sftp spec says its realpath with "canonicalize any given path name". - On those platforms, use realpath from the compat library. + upstream commit - In addition, when compiling with -DFORTIFY_SOURCE, glibc redefines - the realpath symbol to the checked version, so redefine ours to - something else so we pick up the compat version we want. + fd leaks; report Qualys Security Advisory team; ok + deraadt@ - bz#2428, ok djm@ + Upstream-ID: 4ec0f12b9d8fa202293c9effa115464185aa071d -commit 25b14610dab655646a109db5ef8cb4c4bf2a48a0 -Author: djm@openbsd.org -Date: Fri Jul 17 02:47:45 2015 +0000 +commit a306863831c57ec5fad918687cc5d289ee8e2635 +Author: markus@openbsd.org +Date: Thu Jan 14 16:17:39 2016 +0000 upstream commit - fix incorrect test for SSH1 keys when compiled without SSH1 - support + remove roaming support; ok djm@ - Upstream-ID: 6004d720345b8e481c405e8ad05ce2271726e451 + Upstream-ID: 2cab8f4b197bc95776fb1c8dc2859dad0c64dc56 -commit df56a8035d429b2184ee94aaa7e580c1ff67f73a -Author: djm@openbsd.org -Date: Wed Jul 15 08:00:11 2015 +0000 +commit 6ef49e83e30688504552ac10875feabd5521565f +Author: deraadt@openbsd.org +Date: Thu Jan 14 14:34:34 2016 +0000 upstream commit - fix NULL-deref when SSH1 reenabled + Disable experimental client-side roaming support. Server + side was disabled/gutted for years already, but this aspect was surprisingly + forgotten. Thanks for report from Qualys - Upstream-ID: f22fd805288c92b3e9646782d15b48894b2d5295 + Upstream-ID: 2328004b58f431a554d4c1bf67f5407eae3389df -commit 41e38c4d49dd60908484e6703316651333f16b93 +commit 8d7b523b96d3be180572d9d338cedaafc0570f60 +Author: Damien Miller +Date: Thu Jan 14 11:08:19 2016 +1100 + + bump version numbers + +commit 8c3d512a1fac8b9c83b4d0c9c3f2376290bd84ca +Author: Damien Miller +Date: Thu Jan 14 11:04:04 2016 +1100 + + openssh-7.1p2 + +commit e6c85f8889c5c9eb04796fdb76d2807636b9eef5 +Author: Damien Miller +Date: Fri Jan 15 01:30:36 2016 +1100 + + forcibly disable roaming support in the client + +commit ed4ce82dbfa8a3a3c8ea6fa0db113c71e234416c Author: djm@openbsd.org -Date: Wed Jul 15 07:19:50 2015 +0000 +Date: Wed Jan 13 23:04:47 2016 +0000 upstream commit - regen RSA1 test keys; the last batch was missing their - private parts + eliminate fallback from untrusted X11 forwarding to trusted + forwarding when the X server disables the SECURITY extension; Reported by + Thomas Hoger; ok deraadt@ - Upstream-Regress-ID: 7ccf437305dd63ff0b48dd50c5fd0f4d4230c10a + Upstream-ID: f76195bd2064615a63ef9674a0e4096b0713f938 -commit 5bf0933184cb622ca3f96d224bf3299fd2285acc -Author: markus@openbsd.org -Date: Fri Jul 10 06:23:25 2015 +0000 +commit 9a728cc918fad67c8a9a71201088b1e150340ba4 +Author: djm@openbsd.org +Date: Tue Jan 12 23:42:54 2016 +0000 upstream commit - Adapt tests, now that DSA if off by default; use - PubkeyAcceptedKeyTypes and PubkeyAcceptedKeyTypes to test DSA. + use explicit_bzero() more liberally in the buffer code; ok + deraadt - Upstream-Regress-ID: 0ff2a3ff5ac1ce5f92321d27aa07b98656efcc5c + Upstream-ID: 0ece37069fd66bc6e4f55eb1321f93df372b65bf -commit 7a6e3fd7b41dbd3756b6bf9acd67954c0b1564cc -Author: markus@openbsd.org -Date: Tue Jul 7 14:54:16 2015 +0000 +commit 4626cbaf78767fc8e9c86dd04785386c59ae0839 +Author: Damien Miller +Date: Fri Jan 8 14:24:56 2016 +1100 - upstream commit + Support Illumos/Solaris fine-grained privileges - regen test data after mktestdata.sh changes + Includes a pre-auth privsep sandbox and several pledge() + emulations. bz#2511, patch by Alex Wilson. - Upstream-Regress-ID: 3495ecb082b9a7c048a2d7c5c845d3bf181d25a4 + ok dtucker@ -commit 7c8c174c69f681d4910fa41c37646763692b28e2 -Author: markus@openbsd.org -Date: Tue Jul 7 14:53:30 2015 +0000 +commit 422d1b3ee977ff4c724b597fb2e437d38fc8de9d +Author: djm@openbsd.org +Date: Thu Dec 31 00:33:52 2015 +0000 upstream commit - adapt tests to new minimum RSA size and default FP format + fix three bugs in KRL code related to (unused) signature + support: verification length was being incorrectly calculated, multiple + signatures were being incorrectly processed and a NULL dereference that + occurred when signatures were verified. Reported by Carl Jackson - Upstream-Regress-ID: a4b30afd174ce82b96df14eb49fb0b81398ffd0e + Upstream-ID: e705e97ad3ccce84291eaa651708dd1b9692576b -commit 6a977a4b68747ade189e43d302f33403fd4a47ac +commit 6074c84bf95d00f29cc7d5d3cd3798737851aa1a Author: djm@openbsd.org -Date: Fri Jul 3 04:39:23 2015 +0000 +Date: Wed Dec 30 23:46:14 2015 +0000 upstream commit - legacy v00 certificates are gone; adapt and don't try to - test them; "sure" markus@ dtucker@ + unused prototype - Upstream-Regress-ID: c57321e69b3cd4a3b3396dfcc43f0803d047da12 + Upstream-ID: f3eef4389d53ed6c0d5c77dcdcca3060c745da97 -commit 0c4123ad5e93fb90fee9c6635b13a6cdabaac385 -Author: djm@openbsd.org -Date: Wed Jul 1 23:11:18 2015 +0000 +commit 6213f0e180e54122bb1ba928e11c784e2b4e5380 +Author: guenther@openbsd.org +Date: Sat Dec 26 20:51:35 2015 +0000 upstream commit *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Mar 10 20:11:27 2016 Return-Path: Delivered-To: svn-src-all@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 77D17ACB3F8; Thu, 10 Mar 2016 20:11:27 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 30111AF9; Thu, 10 Mar 2016 20:11:27 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AKBQ3K088629; Thu, 10 Mar 2016 20:11:26 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AKBQEf088628; Thu, 10 Mar 2016 20:11:26 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603102011.u2AKBQEf088628@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Thu, 10 Mar 2016 20:11:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296620 - vendor-crypto/openssh/7.2p1 X-SVN-Group: vendor-crypto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 20:11:27 -0000 Author: des Date: Thu Mar 10 20:11:26 2016 New Revision: 296620 URL: https://svnweb.freebsd.org/changeset/base/296620 Log: Tag OpenSSH 7.2p1. Added: vendor-crypto/openssh/7.2p1/ - copied from r296619, vendor-crypto/openssh/dist/ From owner-svn-src-all@freebsd.org Thu Mar 10 20:12:12 2016 Return-Path: Delivered-To: svn-src-all@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 EBE53ACB447; Thu, 10 Mar 2016 20:12:11 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 AE941CB8; Thu, 10 Mar 2016 20:12:11 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AKCACw091397; Thu, 10 Mar 2016 20:12:10 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AKCArw091390; Thu, 10 Mar 2016 20:12:10 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603102012.u2AKCArw091390@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Thu, 10 Mar 2016 20:12:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296621 - in vendor-crypto/openssh/dist: . contrib/redhat contrib/suse X-SVN-Group: vendor-crypto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 20:12:12 -0000 Author: des Date: Thu Mar 10 20:12:09 2016 New Revision: 296621 URL: https://svnweb.freebsd.org/changeset/base/296621 Log: Vendor import of OpenSSH 7.2p2. Modified: vendor-crypto/openssh/dist/ChangeLog vendor-crypto/openssh/dist/README vendor-crypto/openssh/dist/contrib/redhat/openssh.spec vendor-crypto/openssh/dist/contrib/suse/openssh.spec vendor-crypto/openssh/dist/session.c vendor-crypto/openssh/dist/version.h Modified: vendor-crypto/openssh/dist/ChangeLog ============================================================================== --- vendor-crypto/openssh/dist/ChangeLog Thu Mar 10 20:11:26 2016 (r296620) +++ vendor-crypto/openssh/dist/ChangeLog Thu Mar 10 20:12:09 2016 (r296621) @@ -1,3 +1,17 @@ +commit 5c35450a0c901d9375fb23343a8dc82397da5f75 +Author: Damien Miller +Date: Thu Mar 10 05:04:48 2016 +1100 + + update versions for release + +commit 9d47b8d3f50c3a6282896df8274147e3b9a38c56 +Author: Damien Miller +Date: Thu Mar 10 05:03:39 2016 +1100 + + sanitise characters destined for xauth(1) + + reported by github.com/tintinweb + commit 72b061d4ba0f909501c595d709ea76e06b01e5c9 Author: Darren Tucker Date: Fri Feb 26 14:40:04 2016 +1100 @@ -8889,19 +8903,3 @@ Author: Damien Miller Date: Thu Mar 13 13:14:21 2014 +1100 - (djm) Release OpenSSH 6.6 - -commit 8569eba5d7f7348ce3955eeeb399f66f25c52ece -Author: Damien Miller -Date: Tue Mar 4 09:35:17 2014 +1100 - - - djm@cvs.openbsd.org 2014/03/03 22:22:30 - [session.c] - ignore enviornment variables with embedded '=' or '\0' characters; - spotted by Jann Horn; ok deraadt@ - -commit 2476c31b96e89aec7d4e73cb6fbfb9a4290de3a7 -Author: Damien Miller -Date: Sun Mar 2 04:01:00 2014 +1100 - - - (djm) [regress/Makefile] Disable dhgex regress test; it breaks when - no moduli file exists at the expected location. Modified: vendor-crypto/openssh/dist/README ============================================================================== --- vendor-crypto/openssh/dist/README Thu Mar 10 20:11:26 2016 (r296620) +++ vendor-crypto/openssh/dist/README Thu Mar 10 20:12:09 2016 (r296621) @@ -1,4 +1,4 @@ -See http://www.openssh.com/txt/release-7.2p1 for the release notes. +See http://www.openssh.com/txt/release-7.2p2 for the release notes. Please read http://www.openssh.com/report.html for bug reporting instructions and note that we do not use Github for bug reporting or Modified: vendor-crypto/openssh/dist/contrib/redhat/openssh.spec ============================================================================== --- vendor-crypto/openssh/dist/contrib/redhat/openssh.spec Thu Mar 10 20:11:26 2016 (r296620) +++ vendor-crypto/openssh/dist/contrib/redhat/openssh.spec Thu Mar 10 20:12:09 2016 (r296621) @@ -1,4 +1,4 @@ -%define ver 7.2p1 +%define ver 7.2p2 %define rel 1 # OpenSSH privilege separation requires a user & group ID Modified: vendor-crypto/openssh/dist/contrib/suse/openssh.spec ============================================================================== --- vendor-crypto/openssh/dist/contrib/suse/openssh.spec Thu Mar 10 20:11:26 2016 (r296620) +++ vendor-crypto/openssh/dist/contrib/suse/openssh.spec Thu Mar 10 20:12:09 2016 (r296621) @@ -13,7 +13,7 @@ Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation Name: openssh -Version: 7.2p1 +Version: 7.2p2 URL: http://www.openssh.com/ Release: 1 Source0: openssh-%{version}.tar.gz Modified: vendor-crypto/openssh/dist/session.c ============================================================================== --- vendor-crypto/openssh/dist/session.c Thu Mar 10 20:11:26 2016 (r296620) +++ vendor-crypto/openssh/dist/session.c Thu Mar 10 20:12:09 2016 (r296621) @@ -46,6 +46,7 @@ #include +#include #include #include #include @@ -274,6 +275,21 @@ do_authenticated(Authctxt *authctxt) do_cleanup(authctxt); } +/* Check untrusted xauth strings for metacharacters */ +static int +xauth_valid_string(const char *s) +{ + size_t i; + + for (i = 0; s[i] != '\0'; i++) { + if (!isalnum((u_char)s[i]) && + s[i] != '.' && s[i] != ':' && s[i] != '/' && + s[i] != '-' && s[i] != '_') + return 0; + } + return 1; +} + /* * Prepares for an interactive session. This is called after the user has * been successfully authenticated. During this message exchange, pseudo @@ -347,7 +363,13 @@ do_authenticated1(Authctxt *authctxt) s->screen = 0; } packet_check_eom(); - success = session_setup_x11fwd(s); + if (xauth_valid_string(s->auth_proto) && + xauth_valid_string(s->auth_data)) + success = session_setup_x11fwd(s); + else { + success = 0; + error("Invalid X11 forwarding data"); + } if (!success) { free(s->auth_proto); free(s->auth_data); @@ -2178,7 +2200,13 @@ session_x11_req(Session *s) s->screen = packet_get_int(); packet_check_eom(); - success = session_setup_x11fwd(s); + if (xauth_valid_string(s->auth_proto) && + xauth_valid_string(s->auth_data)) + success = session_setup_x11fwd(s); + else { + success = 0; + error("Invalid X11 forwarding data"); + } if (!success) { free(s->auth_proto); free(s->auth_data); Modified: vendor-crypto/openssh/dist/version.h ============================================================================== --- vendor-crypto/openssh/dist/version.h Thu Mar 10 20:11:26 2016 (r296620) +++ vendor-crypto/openssh/dist/version.h Thu Mar 10 20:12:09 2016 (r296621) @@ -2,5 +2,5 @@ #define SSH_VERSION "OpenSSH_7.2" -#define SSH_PORTABLE "p1" +#define SSH_PORTABLE "p2" #define SSH_RELEASE SSH_VERSION SSH_PORTABLE From owner-svn-src-all@freebsd.org Thu Mar 10 20:12:24 2016 Return-Path: Delivered-To: svn-src-all@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 57593ACB480; Thu, 10 Mar 2016 20:12:24 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 10B98E18; Thu, 10 Mar 2016 20:12:23 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AKCNZQ091448; Thu, 10 Mar 2016 20:12:23 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AKCNIg091447; Thu, 10 Mar 2016 20:12:23 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603102012.u2AKCNIg091447@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Thu, 10 Mar 2016 20:12:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296622 - vendor-crypto/openssh/7.2p2 X-SVN-Group: vendor-crypto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 20:12:24 -0000 Author: des Date: Thu Mar 10 20:12:22 2016 New Revision: 296622 URL: https://svnweb.freebsd.org/changeset/base/296622 Log: Tag OpenSSH 7.2p2. Added: vendor-crypto/openssh/7.2p2/ - copied from r296621, vendor-crypto/openssh/dist/ From owner-svn-src-all@freebsd.org Thu Mar 10 20:15:28 2016 Return-Path: Delivered-To: svn-src-all@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 60686ACB631; Thu, 10 Mar 2016 20:15:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 325916F; Thu, 10 Mar 2016 20:15:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AKFRrK091632; Thu, 10 Mar 2016 20:15:27 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AKFRUb091631; Thu, 10 Mar 2016 20:15:27 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603102015.u2AKFRUb091631@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Thu, 10 Mar 2016 20:15:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296623 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 20:15:28 -0000 Author: bdrewery Date: Thu Mar 10 20:15:27 2016 New Revision: 296623 URL: https://svnweb.freebsd.org/changeset/base/296623 Log: Remove redundant files already tracked by tools/build/mk/OptionalObsoleteFiles.inc. These files are installed, likely after r288230. In tools/build/mk/OptionalObsoleteFiles.inc they are bound to the MK_BINUTILS option rather than unconditionally deleted here. Reported by: Kurt Lidl MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Thu Mar 10 20:12:22 2016 (r296622) +++ head/ObsoleteFiles.inc Thu Mar 10 20:15:27 2016 (r296623) @@ -7843,22 +7843,6 @@ OLD_FILES+=usr/share/bsnmp/mibs/FOKUS-MI OLD_FILES+=usr/share/bsnmp/mibs/BEGEMOT-MIB.txt OLD_FILES+=usr/share/bsnmp/mibs/BEGEMOT-SNMPD.txt OLD_FILES+=usr/share/bsnmp/mibs/BEGEMOT-NETGRAPH.txt -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.x -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.xbn -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.xn -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.xr -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.xs -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.xu -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.xc -OLD_FILES+=usr/libdata/ldscripts/elf64_sparc.xsc -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.x -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.xbn -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.xn -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.xr -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.xs -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.xu -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.xc -OLD_FILES+=usr/libdata/ldscripts/elf32_sparc.xsc OLD_FILES+=usr/libdata/msdosfs/iso22dos OLD_FILES+=usr/libdata/msdosfs/iso72dos OLD_FILES+=usr/libdata/msdosfs/koi2dos From owner-svn-src-all@freebsd.org Thu Mar 10 20:36:33 2016 Return-Path: Delivered-To: svn-src-all@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 9492EACA32F; Thu, 10 Mar 2016 20:36:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 66AB37D; Thu, 10 Mar 2016 20:36:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2AKaWLg097598; Thu, 10 Mar 2016 20:36:32 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2AKaW8h097597; Thu, 10 Mar 2016 20:36:32 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603102036.u2AKaW8h097597@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 10 Mar 2016 20:36:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296624 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 20:36:33 -0000 Author: np Date: Thu Mar 10 20:36:32 2016 New Revision: 296624 URL: https://svnweb.freebsd.org/changeset/base/296624 Log: cxgbe(4): Fix bug in r296603. The memory window needs to be repositioned if the start address isn't in the window already. One of the bounds check used the end address instead. Modified: head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Thu Mar 10 20:15:27 2016 (r296623) +++ head/sys/dev/cxgbe/t4_main.c Thu Mar 10 20:36:32 2016 (r296624) @@ -2084,7 +2084,7 @@ rw_via_memwin(struct adapter *sc, int id while (len > 0) { rw_rlock(&mw->mw_lock); mw_end = mw->mw_curpos + mw->mw_aperture; - if (addr >= mw_end || addr + len <= mw->mw_curpos) { + if (addr >= mw_end || addr < mw->mw_curpos) { /* Will need to reposition the window */ if (!rw_try_upgrade(&mw->mw_lock)) { rw_runlock(&mw->mw_lock); From owner-svn-src-all@freebsd.org Thu Mar 10 21:36:25 2016 Return-Path: Delivered-To: svn-src-all@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 EA504ACBA7B; Thu, 10 Mar 2016 21:36:25 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 A21F7110; Thu, 10 Mar 2016 21:36:25 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2ALaOBh015898; Thu, 10 Mar 2016 21:36:24 GMT (envelope-from sobomax@FreeBSD.org) Received: (from sobomax@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2ALaORK015895; Thu, 10 Mar 2016 21:36:24 GMT (envelope-from sobomax@FreeBSD.org) Message-Id: <201603102136.u2ALaORK015895@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sobomax set sender to sobomax@FreeBSD.org using -f From: Maxim Sobolev Date: Thu, 10 Mar 2016 21:36:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296626 - head/usr.bin/mkuzip X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 21:36:26 -0000 Author: sobomax Date: Thu Mar 10 21:36:24 2016 New Revision: 296626 URL: https://svnweb.freebsd.org/changeset/base/296626 Log: Add -S option to print out summary after compression has been completed. MFC after: 2 weeks Modified: head/usr.bin/mkuzip/mkuzip.8 head/usr.bin/mkuzip/mkuzip.c Modified: head/usr.bin/mkuzip/mkuzip.8 ============================================================================== --- head/usr.bin/mkuzip/mkuzip.8 Thu Mar 10 21:16:01 2016 (r296625) +++ head/usr.bin/mkuzip/mkuzip.8 Thu Mar 10 21:36:24 2016 (r296626) @@ -118,6 +118,9 @@ detects identical blocks in the input an of such block with pointer to the very first one in the output. Setting this option results is moderate decrease of compressed image size, typically around 3-5% of a final size of the compressed image. +.It Fl S +Print summary about the compression ratio as well as output +file size after file has been processed. .El .Sh NOTES The compression ratio largely depends on the cluster size used. Modified: head/usr.bin/mkuzip/mkuzip.c ============================================================================== --- head/usr.bin/mkuzip/mkuzip.c Thu Mar 10 21:16:01 2016 (r296625) +++ head/usr.bin/mkuzip/mkuzip.c Thu Mar 10 21:36:24 2016 (r296626) @@ -90,6 +90,7 @@ int main(int argc, char **argv) char *iname, *oname, *obuf, *ibuf; uint64_t *toc; int fdr, fdw, i, opt, verbose, no_zcomp, tmp, en_dedup; + int summary; struct iovec iov[2]; struct stat sb; uint32_t destlen; @@ -104,9 +105,10 @@ int main(int argc, char **argv) verbose = 0; no_zcomp = 0; en_dedup = 0; + summary = 0; handler = &uzip_fmt; - while((opt = getopt(argc, argv, "o:s:vZdL")) != -1) { + while((opt = getopt(argc, argv, "o:s:vZdLS")) != -1) { switch(opt) { case 'o': oname = optarg; @@ -138,6 +140,10 @@ int main(int argc, char **argv) handler = &ulzma_fmt; break; + case 'S': + summary = 1; + break; + default: usage(); /* Not reached */ @@ -294,7 +300,7 @@ int main(int argc, char **argv) } close(fdr); - if (verbose != 0) + if (verbose != 0 || summary != 0) fprintf(stderr, "compressed data to %ju bytes, saved %lld " "bytes, %.2f%% decrease.\n", offset, (long long)(sb.st_size - offset), @@ -337,7 +343,7 @@ static void usage(void) { - fprintf(stderr, "usage: mkuzip [-vZdL] [-o outfile] [-s cluster_size] " + fprintf(stderr, "usage: mkuzip [-vZdLS] [-o outfile] [-s cluster_size] " "infile\n"); exit(1); } From owner-svn-src-all@freebsd.org Thu Mar 10 22:37:37 2016 Return-Path: Delivered-To: svn-src-all@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 67924ACBF93; Thu, 10 Mar 2016 22:37:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 598B4398; Thu, 10 Mar 2016 22:37:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 509681879; Thu, 10 Mar 2016 22:37:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 1CCF51EC63; Thu, 10 Mar 2016 22:37:37 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id xPxLNtQPFDWY; Thu, 10 Mar 2016 22:37:34 +0000 (UTC) Subject: Re: svn commit: r296589 - head/sys/dev/fdc DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 3D9321EC5D To: Warner Losh , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603100033.u2A0X6uN027771@repo.freebsd.org> From: Bryan Drewery Organization: FreeBSD Message-ID: <56E1F72D.7000002@FreeBSD.org> Date: Thu, 10 Mar 2016 14:37:33 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603100033.u2A0X6uN027771@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 22:37:37 -0000 On 3/9/16 4:33 PM, Warner Losh wrote: > Author: imp > Date: Thu Mar 10 00:33:06 2016 > New Revision: 296589 > URL: https://svnweb.freebsd.org/changeset/base/296589 > > Log: > Stop assuming that bio_cmd is a bit field. > > Differential Revision: https://reviews.freebsd.org/D5587 > > Modified: > head/sys/dev/fdc/fdc.c > > Modified: head/sys/dev/fdc/fdc.c > ============================================================================== > --- head/sys/dev/fdc/fdc.c Thu Mar 10 00:27:10 2016 (r296588) > +++ head/sys/dev/fdc/fdc.c Thu Mar 10 00:33:06 2016 (r296589) > @@ -941,7 +941,7 @@ fdc_worker(struct fdc_data *fdc) > /* Disable ISADMA if we bailed while it was active */ > if (fd != NULL && (fd->flags & FD_ISADMA)) { > isa_dmadone( > - bp->bio_cmd & BIO_READ ? ISADMA_READ : ISADMA_WRITE, > + bp->bio_cmd == BIO_READ ? ISADMA_READ : ISADMA_WRITE, I think we should have some kind of file (like ports CHANGES) that lists subtle KPI changes. This and the bio bzero change were easily missed and could lead to who-knows-what downstream for vendors or even out-of-tree modules. Btw there are some missed still: ./dev/mfi/mfi.c: switch (bio->bio_cmd & 0x03) { ./dev/mfi/mfi.c: switch (bio->bio_cmd & 0x03) { -- Regards, Bryan Drewery From owner-svn-src-all@freebsd.org Thu Mar 10 23:17:27 2016 Return-Path: Delivered-To: svn-src-all@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 CE87AACAFEB; Thu, 10 Mar 2016 23:17:27 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 91A1899D; Thu, 10 Mar 2016 23:17:27 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2ANHQEN046869; Thu, 10 Mar 2016 23:17:26 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2ANHQZM046867; Thu, 10 Mar 2016 23:17:26 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603102317.u2ANHQZM046867@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 10 Mar 2016 23:17:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296627 - in head/sys/dev/cxgbe: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 23:17:27 -0000 Author: np Date: Thu Mar 10 23:17:26 2016 New Revision: 296627 URL: https://svnweb.freebsd.org/changeset/base/296627 Log: cxgbe(4): Improvements to the code that deals with the firmware's log. - Query the location of the log very early during attach. Refresh the location later after establishing contact with the firmware. - Save the log's location as a flat address in devlog_params. - Use a memory window instead of backdoor access to the EDC/MC to read the log. Modified: head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Thu Mar 10 21:36:24 2016 (r296626) +++ head/sys/dev/cxgbe/common/common.h Thu Mar 10 23:17:26 2016 (r296627) @@ -262,6 +262,7 @@ struct devlog_params { u32 memtype; /* which memory (FW_MEMTYPE_* ) */ u32 start; /* start of log in firmware memory */ u32 size; /* size of log */ + u32 addr; /* start address in flat addr space */ }; /* Stores chip specific parameters */ Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Thu Mar 10 21:36:24 2016 (r296626) +++ head/sys/dev/cxgbe/t4_main.c Thu Mar 10 23:17:26 2016 (r296627) @@ -409,6 +409,7 @@ static int validate_mem_range(struct ada static int fwmtype_to_hwmtype(int); static int validate_mt_off_len(struct adapter *, int, uint32_t, int, uint32_t *); +static int fixup_devlog_params(struct adapter *); static int cfg_itype_and_nqueues(struct adapter *, int, int, int, struct intrs_and_queues *); static int prep_firmware(struct adapter *); @@ -733,6 +734,8 @@ t4_attach(device_t dev) * will work even in "recovery mode". */ setup_memwin(sc); + if (t4_init_devlog_params(sc, 0) == 0) + fixup_devlog_params(sc); sc->cdev = make_dev(is_t4(sc) ? &t4_cdevsw : &t5_cdevsw, device_get_unit(dev), UID_ROOT, GID_WHEEL, 0600, "%s", device_get_nameunit(dev)); @@ -2333,6 +2336,18 @@ validate_mt_off_len(struct adapter *sc, } static int +fixup_devlog_params(struct adapter *sc) +{ + struct devlog_params *dparams = &sc->params.devlog; + int rc; + + rc = validate_mt_off_len(sc, dparams->memtype, dparams->start, + dparams->size, &dparams->addr); + + return (rc); +} + +static int cfg_itype_and_nqueues(struct adapter *sc, int n10g, int n1g, int num_vis, struct intrs_and_queues *iaq) { @@ -3052,8 +3067,6 @@ get_params__pre_init(struct adapter *sc) { int rc; uint32_t param[2], val[2]; - struct fw_devlog_cmd cmd; - struct devlog_params *dlog = &sc->params.devlog; param[0] = FW_PARAM_DEV(PORTVEC); param[1] = FW_PARAM_DEV(CCLK); @@ -3069,21 +3082,13 @@ get_params__pre_init(struct adapter *sc) sc->params.vpd.cclk = val[1]; /* Read device log parameters. */ - bzero(&cmd, sizeof(cmd)); - cmd.op_to_write = htobe32(V_FW_CMD_OP(FW_DEVLOG_CMD) | - F_FW_CMD_REQUEST | F_FW_CMD_READ); - cmd.retval_len16 = htobe32(FW_LEN16(cmd)); - rc = -t4_wr_mbox(sc, sc->mbox, &cmd, sizeof(cmd), &cmd); - if (rc != 0) { + rc = -t4_init_devlog_params(sc, 1); + if (rc == 0) + fixup_devlog_params(sc); + else { device_printf(sc->dev, "failed to get devlog parameters: %d.\n", rc); - bzero(dlog, sizeof (*dlog)); rc = 0; /* devlog isn't critical for device operation */ - } else { - val[0] = be32toh(cmd.memtype_devlog_memaddr16_devlog); - dlog->memtype = G_FW_DEVLOG_CMD_MEMTYPE_DEVLOG(val[0]); - dlog->start = G_FW_DEVLOG_CMD_MEMADDR16_DEVLOG(val[0]) << 4; - dlog->size = be32toh(cmd.memsize_devlog); } return (rc); @@ -5875,7 +5880,7 @@ sysctl_ddp_stats(SYSCTL_HANDLER_ARGS) return (rc); } -const char *devlog_level_strings[] = { +static const char * const devlog_level_strings[] = { [FW_DEVLOG_LEVEL_EMERG] = "EMERG", [FW_DEVLOG_LEVEL_CRIT] = "CRIT", [FW_DEVLOG_LEVEL_ERR] = "ERR", @@ -5884,7 +5889,7 @@ const char *devlog_level_strings[] = { [FW_DEVLOG_LEVEL_DEBUG] = "DEBUG" }; -const char *devlog_facility_strings[] = { +static const char * const devlog_facility_strings[] = { [FW_DEVLOG_FACILITY_CORE] = "CORE", [FW_DEVLOG_FACILITY_CF] = "CF", [FW_DEVLOG_FACILITY_SCHED] = "SCHED", @@ -5908,7 +5913,8 @@ const char *devlog_facility_strings[] = [FW_DEVLOG_FACILITY_ISCSI] = "ISCSI", [FW_DEVLOG_FACILITY_FCOE] = "FCOE", [FW_DEVLOG_FACILITY_FOISCSI] = "FOISCSI", - [FW_DEVLOG_FACILITY_FOFCOE] = "FOFCOE" + [FW_DEVLOG_FACILITY_FOFCOE] = "FOFCOE", + [FW_DEVLOG_FACILITY_CHNET] = "CHNET", }; static int @@ -5917,27 +5923,22 @@ sysctl_devlog(SYSCTL_HANDLER_ARGS) struct adapter *sc = arg1; struct devlog_params *dparams = &sc->params.devlog; struct fw_devlog_e *buf, *e; - int i, j, rc, nentries, first = 0, m; + int i, j, rc, nentries, first = 0; struct sbuf *sb; uint64_t ftstamp = UINT64_MAX; - if (dparams->start == 0) { - dparams->memtype = FW_MEMTYPE_EDC0; - dparams->start = 0x84000; - dparams->size = 32768; - } - - nentries = dparams->size / sizeof(struct fw_devlog_e); + if (dparams->addr == 0) + return (ENXIO); buf = malloc(dparams->size, M_CXGBE, M_NOWAIT); if (buf == NULL) return (ENOMEM); - m = fwmtype_to_hwmtype(dparams->memtype); - rc = -t4_mem_read(sc, m, dparams->start, dparams->size, (void *)buf); + rc = read_via_memwin(sc, 1, dparams->addr, (void *)buf, dparams->size); if (rc != 0) goto done; + nentries = dparams->size / sizeof(struct fw_devlog_e); for (i = 0; i < nentries; i++) { e = &buf[i]; From owner-svn-src-all@freebsd.org Thu Mar 10 23:19:36 2016 Return-Path: Delivered-To: svn-src-all@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 709B8ACB07D; Thu, 10 Mar 2016 23:19:36 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 42C96B2C; Thu, 10 Mar 2016 23:19:36 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2ANJZTf046977; Thu, 10 Mar 2016 23:19:35 GMT (envelope-from sobomax@FreeBSD.org) Received: (from sobomax@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2ANJZMb046976; Thu, 10 Mar 2016 23:19:35 GMT (envelope-from sobomax@FreeBSD.org) Message-Id: <201603102319.u2ANJZMb046976@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sobomax set sender to sobomax@FreeBSD.org using -f From: Maxim Sobolev Date: Thu, 10 Mar 2016 23:19:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296628 - head/usr.bin/mkuzip X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 23:19:36 -0000 Author: sobomax Date: Thu Mar 10 23:19:35 2016 New Revision: 296628 URL: https://svnweb.freebsd.org/changeset/base/296628 Log: When -S is specified dump summary to stdout, not stderr, so it's easier to capture and process it with external tools via pipe. Modified: head/usr.bin/mkuzip/mkuzip.c Modified: head/usr.bin/mkuzip/mkuzip.c ============================================================================== --- head/usr.bin/mkuzip/mkuzip.c Thu Mar 10 23:17:26 2016 (r296627) +++ head/usr.bin/mkuzip/mkuzip.c Thu Mar 10 23:19:35 2016 (r296628) @@ -90,7 +90,10 @@ int main(int argc, char **argv) char *iname, *oname, *obuf, *ibuf; uint64_t *toc; int fdr, fdw, i, opt, verbose, no_zcomp, tmp, en_dedup; - int summary; + struct { + int en; + FILE *f; + } summary; struct iovec iov[2]; struct stat sb; uint32_t destlen; @@ -105,7 +108,8 @@ int main(int argc, char **argv) verbose = 0; no_zcomp = 0; en_dedup = 0; - summary = 0; + summary.en = 0; + summary.f = stderr; handler = &uzip_fmt; while((opt = getopt(argc, argv, "o:s:vZdLS")) != -1) { @@ -141,7 +145,8 @@ int main(int argc, char **argv) break; case 'S': - summary = 1; + summary.en = 1; + summary.f = stdout; break; default: @@ -300,8 +305,8 @@ int main(int argc, char **argv) } close(fdr); - if (verbose != 0 || summary != 0) - fprintf(stderr, "compressed data to %ju bytes, saved %lld " + if (verbose != 0 || summary.en != 0) + fprintf(summary.f, "compressed data to %ju bytes, saved %lld " "bytes, %.2f%% decrease.\n", offset, (long long)(sb.st_size - offset), 100.0 * (long long)(sb.st_size - offset) / From owner-svn-src-all@freebsd.org Thu Mar 10 23:37:17 2016 Return-Path: Delivered-To: svn-src-all@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 C49C0ACB662; Thu, 10 Mar 2016 23:37:17 +0000 (UTC) (envelope-from smh@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 87A992A9; Thu, 10 Mar 2016 23:37:17 +0000 (UTC) (envelope-from smh@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2ANbGK6052809; Thu, 10 Mar 2016 23:37:16 GMT (envelope-from smh@FreeBSD.org) Received: (from smh@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2ANbGwh052807; Thu, 10 Mar 2016 23:37:16 GMT (envelope-from smh@FreeBSD.org) Message-Id: <201603102337.u2ANbGwh052807@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: smh set sender to smh@FreeBSD.org using -f From: Steven Hartland Date: Thu, 10 Mar 2016 23:37:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296629 - stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 23:37:18 -0000 Author: smh Date: Thu Mar 10 23:37:16 2016 New Revision: 296629 URL: https://svnweb.freebsd.org/changeset/base/296629 Log: MFC r296610: ZFS send fails to transmit some holes PR: 207714 Approved by: re (gjb) Sponsored by: Multiplay Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c ============================================================================== --- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c Thu Mar 10 23:19:35 2016 (r296628) +++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c Thu Mar 10 23:37:16 2016 (r296629) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2013, 2014 by Delphix. All rights reserved. + * Copyright (c) 2013, 2015 by Delphix. All rights reserved. * Copyright 2014 HybridCluster. All rights reserved. */ @@ -50,6 +50,12 @@ dmu_object_alloc(objset_t *os, dmu_objec * reasonably sparse (at most 1/4 full). Look from the * beginning once, but after that keep looking from here. * If we can't find one, just keep going from here. + * + * Note that dmu_traverse depends on the behavior that we use + * multiple blocks of the dnode object before going back to + * reuse objects. Any change to this algorithm should preserve + * that property or find another solution to the issues + * described in traverse_visitbp. */ if (P2PHASE(object, L2_dnode_count) == 0) { uint64_t offset = restarted ? object << DNODE_SHIFT : 0; Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c ============================================================================== --- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Thu Mar 10 23:19:35 2016 (r296628) +++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Thu Mar 10 23:37:16 2016 (r296629) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2012, 2016 by Delphix. All rights reserved. * Copyright (c) 2015 Chunwei Chen. All rights reserved. */ @@ -63,6 +63,7 @@ typedef struct traverse_data { uint64_t td_hole_birth_enabled_txg; blkptr_cb_t *td_func; void *td_arg; + boolean_t td_realloc_possible; } traverse_data_t; static int traverse_dnode(traverse_data_t *td, const dnode_phys_t *dnp, @@ -232,18 +233,30 @@ traverse_visitbp(traverse_data_t *td, co if (bp->blk_birth == 0) { /* - * Since this block has a birth time of 0 it must be a - * hole created before the SPA_FEATURE_HOLE_BIRTH - * feature was enabled. If SPA_FEATURE_HOLE_BIRTH - * was enabled before the min_txg for this traveral we - * know the hole must have been created before the - * min_txg for this traveral, so we can skip it. If - * SPA_FEATURE_HOLE_BIRTH was enabled after the min_txg - * for this traveral we cannot tell if the hole was - * created before or after the min_txg for this - * traversal, so we cannot skip it. + * Since this block has a birth time of 0 it must be one of + * two things: a hole created before the + * SPA_FEATURE_HOLE_BIRTH feature was enabled, or a hole + * which has always been a hole in an object. + * + * If a file is written sparsely, then the unwritten parts of + * the file were "always holes" -- that is, they have been + * holes since this object was allocated. However, we (and + * our callers) can not necessarily tell when an object was + * allocated. Therefore, if it's possible that this object + * was freed and then its object number reused, we need to + * visit all the holes with birth==0. + * + * If it isn't possible that the object number was reused, + * then if SPA_FEATURE_HOLE_BIRTH was enabled before we wrote + * all the blocks we will visit as part of this traversal, + * then this hole must have always existed, so we can skip + * it. We visit blocks born after (exclusive) td_min_txg. + * + * Note that the meta-dnode cannot be reallocated. */ - if (td->td_hole_birth_enabled_txg < td->td_min_txg) + if ((!td->td_realloc_possible || + zb->zb_object == DMU_META_DNODE_OBJECT) && + td->td_hole_birth_enabled_txg <= td->td_min_txg) return (0); } else if (bp->blk_birth <= td->td_min_txg) { return (0); @@ -338,6 +351,15 @@ traverse_visitbp(traverse_data_t *td, co objset_phys_t *osp = buf->b_data; prefetch_dnode_metadata(td, &osp->os_meta_dnode, zb->zb_objset, DMU_META_DNODE_OBJECT); + /* + * See the block comment above for the goal of this variable. + * If the maxblkid of the meta-dnode is 0, then we know that + * we've never had more than DNODES_PER_BLOCK objects in the + * dataset, which means we can't have reused any object ids. + */ + if (osp->os_meta_dnode.dn_maxblkid == 0) + td->td_realloc_possible = B_FALSE; + if (arc_buf_size(buf) >= sizeof (objset_phys_t)) { prefetch_dnode_metadata(td, &osp->os_groupused_dnode, zb->zb_objset, DMU_GROUPUSED_OBJECT); @@ -544,12 +566,13 @@ traverse_impl(spa_t *spa, dsl_dataset_t td.td_pfd = &pd; td.td_flags = flags; td.td_paused = B_FALSE; + td.td_realloc_possible = (txg_start == 0 ? B_FALSE : B_TRUE); if (spa_feature_is_active(spa, SPA_FEATURE_HOLE_BIRTH)) { VERIFY(spa_feature_enabled_txg(spa, SPA_FEATURE_HOLE_BIRTH, &td.td_hole_birth_enabled_txg)); } else { - td.td_hole_birth_enabled_txg = 0; + td.td_hole_birth_enabled_txg = UINT64_MAX; } pd.pd_flags = flags; From owner-svn-src-all@freebsd.org Thu Mar 10 23:37:36 2016 Return-Path: Delivered-To: svn-src-all@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 C61EBACB6D0; Thu, 10 Mar 2016 23:37:36 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 986C86DD; Thu, 10 Mar 2016 23:37:36 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2ANbZeH052877; Thu, 10 Mar 2016 23:37:35 GMT (envelope-from marius@FreeBSD.org) Received: (from marius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2ANbZJG052876; Thu, 10 Mar 2016 23:37:35 GMT (envelope-from marius@FreeBSD.org) Message-Id: <201603102337.u2ANbZJG052876@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: marius set sender to marius@FreeBSD.org using -f From: Marius Strobl Date: Thu, 10 Mar 2016 23:37:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r296630 - releng/10.3/release/pkg_repos X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 23:37:36 -0000 Author: marius Date: Thu Mar 10 23:37:35 2016 New Revision: 296630 URL: https://svnweb.freebsd.org/changeset/base/296630 Log: Switch the pkg(8) repository to use the 10.3 release package set for consistent DVD image creation. This is a direct commit to releng/10.3. Submitted by: gjb Approved by: re (implicit) Modified: releng/10.3/release/pkg_repos/release-dvd.conf Modified: releng/10.3/release/pkg_repos/release-dvd.conf ============================================================================== --- releng/10.3/release/pkg_repos/release-dvd.conf Thu Mar 10 23:37:16 2016 (r296629) +++ releng/10.3/release/pkg_repos/release-dvd.conf Thu Mar 10 23:37:35 2016 (r296630) @@ -1,6 +1,6 @@ # $FreeBSD$ release: { - url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly", + url: "pkg+http://pkg.FreeBSD.org/${ABI}/release_3", mirror_type: "srv", signature_type: "fingerprints", fingerprints: "/usr/share/keys/pkg", From owner-svn-src-all@freebsd.org Thu Mar 10 23:45:24 2016 Return-Path: Delivered-To: svn-src-all@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 CD8ABACBA41; Thu, 10 Mar 2016 23:45:24 +0000 (UTC) (envelope-from smh@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 8FC58C7B; Thu, 10 Mar 2016 23:45:24 +0000 (UTC) (envelope-from smh@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2ANjNIa055980; Thu, 10 Mar 2016 23:45:23 GMT (envelope-from smh@FreeBSD.org) Received: (from smh@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2ANjNxX055978; Thu, 10 Mar 2016 23:45:23 GMT (envelope-from smh@FreeBSD.org) Message-Id: <201603102345.u2ANjNxX055978@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: smh set sender to smh@FreeBSD.org using -f From: Steven Hartland Date: Thu, 10 Mar 2016 23:45:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r296631 - releng/10.3/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 23:45:25 -0000 Author: smh Date: Thu Mar 10 23:45:23 2016 New Revision: 296631 URL: https://svnweb.freebsd.org/changeset/base/296631 Log: MFS r296629: ZFS send fails to transmit some holes PR: 207714 Approved by: re (gjb) Sponsored by: Multiplay Modified: releng/10.3/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c releng/10.3/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Directory Properties: releng/10.3/ (props changed) Modified: releng/10.3/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c ============================================================================== --- releng/10.3/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c Thu Mar 10 23:37:35 2016 (r296630) +++ releng/10.3/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c Thu Mar 10 23:45:23 2016 (r296631) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2013, 2014 by Delphix. All rights reserved. + * Copyright (c) 2013, 2015 by Delphix. All rights reserved. * Copyright 2014 HybridCluster. All rights reserved. */ @@ -50,6 +50,12 @@ dmu_object_alloc(objset_t *os, dmu_objec * reasonably sparse (at most 1/4 full). Look from the * beginning once, but after that keep looking from here. * If we can't find one, just keep going from here. + * + * Note that dmu_traverse depends on the behavior that we use + * multiple blocks of the dnode object before going back to + * reuse objects. Any change to this algorithm should preserve + * that property or find another solution to the issues + * described in traverse_visitbp. */ if (P2PHASE(object, L2_dnode_count) == 0) { uint64_t offset = restarted ? object << DNODE_SHIFT : 0; Modified: releng/10.3/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c ============================================================================== --- releng/10.3/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Thu Mar 10 23:37:35 2016 (r296630) +++ releng/10.3/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Thu Mar 10 23:45:23 2016 (r296631) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2014 by Delphix. All rights reserved. + * Copyright (c) 2012, 2016 by Delphix. All rights reserved. * Copyright (c) 2015 Chunwei Chen. All rights reserved. */ @@ -63,6 +63,7 @@ typedef struct traverse_data { uint64_t td_hole_birth_enabled_txg; blkptr_cb_t *td_func; void *td_arg; + boolean_t td_realloc_possible; } traverse_data_t; static int traverse_dnode(traverse_data_t *td, const dnode_phys_t *dnp, @@ -232,18 +233,30 @@ traverse_visitbp(traverse_data_t *td, co if (bp->blk_birth == 0) { /* - * Since this block has a birth time of 0 it must be a - * hole created before the SPA_FEATURE_HOLE_BIRTH - * feature was enabled. If SPA_FEATURE_HOLE_BIRTH - * was enabled before the min_txg for this traveral we - * know the hole must have been created before the - * min_txg for this traveral, so we can skip it. If - * SPA_FEATURE_HOLE_BIRTH was enabled after the min_txg - * for this traveral we cannot tell if the hole was - * created before or after the min_txg for this - * traversal, so we cannot skip it. + * Since this block has a birth time of 0 it must be one of + * two things: a hole created before the + * SPA_FEATURE_HOLE_BIRTH feature was enabled, or a hole + * which has always been a hole in an object. + * + * If a file is written sparsely, then the unwritten parts of + * the file were "always holes" -- that is, they have been + * holes since this object was allocated. However, we (and + * our callers) can not necessarily tell when an object was + * allocated. Therefore, if it's possible that this object + * was freed and then its object number reused, we need to + * visit all the holes with birth==0. + * + * If it isn't possible that the object number was reused, + * then if SPA_FEATURE_HOLE_BIRTH was enabled before we wrote + * all the blocks we will visit as part of this traversal, + * then this hole must have always existed, so we can skip + * it. We visit blocks born after (exclusive) td_min_txg. + * + * Note that the meta-dnode cannot be reallocated. */ - if (td->td_hole_birth_enabled_txg < td->td_min_txg) + if ((!td->td_realloc_possible || + zb->zb_object == DMU_META_DNODE_OBJECT) && + td->td_hole_birth_enabled_txg <= td->td_min_txg) return (0); } else if (bp->blk_birth <= td->td_min_txg) { return (0); @@ -338,6 +351,15 @@ traverse_visitbp(traverse_data_t *td, co objset_phys_t *osp = buf->b_data; prefetch_dnode_metadata(td, &osp->os_meta_dnode, zb->zb_objset, DMU_META_DNODE_OBJECT); + /* + * See the block comment above for the goal of this variable. + * If the maxblkid of the meta-dnode is 0, then we know that + * we've never had more than DNODES_PER_BLOCK objects in the + * dataset, which means we can't have reused any object ids. + */ + if (osp->os_meta_dnode.dn_maxblkid == 0) + td->td_realloc_possible = B_FALSE; + if (arc_buf_size(buf) >= sizeof (objset_phys_t)) { prefetch_dnode_metadata(td, &osp->os_groupused_dnode, zb->zb_objset, DMU_GROUPUSED_OBJECT); @@ -544,12 +566,13 @@ traverse_impl(spa_t *spa, dsl_dataset_t td.td_pfd = &pd; td.td_flags = flags; td.td_paused = B_FALSE; + td.td_realloc_possible = (txg_start == 0 ? B_FALSE : B_TRUE); if (spa_feature_is_active(spa, SPA_FEATURE_HOLE_BIRTH)) { VERIFY(spa_feature_enabled_txg(spa, SPA_FEATURE_HOLE_BIRTH, &td.td_hole_birth_enabled_txg)); } else { - td.td_hole_birth_enabled_txg = 0; + td.td_hole_birth_enabled_txg = UINT64_MAX; } pd.pd_flags = flags; From owner-svn-src-all@freebsd.org Fri Mar 11 00:06:19 2016 Return-Path: Delivered-To: svn-src-all@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 AF182ACC408; Fri, 11 Mar 2016 00:06:19 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 822D39D8; Fri, 11 Mar 2016 00:06:19 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B06ItV062183; Fri, 11 Mar 2016 00:06:18 GMT (envelope-from marius@FreeBSD.org) Received: (from marius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B06IMF062182; Fri, 11 Mar 2016 00:06:18 GMT (envelope-from marius@FreeBSD.org) Message-Id: <201603110006.u2B06IMF062182@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: marius set sender to marius@FreeBSD.org using -f From: Marius Strobl Date: Fri, 11 Mar 2016 00:06:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r296632 - releng/10.3/sys/conf X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 00:06:19 -0000 Author: marius Date: Fri Mar 11 00:06:18 2016 New Revision: 296632 URL: https://svnweb.freebsd.org/changeset/base/296632 Log: Update releng/10.3 to RC2 in preparation for 10.3-RC2 builds. Approved by: re (implicit) Modified: releng/10.3/sys/conf/newvers.sh Modified: releng/10.3/sys/conf/newvers.sh ============================================================================== --- releng/10.3/sys/conf/newvers.sh Thu Mar 10 23:45:23 2016 (r296631) +++ releng/10.3/sys/conf/newvers.sh Fri Mar 11 00:06:18 2016 (r296632) @@ -32,7 +32,7 @@ TYPE="FreeBSD" REVISION="10.3" -BRANCH="RC1" +BRANCH="RC2" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} fi From owner-svn-src-all@freebsd.org Fri Mar 11 00:15:31 2016 Return-Path: Delivered-To: svn-src-all@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 0F5D8ACC67D; Fri, 11 Mar 2016 00:15:31 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 9517FEE6; Fri, 11 Mar 2016 00:15:30 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B0FTWY065138; Fri, 11 Mar 2016 00:15:29 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B0FT5v065136; Fri, 11 Mar 2016 00:15:29 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603110015.u2B0FT5v065136@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Fri, 11 Mar 2016 00:15:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296633 - in head: crypto/openssh crypto/openssh/contrib crypto/openssh/contrib/redhat crypto/openssh/contrib/suse crypto/openssh/openbsd-compat crypto/openssh/regress crypto/openssh/re... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 00:15:31 -0000 Author: des Date: Fri Mar 11 00:15:29 2016 New Revision: 296633 URL: https://svnweb.freebsd.org/changeset/base/296633 Log: Upgrade to OpenSSH 7.2p2. Added: head/crypto/openssh/platform-pledge.c - copied unchanged from r296619, vendor-crypto/openssh/dist/platform-pledge.c head/crypto/openssh/regress/cert-file.sh - copied unchanged from r296619, vendor-crypto/openssh/dist/regress/cert-file.sh head/crypto/openssh/regress/check-perm.c - copied unchanged from r296619, vendor-crypto/openssh/dist/regress/check-perm.c head/crypto/openssh/sandbox-pledge.c - copied unchanged from r296619, vendor-crypto/openssh/dist/sandbox-pledge.c head/crypto/openssh/sandbox-solaris.c - copied unchanged from r296619, vendor-crypto/openssh/dist/sandbox-solaris.c Deleted: head/crypto/openssh/roaming_client.c head/crypto/openssh/roaming_common.c head/crypto/openssh/roaming_dummy.c head/crypto/openssh/roaming_serv.c Modified: head/crypto/openssh/ChangeLog head/crypto/openssh/Makefile.in head/crypto/openssh/README head/crypto/openssh/README.platform head/crypto/openssh/auth-bsdauth.c head/crypto/openssh/auth-krb5.c head/crypto/openssh/auth-options.c head/crypto/openssh/auth-pam.c head/crypto/openssh/auth.h head/crypto/openssh/auth2-pubkey.c head/crypto/openssh/authfd.c head/crypto/openssh/authfd.h head/crypto/openssh/authfile.c head/crypto/openssh/channels.c head/crypto/openssh/cipher.c head/crypto/openssh/clientloop.c head/crypto/openssh/clientloop.h head/crypto/openssh/config.h head/crypto/openssh/configure.ac head/crypto/openssh/contrib/redhat/openssh.spec head/crypto/openssh/contrib/ssh-copy-id head/crypto/openssh/contrib/ssh-copy-id.1 head/crypto/openssh/contrib/suse/openssh.spec head/crypto/openssh/defines.h head/crypto/openssh/dh.h head/crypto/openssh/includes.h head/crypto/openssh/kex.c head/crypto/openssh/kex.h head/crypto/openssh/kexc25519s.c head/crypto/openssh/kexdhs.c head/crypto/openssh/kexecdhs.c head/crypto/openssh/kexgexs.c head/crypto/openssh/key.c head/crypto/openssh/key.h head/crypto/openssh/krl.c head/crypto/openssh/krl.h head/crypto/openssh/loginrec.c head/crypto/openssh/misc.c head/crypto/openssh/monitor.c head/crypto/openssh/monitor_wrap.c head/crypto/openssh/monitor_wrap.h head/crypto/openssh/mux.c head/crypto/openssh/myproposal.h head/crypto/openssh/opacket.c head/crypto/openssh/opacket.h head/crypto/openssh/openbsd-compat/bsd-misc.c head/crypto/openssh/openbsd-compat/bsd-misc.h head/crypto/openssh/openbsd-compat/bsd-poll.h head/crypto/openssh/openbsd-compat/glob.c head/crypto/openssh/openbsd-compat/glob.h head/crypto/openssh/openbsd-compat/openbsd-compat.h head/crypto/openssh/openbsd-compat/port-solaris.c head/crypto/openssh/openbsd-compat/port-solaris.h head/crypto/openssh/openbsd-compat/realpath.c head/crypto/openssh/packet.c head/crypto/openssh/packet.h head/crypto/openssh/platform.h head/crypto/openssh/readconf.c head/crypto/openssh/readconf.h head/crypto/openssh/readpass.c head/crypto/openssh/regress/Makefile head/crypto/openssh/regress/agent-ptrace.sh head/crypto/openssh/regress/dhgex.sh head/crypto/openssh/regress/hostkey-rotate.sh head/crypto/openssh/regress/keys-command.sh head/crypto/openssh/regress/keyscan.sh head/crypto/openssh/regress/limit-keytype.sh head/crypto/openssh/regress/principals-command.sh head/crypto/openssh/regress/proxy-connect.sh head/crypto/openssh/regress/rekey.sh head/crypto/openssh/regress/setuid-allowed.c head/crypto/openssh/regress/sftp-chroot.sh head/crypto/openssh/regress/unittests/sshkey/test_file.c head/crypto/openssh/regress/unittests/sshkey/test_fuzz.c head/crypto/openssh/regress/unittests/sshkey/test_sshkey.c head/crypto/openssh/roaming.h head/crypto/openssh/sandbox-seccomp-filter.c head/crypto/openssh/sandbox-systrace.c head/crypto/openssh/scp.1 head/crypto/openssh/scp.c head/crypto/openssh/servconf.c head/crypto/openssh/serverloop.c head/crypto/openssh/session.c head/crypto/openssh/sftp-client.c head/crypto/openssh/sftp-client.h head/crypto/openssh/sftp-server-main.c head/crypto/openssh/sftp-server.c head/crypto/openssh/sftp.1 head/crypto/openssh/sftp.c head/crypto/openssh/ssh-add.c head/crypto/openssh/ssh-agent.1 head/crypto/openssh/ssh-agent.c head/crypto/openssh/ssh-dss.c head/crypto/openssh/ssh-ecdsa.c head/crypto/openssh/ssh-keygen.1 head/crypto/openssh/ssh-keygen.c head/crypto/openssh/ssh-keyscan.1 head/crypto/openssh/ssh-keyscan.c head/crypto/openssh/ssh-keysign.8 head/crypto/openssh/ssh-keysign.c head/crypto/openssh/ssh-pkcs11-client.c head/crypto/openssh/ssh-pkcs11-helper.c head/crypto/openssh/ssh-pkcs11.c head/crypto/openssh/ssh-rsa.c head/crypto/openssh/ssh.1 head/crypto/openssh/ssh.c head/crypto/openssh/ssh.h head/crypto/openssh/ssh2.h head/crypto/openssh/ssh_api.c head/crypto/openssh/ssh_config head/crypto/openssh/ssh_config.5 head/crypto/openssh/ssh_namespace.h head/crypto/openssh/sshbuf-getput-basic.c head/crypto/openssh/sshbuf.c head/crypto/openssh/sshbuf.h head/crypto/openssh/sshconnect.c head/crypto/openssh/sshconnect.h head/crypto/openssh/sshconnect1.c head/crypto/openssh/sshconnect2.c head/crypto/openssh/sshd.8 head/crypto/openssh/sshd.c head/crypto/openssh/sshd_config head/crypto/openssh/sshd_config.5 head/crypto/openssh/ssherr.c head/crypto/openssh/sshkey.c head/crypto/openssh/sshkey.h head/crypto/openssh/sshlogin.c head/crypto/openssh/uidswap.c head/crypto/openssh/version.h head/crypto/openssh/xmalloc.c head/crypto/openssh/xmalloc.h head/lib/libpam/modules/pam_ssh/Makefile head/secure/lib/libssh/Makefile head/secure/libexec/sftp-server/Makefile head/secure/libexec/ssh-keysign/Makefile head/secure/libexec/ssh-pkcs11-helper/Makefile head/secure/usr.bin/scp/Makefile head/secure/usr.bin/sftp/Makefile head/secure/usr.bin/ssh-add/Makefile head/secure/usr.bin/ssh-agent/Makefile head/secure/usr.bin/ssh-keygen/Makefile head/secure/usr.bin/ssh-keyscan/Makefile head/secure/usr.bin/ssh/Makefile head/secure/usr.sbin/sshd/Makefile Directory Properties: head/crypto/openssh/ (props changed) Modified: head/crypto/openssh/ChangeLog ============================================================================== --- head/crypto/openssh/ChangeLog Fri Mar 11 00:06:18 2016 (r296632) +++ head/crypto/openssh/ChangeLog Fri Mar 11 00:15:29 2016 (r296633) @@ -1,7615 +1,8905 @@ -commit c88ac102f0eb89f2eaa314cb2e2e0ca3c890c443 +commit 5c35450a0c901d9375fb23343a8dc82397da5f75 Author: Damien Miller -Date: Thu Jan 14 11:08:19 2016 +1100 +Date: Thu Mar 10 05:04:48 2016 +1100 - bump version numbers + update versions for release -commit 302bc21e6fadacb04b665868cd69b625ef69df90 +commit 9d47b8d3f50c3a6282896df8274147e3b9a38c56 Author: Damien Miller -Date: Thu Jan 14 11:04:04 2016 +1100 +Date: Thu Mar 10 05:03:39 2016 +1100 - openssh-7.1p2 + sanitise characters destined for xauth(1) + + reported by github.com/tintinweb -commit 6b33763242c063e4e0593877e835eeb1fd1b60aa -Author: Damien Miller -Date: Thu Jan 14 11:02:58 2016 +1100 +commit 72b061d4ba0f909501c595d709ea76e06b01e5c9 +Author: Darren Tucker +Date: Fri Feb 26 14:40:04 2016 +1100 - forcibly disable roaming support in the client + Add a note about using xlc on AIX. -commit 34d364f0d2e1e30a444009f0e04299bb7c94ba13 -Author: djm@openbsd.org -Date: Mon Oct 5 17:11:21 2015 +0000 +commit fd4e4f2416baa2e6565ea49d52aade296bad3e28 +Author: Darren Tucker +Date: Wed Feb 24 10:44:25 2016 +1100 - upstream commit + Skip PrintLastLog in config dump mode. - some more bzero->explicit_bzero, from Michael McConville - - Upstream-ID: 17f19545685c33327db2efdc357c1c9225ff00d0 + When DISABLE_LASTLOG is set, do not try to include PrintLastLog in the + config dump since it'll be reported as UNKNOWN. -commit 8f5b93026797b9f7fba90d0c717570421ccebbd3 -Author: guenther@openbsd.org -Date: Fri Sep 11 08:50:04 2015 +0000 +commit 99135c764fa250801da5ec3b8d06cbd0111caae8 +Author: Damien Miller +Date: Tue Feb 23 20:17:23 2016 +1100 + + update spec/README versions ahead of release + +commit b86a334aaaa4d1e643eb1fd71f718573d6d948b5 +Author: Damien Miller +Date: Tue Feb 23 20:16:53 2016 +1100 + + put back portable patchlevel to p1 + +commit 555dd35ff176847e3c6bd068ba2e8db4022eb24f +Author: djm@openbsd.org +Date: Tue Feb 23 09:14:34 2016 +0000 upstream commit - Use explicit_bzero() when zeroing before free() - - from Michael McConville (mmcconv1 (at) sccs.swarthmore.edu) - ok millert@ djm@ + openssh-7.2 - Upstream-ID: 2e3337db046c3fe70c7369ee31515ac73ec00f50 + Upstream-ID: 9db776b26014147fc907ece8460ef2bcb0f11e78 -commit d77148e3a3ef6c29b26ec74331455394581aa257 -Author: djm@openbsd.org -Date: Sun Nov 8 21:59:11 2015 +0000 +commit 1acc058d0a7913838c830ed998a1a1fb5b7864bf +Author: Damien Miller +Date: Tue Feb 23 16:12:13 2016 +1100 - upstream commit + Disable tests where fs perms are incorrect - fix OOB read in packet code caused by missing return - statement found by Ben Hawkes; ok markus@ deraadt@ + Some tests have strict requirements on the filesystem permissions + for certain files and directories. This adds a regress/check-perm + tool that copies the relevant logic from sshd to exactly test + the paths in question. This lets us skip tests when the local + filesystem doesn't conform to our expectations rather than + continuing and failing the test run. - Upstream-ID: a3e3a85434ebfa0690d4879091959591f30efc62 + ok dtucker@ -commit 076d849e17ab12603627f87b301e2dca71bae518 +commit 39f303b1f36d934d8410b05625f25c7bcb75db4d Author: Damien Miller -Date: Sat Nov 14 18:44:49 2015 +1100 +Date: Tue Feb 23 12:56:59 2016 +1100 - read back from libcrypto RAND when privdropping + fix sandbox on OSX Lion - makes certain libcrypto implementations cache a /dev/urandom fd - in preparation of sandboxing. Based on patch by Greg Hartman. + sshd was failing with: + + ssh_sandbox_child: sandbox_init: dlopen(/usr/lib/libsandbox.1.dylib, 261):cw + image not found [preauth] + + caused by chroot before sandboxing. Avoid by explicitly linking libsandbox + to sshd. Spotted by Darren. -commit f72adc0150011a28f177617a8456e1f83733099d +commit 0d1451a32c7436e6d3d482351e776bc5e7824ce4 Author: djm@openbsd.org -Date: Sun Dec 13 22:42:23 2015 +0000 +Date: Tue Feb 23 01:34:14 2016 +0000 upstream commit - unbreak connections with peers that set - first_kex_follows; fix from Matt Johnston va bz#2515 + fix spurious error message when incorrect passphrase + entered for keys; reported by espie@ ok deraadt@ - Upstream-ID: decc88ec4fc7515594fdb42b04aa03189a44184b + Upstream-ID: 58b2e46e63ed6912ed1ee780bd3bd8560f9a5899 -commit 04bd8d019ccd906cac1a2b362517b8505f3759e6 -Author: djm@openbsd.org -Date: Tue Jan 12 23:42:54 2016 +0000 +commit 09d87d79741beb85768b5e788d7dfdf4bc3543dc +Author: sobrado@openbsd.org +Date: Sat Feb 20 23:06:23 2016 +0000 upstream commit - use explicit_bzero() more liberally in the buffer code; ok - deraadt + set ssh(1) protocol version to 2 only. - Upstream-ID: 0ece37069fd66bc6e4f55eb1321f93df372b65bf + ok djm@ + + Upstream-ID: e168daf9d27d7e392e3c9923826bd8e87b2b3a10 -commit e91346dc2bbf460246df2ab591b7613908c1b0ad -Author: Damien Miller -Date: Fri Aug 21 14:49:03 2015 +1000 +commit 9262e07826ba5eebf8423f7ac9e47ec488c47869 +Author: sobrado@openbsd.org +Date: Sat Feb 20 23:02:39 2016 +0000 - we don't use Github for issues/pull-requests + upstream commit + + add missing ~/.ssh/id_ecdsa and ~/.ssh/id_ed25519 to + IdentityFile. + + ok djm@ + + Upstream-ID: 6ce99466312e4ae7708017c3665e3edb976f70cf -commit a4f5b507c708cc3dc2c8dd2d02e4416d7514dc23 -Author: Damien Miller -Date: Fri Aug 21 14:43:55 2015 +1000 +commit c12f0fdce8f985fca8d71829fd64c5b89dc777f5 +Author: sobrado@openbsd.org +Date: Sat Feb 20 23:01:46 2016 +0000 - fix URL for connect.c + upstream commit + + AddressFamily defaults to any. + + ok djm@ + + Upstream-ID: 0d94aa06a4b889bf57a7f631c45ba36d24c13e0c -commit d026a8d3da0f8186598442997c7d0a28e7275414 -Author: Damien Miller -Date: Fri Aug 21 13:47:10 2015 +1000 +commit 907091acb188b1057d50c2158f74c3ecf1c2302b +Author: Darren Tucker +Date: Fri Feb 19 09:05:39 2016 +1100 - update version numbers for 7.1 + Make Solaris privs code build on older systems. + + Not all systems with Solaris privs have priv_basicset so factor that + out and provide backward compatibility code. Similarly, not all have + PRIV_NET_ACCESS so wrap that in #ifdef. Based on code from + alex at cooperi.net and djm@ with help from carson at taltos.org and + wieland at purdue.edu. -commit 78f8f589f0ca1c9f41e5a9bae3cda5ce8a6b42ed +commit 292a8dee14e5e67dcd1b49ba5c7b9023e8420d59 Author: djm@openbsd.org -Date: Fri Aug 21 03:45:26 2015 +0000 +Date: Wed Feb 17 22:20:14 2016 +0000 upstream commit - openssh-7.1 + rekey refactor broke SSH1; spotted by Tom G. Christensen - Upstream-ID: ff7b1ef4b06caddfb45e08ba998128c88be3d73f + Upstream-ID: 43f0d57928cc077c949af0bfa71ef574dcb58243 -commit 32a181980c62fce94f7f9ffaf6a79d90f0c309cf +commit 3a13cb543df9919aec2fc6b75f3dd3802facaeca Author: djm@openbsd.org -Date: Fri Aug 21 03:42:19 2015 +0000 +Date: Wed Feb 17 08:57:34 2016 +0000 upstream commit - fix inverted logic that broke PermitRootLogin; reported - by Mantas Mikulenas; ok markus@ + rsa-sha2-512,rsa-sha2-256 cannot be selected explicitly + in *KeyTypes options yet. Remove them from the lists of algorithms for now. + committing on behalf of markus@ ok djm@ - Upstream-ID: 260dd6a904c1bb7e43267e394b1c9cf70bdd5ea5 + Upstream-ID: c6e8820eb8e610ac21551832c0c89684a9a51bb7 -commit ce445b0ed927e45bd5bdce8f836eb353998dd65c -Author: deraadt@openbsd.org -Date: Thu Aug 20 22:32:42 2015 +0000 +commit a685ae8d1c24fb7c712c55a4f3280ee76f5f1e4b +Author: jmc@openbsd.org +Date: Wed Feb 17 07:38:19 2016 +0000 upstream commit - Do not cast result of malloc/calloc/realloc* if stdlib.h - is in scope ok krw millert - - Upstream-ID: 5e50ded78cadf3841556649a16cc4b1cb6c58667 - -commit 05291e5288704d1a98bacda269eb5a0153599146 -Author: naddy@openbsd.org -Date: Thu Aug 20 19:20:06 2015 +0000 - - upstream commit + since these pages now clearly tell folks to avoid v1, + normalise the docs from a v2 perspective (i.e. stop pointing out which bits + are v2 only); - In the certificates section, be consistent about using - "host_key" and "user_key" for the respective key types. ok sthen@ deraadt@ + ok/tweaks djm ok markus - Upstream-ID: 9e037ea3b15577b238604c5533e082a3947f13cb + Upstream-ID: eb474f8c36fb6a532dc05c282f7965e38dcfa129 -commit 8543d4ef6f2e9f98c3e6b77c894ceec30c5e4ae4 +commit c5c3f3279a0e4044b8de71b70d3570d692d0f29d Author: djm@openbsd.org -Date: Wed Aug 19 23:21:42 2015 +0000 +Date: Wed Feb 17 05:29:04 2016 +0000 upstream commit - Better compat matching for WinSCP, add compat matching - for FuTTY (fork of PuTTY); ok markus@ deraadt@ + make sandboxed privilege separation the default, not just + for new installs; "absolutely" deraadt@ - Upstream-ID: 24001d1ac115fa3260fbdc329a4b9aeb283c5389 + Upstream-ID: 5221ef3b927d2df044e9aa3f5db74ae91743f69b -commit ec6eda16ebab771aa3dfc90629b41953b999cb1e -Author: djm@openbsd.org -Date: Wed Aug 19 23:19:01 2015 +0000 +commit eb3f7337a651aa01d5dec019025e6cdc124ed081 +Author: jmc@openbsd.org +Date: Tue Feb 16 07:47:54 2016 +0000 upstream commit - fix double-free() in error path of DSA key generation - reported by Mateusz Kocielski; ok markus@ + no need to state that protocol 2 is the default twice; - Upstream-ID: 4735d8f888b10599a935fa1b374787089116713c + Upstream-ID: b1e4c36b0c2e12e338e5b66e2978f2ac953b95eb -commit 45b0eb752c94954a6de046bfaaf129e518ad4b5b +commit e7901efa9b24e5b0c7e74f2c5520d47eead4d005 Author: djm@openbsd.org -Date: Wed Aug 19 23:18:26 2015 +0000 +Date: Tue Feb 16 05:11:04 2016 +0000 upstream commit - fix free() of uninitialised pointer reported by Mateusz - Kocielski; ok markus@ + Replace list of ciphers and MACs adjacent to -1/-2 flag + descriptions in ssh(1) with a strong recommendation not to use protocol 1. + Add a similar warning to the Protocol option descriptions in ssh_config(5) + and sshd_config(5); - Upstream-ID: 519552b050618501a06b7b023de5cb104e2c5663 + prompted by and ok mmcc@ + + Upstream-ID: 961f99e5437d50e636feca023978950a232ead5e -commit c837643b93509a3ef538cb6624b678c5fe32ff79 +commit 5a0fcb77287342e2fc2ba1cee79b6af108973dc2 Author: djm@openbsd.org -Date: Wed Aug 19 23:17:51 2015 +0000 +Date: Tue Feb 16 03:37:48 2016 +0000 upstream commit - fixed unlink([uninitialised memory]) reported by Mateusz - Kocielski; ok markus@ + add a "Close session" log entry (at loglevel=verbose) to + correspond to the existing "Starting session" one. Also include the session + id number to make multiplexed sessions more apparent. - Upstream-ID: 14a0c4e7d891f5a8dabc4b89d4f6b7c0d5a20109 + feedback and ok dtucker@ + + Upstream-ID: e72d2ac080e02774376325136e532cb24c2e617c -commit 1f8d3d629cd553031021068eb9c646a5f1e50994 -Author: jmc@openbsd.org -Date: Fri Aug 14 15:32:41 2015 +0000 +commit 624fd395b559820705171f460dd33d67743d13d6 +Author: djm@openbsd.org +Date: Wed Feb 17 02:24:17 2016 +0000 upstream commit - match myproposal.h order; from brian conway (i snuck in a - tweak while here) - - ok dtucker + include bad $SSH_CONNECTION in failure output - Upstream-ID: 35174a19b5237ea36aa3798f042bf5933b772c67 + Upstream-Regress-ID: b22d72edfde78c403aaec2b9c9753ef633cc0529 -commit 1dc8d93ce69d6565747eb44446ed117187621b26 -Author: deraadt@openbsd.org -Date: Thu Aug 6 14:53:21 2015 +0000 +commit 60d860e54b4f199e5e89963b1c086981309753cb +Author: Darren Tucker +Date: Wed Feb 17 13:37:09 2016 +1100 - upstream commit - - add prohibit-password as a synonymn for without-password, - since the without-password is causing too many questions. Harden it to ban - all but pubkey, hostbased, and GSSAPI auth (when the latter is enabled) from - djm, ok markus + Rollback addition of va_start. - Upstream-ID: d53317d7b28942153e6236d3fd6e12ceb482db7a + va_start was added in 0f754e29dd3760fc0b172c1220f18b753fb0957e, however + it has the wrong number of args and it's not usable in non-variadic + functions anyway so it breaks things (for example Solaris 2.6 as + reported by Tom G. Christensen).i ok djm@ -commit 90a95a4745a531b62b81ce3b025e892bdc434de5 -Author: Damien Miller -Date: Tue Aug 11 13:53:41 2015 +1000 +commit 2fee909c3cee2472a98b26eb82696297b81e0d38 +Author: Darren Tucker +Date: Wed Feb 17 09:48:15 2016 +1100 - update version in README + Look for gethostbyname in libresolv and libnsl. + + Should fix build problem on Solaris 2.6 reported by Tom G. Christensen. -commit 318c37743534b58124f1bab37a8a0087a3a9bd2f +commit 5ac712d81a84396aab441a272ec429af5b738302 Author: Damien Miller -Date: Tue Aug 11 13:53:09 2015 +1000 +Date: Tue Feb 16 10:45:02 2016 +1100 - update versions in *.spec + make existing ssh_malloc_init only for __OpenBSD__ -commit 5e75f5198769056089fb06c4d738ab0e5abc66f7 -Author: Damien Miller -Date: Tue Aug 11 13:34:12 2015 +1000 +commit 24c9bded569d9f2449ded73f92fb6d12db7a9eec +Author: djm@openbsd.org +Date: Mon Feb 15 23:32:37 2016 +0000 - set sshpam_ctxt to NULL after free + upstream commit - Avoids use-after-free in monitor when privsep child is compromised. - Reported by Moritz Jodeit; ok dtucker@ - -commit d4697fe9a28dab7255c60433e4dd23cf7fce8a8b -Author: Damien Miller -Date: Tue Aug 11 13:33:24 2015 +1000 - - Don't resend username to PAM; it already has it. + memleak of algorithm name in mm_answer_sign; reported by + Jakub Jelen - Pointed out by Moritz Jodeit; ok dtucker@ + Upstream-ID: ccd742cd25952240ebd23d7d4d6b605862584d08 -commit 88763a6c893bf3dfe951ba9271bf09715e8d91ca -Author: Darren Tucker -Date: Mon Jul 27 12:14:25 2015 +1000 +commit ffb1e7e896139a42ceb78676f637658f44612411 +Author: dtucker@openbsd.org +Date: Mon Feb 15 09:47:49 2016 +0000 - Import updated moduli file from OpenBSD. + upstream commit + + Add a function to enable security-related malloc_options. + With and ok deraadt@, something similar has been in the snaps for a while. + + Upstream-ID: 43a95523b832b7f3b943d2908662191110c380ed -commit 55b263fb7cfeacb81aaf1c2036e0394c881637da +commit ef39e8c0497ff0564990a4f9e8b7338b3ba3507c Author: Damien Miller -Date: Mon Aug 10 11:13:44 2015 +1000 +Date: Tue Feb 16 10:34:39 2016 +1100 - let principals-command.sh work for noexec /var/run + sync ssh-copy-id with upstream 783ef08b0a75 -commit 2651e34cd11b1aac3a0fe23b86d8c2ff35c07897 -Author: Damien Miller -Date: Thu Aug 6 11:43:42 2015 +1000 +commit d2d772f55b19bb0e8d03c2fe1b9bb176d9779efd +Author: djm@openbsd.org +Date: Fri Feb 12 00:20:30 2016 +0000 - work around echo -n / sed behaviour in tests + upstream commit + + avoid fatal() for PKCS11 tokens that present empty key IDs + bz#1773, ok markus@ + + Upstream-ID: 044a764fee526f2c4a9d530bd10695422d01fc54 -commit d85dad81778c1aa8106acd46930b25fdf0d15b2a +commit e4c918a6c721410792b287c9fd21356a1bed5805 Author: djm@openbsd.org -Date: Wed Aug 5 05:27:33 2015 +0000 +Date: Thu Feb 11 02:56:32 2016 +0000 upstream commit - adjust for RSA minimum modulus switch; ok deraadt@ + sync crypto algorithm lists in ssh_config(5) and + sshd_config(5) with current reality. bz#2527 - Upstream-Regress-ID: 5a72c83431b96224d583c573ca281cd3a3ebfdae + Upstream-ID: d7fd1b6c1ed848d866236bcb1d7049d2bb9b2ff6 -commit 57e8e229bad5fe6056b5f1199665f5f7008192c6 +commit e30cabfa4ab456a30b3224f7f545f1bdfc4a2517 Author: djm@openbsd.org -Date: Tue Aug 4 05:23:06 2015 +0000 +Date: Thu Feb 11 02:21:34 2016 +0000 upstream commit - backout SSH_RSA_MINIMUM_MODULUS_SIZE increase for this - release; problems spotted by sthen@ ok deraadt@ markus@ + fix regression in openssh-6.8 sftp client: existing + destination directories would incorrectly terminate recursive uploads; + bz#2528 - Upstream-ID: d0bd60dde9e8c3cd7030007680371894c1499822 + Upstream-ID: 3306be469f41f26758e3d447987ac6d662623e18 -commit f097d0ea1e0889ca0fa2e53a00214e43ab7fa22a +commit 714e367226ded4dc3897078be48b961637350b05 Author: djm@openbsd.org -Date: Sun Aug 2 09:56:42 2015 +0000 +Date: Tue Feb 9 05:30:04 2016 +0000 upstream commit - openssh 7.0; ok deraadt@ + turn off more old crypto in the client: hmac-md5, ripemd, + truncated HMACs, RC4, blowfish. ok markus@ dtucker@ - Upstream-ID: c63afdef537f57f28ae84145c5a8e29e9250221f + Upstream-ID: 96aa11c2c082be45267a690c12f1d2aae6acd46e -commit 3d5728a0f6874ce4efb16913a12963595070f3a9 -Author: chris@openbsd.org -Date: Fri Jul 31 15:38:09 2015 +0000 +commit 5a622844ff7f78dcb75e223399f9ef0977e8d0a3 +Author: djm@openbsd.org +Date: Mon Feb 8 23:40:12 2016 +0000 upstream commit - Allow PermitRootLogin to be overridden by config - - ok markus@ deeradt@ + don't attempt to percent_expand() already-canonicalised + addresses, avoiding unnecessary failures when attempting to connect to scoped + IPv6 addresses (that naturally contain '%' characters) - Upstream-ID: 5cf3e26ed702888de84e2dc9d0054ccf4d9125b4 + Upstream-ID: f24569cffa1a7cbde5f08dc739a72f4d78aa5c6a -commit 6f941396b6835ad18018845f515b0c4fe20be21a +commit 19bcf2ea2d17413f2d9730dd2a19575ff86b9b6a Author: djm@openbsd.org -Date: Thu Jul 30 23:09:15 2015 +0000 +Date: Mon Feb 8 10:57:07 2016 +0000 upstream commit - fix pty permissions; patch from Nikolay Edigaryev; ok - deraadt + refactor activation of rekeying - Upstream-ID: 40ff076d2878b916fbfd8e4f45dbe5bec019e550 + This makes automatic rekeying internal to the packet code (previously + the server and client loops needed to assist). In doing to it makes + application of rekey limits more accurate by accounting for packets + about to be sent as well as packets queued during rekeying events + themselves. + + Based on a patch from dtucker@ which was in turn based on a patch + Aleksander Adamowski in bz#2521; ok markus@ + + Upstream-ID: a441227fd64f9739850ca97b4cf794202860fcd8 -commit f4373ed1e8fbc7c8ce3fc4ea97d0ba2e0c1d7ef0 -Author: deraadt@openbsd.org -Date: Thu Jul 30 19:23:02 2015 +0000 +commit 603ba41179e4b53951c7b90ee95b6ef3faa3f15d +Author: naddy@openbsd.org +Date: Fri Feb 5 13:28:19 2016 +0000 upstream commit - change default: PermitRootLogin without-password matching - install script changes coming as well ok djm markus + Only check errno if read() has returned an error. EOF is + not an error. This fixes a problem where the mux master would sporadically + fail to notice that the client had exited. ok mikeb@ djm@ - Upstream-ID: 0e2a6c4441daf5498b47a61767382bead5eb8ea6 + Upstream-ID: 3c2dadc21fac6ef64665688aac8a75fffd57ae53 -commit 0c30ba91f87fcda7e975e6ff8a057f624e87ea1c -Author: Damien Miller -Date: Thu Jul 30 12:31:39 2015 +1000 +commit 56d7dac790693ce420d225119283bc355cff9185 +Author: jsg@openbsd.org +Date: Fri Feb 5 04:31:21 2016 +0000 - downgrade OOM adjustment logging: verbose -> debug + upstream commit + + avoid an uninitialised value when NumberOfPasswordPrompts + is 0 ok markus@ djm@ + + Upstream-ID: 11b068d83c2865343aeb46acf1e9eec00f829b6b -commit f9eca249d4961f28ae4b09186d7dc91de74b5895 +commit deae7d52d59c5019c528f977360d87fdda15d20b Author: djm@openbsd.org -Date: Thu Jul 30 00:01:34 2015 +0000 +Date: Fri Feb 5 03:07:06 2016 +0000 upstream commit - Allow ssh_config and sshd_config kex parameters options be - prefixed by a '+' to indicate that the specified items be appended to the - default rather than replacing it. - - approach suggested by dtucker@, feedback dlg@, ok markus@ + mention internal DH-GEX fallback groups; bz#2302 - Upstream-ID: 0f901137298fc17095d5756ff1561a7028e8882a + Upstream-ID: e7b395fcca3122cd825515f45a2e41c9a157e09e -commit 5cefe769105a2a2e3ca7479d28d9a325d5ef0163 +commit cac3b6665f884d46192c0dc98a64112e8b11a766 Author: djm@openbsd.org -Date: Wed Jul 29 08:34:54 2015 +0000 +Date: Fri Feb 5 02:37:56 2016 +0000 upstream commit - fix bug in previous; was printing incorrect string for - failed host key algorithms negotiation + better description for MaxSessions; bz#2531 - Upstream-ID: 22c0dc6bc61930513065d92e11f0753adc4c6e6e + Upstream-ID: e2c0d74ee185cd1a3e9d4ca1f1b939b745b354da -commit f319912b0d0e1675b8bb051ed8213792c788bcb2 +commit 5ef4b0fdcc7a239577a754829b50022b91ab4712 +Author: Damien Miller +Date: Wed Jan 27 17:45:56 2016 +1100 + + avoid FreeBSD RCS Id in comment + + Change old $FreeBSD version string in comment so it doesn't + become an RCS ident downstream; requested by des AT des.no + +commit 696d12683c90d20a0a9c5f4275fc916b7011fb04 Author: djm@openbsd.org -Date: Wed Jul 29 04:43:06 2015 +0000 +Date: Thu Feb 4 23:43:48 2016 +0000 upstream commit - include the peer's offer when logging a failure to - negotiate a mutual set of algorithms (kex, pubkey, ciphers, etc.) ok markus@ + printf argument casts to avoid warnings on strict + compilers - Upstream-ID: bbb8caabf5c01790bb845f5ce135565248d7c796 + Upstream-ID: 7b9f6712cef01865ad29070262d366cf13587c9c -commit b6ea0e573042eb85d84defb19227c89eb74cf05a -Author: djm@openbsd.org -Date: Tue Jul 28 23:20:42 2015 +0000 +commit 5658ef2501e785fbbdf5de2dc33b1ff7a4dca73a +Author: millert@openbsd.org +Date: Mon Feb 1 21:18:17 2016 +0000 upstream commit - add Cisco to the list of clients that choke on the - hostkeys update extension. Pointed out by Howard Kash + Avoid ugly "DISPLAY "(null)" invalid; disabling X11 + forwarding" message when DISPLAY is not set. This could also result in a + crash on systems with a printf that doesn't handle NULL. OK djm@ - Upstream-ID: c9eadde28ecec056c73d09ee10ba4570dfba7e84 + Upstream-ID: 20ee0cfbda678a247264c20ed75362042b90b412 -commit 3f628c7b537291c1019ce86af90756fb4e66d0fd -Author: guenther@openbsd.org -Date: Mon Jul 27 16:29:23 2015 +0000 +commit 537f88ec7bcf40bd444ac5584c707c5588c55c43 +Author: dtucker@openbsd.org +Date: Fri Jan 29 05:18:15 2016 +0000 upstream commit - Permit kbind(2) use in the sandbox now, to ease testing - of ld.so work using it - - reminded by miod@, ok deraadt@ + Add regression test for RekeyLimit parsing of >32bit values + (4G and 8G). - Upstream-ID: 523922e4d1ba7a091e3824e77a8a3c818ee97413 + Upstream-Regress-ID: 548390350c62747b6234f522a99c319eee401328 -commit ebe27ebe520098bbc0fe58945a87ce8490121edb -Author: millert@openbsd.org -Date: Mon Jul 20 18:44:12 2015 +0000 +commit 4c6cb8330460f94e6c7ae28a364236d4188156a3 +Author: dtucker@openbsd.org +Date: Fri Jan 29 23:04:46 2016 +0000 upstream commit - Move .Pp before .Bl, not after to quiet mandoc -Tlint. - Noticed by jmc@ + Remove leftover roaming dead code. ok djm markus. - Upstream-ID: 59fadbf8407cec4e6931e50c53cfa0214a848e23 + Upstream-ID: 13d1f9c8b65a5109756bcfd3b74df949d53615be -commit d5d91d0da819611167782c66ab629159169d94d4 -Author: millert@openbsd.org -Date: Mon Jul 20 18:42:35 2015 +0000 +commit 28136471809806d6246ef41e4341467a39fe2f91 +Author: djm@openbsd.org +Date: Fri Jan 29 05:46:01 2016 +0000 upstream commit - Sync usage with SYNOPSIS + include packet type of non-data packets in debug3 output; + ok markus dtucker - Upstream-ID: 7a321a170181a54f6450deabaccb6ef60cf3f0b7 + Upstream-ID: 034eaf639acc96459b9c5ce782db9fcd8bd02d41 -commit 79ec2142fbc68dd2ed9688608da355fc0b1ed743 -Author: millert@openbsd.org -Date: Mon Jul 20 15:39:52 2015 +0000 +commit 6fd6e28daccafaa35f02741036abe64534c361a1 +Author: dtucker@openbsd.org +Date: Fri Jan 29 03:31:03 2016 +0000 upstream commit - Better desciption of Unix domain socket forwarding. - bz#2423; ok jmc@ + Revert "account for packets buffered but not yet + processed" change as it breaks for very small RekeyLimit values due to + continuous rekeying. ok djm@ - Upstream-ID: 85e28874726897e3f26ae50dfa2e8d2de683805d - -commit d56fd1828074a4031b18b8faa0bf949669eb18a0 -Author: Damien Miller -Date: Mon Jul 20 11:19:51 2015 +1000 - - make realpath.c compile -Wsign-compare clean + Upstream-ID: 7e03f636cb45ab60db18850236ccf19079182a19 -commit c63c9a691dca26bb7648827f5a13668832948929 -Author: djm@openbsd.org -Date: Mon Jul 20 00:30:01 2015 +0000 +commit 921ff00b0ac429666fb361d2d6cb1c8fff0006cb +Author: dtucker@openbsd.org +Date: Fri Jan 29 02:54:45 2016 +0000 upstream commit - mention that the default of UseDNS=no implies that - hostnames cannot be used for host matching in sshd_config and - authorized_keys; bz#2045, ok dtucker@ + Allow RekeyLimits in excess of 4G up to 2**63 bits + (limited by the return type of scan_scaled). Part of bz#2521, ok djm. - Upstream-ID: 0812705d5f2dfa59aab01f2764ee800b1741c4e1 + Upstream-ID: 13bea82be566b9704821b1ea05bf7804335c7979 -commit 63ebcd0005e9894fcd6871b7b80aeea1fec0ff76 -Author: djm@openbsd.org -Date: Sat Jul 18 08:02:17 2015 +0000 +commit c0060a65296f01d4634f274eee184c0e93ba0f23 +Author: dtucker@openbsd.org +Date: Fri Jan 29 02:42:46 2016 +0000 upstream commit - don't ignore PKCS#11 hosted keys that return empty - CKA_ID; patch by Jakub Jelen via bz#2429; ok markus + Account for packets buffered but not yet processed when + computing whether or not it is time to perform rekeying. bz#2521, based + loosely on a patch from olo at fb.com, ok djm@ - Upstream-ID: 2f7c94744eb0342f8ee8bf97b2351d4e00116485 + Upstream-ID: 67e268b547f990ed220f3cb70a5624d9bda12b8c -commit b15fd989c8c62074397160147a8d5bc34b3f3c63 +commit 44cf930e670488c85c9efeb373fa5f4b455692ac Author: djm@openbsd.org -Date: Sat Jul 18 08:00:21 2015 +0000 +Date: Wed Jan 27 06:44:58 2016 +0000 upstream commit - skip uninitialised PKCS#11 slots; patch from Jakub Jelen - in bz#2427 ok markus@ + change old $FreeBSD version string in comment so it doesn't + become an RCS ident downstream; requested by des AT des.no - Upstream-ID: 744c1e7796e237ad32992d0d02148e8a18f27d29 + Upstream-ID: 8ca558c01f184e596b45e4fc8885534b2c864722 -commit 5b64f85bb811246c59ebab70aed331f26ba37b18 +commit ebacd377769ac07d1bf3c75169644336056b7060 Author: djm@openbsd.org -Date: Sat Jul 18 07:57:14 2015 +0000 +Date: Wed Jan 27 00:53:12 2016 +0000 upstream commit - only query each keyboard-interactive device once per - authentication request regardless of how many times it is listed; ok markus@ + make the debug messages a bit more useful here - Upstream-ID: d73fafba6e86030436ff673656ec1f33d9ffeda1 + Upstream-ID: 478ccd4e897e0af8486b294aa63aa3f90ab78d64 -commit cd7324d0667794eb5c236d8a4e0f236251babc2d -Author: djm@openbsd.org -Date: Fri Jul 17 03:34:27 2015 +0000 +commit 458abc2934e82034c5c281336d8dc0f910aecad3 +Author: jsg@openbsd.org +Date: Sat Jan 23 05:31:35 2016 +0000 upstream commit - remove -u flag to diff (only used for error output) to make - things easier for -portable + Zero a stack buffer with explicit_bzero() instead of + memset() when returning from client_loop() for consistency with + buffer_free()/sshbuf_free(). - Upstream-Regress-ID: a5d6777d2909540d87afec3039d9bb2414ade548 + ok dtucker@ deraadt@ djm@ + + Upstream-ID: bc9975b2095339811c3b954694d7d15ea5c58f66 -commit deb8d99ecba70b67f4af7880b11ca8768df9ec3a -Author: djm@openbsd.org -Date: Fri Jul 17 03:09:19 2015 +0000 +commit 65a3c0dacbc7dbb75ddb6a70ebe22d8de084d0b0 +Author: dtucker@openbsd.org +Date: Wed Jan 20 09:22:39 2016 +0000 upstream commit - direct-streamlocal@openssh.com Unix domain foward - messages do not contain a "reserved for future use" field and in fact, - serverloop.c checks that there isn't one. Remove erroneous mention from - PROTOCOL description. bz#2421 from Daniel Black + Include sys/time.h for gettimeofday. From sortie at + maxsi.org. - Upstream-ID: 3d51a19e64f72f764682f1b08f35a8aa810a43ac + Upstream-ID: 6ed0c33b836d9de0a664cd091e86523ecaa2fb3b -commit 356b61f365405b5257f5b2ab446e5d7bd33a7b52 -Author: djm@openbsd.org -Date: Fri Jul 17 03:04:27 2015 +0000 +commit fc77ccdc2ce6d5d06628b8da5048a6a5f6ffca5a +Author: markus@openbsd.org +Date: Thu Jan 14 22:56:56 2016 +0000 upstream commit - describe magic for setting up Unix domain socket fowards - via the mux channel; bz#2422 patch from Daniel Black + fd leaks; report Qualys Security Advisory team; ok + deraadt@ - Upstream-ID: 943080fe3864715c423bdeb7c920bb30c4eee861 + Upstream-ID: 4ec0f12b9d8fa202293c9effa115464185aa071d -commit d3e2aee41487d55b8d7d40f538b84ff1db7989bc -Author: Darren Tucker -Date: Fri Jul 17 12:52:34 2015 +1000 +commit a306863831c57ec5fad918687cc5d289ee8e2635 +Author: markus@openbsd.org +Date: Thu Jan 14 16:17:39 2016 +0000 - Check if realpath works on nonexistent files. - - On some platforms the native realpath doesn't work with non-existent - files (this is actually specified in some versions of POSIX), however - the sftp spec says its realpath with "canonicalize any given path name". - On those platforms, use realpath from the compat library. + upstream commit - In addition, when compiling with -DFORTIFY_SOURCE, glibc redefines - the realpath symbol to the checked version, so redefine ours to - something else so we pick up the compat version we want. + remove roaming support; ok djm@ - bz#2428, ok djm@ + Upstream-ID: 2cab8f4b197bc95776fb1c8dc2859dad0c64dc56 -commit 25b14610dab655646a109db5ef8cb4c4bf2a48a0 -Author: djm@openbsd.org -Date: Fri Jul 17 02:47:45 2015 +0000 +commit 6ef49e83e30688504552ac10875feabd5521565f +Author: deraadt@openbsd.org +Date: Thu Jan 14 14:34:34 2016 +0000 upstream commit - fix incorrect test for SSH1 keys when compiled without SSH1 - support + Disable experimental client-side roaming support. Server + side was disabled/gutted for years already, but this aspect was surprisingly + forgotten. Thanks for report from Qualys - Upstream-ID: 6004d720345b8e481c405e8ad05ce2271726e451 + Upstream-ID: 2328004b58f431a554d4c1bf67f5407eae3389df -commit df56a8035d429b2184ee94aaa7e580c1ff67f73a +commit 8d7b523b96d3be180572d9d338cedaafc0570f60 +Author: Damien Miller +Date: Thu Jan 14 11:08:19 2016 +1100 + + bump version numbers + +commit 8c3d512a1fac8b9c83b4d0c9c3f2376290bd84ca +Author: Damien Miller +Date: Thu Jan 14 11:04:04 2016 +1100 + + openssh-7.1p2 + +commit e6c85f8889c5c9eb04796fdb76d2807636b9eef5 +Author: Damien Miller +Date: Fri Jan 15 01:30:36 2016 +1100 + + forcibly disable roaming support in the client + +commit ed4ce82dbfa8a3a3c8ea6fa0db113c71e234416c Author: djm@openbsd.org -Date: Wed Jul 15 08:00:11 2015 +0000 +Date: Wed Jan 13 23:04:47 2016 +0000 upstream commit - fix NULL-deref when SSH1 reenabled + eliminate fallback from untrusted X11 forwarding to trusted + forwarding when the X server disables the SECURITY extension; Reported by + Thomas Hoger; ok deraadt@ - Upstream-ID: f22fd805288c92b3e9646782d15b48894b2d5295 + Upstream-ID: f76195bd2064615a63ef9674a0e4096b0713f938 -commit 41e38c4d49dd60908484e6703316651333f16b93 +commit 9a728cc918fad67c8a9a71201088b1e150340ba4 Author: djm@openbsd.org -Date: Wed Jul 15 07:19:50 2015 +0000 +Date: Tue Jan 12 23:42:54 2016 +0000 upstream commit - regen RSA1 test keys; the last batch was missing their - private parts + use explicit_bzero() more liberally in the buffer code; ok + deraadt - Upstream-Regress-ID: 7ccf437305dd63ff0b48dd50c5fd0f4d4230c10a + Upstream-ID: 0ece37069fd66bc6e4f55eb1321f93df372b65bf -commit 5bf0933184cb622ca3f96d224bf3299fd2285acc -Author: markus@openbsd.org -Date: Fri Jul 10 06:23:25 2015 +0000 +commit 4626cbaf78767fc8e9c86dd04785386c59ae0839 +Author: Damien Miller +Date: Fri Jan 8 14:24:56 2016 +1100 - upstream commit + Support Illumos/Solaris fine-grained privileges - Adapt tests, now that DSA if off by default; use - PubkeyAcceptedKeyTypes and PubkeyAcceptedKeyTypes to test DSA. + Includes a pre-auth privsep sandbox and several pledge() + emulations. bz#2511, patch by Alex Wilson. - Upstream-Regress-ID: 0ff2a3ff5ac1ce5f92321d27aa07b98656efcc5c + ok dtucker@ -commit 7a6e3fd7b41dbd3756b6bf9acd67954c0b1564cc -Author: markus@openbsd.org -Date: Tue Jul 7 14:54:16 2015 +0000 +commit 422d1b3ee977ff4c724b597fb2e437d38fc8de9d +Author: djm@openbsd.org +Date: Thu Dec 31 00:33:52 2015 +0000 upstream commit - regen test data after mktestdata.sh changes + fix three bugs in KRL code related to (unused) signature + support: verification length was being incorrectly calculated, multiple + signatures were being incorrectly processed and a NULL dereference that + occurred when signatures were verified. Reported by Carl Jackson - Upstream-Regress-ID: 3495ecb082b9a7c048a2d7c5c845d3bf181d25a4 + Upstream-ID: e705e97ad3ccce84291eaa651708dd1b9692576b -commit 7c8c174c69f681d4910fa41c37646763692b28e2 -Author: markus@openbsd.org -Date: Tue Jul 7 14:53:30 2015 +0000 +commit 6074c84bf95d00f29cc7d5d3cd3798737851aa1a +Author: djm@openbsd.org +Date: Wed Dec 30 23:46:14 2015 +0000 upstream commit - adapt tests to new minimum RSA size and default FP format + unused prototype - Upstream-Regress-ID: a4b30afd174ce82b96df14eb49fb0b81398ffd0e + Upstream-ID: f3eef4389d53ed6c0d5c77dcdcca3060c745da97 -commit 6a977a4b68747ade189e43d302f33403fd4a47ac -Author: djm@openbsd.org -Date: Fri Jul 3 04:39:23 2015 +0000 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Fri Mar 11 00:23:12 2016 Return-Path: Delivered-To: svn-src-all@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 33AD5ACC90D; Fri, 11 Mar 2016 00:23:12 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 DFE401321; Fri, 11 Mar 2016 00:23:11 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B0NAGa068751; Fri, 11 Mar 2016 00:23:10 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B0NAkO068747; Fri, 11 Mar 2016 00:23:10 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603110023.u2B0NAkO068747@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Fri, 11 Mar 2016 00:23:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296634 - head/crypto/openssh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 00:23:12 -0000 Author: des Date: Fri Mar 11 00:23:10 2016 New Revision: 296634 URL: https://svnweb.freebsd.org/changeset/base/296634 Log: Re-add AES-CBC ciphers to the default cipher list on the server. PR: 207679 Modified: head/crypto/openssh/FREEBSD-upgrade head/crypto/openssh/myproposal.h head/crypto/openssh/sshd_config.5 Modified: head/crypto/openssh/FREEBSD-upgrade ============================================================================== --- head/crypto/openssh/FREEBSD-upgrade Fri Mar 11 00:15:29 2016 (r296633) +++ head/crypto/openssh/FREEBSD-upgrade Fri Mar 11 00:23:10 2016 (r296634) @@ -1,4 +1,3 @@ - FreeBSD maintainer's guide to OpenSSH-portable ============================================== @@ -166,6 +165,13 @@ ignore HPN-related configuration options to avoid breaking existing configurations. +A) AES-CBC + + The AES-CBC ciphers were removed from the server-side proposal list + in 6.7p1 due to theoretical weaknesses and the availability of + superior ciphers (including AES-CTR and AES-GCM). We have re-added + them for compatibility with third-party clients. + This port was brought to you by (in no particular order) DARPA, NAI Modified: head/crypto/openssh/myproposal.h ============================================================================== --- head/crypto/openssh/myproposal.h Fri Mar 11 00:15:29 2016 (r296633) +++ head/crypto/openssh/myproposal.h Fri Mar 11 00:23:10 2016 (r296634) @@ -113,10 +113,11 @@ #define KEX_SERVER_ENCRYPT \ "chacha20-poly1305@openssh.com," \ "aes128-ctr,aes192-ctr,aes256-ctr" \ - AESGCM_CIPHER_MODES + AESGCM_CIPHER_MODES \ + ",aes128-cbc,aes192-cbc,aes256-cbc" #define KEX_CLIENT_ENCRYPT KEX_SERVER_ENCRYPT "," \ - "aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc" + "3des-cbc" #define KEX_SERVER_MAC \ "umac-64-etm@openssh.com," \ Modified: head/crypto/openssh/sshd_config.5 ============================================================================== --- head/crypto/openssh/sshd_config.5 Fri Mar 11 00:15:29 2016 (r296633) +++ head/crypto/openssh/sshd_config.5 Fri Mar 11 00:23:10 2016 (r296634) @@ -482,7 +482,8 @@ The default is: .Bd -literal -offset indent chacha20-poly1305@openssh.com, aes128-ctr,aes192-ctr,aes256-ctr, -aes128-gcm@openssh.com,aes256-gcm@openssh.com +aes128-gcm@openssh.com,aes256-gcm@openssh.com, +aes128-cbc,aes192-cbc,aes256-cbc .Ed .Pp The list of available ciphers may also be obtained using the From owner-svn-src-all@freebsd.org Fri Mar 11 00:37:05 2016 Return-Path: Delivered-To: svn-src-all@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 3F619ACCCB2; Fri, 11 Mar 2016 00:37:05 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D294C1B28; Fri, 11 Mar 2016 00:37:04 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B0b3ui075380; Fri, 11 Mar 2016 00:37:03 GMT (envelope-from sjg@FreeBSD.org) Received: (from sjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B0b3UV075365; Fri, 11 Mar 2016 00:37:03 GMT (envelope-from sjg@FreeBSD.org) Message-Id: <201603110037.u2B0b3UV075365@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sjg set sender to sjg@FreeBSD.org using -f From: "Simon J. Gerraty" Date: Fri, 11 Mar 2016 00:37:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296635 - in vendor/NetBSD/bmake/dist: . mk unit-tests X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 00:37:05 -0000 Author: sjg Date: Fri Mar 11 00:37:02 2016 New Revision: 296635 URL: https://svnweb.freebsd.org/changeset/base/296635 Log: Import bmake-20160307 Modified: vendor/NetBSD/bmake/dist/ChangeLog vendor/NetBSD/bmake/dist/Makefile vendor/NetBSD/bmake/dist/arch.c vendor/NetBSD/bmake/dist/bmake.1 vendor/NetBSD/bmake/dist/bmake.cat1 vendor/NetBSD/bmake/dist/compat.c vendor/NetBSD/bmake/dist/cond.c vendor/NetBSD/bmake/dist/dirname.c vendor/NetBSD/bmake/dist/for.c vendor/NetBSD/bmake/dist/getopt.c vendor/NetBSD/bmake/dist/job.c vendor/NetBSD/bmake/dist/main.c vendor/NetBSD/bmake/dist/make.1 vendor/NetBSD/bmake/dist/make.c vendor/NetBSD/bmake/dist/make.h vendor/NetBSD/bmake/dist/meta.c vendor/NetBSD/bmake/dist/meta.h vendor/NetBSD/bmake/dist/mk/ChangeLog vendor/NetBSD/bmake/dist/mk/auto.dep.mk vendor/NetBSD/bmake/dist/mk/dirdeps.mk vendor/NetBSD/bmake/dist/mk/gendirdeps.mk vendor/NetBSD/bmake/dist/mk/install-mk vendor/NetBSD/bmake/dist/mk/meta.autodep.mk vendor/NetBSD/bmake/dist/mk/meta.stage.mk vendor/NetBSD/bmake/dist/mk/meta.sys.mk vendor/NetBSD/bmake/dist/mk/meta2deps.sh vendor/NetBSD/bmake/dist/mk/sys.clean-env.mk vendor/NetBSD/bmake/dist/mk/sys.dependfile.mk vendor/NetBSD/bmake/dist/mk/warnings.mk vendor/NetBSD/bmake/dist/nonints.h vendor/NetBSD/bmake/dist/parse.c vendor/NetBSD/bmake/dist/suff.c vendor/NetBSD/bmake/dist/targ.c vendor/NetBSD/bmake/dist/unit-tests/export-env.exp vendor/NetBSD/bmake/dist/unit-tests/export-env.mk vendor/NetBSD/bmake/dist/unit-tests/modts.exp vendor/NetBSD/bmake/dist/unit-tests/modts.mk vendor/NetBSD/bmake/dist/var.c Modified: vendor/NetBSD/bmake/dist/ChangeLog ============================================================================== --- vendor/NetBSD/bmake/dist/ChangeLog Fri Mar 11 00:23:10 2016 (r296634) +++ vendor/NetBSD/bmake/dist/ChangeLog Fri Mar 11 00:37:02 2016 (r296635) @@ -1,3 +1,41 @@ +2016-03-07 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20160307 + Merge with NetBSD make, pick up + o var.c: fix :ts\nnn to be octal by default. + o meta.c: meta_finish() to cleanup memory. + +2016-02-26 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20160226 + Merge with NetBSD make, pick up + o meta.c: allow meta file for makeDepend if makefiles want it. + +2016-02-19 Simon J. Gerraty + + * var.c: default .MAKE.SAVE_DOLLARS to FALSE + for backwards compatability. + + * Makefile (MAKE_VERSION): 20160220 + Merge with NetBSD make, pick up + o var.c: add knob to control handling of '$$' in := + +2016-02-18 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20160218 + Merge with NetBSD make, pick up + o var.c: add .export-literal allows us to fix sys.clean-env.mk + post the changes to Var_Subst. + Var_Subst now takes flags, and does not consume '$$' in := + +2016-02-17 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20160217 + Merge with NetBSD make, pick up + o var.c: preserve '$$' in := + o parse.c: add .dinclude for handling included + makefile like .depend + 2015-12-20 Simon J. Gerraty * Makefile (MAKE_VERSION): 20151220 Modified: vendor/NetBSD/bmake/dist/Makefile ============================================================================== --- vendor/NetBSD/bmake/dist/Makefile Fri Mar 11 00:23:10 2016 (r296634) +++ vendor/NetBSD/bmake/dist/Makefile Fri Mar 11 00:37:02 2016 (r296635) @@ -1,7 +1,7 @@ -# $Id: Makefile,v 1.49 2015/12/20 22:54:40 sjg Exp $ +# $Id: Makefile,v 1.55 2016/03/07 22:02:47 sjg Exp $ # Base version on src date -MAKE_VERSION= 20151220 +MAKE_VERSION= 20160307 PROG= bmake Modified: vendor/NetBSD/bmake/dist/arch.c ============================================================================== --- vendor/NetBSD/bmake/dist/arch.c Fri Mar 11 00:23:10 2016 (r296634) +++ vendor/NetBSD/bmake/dist/arch.c Fri Mar 11 00:37:02 2016 (r296635) @@ -1,4 +1,4 @@ -/* $NetBSD: arch.c,v 1.64 2015/10/11 04:51:24 sjg Exp $ */ +/* $NetBSD: arch.c,v 1.68 2016/02/18 18:29:14 christos Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: arch.c,v 1.64 2015/10/11 04:51:24 sjg Exp $"; +static char rcsid[] = "$NetBSD: arch.c,v 1.68 2016/02/18 18:29:14 christos Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)arch.c 8.2 (Berkeley) 1/2/94"; #else -__RCSID("$NetBSD: arch.c,v 1.64 2015/10/11 04:51:24 sjg Exp $"); +__RCSID("$NetBSD: arch.c,v 1.68 2016/02/18 18:29:14 christos Exp $"); #endif #endif /* not lint */ #endif @@ -136,7 +136,6 @@ __RCSID("$NetBSD: arch.c,v 1.64 2015/10/ #include #include #include -#include #ifdef HAVE_AR_H #include #else @@ -156,7 +155,6 @@ struct ar_hdr { #if defined(HAVE_RANLIB_H) && !(defined(__ELF__) || defined(NO_RANLIB)) #include #endif -#include #include #include #ifdef HAVE_UTIME_H @@ -254,8 +252,7 @@ ArchFree(void *ap) free(Hash_GetValue(entry)); free(a->name); - if (a->fnametab) - free(a->fnametab); + free(a->fnametab); Hash_DeleteTable(&a->members); free(a); } @@ -310,9 +307,10 @@ Arch_ParseArchive(char **linePtr, Lst no void *freeIt; char *result; - result = Var_Parse(cp, ctxt, TRUE, TRUE, &length, &freeIt); - if (freeIt) - free(freeIt); + result = Var_Parse(cp, ctxt, VARF_UNDEFERR|VARF_WANTRES, + &length, &freeIt); + free(freeIt); + if (result == var_Error) { return(FAILURE); } else { @@ -325,7 +323,7 @@ Arch_ParseArchive(char **linePtr, Lst no *cp++ = '\0'; if (subLibName) { - libName = Var_Subst(NULL, libName, ctxt, TRUE, TRUE); + libName = Var_Subst(NULL, libName, ctxt, VARF_UNDEFERR|VARF_WANTRES); } @@ -351,9 +349,10 @@ Arch_ParseArchive(char **linePtr, Lst no void *freeIt; char *result; - result = Var_Parse(cp, ctxt, TRUE, TRUE, &length, &freeIt); - if (freeIt) - free(freeIt); + result = Var_Parse(cp, ctxt, VARF_UNDEFERR|VARF_WANTRES, + &length, &freeIt); + free(freeIt); + if (result == var_Error) { return(FAILURE); } else { @@ -404,7 +403,8 @@ Arch_ParseArchive(char **linePtr, Lst no char *oldMemName = memName; size_t sz; - memName = Var_Subst(NULL, memName, ctxt, TRUE, TRUE); + memName = Var_Subst(NULL, memName, ctxt, + VARF_UNDEFERR|VARF_WANTRES); /* * Now form an archive spec and recurse to deal with nested @@ -759,8 +759,7 @@ ArchStatMember(char *archive, char *memb badarch: fclose(arch); Hash_DeleteTable(&ar->members); - if (ar->fnametab) - free(ar->fnametab); + free(ar->fnametab); free(ar); return NULL; } @@ -1045,10 +1044,10 @@ Arch_Touch(GNode *gn) arch = ArchFindMember(Var_Value(ARCHIVE, gn, &p1), Var_Value(MEMBER, gn, &p2), &arh, "r+"); - if (p1) - free(p1); - if (p2) - free(p2); + + free(p1); + free(p2); + snprintf(arh.AR_DATE, sizeof(arh.AR_DATE), "%-12ld", (long) now); if (arch != NULL) { @@ -1127,10 +1126,9 @@ Arch_MTime(GNode *gn) arhPtr = ArchStatMember(Var_Value(ARCHIVE, gn, &p1), Var_Value(MEMBER, gn, &p2), TRUE); - if (p1) - free(p1); - if (p2) - free(p2); + + free(p1); + free(p2); if (arhPtr != NULL) { modTime = (time_t)strtol(arhPtr->AR_DATE, NULL, 10); Modified: vendor/NetBSD/bmake/dist/bmake.1 ============================================================================== --- vendor/NetBSD/bmake/dist/bmake.1 Fri Mar 11 00:23:10 2016 (r296634) +++ vendor/NetBSD/bmake/dist/bmake.1 Fri Mar 11 00:37:02 2016 (r296635) @@ -1,4 +1,4 @@ -.\" $NetBSD: make.1,v 1.249 2015/06/05 07:33:40 wiz Exp $ +.\" $NetBSD: make.1,v 1.254 2016/02/20 01:43:28 wiz Exp $ .\" .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" from: @(#)make.1 8.4 (Berkeley) 3/19/94 .\" -.Dd June 4, 2015 +.Dd February 19, 2016 .Dt MAKE 1 .Os .Sh NAME @@ -293,7 +293,7 @@ then will search for the specified file or directory named in the remaining part of the argument string. The search starts with the current directory of -the Makefile and then works upward towards the root of the filesystem. +the Makefile and then works upward towards the root of the file system. If the search is successful, then the resulting directory replaces the .Qq \&.../ specification in the @@ -868,7 +868,7 @@ This can be overridden by setting .Va bf to a value which represents True. .It Pa env -For debugging, it can be useful to inlcude the environment +For debugging, it can be useful to include the environment in the .meta file. .It Pa verbose If in "meta" mode, print a clue about the target being built. @@ -918,7 +918,7 @@ The default value is: This variable is used to record the names of variables assigned to on the command line, so that they may be exported as part of .Ql Ev MAKEFLAGS . -This behaviour can be disabled by assigning an empty value to +This behavior can be disabled by assigning an empty value to .Ql Va .MAKEOVERRIDES within a makefile. Extra variables can be exported from a makefile @@ -941,6 +941,19 @@ The process-id of .It Va .MAKE.PPID The parent process-id of .Nm . +.It Va .MAKE.SAVE_DOLLARS +value should be a boolean that controls whether +.Ql $$ +are preserved when doing +.Ql := +assignments. +The default is false, for backwards compatibility. +Set to true for compatability with other makes. +If set to false, +.Ql $$ +becomes +.Ql $ +per normal evaluation rules. .It Va MAKE_PRINT_VAR_ON_ERROR When .Nm @@ -1044,7 +1057,7 @@ sets to the value of .Ql Ev PWD instead. -This behaviour is disabled if +This behavior is disabled if .Ql Ev MAKEOBJDIRPREFIX is set or .Ql Ev MAKEOBJDIR @@ -1114,7 +1127,7 @@ The wildcard characters may be escaped w As a consequence of the way values are split into words, matched, and then joined, a construct like .Dl ${VAR:M*} -will normalise the inter-word spacing, removing all leading and +will normalize the inter-word spacing, removing all leading and trailing space, and converting multiple consecutive spaces to single spaces. . @@ -1134,7 +1147,7 @@ Randomize words in variable. The results will be different each time you are referring to the modified variable; use the assignment with expansion .Pq Ql Cm \&:= -to prevent such behaviour. +to prevent such behavior. For example, .Bd -literal -offset indent LIST= uno due tre quattro @@ -1166,7 +1179,7 @@ The value is a format string for using the current .Xr gmtime 3 . .It Cm \&:hash -Compute a 32bit hash of the value and encode it as hex digits. +Compute a 32-bit hash of the value and encode it as hex digits. .It Cm \&:localtime The value is a format string for .Xr strftime 3 , @@ -1444,7 +1457,7 @@ value is divided into words. .Pp Ordinarily, a value is treated as a sequence of words delimited by white space. -Some modifiers suppress this behaviour, +Some modifiers suppress this behavior, causing a value to be treated as a single word (possibly containing embedded white space). An empty value, or a value that consists entirely of white-space, @@ -1530,12 +1543,20 @@ For compatibility with other versions of .Nm .Ql include file ... is also accepted. +.Pp If the include statement is written as .Cm .-include or as .Cm .sinclude then errors locating and/or opening include files are ignored. .Pp +If the include statement is written as +.Cm .dinclude +not only are errors locating and/or opening include files ignored, +but stale dependencies within the included file will be ignored +just like +.Va .MAKE.DEPENDFILE . +.Pp Conditional expressions are also preceded by a single dot as the first character of a line. The possible conditionals are as follows: @@ -1571,6 +1592,10 @@ This allows exporting a value to the env used by .Nm internally. +.It Ic .export-literal Ar variable ... +The same as +.Ql .export-env , +except that variables in the value are not expanded. .It Ic .info Ar message The message is printed along with the name of the makefile and line number. .It Ic .undef Ar variable @@ -2068,7 +2093,7 @@ The sources are a set of pairs. .Bl -tag -width hasErrCtls .It Ar name -This is the minimal specification, used to select one of the builtin +This is the minimal specification, used to select one of the built-in shell specs; .Ar sh , .Ar ksh , Modified: vendor/NetBSD/bmake/dist/bmake.cat1 ============================================================================== --- vendor/NetBSD/bmake/dist/bmake.cat1 Fri Mar 11 00:23:10 2016 (r296634) +++ vendor/NetBSD/bmake/dist/bmake.cat1 Fri Mar 11 00:37:02 2016 (r296635) @@ -178,11 +178,11 @@ DDEESSCCRRIIPPTTIIOONN then bbmmaakkee will search for the specified file or directory named in the remaining part of the argument string. The search starts with the current directory of the Makefile and then works upward - towards the root of the filesystem. If the search is successful, - then the resulting directory replaces the ".../" specification in - the --mm argument. If used, this feature allows bbmmaakkee to easily - search in the current source tree for customized sys.mk files - (e.g., by using ".../mk/sys.mk" as an argument). + towards the root of the file system. If the search is success- + ful, then the resulting directory replaces the ".../" specifica- + tion in the --mm argument. If used, this feature allows bbmmaakkee to + easily search in the current source tree for customized sys.mk + files (e.g., by using ".../mk/sys.mk" as an argument). --nn Display the commands that would have been executed, but do not actually execute them unless the target depends on the .MAKE spe- @@ -543,7 +543,7 @@ VVAARRIIAABBLLEE AASSSSIIGG in `_._C_U_R_D_I_R'. This can be overridden by set- ting _b_f to a value which represents True. - _e_n_v For debugging, it can be useful to inlcude + _e_n_v For debugging, it can be useful to include the environment in the .meta file. _v_e_r_b_o_s_e If in "meta" mode, print a clue about the @@ -591,7 +591,7 @@ VVAARRIIAABBLLEE AASSSSIIGG _._M_A_K_E_O_V_E_R_R_I_D_E_S This variable is used to record the names of variables assigned to on the command line, so that they may be - exported as part of `MAKEFLAGS'. This behaviour can be + exported as part of `MAKEFLAGS'. This behavior can be disabled by assigning an empty value to `_._M_A_K_E_O_V_E_R_R_I_D_E_S' within a makefile. Extra variables can be exported from a makefile by appending their names to `_._M_A_K_E_O_V_E_R_R_I_D_E_S'. @@ -607,6 +607,13 @@ VVAARRIIAABBLLEE AASSSSIIGG _._M_A_K_E_._P_P_I_D The parent process-id of bbmmaakkee. + _._M_A_K_E_._S_A_V_E___D_O_L_L_A_R_S + value should be a boolean that controls whether `$$' are + preserved when doing `:=' assignments. The default is + false, for backwards compatibility. Set to true for com- + patability with other makes. If set to false, `$$' + becomes `$' per normal evaluation rules. + _M_A_K_E___P_R_I_N_T___V_A_R___O_N___E_R_R_O_R When bbmmaakkee stops due to an error, it prints its name and the value of `_._C_U_R_D_I_R' as well as the value of any vari- @@ -670,7 +677,7 @@ VVAARRIIAABBLLEE AASSSSIIGG sets `_._C_U_R_D_I_R' to the canonical path given by getcwd(3). However, if the environment variable `PWD' is set and gives a path to the current directory, then bbmmaakkee sets - `_._C_U_R_D_I_R' to the value of `PWD' instead. This behaviour + `_._C_U_R_D_I_R' to the value of `PWD' instead. This behavior is disabled if `MAKEOBJDIRPREFIX' is set or `MAKEOBJDIR' contains a variable transform. `PWD' is set to the value of `_._O_B_J_D_I_R' for all programs which bbmmaakkee executes. @@ -717,7 +724,7 @@ VVAARRIIAABBLLEE AASSSSIIGG of the way values are split into words, matched, and then joined, a construct like ${VAR:M*} - will normalise the inter-word spacing, removing all leading and + will normalize the inter-word spacing, removing all leading and trailing space, and converting multiple consecutive spaces to single spaces. @@ -730,7 +737,7 @@ VVAARRIIAABBLLEE AASSSSIIGG ::OOxx Randomize words in variable. The results will be different each time you are referring to the modified variable; use the assignment - with expansion (`::==') to prevent such behaviour. For example, + with expansion (`::==') to prevent such behavior. For example, LIST= uno due tre quattro RANDOM_LIST= ${LIST:Ox} @@ -758,7 +765,7 @@ VVAARRIIAABBLLEE AASSSSIIGG gmtime(3). ::hhaasshh - Compute a 32bit hash of the value and encode it as hex digits. + Compute a 32-bit hash of the value and encode it as hex digits. ::llooccaallttiimmee The value is a format string for strftime(3), using the current @@ -914,13 +921,13 @@ VVAARRIIAABBLLEE AASSSSIIGG tions related to the way in which the value is divided into words. Ordinarily, a value is treated as a sequence of words delimited by - white space. Some modifiers suppress this behaviour, causing a - value to be treated as a single word (possibly containing embedded - white space). An empty value, or a value that consists entirely of - white-space, is treated as a single word. For the purposes of the - `::[[]]' modifier, the words are indexed both forwards using positive - integers (where index 1 represents the first word), and backwards - using negative integers (where index -1 represents the last word). + white space. Some modifiers suppress this behavior, causing a value + to be treated as a single word (possibly containing embedded white + space). An empty value, or a value that consists entirely of white- + space, is treated as a single word. For the purposes of the `::[[]]' + modifier, the words are indexed both forwards using positive inte- + gers (where index 1 represents the first word), and backwards using + negative integers (where index -1 represents the last word). The _r_a_n_g_e is subjected to variable expansion, and the expanded result is then interpreted as follows: @@ -957,8 +964,14 @@ IINNCCLLUUDDEE SSTTAATTEEMM used, the including makefile's directory and any directories specified using the --II option are searched before the system makefile directory. For compatibility with other versions of bbmmaakkee `include file ...' is also - accepted. If the include statement is written as ..--iinncclluuddee or as - ..ssiinncclluuddee then errors locating and/or opening include files are ignored. + accepted. + + If the include statement is written as ..--iinncclluuddee or as ..ssiinncclluuddee then + errors locating and/or opening include files are ignored. + + If the include statement is written as ..ddiinncclluuddee not only are errors + locating and/or opening include files ignored, but stale dependencies + within the included file will be ignored just like _._M_A_K_E_._D_E_P_E_N_D_F_I_L_E. Conditional expressions are also preceded by a single dot as the first character of a line. The possible conditionals are as follows: @@ -982,6 +995,10 @@ IINNCCLLUUDDEE SSTTAATTEEMM to _._M_A_K_E_._E_X_P_O_R_T_E_D. This allows exporting a value to the environ- ment which is different from that used by bbmmaakkee internally. + ..eexxppoorrtt--lliitteerraall _v_a_r_i_a_b_l_e _._._. + The same as `.export-env', except that variables in the value are + not expanded. + ..iinnffoo _m_e_s_s_a_g_e The message is printed along with the name of the makefile and line number. @@ -1307,7 +1324,7 @@ SSPPEECCIIAALL TTAARRGGEETT sources are a set of _f_i_e_l_d_=_v_a_l_u_e pairs. _n_a_m_e This is the minimal specification, used to select - one of the builtin shell specs; _s_h, _k_s_h, and _c_s_h. + one of the built-in shell specs; _s_h, _k_s_h, and _c_s_h. _p_a_t_h Specifies the path to the shell. @@ -1452,4 +1469,4 @@ BBUUGGSS There is no way of escaping a space character in a filename. -NetBSD 5.1 June 4, 2015 NetBSD 5.1 +NetBSD 5.1 February 19, 2016 NetBSD 5.1 Modified: vendor/NetBSD/bmake/dist/compat.c ============================================================================== --- vendor/NetBSD/bmake/dist/compat.c Fri Mar 11 00:23:10 2016 (r296634) +++ vendor/NetBSD/bmake/dist/compat.c Fri Mar 11 00:37:02 2016 (r296635) @@ -1,4 +1,4 @@ -/* $NetBSD: compat.c,v 1.101 2015/10/11 04:51:24 sjg Exp $ */ +/* $NetBSD: compat.c,v 1.104 2016/02/18 18:29:14 christos Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: compat.c,v 1.101 2015/10/11 04:51:24 sjg Exp $"; +static char rcsid[] = "$NetBSD: compat.c,v 1.104 2016/02/18 18:29:14 christos Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)compat.c 8.2 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: compat.c,v 1.101 2015/10/11 04:51:24 sjg Exp $"); +__RCSID("$NetBSD: compat.c,v 1.104 2016/02/18 18:29:14 christos Exp $"); #endif #endif /* not lint */ #endif @@ -146,8 +146,8 @@ CompatInterrupt(int signo) if (!noExecute && eunlink(file) != -1) { Error("*** %s removed", file); } - if (p1) - free(p1); + + free(p1); /* * Run .INTERRUPT only if hit with interrupt signal @@ -213,7 +213,7 @@ CompatRunCommand(void *cmdp, void *gnp) doIt = FALSE; cmdNode = Lst_Member(gn->commands, cmd); - cmdStart = Var_Subst(NULL, cmd, gn, FALSE, TRUE); + cmdStart = Var_Subst(NULL, cmd, gn, VARF_WANTRES); /* * brk_string will return an argv with a NULL in av[0], thus causing @@ -374,10 +374,10 @@ again: execError("exec", av[0]); _exit(1); } - if (mav) - free(mav); - if (bp) - free(bp); + + free(mav); + free(bp); + Lst_Replace(cmdNode, NULL); #ifdef USE_META @@ -516,8 +516,7 @@ Compat_Make(void *gnp, void *pgnp) if (Lst_Member(gn->iParents, pgn) != NULL) { char *p1; Var_Set(IMPSRC, Var_Value(TARGET, gn, &p1), pgn, 0); - if (p1) - free(p1); + free(p1); } /* @@ -620,8 +619,7 @@ Compat_Make(void *gnp, void *pgnp) if (Lst_Member(gn->iParents, pgn) != NULL) { char *p1; Var_Set(IMPSRC, Var_Value(TARGET, gn, &p1), pgn, 0); - if (p1) - free(p1); + free(p1); } switch(gn->made) { case BEINGMADE: Modified: vendor/NetBSD/bmake/dist/cond.c ============================================================================== --- vendor/NetBSD/bmake/dist/cond.c Fri Mar 11 00:23:10 2016 (r296634) +++ vendor/NetBSD/bmake/dist/cond.c Fri Mar 11 00:37:02 2016 (r296635) @@ -1,4 +1,4 @@ -/* $NetBSD: cond.c,v 1.71 2015/12/02 00:28:24 sjg Exp $ */ +/* $NetBSD: cond.c,v 1.74 2016/02/18 18:29:14 christos Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: cond.c,v 1.71 2015/12/02 00:28:24 sjg Exp $"; +static char rcsid[] = "$NetBSD: cond.c,v 1.74 2016/02/18 18:29:14 christos Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)cond.c 8.2 (Berkeley) 1/2/94"; #else -__RCSID("$NetBSD: cond.c,v 1.71 2015/12/02 00:28:24 sjg Exp $"); +__RCSID("$NetBSD: cond.c,v 1.74 2016/02/18 18:29:14 christos Exp $"); #endif #endif /* not lint */ #endif @@ -289,10 +289,10 @@ CondGetArg(char **linePtr, char **argPtr int len; void *freeIt; - cp2 = Var_Parse(cp, VAR_CMD, TRUE, TRUE, &len, &freeIt); + cp2 = Var_Parse(cp, VAR_CMD, VARF_UNDEFERR|VARF_WANTRES, + &len, &freeIt); Buf_AddBytes(&buf, strlen(cp2), cp2); - if (freeIt) - free(freeIt); + free(freeIt); cp += len; continue; } @@ -346,8 +346,8 @@ CondDoDefined(int argLen MAKE_ATTR_UNUSE } else { result = FALSE; } - if (p1) - free(p1); + + free(p1); return (result); } @@ -574,8 +574,9 @@ CondGetString(Boolean doEval, Boolean *q break; case '$': /* if we are in quotes, then an undefined variable is ok */ - str = Var_Parse(condExpr, VAR_CMD, (qt ? 0 : doEval), - TRUE, &len, freeIt); + str = Var_Parse(condExpr, VAR_CMD, + ((!qt && doEval) ? VARF_UNDEFERR : 0) | + VARF_WANTRES, &len, freeIt); if (str == var_Error) { if (*freeIt) { free(*freeIt); @@ -805,10 +806,8 @@ do_string_compare: } done: - if (lhsFree) - free(lhsFree); - if (rhsFree) - free(rhsFree); + free(lhsFree); + free(rhsFree); return t; } @@ -827,7 +826,7 @@ get_mpt_arg(char **linePtr, char **argPt /* We do all the work here and return the result as the length */ *argPtr = NULL; - val = Var_Parse(cp - 1, VAR_CMD, FALSE, TRUE, &length, &freeIt); + val = Var_Parse(cp - 1, VAR_CMD, VARF_WANTRES, &length, &freeIt); /* * Advance *linePtr to beyond the closing ). Note that * we subtract one because 'length' is calculated from 'cp - 1'. @@ -848,8 +847,7 @@ get_mpt_arg(char **linePtr, char **argPt * true/false here. */ length = *val ? 2 : 1; - if (freeIt) - free(freeIt); + free(freeIt); return length; } @@ -900,8 +898,7 @@ compare_function(Boolean doEval) } /* Evaluate the argument using the required function. */ t = !doEval || fn_def->fn_proc(arglen, arg); - if (arg) - free(arg); + free(arg); condExpr = cp; return t; } @@ -933,8 +930,7 @@ compare_function(Boolean doEval) * be empty - even if it contained a variable expansion. */ t = !doEval || if_info->defProc(arglen, arg) != if_info->doNot; - if (arg) - free(arg); + free(arg); return t; } Modified: vendor/NetBSD/bmake/dist/dirname.c ============================================================================== --- vendor/NetBSD/bmake/dist/dirname.c Fri Mar 11 00:23:10 2016 (r296634) +++ vendor/NetBSD/bmake/dist/dirname.c Fri Mar 11 00:37:02 2016 (r296635) @@ -1,4 +1,4 @@ -/* $NetBSD: dirname.c,v 1.11 2009/11/24 13:34:20 tnozaki Exp $ */ +/* $NetBSD: dirname.c,v 1.13 2014/07/16 10:52:26 christos Exp $ */ /*- * Copyright (c) 1997, 2002 The NetBSD Foundation, Inc. @@ -35,7 +35,10 @@ #ifndef HAVE_DIRNAME #include - +#include +#ifdef HAVE_LIBGEN_H +#include +#endif #ifdef HAVE_LIMITS_H #include #endif @@ -45,51 +48,73 @@ #ifndef PATH_MAX # define PATH_MAX 1024 #endif +#ifndef MIN +# define MIN(a, b) ((a < b) ? a : b) +#endif -char * -dirname(char *path) + +static size_t +xdirname_r(const char *path, char *buf, size_t buflen) { - static char result[PATH_MAX]; - const char *lastp; + const char *endp; size_t len; /* * If `path' is a null pointer or points to an empty string, * return a pointer to the string ".". */ - if ((path == NULL) || (*path == '\0')) - goto singledot; - + if (path == NULL || *path == '\0') { + path = "."; + len = 1; + goto out; + } /* Strip trailing slashes, if any. */ - lastp = path + strlen(path) - 1; - while (lastp != path && *lastp == '/') - lastp--; - - /* Terminate path at the last occurence of '/'. */ - do { - if (*lastp == '/') { - /* Strip trailing slashes, if any. */ - while (lastp != path && *lastp == '/') - lastp--; - - /* ...and copy the result into the result buffer. */ - len = (lastp - path) + 1 /* last char */; - if (len > (PATH_MAX - 1)) - len = PATH_MAX - 1; - - memcpy(result, path, len); - result[len] = '\0'; - - return (result); - } - } while (--lastp >= path); - - /* No /'s found, return a pointer to the string ".". */ -singledot: - result[0] = '.'; - result[1] = '\0'; + endp = path + strlen(path) - 1; + while (endp != path && *endp == '/') + endp--; + + /* Find the start of the dir */ + while (endp > path && *endp != '/') + endp--; + + if (endp == path) { + path = *endp == '/' ? "/" : "."; + len = 1; + goto out; + } + + do + endp--; + while (endp > path && *endp == '/'); + + len = endp - path + 1; +out: + if (buf != NULL && buflen != 0) { + buflen = MIN(len, buflen - 1); + memcpy(buf, path, buflen); + buf[buflen] = '\0'; + } + return len; +} - return (result); +char * +dirname(char *path) +{ + static char result[PATH_MAX]; + (void)xdirname_r(path, result, sizeof(result)); + return result; } + +#ifdef MAIN +#include +#include + +int +main(int argc, char *argv[]) +{ + printf("%s\n", dirname(argv[1])); + exit(0); +} +#endif #endif Modified: vendor/NetBSD/bmake/dist/for.c ============================================================================== --- vendor/NetBSD/bmake/dist/for.c Fri Mar 11 00:23:10 2016 (r296634) +++ vendor/NetBSD/bmake/dist/for.c Fri Mar 11 00:37:02 2016 (r296635) @@ -1,4 +1,4 @@ -/* $NetBSD: for.c,v 1.50 2015/10/11 04:51:24 sjg Exp $ */ +/* $NetBSD: for.c,v 1.52 2016/02/18 18:29:14 christos Exp $ */ /* * Copyright (c) 1992, The Regents of the University of California. @@ -30,14 +30,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: for.c,v 1.50 2015/10/11 04:51:24 sjg Exp $"; +static char rcsid[] = "$NetBSD: for.c,v 1.52 2016/02/18 18:29:14 christos Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)for.c 8.1 (Berkeley) 6/6/93"; #else -__RCSID("$NetBSD: for.c,v 1.50 2015/10/11 04:51:24 sjg Exp $"); +__RCSID("$NetBSD: for.c,v 1.52 2016/02/18 18:29:14 christos Exp $"); #endif #endif /* not lint */ #endif @@ -216,7 +216,7 @@ For_Eval(char *line) * We can't do the escapes here - because we don't know whether * we are substuting into ${...} or $(...). */ - sub = Var_Subst(NULL, ptr, VAR_GLOBAL, FALSE, TRUE); + sub = Var_Subst(NULL, ptr, VAR_GLOBAL, VARF_WANTRES); /* * Split into words allowing for quoted strings. Modified: vendor/NetBSD/bmake/dist/getopt.c ============================================================================== --- vendor/NetBSD/bmake/dist/getopt.c Fri Mar 11 00:23:10 2016 (r296634) +++ vendor/NetBSD/bmake/dist/getopt.c Fri Mar 11 00:37:02 2016 (r296635) @@ -1,3 +1,5 @@ +/* $NetBSD: getopt.c,v 1.29 2014/06/05 22:00:22 christos Exp $ */ + /* * Copyright (c) 1987, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -10,11 +12,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors + * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * @@ -35,11 +33,7 @@ # include "config.h" #endif #if !defined(HAVE_GETOPT) || defined(WANT_GETOPT_LONG) || defined(BROKEN_GETOPT) - -#if defined(LIBC_SCCS) && !defined(lint) -/* static char sccsid[] = "from: @(#)getopt.c 8.2 (Berkeley) 4/2/94"; */ -static char *rcsid = "$Id: getopt.c,v 1.3 1999/01/08 02:14:18 sjg Exp $"; -#endif /* LIBC_SCCS and not lint */ +#include #include #include @@ -61,13 +55,10 @@ char *optarg; /* argument associated wi * Parse argc/argv argument vector. */ int -getopt(nargc, nargv, ostr) - int nargc; - char * const *nargv; - const char *ostr; +getopt(int nargc, char * const nargv[], const char *ostr) { extern char *__progname; - static char *place = EMSG; /* option letter processing */ + static const char *place = EMSG; /* option letter processing */ char *oli; /* option letter list index */ #ifndef BSD4_4 @@ -79,43 +70,63 @@ getopt(nargc, nargv, ostr) } #endif - if (optreset || !*place) { /* update scanning pointer */ + if (optreset || *place == 0) { /* update scanning pointer */ optreset = 0; - if (optind >= nargc || *(place = nargv[optind]) != '-') { + place = nargv[optind]; + if (optind >= nargc || *place++ != '-') { + /* Argument is absent or is not an option */ place = EMSG; return (-1); } - if (place[1] && *++place == '-' /* found "--" */ - && !place[1]) { /* and not "--foo" */ + optopt = *place++; + if (optopt == '-' && *place == 0) { + /* "--" => end of options */ ++optind; place = EMSG; return (-1); } - } /* option letter okay? */ - if ((optopt = (int)*place++) == (int)':' || - !(oli = strchr(ostr, optopt))) { - /* - * if the user didn't specify '-' as an option, - * assume it means -1. - */ - if (optopt == (int)'-') - return (-1); - if (!*place) + if (optopt == 0) { + /* Solitary '-', treat as a '-' option + if the program (eg su) is looking for it. */ + place = EMSG; + if (strchr(ostr, '-') == NULL) + return -1; + optopt = '-'; + } + } else + optopt = *place++; + + /* See if option letter is one the caller wanted... */ + if (optopt == ':' || (oli = strchr(ostr, optopt)) == NULL) { + if (*place == 0) ++optind; if (opterr && *ostr != ':') (void)fprintf(stderr, - "%s: illegal option -- %c\n", __progname, optopt); + "%s: unknown option -- %c\n", __progname, optopt); return (BADCH); } - if (*++oli != ':') { /* don't need argument */ + + /* Does this option need an argument? */ + if (oli[1] != ':') { + /* don't need argument */ optarg = NULL; - if (!*place) + if (*place == 0) ++optind; - } - else { /* need an argument */ - if (*place) /* no white space */ - optarg = place; - else if (nargc <= ++optind) { /* no arg */ + } else { + /* Option-argument is either the rest of this argument or the + entire next argument. */ + if (*place) + optarg = __UNCONST(place); + else if (oli[2] == ':') + /* + * GNU Extension, for optional arguments if the rest of + * the argument is empty, we return NULL + */ + optarg = NULL; + else if (nargc > ++optind) + optarg = nargv[optind]; + else { + /* option-argument absent */ place = EMSG; if (*ostr == ':') return (BADARG); @@ -125,12 +136,10 @@ getopt(nargc, nargv, ostr) __progname, optopt); return (BADCH); } - else /* white space */ - optarg = nargv[optind]; place = EMSG; ++optind; } - return (optopt); /* dump back option letter */ + return (optopt); /* return option letter */ } #endif *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Fri Mar 11 00:38:09 2016 Return-Path: Delivered-To: svn-src-all@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 E61F3ACCD5D; Fri, 11 Mar 2016 00:38:09 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9E9131CEC; Fri, 11 Mar 2016 00:38:09 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B0c83o075700; Fri, 11 Mar 2016 00:38:08 GMT (envelope-from sjg@FreeBSD.org) Received: (from sjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B0c8Ql075699; Fri, 11 Mar 2016 00:38:08 GMT (envelope-from sjg@FreeBSD.org) Message-Id: <201603110038.u2B0c8Ql075699@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sjg set sender to sjg@FreeBSD.org using -f From: "Simon J. Gerraty" Date: Fri, 11 Mar 2016 00:38:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296636 - vendor/NetBSD/bmake/20160307 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 00:38:10 -0000 Author: sjg Date: Fri Mar 11 00:38:08 2016 New Revision: 296636 URL: https://svnweb.freebsd.org/changeset/base/296636 Log: Tag bmake-20160307 Added: vendor/NetBSD/bmake/20160307/ - copied from r296635, vendor/NetBSD/bmake/dist/ From owner-svn-src-all@freebsd.org Fri Mar 11 01:35:42 2016 Return-Path: Delivered-To: svn-src-all@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 2EAB0ACB1A9; Fri, 11 Mar 2016 01:35:42 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C0DB88EF; Fri, 11 Mar 2016 01:35:41 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B1ZeTf001615; Fri, 11 Mar 2016 01:35:40 GMT (envelope-from sjg@FreeBSD.org) Received: (from sjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B1Zd8a001604; Fri, 11 Mar 2016 01:35:39 GMT (envelope-from sjg@FreeBSD.org) Message-Id: <201603110135.u2B1Zd8a001604@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sjg set sender to sjg@FreeBSD.org using -f From: "Simon J. Gerraty" Date: Fri, 11 Mar 2016 01:35:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296637 - in head: contrib/bmake contrib/bmake/mk contrib/bmake/unit-tests share/mk usr.bin/bmake X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 01:35:42 -0000 Author: sjg Date: Fri Mar 11 01:35:39 2016 New Revision: 296637 URL: https://svnweb.freebsd.org/changeset/base/296637 Log: Merge bmake-20160307 Modified: head/contrib/bmake/ChangeLog head/contrib/bmake/Makefile head/contrib/bmake/arch.c head/contrib/bmake/bmake.1 head/contrib/bmake/bmake.cat1 head/contrib/bmake/compat.c head/contrib/bmake/cond.c head/contrib/bmake/dirname.c head/contrib/bmake/for.c head/contrib/bmake/getopt.c head/contrib/bmake/job.c head/contrib/bmake/main.c head/contrib/bmake/make.1 head/contrib/bmake/make.c head/contrib/bmake/make.h head/contrib/bmake/meta.c head/contrib/bmake/meta.h head/contrib/bmake/mk/ChangeLog head/contrib/bmake/mk/auto.dep.mk head/contrib/bmake/mk/dirdeps.mk head/contrib/bmake/mk/gendirdeps.mk head/contrib/bmake/mk/install-mk head/contrib/bmake/mk/meta.autodep.mk head/contrib/bmake/mk/meta.stage.mk head/contrib/bmake/mk/meta.sys.mk head/contrib/bmake/mk/meta2deps.sh head/contrib/bmake/mk/sys.clean-env.mk head/contrib/bmake/mk/sys.dependfile.mk head/contrib/bmake/mk/warnings.mk head/contrib/bmake/nonints.h head/contrib/bmake/parse.c head/contrib/bmake/suff.c head/contrib/bmake/targ.c head/contrib/bmake/unit-tests/export-env.exp head/contrib/bmake/unit-tests/export-env.mk head/contrib/bmake/unit-tests/modts.exp head/contrib/bmake/unit-tests/modts.mk head/contrib/bmake/var.c head/share/mk/dirdeps.mk head/share/mk/gendirdeps.mk head/share/mk/meta.autodep.mk head/share/mk/meta.stage.mk head/share/mk/meta.sys.mk head/share/mk/sys.dependfile.mk head/usr.bin/bmake/Makefile Directory Properties: head/contrib/bmake/ (props changed) Modified: head/contrib/bmake/ChangeLog ============================================================================== --- head/contrib/bmake/ChangeLog Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/ChangeLog Fri Mar 11 01:35:39 2016 (r296637) @@ -1,3 +1,41 @@ +2016-03-07 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20160307 + Merge with NetBSD make, pick up + o var.c: fix :ts\nnn to be octal by default. + o meta.c: meta_finish() to cleanup memory. + +2016-02-26 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20160226 + Merge with NetBSD make, pick up + o meta.c: allow meta file for makeDepend if makefiles want it. + +2016-02-19 Simon J. Gerraty + + * var.c: default .MAKE.SAVE_DOLLARS to FALSE + for backwards compatability. + + * Makefile (MAKE_VERSION): 20160220 + Merge with NetBSD make, pick up + o var.c: add knob to control handling of '$$' in := + +2016-02-18 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20160218 + Merge with NetBSD make, pick up + o var.c: add .export-literal allows us to fix sys.clean-env.mk + post the changes to Var_Subst. + Var_Subst now takes flags, and does not consume '$$' in := + +2016-02-17 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20160217 + Merge with NetBSD make, pick up + o var.c: preserve '$$' in := + o parse.c: add .dinclude for handling included + makefile like .depend + 2015-12-20 Simon J. Gerraty * Makefile (MAKE_VERSION): 20151220 Modified: head/contrib/bmake/Makefile ============================================================================== --- head/contrib/bmake/Makefile Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/Makefile Fri Mar 11 01:35:39 2016 (r296637) @@ -1,7 +1,7 @@ -# $Id: Makefile,v 1.49 2015/12/20 22:54:40 sjg Exp $ +# $Id: Makefile,v 1.55 2016/03/07 22:02:47 sjg Exp $ # Base version on src date -MAKE_VERSION= 20151220 +MAKE_VERSION= 20160307 PROG= bmake Modified: head/contrib/bmake/arch.c ============================================================================== --- head/contrib/bmake/arch.c Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/arch.c Fri Mar 11 01:35:39 2016 (r296637) @@ -1,4 +1,4 @@ -/* $NetBSD: arch.c,v 1.64 2015/10/11 04:51:24 sjg Exp $ */ +/* $NetBSD: arch.c,v 1.68 2016/02/18 18:29:14 christos Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: arch.c,v 1.64 2015/10/11 04:51:24 sjg Exp $"; +static char rcsid[] = "$NetBSD: arch.c,v 1.68 2016/02/18 18:29:14 christos Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)arch.c 8.2 (Berkeley) 1/2/94"; #else -__RCSID("$NetBSD: arch.c,v 1.64 2015/10/11 04:51:24 sjg Exp $"); +__RCSID("$NetBSD: arch.c,v 1.68 2016/02/18 18:29:14 christos Exp $"); #endif #endif /* not lint */ #endif @@ -136,7 +136,6 @@ __RCSID("$NetBSD: arch.c,v 1.64 2015/10/ #include #include #include -#include #ifdef HAVE_AR_H #include #else @@ -156,7 +155,6 @@ struct ar_hdr { #if defined(HAVE_RANLIB_H) && !(defined(__ELF__) || defined(NO_RANLIB)) #include #endif -#include #include #include #ifdef HAVE_UTIME_H @@ -254,8 +252,7 @@ ArchFree(void *ap) free(Hash_GetValue(entry)); free(a->name); - if (a->fnametab) - free(a->fnametab); + free(a->fnametab); Hash_DeleteTable(&a->members); free(a); } @@ -310,9 +307,10 @@ Arch_ParseArchive(char **linePtr, Lst no void *freeIt; char *result; - result = Var_Parse(cp, ctxt, TRUE, TRUE, &length, &freeIt); - if (freeIt) - free(freeIt); + result = Var_Parse(cp, ctxt, VARF_UNDEFERR|VARF_WANTRES, + &length, &freeIt); + free(freeIt); + if (result == var_Error) { return(FAILURE); } else { @@ -325,7 +323,7 @@ Arch_ParseArchive(char **linePtr, Lst no *cp++ = '\0'; if (subLibName) { - libName = Var_Subst(NULL, libName, ctxt, TRUE, TRUE); + libName = Var_Subst(NULL, libName, ctxt, VARF_UNDEFERR|VARF_WANTRES); } @@ -351,9 +349,10 @@ Arch_ParseArchive(char **linePtr, Lst no void *freeIt; char *result; - result = Var_Parse(cp, ctxt, TRUE, TRUE, &length, &freeIt); - if (freeIt) - free(freeIt); + result = Var_Parse(cp, ctxt, VARF_UNDEFERR|VARF_WANTRES, + &length, &freeIt); + free(freeIt); + if (result == var_Error) { return(FAILURE); } else { @@ -404,7 +403,8 @@ Arch_ParseArchive(char **linePtr, Lst no char *oldMemName = memName; size_t sz; - memName = Var_Subst(NULL, memName, ctxt, TRUE, TRUE); + memName = Var_Subst(NULL, memName, ctxt, + VARF_UNDEFERR|VARF_WANTRES); /* * Now form an archive spec and recurse to deal with nested @@ -759,8 +759,7 @@ ArchStatMember(char *archive, char *memb badarch: fclose(arch); Hash_DeleteTable(&ar->members); - if (ar->fnametab) - free(ar->fnametab); + free(ar->fnametab); free(ar); return NULL; } @@ -1045,10 +1044,10 @@ Arch_Touch(GNode *gn) arch = ArchFindMember(Var_Value(ARCHIVE, gn, &p1), Var_Value(MEMBER, gn, &p2), &arh, "r+"); - if (p1) - free(p1); - if (p2) - free(p2); + + free(p1); + free(p2); + snprintf(arh.AR_DATE, sizeof(arh.AR_DATE), "%-12ld", (long) now); if (arch != NULL) { @@ -1127,10 +1126,9 @@ Arch_MTime(GNode *gn) arhPtr = ArchStatMember(Var_Value(ARCHIVE, gn, &p1), Var_Value(MEMBER, gn, &p2), TRUE); - if (p1) - free(p1); - if (p2) - free(p2); + + free(p1); + free(p2); if (arhPtr != NULL) { modTime = (time_t)strtol(arhPtr->AR_DATE, NULL, 10); Modified: head/contrib/bmake/bmake.1 ============================================================================== --- head/contrib/bmake/bmake.1 Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/bmake.1 Fri Mar 11 01:35:39 2016 (r296637) @@ -1,4 +1,4 @@ -.\" $NetBSD: make.1,v 1.249 2015/06/05 07:33:40 wiz Exp $ +.\" $NetBSD: make.1,v 1.254 2016/02/20 01:43:28 wiz Exp $ .\" .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" from: @(#)make.1 8.4 (Berkeley) 3/19/94 .\" -.Dd June 4, 2015 +.Dd February 19, 2016 .Dt MAKE 1 .Os .Sh NAME @@ -293,7 +293,7 @@ then will search for the specified file or directory named in the remaining part of the argument string. The search starts with the current directory of -the Makefile and then works upward towards the root of the filesystem. +the Makefile and then works upward towards the root of the file system. If the search is successful, then the resulting directory replaces the .Qq \&.../ specification in the @@ -868,7 +868,7 @@ This can be overridden by setting .Va bf to a value which represents True. .It Pa env -For debugging, it can be useful to inlcude the environment +For debugging, it can be useful to include the environment in the .meta file. .It Pa verbose If in "meta" mode, print a clue about the target being built. @@ -918,7 +918,7 @@ The default value is: This variable is used to record the names of variables assigned to on the command line, so that they may be exported as part of .Ql Ev MAKEFLAGS . -This behaviour can be disabled by assigning an empty value to +This behavior can be disabled by assigning an empty value to .Ql Va .MAKEOVERRIDES within a makefile. Extra variables can be exported from a makefile @@ -941,6 +941,19 @@ The process-id of .It Va .MAKE.PPID The parent process-id of .Nm . +.It Va .MAKE.SAVE_DOLLARS +value should be a boolean that controls whether +.Ql $$ +are preserved when doing +.Ql := +assignments. +The default is false, for backwards compatibility. +Set to true for compatability with other makes. +If set to false, +.Ql $$ +becomes +.Ql $ +per normal evaluation rules. .It Va MAKE_PRINT_VAR_ON_ERROR When .Nm @@ -1044,7 +1057,7 @@ sets to the value of .Ql Ev PWD instead. -This behaviour is disabled if +This behavior is disabled if .Ql Ev MAKEOBJDIRPREFIX is set or .Ql Ev MAKEOBJDIR @@ -1114,7 +1127,7 @@ The wildcard characters may be escaped w As a consequence of the way values are split into words, matched, and then joined, a construct like .Dl ${VAR:M*} -will normalise the inter-word spacing, removing all leading and +will normalize the inter-word spacing, removing all leading and trailing space, and converting multiple consecutive spaces to single spaces. . @@ -1134,7 +1147,7 @@ Randomize words in variable. The results will be different each time you are referring to the modified variable; use the assignment with expansion .Pq Ql Cm \&:= -to prevent such behaviour. +to prevent such behavior. For example, .Bd -literal -offset indent LIST= uno due tre quattro @@ -1166,7 +1179,7 @@ The value is a format string for using the current .Xr gmtime 3 . .It Cm \&:hash -Compute a 32bit hash of the value and encode it as hex digits. +Compute a 32-bit hash of the value and encode it as hex digits. .It Cm \&:localtime The value is a format string for .Xr strftime 3 , @@ -1444,7 +1457,7 @@ value is divided into words. .Pp Ordinarily, a value is treated as a sequence of words delimited by white space. -Some modifiers suppress this behaviour, +Some modifiers suppress this behavior, causing a value to be treated as a single word (possibly containing embedded white space). An empty value, or a value that consists entirely of white-space, @@ -1530,12 +1543,20 @@ For compatibility with other versions of .Nm .Ql include file ... is also accepted. +.Pp If the include statement is written as .Cm .-include or as .Cm .sinclude then errors locating and/or opening include files are ignored. .Pp +If the include statement is written as +.Cm .dinclude +not only are errors locating and/or opening include files ignored, +but stale dependencies within the included file will be ignored +just like +.Va .MAKE.DEPENDFILE . +.Pp Conditional expressions are also preceded by a single dot as the first character of a line. The possible conditionals are as follows: @@ -1571,6 +1592,10 @@ This allows exporting a value to the env used by .Nm internally. +.It Ic .export-literal Ar variable ... +The same as +.Ql .export-env , +except that variables in the value are not expanded. .It Ic .info Ar message The message is printed along with the name of the makefile and line number. .It Ic .undef Ar variable @@ -2068,7 +2093,7 @@ The sources are a set of pairs. .Bl -tag -width hasErrCtls .It Ar name -This is the minimal specification, used to select one of the builtin +This is the minimal specification, used to select one of the built-in shell specs; .Ar sh , .Ar ksh , Modified: head/contrib/bmake/bmake.cat1 ============================================================================== --- head/contrib/bmake/bmake.cat1 Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/bmake.cat1 Fri Mar 11 01:35:39 2016 (r296637) @@ -178,11 +178,11 @@ DDEESSCCRRIIPPTTIIOONN then bbmmaakkee will search for the specified file or directory named in the remaining part of the argument string. The search starts with the current directory of the Makefile and then works upward - towards the root of the filesystem. If the search is successful, - then the resulting directory replaces the ".../" specification in - the --mm argument. If used, this feature allows bbmmaakkee to easily - search in the current source tree for customized sys.mk files - (e.g., by using ".../mk/sys.mk" as an argument). + towards the root of the file system. If the search is success- + ful, then the resulting directory replaces the ".../" specifica- + tion in the --mm argument. If used, this feature allows bbmmaakkee to + easily search in the current source tree for customized sys.mk + files (e.g., by using ".../mk/sys.mk" as an argument). --nn Display the commands that would have been executed, but do not actually execute them unless the target depends on the .MAKE spe- @@ -543,7 +543,7 @@ VVAARRIIAABBLLEE AASSSSIIGG in `_._C_U_R_D_I_R'. This can be overridden by set- ting _b_f to a value which represents True. - _e_n_v For debugging, it can be useful to inlcude + _e_n_v For debugging, it can be useful to include the environment in the .meta file. _v_e_r_b_o_s_e If in "meta" mode, print a clue about the @@ -591,7 +591,7 @@ VVAARRIIAABBLLEE AASSSSIIGG _._M_A_K_E_O_V_E_R_R_I_D_E_S This variable is used to record the names of variables assigned to on the command line, so that they may be - exported as part of `MAKEFLAGS'. This behaviour can be + exported as part of `MAKEFLAGS'. This behavior can be disabled by assigning an empty value to `_._M_A_K_E_O_V_E_R_R_I_D_E_S' within a makefile. Extra variables can be exported from a makefile by appending their names to `_._M_A_K_E_O_V_E_R_R_I_D_E_S'. @@ -607,6 +607,13 @@ VVAARRIIAABBLLEE AASSSSIIGG _._M_A_K_E_._P_P_I_D The parent process-id of bbmmaakkee. + _._M_A_K_E_._S_A_V_E___D_O_L_L_A_R_S + value should be a boolean that controls whether `$$' are + preserved when doing `:=' assignments. The default is + false, for backwards compatibility. Set to true for com- + patability with other makes. If set to false, `$$' + becomes `$' per normal evaluation rules. + _M_A_K_E___P_R_I_N_T___V_A_R___O_N___E_R_R_O_R When bbmmaakkee stops due to an error, it prints its name and the value of `_._C_U_R_D_I_R' as well as the value of any vari- @@ -670,7 +677,7 @@ VVAARRIIAABBLLEE AASSSSIIGG sets `_._C_U_R_D_I_R' to the canonical path given by getcwd(3). However, if the environment variable `PWD' is set and gives a path to the current directory, then bbmmaakkee sets - `_._C_U_R_D_I_R' to the value of `PWD' instead. This behaviour + `_._C_U_R_D_I_R' to the value of `PWD' instead. This behavior is disabled if `MAKEOBJDIRPREFIX' is set or `MAKEOBJDIR' contains a variable transform. `PWD' is set to the value of `_._O_B_J_D_I_R' for all programs which bbmmaakkee executes. @@ -717,7 +724,7 @@ VVAARRIIAABBLLEE AASSSSIIGG of the way values are split into words, matched, and then joined, a construct like ${VAR:M*} - will normalise the inter-word spacing, removing all leading and + will normalize the inter-word spacing, removing all leading and trailing space, and converting multiple consecutive spaces to single spaces. @@ -730,7 +737,7 @@ VVAARRIIAABBLLEE AASSSSIIGG ::OOxx Randomize words in variable. The results will be different each time you are referring to the modified variable; use the assignment - with expansion (`::==') to prevent such behaviour. For example, + with expansion (`::==') to prevent such behavior. For example, LIST= uno due tre quattro RANDOM_LIST= ${LIST:Ox} @@ -758,7 +765,7 @@ VVAARRIIAABBLLEE AASSSSIIGG gmtime(3). ::hhaasshh - Compute a 32bit hash of the value and encode it as hex digits. + Compute a 32-bit hash of the value and encode it as hex digits. ::llooccaallttiimmee The value is a format string for strftime(3), using the current @@ -914,13 +921,13 @@ VVAARRIIAABBLLEE AASSSSIIGG tions related to the way in which the value is divided into words. Ordinarily, a value is treated as a sequence of words delimited by - white space. Some modifiers suppress this behaviour, causing a - value to be treated as a single word (possibly containing embedded - white space). An empty value, or a value that consists entirely of - white-space, is treated as a single word. For the purposes of the - `::[[]]' modifier, the words are indexed both forwards using positive - integers (where index 1 represents the first word), and backwards - using negative integers (where index -1 represents the last word). + white space. Some modifiers suppress this behavior, causing a value + to be treated as a single word (possibly containing embedded white + space). An empty value, or a value that consists entirely of white- + space, is treated as a single word. For the purposes of the `::[[]]' + modifier, the words are indexed both forwards using positive inte- + gers (where index 1 represents the first word), and backwards using + negative integers (where index -1 represents the last word). The _r_a_n_g_e is subjected to variable expansion, and the expanded result is then interpreted as follows: @@ -957,8 +964,14 @@ IINNCCLLUUDDEE SSTTAATTEEMM used, the including makefile's directory and any directories specified using the --II option are searched before the system makefile directory. For compatibility with other versions of bbmmaakkee `include file ...' is also - accepted. If the include statement is written as ..--iinncclluuddee or as - ..ssiinncclluuddee then errors locating and/or opening include files are ignored. + accepted. + + If the include statement is written as ..--iinncclluuddee or as ..ssiinncclluuddee then + errors locating and/or opening include files are ignored. + + If the include statement is written as ..ddiinncclluuddee not only are errors + locating and/or opening include files ignored, but stale dependencies + within the included file will be ignored just like _._M_A_K_E_._D_E_P_E_N_D_F_I_L_E. Conditional expressions are also preceded by a single dot as the first character of a line. The possible conditionals are as follows: @@ -982,6 +995,10 @@ IINNCCLLUUDDEE SSTTAATTEEMM to _._M_A_K_E_._E_X_P_O_R_T_E_D. This allows exporting a value to the environ- ment which is different from that used by bbmmaakkee internally. + ..eexxppoorrtt--lliitteerraall _v_a_r_i_a_b_l_e _._._. + The same as `.export-env', except that variables in the value are + not expanded. + ..iinnffoo _m_e_s_s_a_g_e The message is printed along with the name of the makefile and line number. @@ -1307,7 +1324,7 @@ SSPPEECCIIAALL TTAARRGGEETT sources are a set of _f_i_e_l_d_=_v_a_l_u_e pairs. _n_a_m_e This is the minimal specification, used to select - one of the builtin shell specs; _s_h, _k_s_h, and _c_s_h. + one of the built-in shell specs; _s_h, _k_s_h, and _c_s_h. _p_a_t_h Specifies the path to the shell. @@ -1452,4 +1469,4 @@ BBUUGGSS There is no way of escaping a space character in a filename. -NetBSD 5.1 June 4, 2015 NetBSD 5.1 +NetBSD 5.1 February 19, 2016 NetBSD 5.1 Modified: head/contrib/bmake/compat.c ============================================================================== --- head/contrib/bmake/compat.c Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/compat.c Fri Mar 11 01:35:39 2016 (r296637) @@ -1,4 +1,4 @@ -/* $NetBSD: compat.c,v 1.101 2015/10/11 04:51:24 sjg Exp $ */ +/* $NetBSD: compat.c,v 1.104 2016/02/18 18:29:14 christos Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: compat.c,v 1.101 2015/10/11 04:51:24 sjg Exp $"; +static char rcsid[] = "$NetBSD: compat.c,v 1.104 2016/02/18 18:29:14 christos Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)compat.c 8.2 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: compat.c,v 1.101 2015/10/11 04:51:24 sjg Exp $"); +__RCSID("$NetBSD: compat.c,v 1.104 2016/02/18 18:29:14 christos Exp $"); #endif #endif /* not lint */ #endif @@ -146,8 +146,8 @@ CompatInterrupt(int signo) if (!noExecute && eunlink(file) != -1) { Error("*** %s removed", file); } - if (p1) - free(p1); + + free(p1); /* * Run .INTERRUPT only if hit with interrupt signal @@ -213,7 +213,7 @@ CompatRunCommand(void *cmdp, void *gnp) doIt = FALSE; cmdNode = Lst_Member(gn->commands, cmd); - cmdStart = Var_Subst(NULL, cmd, gn, FALSE, TRUE); + cmdStart = Var_Subst(NULL, cmd, gn, VARF_WANTRES); /* * brk_string will return an argv with a NULL in av[0], thus causing @@ -374,10 +374,10 @@ again: execError("exec", av[0]); _exit(1); } - if (mav) - free(mav); - if (bp) - free(bp); + + free(mav); + free(bp); + Lst_Replace(cmdNode, NULL); #ifdef USE_META @@ -516,8 +516,7 @@ Compat_Make(void *gnp, void *pgnp) if (Lst_Member(gn->iParents, pgn) != NULL) { char *p1; Var_Set(IMPSRC, Var_Value(TARGET, gn, &p1), pgn, 0); - if (p1) - free(p1); + free(p1); } /* @@ -620,8 +619,7 @@ Compat_Make(void *gnp, void *pgnp) if (Lst_Member(gn->iParents, pgn) != NULL) { char *p1; Var_Set(IMPSRC, Var_Value(TARGET, gn, &p1), pgn, 0); - if (p1) - free(p1); + free(p1); } switch(gn->made) { case BEINGMADE: Modified: head/contrib/bmake/cond.c ============================================================================== --- head/contrib/bmake/cond.c Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/cond.c Fri Mar 11 01:35:39 2016 (r296637) @@ -1,4 +1,4 @@ -/* $NetBSD: cond.c,v 1.71 2015/12/02 00:28:24 sjg Exp $ */ +/* $NetBSD: cond.c,v 1.74 2016/02/18 18:29:14 christos Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: cond.c,v 1.71 2015/12/02 00:28:24 sjg Exp $"; +static char rcsid[] = "$NetBSD: cond.c,v 1.74 2016/02/18 18:29:14 christos Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)cond.c 8.2 (Berkeley) 1/2/94"; #else -__RCSID("$NetBSD: cond.c,v 1.71 2015/12/02 00:28:24 sjg Exp $"); +__RCSID("$NetBSD: cond.c,v 1.74 2016/02/18 18:29:14 christos Exp $"); #endif #endif /* not lint */ #endif @@ -289,10 +289,10 @@ CondGetArg(char **linePtr, char **argPtr int len; void *freeIt; - cp2 = Var_Parse(cp, VAR_CMD, TRUE, TRUE, &len, &freeIt); + cp2 = Var_Parse(cp, VAR_CMD, VARF_UNDEFERR|VARF_WANTRES, + &len, &freeIt); Buf_AddBytes(&buf, strlen(cp2), cp2); - if (freeIt) - free(freeIt); + free(freeIt); cp += len; continue; } @@ -346,8 +346,8 @@ CondDoDefined(int argLen MAKE_ATTR_UNUSE } else { result = FALSE; } - if (p1) - free(p1); + + free(p1); return (result); } @@ -574,8 +574,9 @@ CondGetString(Boolean doEval, Boolean *q break; case '$': /* if we are in quotes, then an undefined variable is ok */ - str = Var_Parse(condExpr, VAR_CMD, (qt ? 0 : doEval), - TRUE, &len, freeIt); + str = Var_Parse(condExpr, VAR_CMD, + ((!qt && doEval) ? VARF_UNDEFERR : 0) | + VARF_WANTRES, &len, freeIt); if (str == var_Error) { if (*freeIt) { free(*freeIt); @@ -805,10 +806,8 @@ do_string_compare: } done: - if (lhsFree) - free(lhsFree); - if (rhsFree) - free(rhsFree); + free(lhsFree); + free(rhsFree); return t; } @@ -827,7 +826,7 @@ get_mpt_arg(char **linePtr, char **argPt /* We do all the work here and return the result as the length */ *argPtr = NULL; - val = Var_Parse(cp - 1, VAR_CMD, FALSE, TRUE, &length, &freeIt); + val = Var_Parse(cp - 1, VAR_CMD, VARF_WANTRES, &length, &freeIt); /* * Advance *linePtr to beyond the closing ). Note that * we subtract one because 'length' is calculated from 'cp - 1'. @@ -848,8 +847,7 @@ get_mpt_arg(char **linePtr, char **argPt * true/false here. */ length = *val ? 2 : 1; - if (freeIt) - free(freeIt); + free(freeIt); return length; } @@ -900,8 +898,7 @@ compare_function(Boolean doEval) } /* Evaluate the argument using the required function. */ t = !doEval || fn_def->fn_proc(arglen, arg); - if (arg) - free(arg); + free(arg); condExpr = cp; return t; } @@ -933,8 +930,7 @@ compare_function(Boolean doEval) * be empty - even if it contained a variable expansion. */ t = !doEval || if_info->defProc(arglen, arg) != if_info->doNot; - if (arg) - free(arg); + free(arg); return t; } Modified: head/contrib/bmake/dirname.c ============================================================================== --- head/contrib/bmake/dirname.c Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/dirname.c Fri Mar 11 01:35:39 2016 (r296637) @@ -1,4 +1,4 @@ -/* $NetBSD: dirname.c,v 1.11 2009/11/24 13:34:20 tnozaki Exp $ */ +/* $NetBSD: dirname.c,v 1.13 2014/07/16 10:52:26 christos Exp $ */ /*- * Copyright (c) 1997, 2002 The NetBSD Foundation, Inc. @@ -35,7 +35,10 @@ #ifndef HAVE_DIRNAME #include - +#include +#ifdef HAVE_LIBGEN_H +#include +#endif #ifdef HAVE_LIMITS_H #include #endif @@ -45,51 +48,73 @@ #ifndef PATH_MAX # define PATH_MAX 1024 #endif +#ifndef MIN +# define MIN(a, b) ((a < b) ? a : b) +#endif -char * -dirname(char *path) + +static size_t +xdirname_r(const char *path, char *buf, size_t buflen) { - static char result[PATH_MAX]; - const char *lastp; + const char *endp; size_t len; /* * If `path' is a null pointer or points to an empty string, * return a pointer to the string ".". */ - if ((path == NULL) || (*path == '\0')) - goto singledot; - + if (path == NULL || *path == '\0') { + path = "."; + len = 1; + goto out; + } /* Strip trailing slashes, if any. */ - lastp = path + strlen(path) - 1; - while (lastp != path && *lastp == '/') - lastp--; - - /* Terminate path at the last occurence of '/'. */ - do { - if (*lastp == '/') { - /* Strip trailing slashes, if any. */ - while (lastp != path && *lastp == '/') - lastp--; - - /* ...and copy the result into the result buffer. */ - len = (lastp - path) + 1 /* last char */; - if (len > (PATH_MAX - 1)) - len = PATH_MAX - 1; - - memcpy(result, path, len); - result[len] = '\0'; - - return (result); - } - } while (--lastp >= path); - - /* No /'s found, return a pointer to the string ".". */ -singledot: - result[0] = '.'; - result[1] = '\0'; + endp = path + strlen(path) - 1; + while (endp != path && *endp == '/') + endp--; + + /* Find the start of the dir */ + while (endp > path && *endp != '/') + endp--; + + if (endp == path) { + path = *endp == '/' ? "/" : "."; + len = 1; + goto out; + } + + do + endp--; + while (endp > path && *endp == '/'); + + len = endp - path + 1; +out: + if (buf != NULL && buflen != 0) { + buflen = MIN(len, buflen - 1); + memcpy(buf, path, buflen); + buf[buflen] = '\0'; + } + return len; +} - return (result); +char * +dirname(char *path) +{ + static char result[PATH_MAX]; + (void)xdirname_r(path, result, sizeof(result)); + return result; } + +#ifdef MAIN +#include +#include + +int +main(int argc, char *argv[]) +{ + printf("%s\n", dirname(argv[1])); + exit(0); +} +#endif #endif Modified: head/contrib/bmake/for.c ============================================================================== --- head/contrib/bmake/for.c Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/for.c Fri Mar 11 01:35:39 2016 (r296637) @@ -1,4 +1,4 @@ -/* $NetBSD: for.c,v 1.50 2015/10/11 04:51:24 sjg Exp $ */ +/* $NetBSD: for.c,v 1.52 2016/02/18 18:29:14 christos Exp $ */ /* * Copyright (c) 1992, The Regents of the University of California. @@ -30,14 +30,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: for.c,v 1.50 2015/10/11 04:51:24 sjg Exp $"; +static char rcsid[] = "$NetBSD: for.c,v 1.52 2016/02/18 18:29:14 christos Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)for.c 8.1 (Berkeley) 6/6/93"; #else -__RCSID("$NetBSD: for.c,v 1.50 2015/10/11 04:51:24 sjg Exp $"); +__RCSID("$NetBSD: for.c,v 1.52 2016/02/18 18:29:14 christos Exp $"); #endif #endif /* not lint */ #endif @@ -216,7 +216,7 @@ For_Eval(char *line) * We can't do the escapes here - because we don't know whether * we are substuting into ${...} or $(...). */ - sub = Var_Subst(NULL, ptr, VAR_GLOBAL, FALSE, TRUE); + sub = Var_Subst(NULL, ptr, VAR_GLOBAL, VARF_WANTRES); /* * Split into words allowing for quoted strings. Modified: head/contrib/bmake/getopt.c ============================================================================== --- head/contrib/bmake/getopt.c Fri Mar 11 00:38:08 2016 (r296636) +++ head/contrib/bmake/getopt.c Fri Mar 11 01:35:39 2016 (r296637) @@ -1,3 +1,5 @@ +/* $NetBSD: getopt.c,v 1.29 2014/06/05 22:00:22 christos Exp $ */ + /* * Copyright (c) 1987, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -10,11 +12,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors + * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * @@ -35,11 +33,7 @@ # include "config.h" #endif #if !defined(HAVE_GETOPT) || defined(WANT_GETOPT_LONG) || defined(BROKEN_GETOPT) - -#if defined(LIBC_SCCS) && !defined(lint) -/* static char sccsid[] = "from: @(#)getopt.c 8.2 (Berkeley) 4/2/94"; */ -static char *rcsid = "$Id: getopt.c,v 1.3 1999/01/08 02:14:18 sjg Exp $"; -#endif /* LIBC_SCCS and not lint */ +#include #include #include @@ -61,13 +55,10 @@ char *optarg; /* argument associated wi * Parse argc/argv argument vector. */ int -getopt(nargc, nargv, ostr) - int nargc; - char * const *nargv; - const char *ostr; +getopt(int nargc, char * const nargv[], const char *ostr) { extern char *__progname; - static char *place = EMSG; /* option letter processing */ + static const char *place = EMSG; /* option letter processing */ char *oli; /* option letter list index */ #ifndef BSD4_4 @@ -79,43 +70,63 @@ getopt(nargc, nargv, ostr) } #endif - if (optreset || !*place) { /* update scanning pointer */ + if (optreset || *place == 0) { /* update scanning pointer */ optreset = 0; - if (optind >= nargc || *(place = nargv[optind]) != '-') { + place = nargv[optind]; + if (optind >= nargc || *place++ != '-') { + /* Argument is absent or is not an option */ place = EMSG; return (-1); } - if (place[1] && *++place == '-' /* found "--" */ - && !place[1]) { /* and not "--foo" */ + optopt = *place++; + if (optopt == '-' && *place == 0) { + /* "--" => end of options */ ++optind; place = EMSG; return (-1); } - } /* option letter okay? */ - if ((optopt = (int)*place++) == (int)':' || - !(oli = strchr(ostr, optopt))) { - /* - * if the user didn't specify '-' as an option, - * assume it means -1. - */ - if (optopt == (int)'-') - return (-1); - if (!*place) + if (optopt == 0) { + /* Solitary '-', treat as a '-' option + if the program (eg su) is looking for it. */ + place = EMSG; + if (strchr(ostr, '-') == NULL) + return -1; + optopt = '-'; + } + } else + optopt = *place++; + + /* See if option letter is one the caller wanted... */ + if (optopt == ':' || (oli = strchr(ostr, optopt)) == NULL) { + if (*place == 0) ++optind; if (opterr && *ostr != ':') (void)fprintf(stderr, - "%s: illegal option -- %c\n", __progname, optopt); + "%s: unknown option -- %c\n", __progname, optopt); return (BADCH); } - if (*++oli != ':') { /* don't need argument */ + + /* Does this option need an argument? */ + if (oli[1] != ':') { + /* don't need argument */ optarg = NULL; - if (!*place) + if (*place == 0) ++optind; - } - else { /* need an argument */ - if (*place) /* no white space */ - optarg = place; - else if (nargc <= ++optind) { /* no arg */ + } else { + /* Option-argument is either the rest of this argument or the + entire next argument. */ + if (*place) + optarg = __UNCONST(place); + else if (oli[2] == ':') + /* + * GNU Extension, for optional arguments if the rest of + * the argument is empty, we return NULL + */ + optarg = NULL; + else if (nargc > ++optind) + optarg = nargv[optind]; + else { + /* option-argument absent */ place = EMSG; if (*ostr == ':') return (BADARG); @@ -125,12 +136,10 @@ getopt(nargc, nargv, ostr) __progname, optopt); return (BADCH); } - else /* white space */ - optarg = nargv[optind]; place = EMSG; ++optind; } - return (optopt); /* dump back option letter */ + return (optopt); /* return option letter */ } #endif *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Fri Mar 11 01:39:30 2016 Return-Path: Delivered-To: svn-src-all@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 148A0ACB274; Fri, 11 Mar 2016 01:39:30 +0000 (UTC) (envelope-from jgh@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 D9462A7D; Fri, 11 Mar 2016 01:39:29 +0000 (UTC) (envelope-from jgh@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B1dS3S001770; Fri, 11 Mar 2016 01:39:28 GMT (envelope-from jgh@FreeBSD.org) Received: (from jgh@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B1dSnt001769; Fri, 11 Mar 2016 01:39:28 GMT (envelope-from jgh@FreeBSD.org) Message-Id: <201603110139.u2B1dSnt001769@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jgh set sender to jgh@FreeBSD.org using -f From: Jason Helfman Date: Fri, 11 Mar 2016 01:39:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296638 - stable/10/usr.sbin/portsnap/portsnap X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 01:39:30 -0000 Author: jgh (doc,ports committer) Date: Fri Mar 11 01:39:28 2016 New Revision: 296638 URL: https://svnweb.freebsd.org/changeset/base/296638 Log: MFC 296280: PR: 202971 Submitted by: adamw@FreeBSD.org Reviewed by: bdrewery@ Approved by: wblock@ MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D5429 Modified: stable/10/usr.sbin/portsnap/portsnap/portsnap.8 Modified: stable/10/usr.sbin/portsnap/portsnap/portsnap.8 ============================================================================== --- stable/10/usr.sbin/portsnap/portsnap/portsnap.8 Fri Mar 11 01:35:39 2016 (r296637) +++ stable/10/usr.sbin/portsnap/portsnap/portsnap.8 Fri Mar 11 01:39:28 2016 (r296638) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 14, 2012 +.Dd March 1, 2016 .Dt PORTSNAP 8 .Os FreeBSD .Sh NAME @@ -212,7 +212,7 @@ However, running .Fl I .Cm update is probably safe, and can be used together with -.Xr portversion 1 +.Xr pkg-version 8 to identify installed software which is out of date. .It If you wish to use @@ -260,6 +260,8 @@ Default location where the ports tree is .Xr fetch 1 , .Xr sha256 1 , .Xr fetch 3 , -.Xr portsnap.conf 5 +.Xr portsnap.conf 5 , +.Xr pkg 7 , +.Xr pkg-version 8 .Sh AUTHORS .An Colin Percival Aq cperciva@FreeBSD.org From owner-svn-src-all@freebsd.org Fri Mar 11 01:41:11 2016 Return-Path: Delivered-To: svn-src-all@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 0F9BDACB390; Fri, 11 Mar 2016 01:41:11 +0000 (UTC) (envelope-from jgh@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 D56F7D09; Fri, 11 Mar 2016 01:41:10 +0000 (UTC) (envelope-from jgh@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B1f9nl002524; Fri, 11 Mar 2016 01:41:09 GMT (envelope-from jgh@FreeBSD.org) Received: (from jgh@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B1f9BF002523; Fri, 11 Mar 2016 01:41:09 GMT (envelope-from jgh@FreeBSD.org) Message-Id: <201603110141.u2B1f9BF002523@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jgh set sender to jgh@FreeBSD.org using -f From: Jason Helfman Date: Fri, 11 Mar 2016 01:41:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296639 - stable/9/usr.sbin/portsnap/portsnap X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 01:41:11 -0000 Author: jgh (doc,ports committer) Date: Fri Mar 11 01:41:09 2016 New Revision: 296639 URL: https://svnweb.freebsd.org/changeset/base/296639 Log: MFC 296280: PR: 202971 Submitted by: adamw@FreeBSD.org Reviewed by: bdrewery@ Approved by: wblock@ MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D5429 Modified: stable/9/usr.sbin/portsnap/portsnap/portsnap.8 Modified: stable/9/usr.sbin/portsnap/portsnap/portsnap.8 ============================================================================== --- stable/9/usr.sbin/portsnap/portsnap/portsnap.8 Fri Mar 11 01:39:28 2016 (r296638) +++ stable/9/usr.sbin/portsnap/portsnap/portsnap.8 Fri Mar 11 01:41:09 2016 (r296639) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 28, 2012 +.Dd March 1, 2016 .Dt PORTSNAP 8 .Os FreeBSD .Sh NAME @@ -208,7 +208,7 @@ However, running .Fl I .Cm update is probably safe, and can be used together with -.Xr portversion 1 +.Xr pkg-version 8 to identify installed software which is out of date. .It If you wish to use @@ -256,6 +256,8 @@ Default location where the ports tree is .Xr fetch 1 , .Xr sha256 1 , .Xr fetch 3 , -.Xr portsnap.conf 5 +.Xr portsnap.conf 5 , +.Xr pkg 7 , +.Xr pkg-version 8 .Sh AUTHORS .An Colin Percival Aq cperciva@FreeBSD.org From owner-svn-src-all@freebsd.org Fri Mar 11 01:54:44 2016 Return-Path: Delivered-To: svn-src-all@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 CB43BACB8B6; Fri, 11 Mar 2016 01:54:44 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 82BFB3E7; Fri, 11 Mar 2016 01:54:44 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B1sh2F007658; Fri, 11 Mar 2016 01:54:43 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B1shxo007657; Fri, 11 Mar 2016 01:54:43 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603110154.u2B1shxo007657@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Fri, 11 Mar 2016 01:54:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296640 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 01:54:44 -0000 Author: np Date: Fri Mar 11 01:54:43 2016 New Revision: 296640 URL: https://svnweb.freebsd.org/changeset/base/296640 Log: cxgbe(4): Add a sysctl for the event capture mask of the TP block's logic analyzer. dev.t5nex..misc.tp_la_mask dev.t4nex..misc.tp_la_mask Modified: head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Fri Mar 11 01:41:09 2016 (r296639) +++ head/sys/dev/cxgbe/t4_main.c Fri Mar 11 01:54:43 2016 (r296640) @@ -476,6 +476,7 @@ static int sysctl_rdma_stats(SYSCTL_HAND static int sysctl_tcp_stats(SYSCTL_HANDLER_ARGS); static int sysctl_tids(SYSCTL_HANDLER_ARGS); static int sysctl_tp_err_stats(SYSCTL_HANDLER_ARGS); +static int sysctl_tp_la_mask(SYSCTL_HANDLER_ARGS); static int sysctl_tp_la(SYSCTL_HANDLER_ARGS); static int sysctl_tx_rate(SYSCTL_HANDLER_ARGS); static int sysctl_ulprx_la(SYSCTL_HANDLER_ARGS); @@ -4808,6 +4809,10 @@ t4_sysctls(struct adapter *sc) CTLTYPE_STRING | CTLFLAG_RD, sc, 0, sysctl_tp_err_stats, "A", "TP error statistics"); + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "tp_la_mask", + CTLTYPE_INT | CTLFLAG_RW, sc, 0, sysctl_tp_la_mask, "I", + "TP logic analyzer event capture mask"); + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "tp_la", CTLTYPE_STRING | CTLFLAG_RD, sc, 0, sysctl_tp_la, "A", "TP logic analyzer"); @@ -6994,6 +6999,26 @@ sysctl_tp_err_stats(SYSCTL_HANDLER_ARGS) return (rc); } +static int +sysctl_tp_la_mask(SYSCTL_HANDLER_ARGS) +{ + struct adapter *sc = arg1; + struct tp_params *tpp = &sc->params.tp; + u_int mask; + int rc; + + mask = tpp->la_mask >> 16; + rc = sysctl_handle_int(oidp, &mask, 0, req); + if (rc != 0 || req->newptr == NULL) + return (rc); + if (mask > 0xffff) + return (EINVAL); + tpp->la_mask = mask << 16; + t4_set_reg_field(sc, A_TP_DBG_LA_CONFIG, 0xffff0000U, tpp->la_mask); + + return (0); +} + struct field_desc { const char *name; u_int start; From owner-svn-src-all@freebsd.org Fri Mar 11 01:58:52 2016 Return-Path: Delivered-To: svn-src-all@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 DAFF9ACB9BB for ; Fri, 11 Mar 2016 01:58:52 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-io0-x22c.google.com (mail-io0-x22c.google.com [IPv6:2607:f8b0:4001:c06::22c]) (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 A4FF8812 for ; Fri, 11 Mar 2016 01:58:52 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-io0-x22c.google.com with SMTP id z76so128680384iof.3 for ; Thu, 10 Mar 2016 17:58:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=KRpyS46HbJ5wMazOzON5zYHt20Cbg9cCdemK1E/PB+Y=; b=pk9s+RvyjaZ1sd6zH19zu3TKX1x5BIEEakcvjQoHCheM3Ek9OY8gUYoe+NP+pTqtKW XkLFJKT8kZTJ2wtvI6C3/FNt78Gg0rv9DuOkTxfoI+rP7n+aHN/KHN6dCyEqeS2jDaJ9 cv7GGwrZ7h7Qkeuxfkk/GdVAY6ufYKflwcCr25C/mrNYk03rOQ5Hh2bvZkvnvFQdbnYo C48ue3KkEppWli4NrChPh+cjPqmzhBemGV7V3HavvtcyW1Z1xr3gMoE3zQeGwDqbiazo p5fm2LVSsskMNCv0wTx+gx5iW62rr+Rs7m6rZ6tgcxYyf3QE/2g9TtQcyx3tOSJLG9vS oSZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=KRpyS46HbJ5wMazOzON5zYHt20Cbg9cCdemK1E/PB+Y=; b=GOhQJ9SD8IzEzDgZIBGn+UcmMckl3+ggAkYpDdymD/d0fXxxdW02yHkAkUHZWs7TAX a+RD1VlthQ37tJV00P7ADr4ND6pzMBilG2LPmL8MRmCDflfHvNkDPqcJ+IsqreNs1ClI HHViao440QI4qWqXNrhZpZ1u2GbrrvruA/twcZ1SDnf0bciDfBdf4CTflWM1z39GkRXb V1tvZU2w1kFg0k/zZisYkkH1CK0tDdiXX9voc09v87/JB9bPxm2E8MOCxj+IcPdYGIP1 +bnO7siDm6hujiNwtwuUYz7k/pvlr4pvw8MTv9VbJI9gIKB+1EWz+NDHWlJj4JZKaUuC 6Ltg== X-Gm-Message-State: AD7BkJI+wVPai04TCn/d3SDpFvaVCHvrQYRAoj8186CcyrOwq/laiPvta1AYisqKAn0E8gpdubNwoRhj7uk4pA== MIME-Version: 1.0 X-Received: by 10.107.135.226 with SMTP id r95mr6618556ioi.59.1457661531688; Thu, 10 Mar 2016 17:58:51 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.230 with HTTP; Thu, 10 Mar 2016 17:58:50 -0800 (PST) X-Originating-IP: [2607:fb90:1908:151e:0:3d:6915:1701] Received: by 10.36.65.230 with HTTP; Thu, 10 Mar 2016 17:58:50 -0800 (PST) In-Reply-To: <56E1F72D.7000002@FreeBSD.org> References: <201603100033.u2A0X6uN027771@repo.freebsd.org> <56E1F72D.7000002@FreeBSD.org> Date: Thu, 10 Mar 2016 18:58:50 -0700 X-Google-Sender-Auth: 2DGlHHj_XPkNdGucvLrn7vtrT8s Message-ID: Subject: Re: svn commit: r296589 - head/sys/dev/fdc From: Warner Losh To: Bryan Drewery Cc: src-committers , svn-src-head@freebsd.org, svn-src-all@freebsd.org, Warner Losh Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 01:58:53 -0000 On Mar 10, 2016 3:37 PM, "Bryan Drewery" wrote: > > On 3/9/16 4:33 PM, Warner Losh wrote: > > Author: imp > > Date: Thu Mar 10 00:33:06 2016 > > New Revision: 296589 > > URL: https://svnweb.freebsd.org/changeset/base/296589 > > > > Log: > > Stop assuming that bio_cmd is a bit field. > > > > Differential Revision: https://reviews.freebsd.org/D5587 > > > > Modified: > > head/sys/dev/fdc/fdc.c > > > > Modified: head/sys/dev/fdc/fdc.c > > ============================================================================== > > --- head/sys/dev/fdc/fdc.c Thu Mar 10 00:27:10 2016 (r296588) > > +++ head/sys/dev/fdc/fdc.c Thu Mar 10 00:33:06 2016 (r296589) > > @@ -941,7 +941,7 @@ fdc_worker(struct fdc_data *fdc) > > /* Disable ISADMA if we bailed while it was active */ > > if (fd != NULL && (fd->flags & FD_ISADMA)) { > > isa_dmadone( > > - bp->bio_cmd & BIO_READ ? ISADMA_READ : ISADMA_WRITE, > > + bp->bio_cmd == BIO_READ ? ISADMA_READ : ISADMA_WRITE, > > I think we should have some kind of file (like ports CHANGES) that lists > subtle KPI changes. This and the bio bzero change were easily missed > and could lead to who-knows-what downstream for vendors or even > out-of-tree modules. True. However, these have never been documented one way or another.... And this change isn't a change yet... I'd love a kpi change file. This is but one of many. We'd need someone clueful to watch the tree and remind people to add things to it. I'm also working on documenting our storage api so that people know better what is defined, vs what's there and subject to change. > Btw there are some missed still: > > ./dev/mfi/mfi.c: switch (bio->bio_cmd & 0x03) { > ./dev/mfi/mfi.c: switch (bio->bio_cmd & 0x03) { That makes me sad. Code like that has never been guaranteed. Bare constants.... shudder. Warner From owner-svn-src-all@freebsd.org Fri Mar 11 03:05:52 2016 Return-Path: Delivered-To: svn-src-all@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 E0754ACCBC1; Fri, 11 Mar 2016 03:05:52 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-io0-x22b.google.com (mail-io0-x22b.google.com [IPv6:2607:f8b0:4001:c06::22b]) (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 A9BAB15AD; Fri, 11 Mar 2016 03:05:52 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-io0-x22b.google.com with SMTP id m184so130312225iof.1; Thu, 10 Mar 2016 19:05:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-transfer-encoding; bh=mQq8oXPEX49Sm+f/LD7zb4ToSb6dL+OfscDpaiMXuas=; b=0JHI8WaEl2oTy2Ck2hKxm4ysGjjXFaVDu/WhS+4Be/4RmR1WNG+fbh6r3XAs2BaPbM c9WdbWRwHagfMlHWgStoRmBvfys5JpBVBoSqsobyYmy83UoK8Ap4LP0fZhXQh4YWQTeP 0eQQS4pTmdHT3nJ5JbLbt3h4OL7983kJwBBErTdcNqwIDB2NVix/jFD/S6p5MstrUYxM rRjajN9OUcrEtywI/vOKOMQZ1dYP2KdcuG0uvsVeCi+0ADdx3ihYvLQAEYeNmcgezEFK 23pYZKibD6k0WWXDdIMbM0nOqyyF64pjiOUkM/c4+RgekfZWz6CUr/9AG13voitiXuiX TvtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc:content-transfer-encoding; bh=mQq8oXPEX49Sm+f/LD7zb4ToSb6dL+OfscDpaiMXuas=; b=gsKZC5UgbwvKBMHeXcNrMxnhnEJ11Kfb+d/IZjEI8whgARLkNVQXehDSvFj7XE9kPw uQJ5Eyg8GDeNmmt1JyIBaAIIn5ugD0owKsz2N6PGEsTlY5MFi2MMgbMSYTI3mPLBTpqx UzUZ0io9e1m7w3v7aMh6i4dymlC9Y/s/+Tlu1cjUnSLBoyWuQxS2vzIFjg7A2YqLTll3 0etxV9qQwWyxzozIlM9Hv8tv+qfSI09BFSh3SwAv5ZBm5yUQyx0FaIIWgt0YKDFt4moM XbCsnkzs8J2ThAGeom5+EIQtpz1TJfbI4zZiGk/AH36TDaR6qpjNwhy0pXRrJGnGHRFn HXVg== X-Gm-Message-State: AD7BkJLkYieJTB+tn8J93MrmfpBDpKL7cilKsBt7jWcx9s4EZccVbgAQJdRu0EfBKDHu22l7rU/UqkvOWSMtHA== X-Received: by 10.107.159.148 with SMTP id i142mr6774264ioe.29.1457665551753; Thu, 10 Mar 2016 19:05:51 -0800 (PST) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.39.66 with HTTP; Thu, 10 Mar 2016 19:05:32 -0800 (PST) In-Reply-To: <201603110015.u2B0FT5v065136@repo.freebsd.org> References: <201603110015.u2B0FT5v065136@repo.freebsd.org> From: Ed Maste Date: Fri, 11 Mar 2016 03:05:32 +0000 X-Google-Sender-Auth: YjVn-x3EumdoZAjQ2iw37EA4Ys4 Message-ID: Subject: Re: svn commit: r296633 - in head: crypto/openssh crypto/openssh/contrib crypto/openssh/contrib/redhat crypto/openssh/contrib/suse crypto/openssh/openbsd-compat crypto/openssh/regress crypto/openssh/re... To: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 03:05:53 -0000 On 11 March 2016 at 00:15, Dag-Erling Sm=C3=B8rgrav wrote= : > Author: des > Date: Fri Mar 11 00:15:29 2016 > New Revision: 296633 > URL: https://svnweb.freebsd.org/changeset/base/296633 > > Log: > Upgrade to OpenSSH 7.2p2. It looks like this broke mips: In file included from /scratch/tmp/emaste/freebsd/lib/libpam/modules/pam_ssh/../../../../crypto/o= penssh/key.h:29, from /scratch/tmp/emaste/freebsd/lib/libpam/modules/pam_ssh/pam_ssh.c:60: /scratch/tmp/emaste/freebsd/lib/libpam/modules/pam_ssh/../../../../crypto/o= penssh/sshkey.h:145: warning: '__bounded__' attribute directive ignored From owner-svn-src-all@freebsd.org Fri Mar 11 03:15:19 2016 Return-Path: Delivered-To: svn-src-all@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 59F7AACCEBF; Fri, 11 Mar 2016 03:15:19 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 349A61C12; Fri, 11 Mar 2016 03:15:19 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B3FIkV032214; Fri, 11 Mar 2016 03:15:18 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B3FIJR032211; Fri, 11 Mar 2016 03:15:18 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603110315.u2B3FIJR032211@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Fri, 11 Mar 2016 03:15:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296641 - in head/sys/dev/cxgbe: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 03:15:19 -0000 Author: np Date: Fri Mar 11 03:15:17 2016 New Revision: 296641 URL: https://svnweb.freebsd.org/changeset/base/296641 Log: cxgbe(4): Add sysctls to display the TP microcode version and the expansion rom version (if there's one). trantor:~# sysctl dev.t4nex dev.t5nex | grep _version dev.t4nex.0.firmware_version: 1.15.28.0 dev.t4nex.0.tp_version: 0.1.9.4 dev.t5nex.0.firmware_version: 1.15.28.0 dev.t5nex.0.exprom_version: 1.0.0.68 dev.t5nex.0.tp_version: 0.1.4.9 Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/common/common.h head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Fri Mar 11 01:54:43 2016 (r296640) +++ head/sys/dev/cxgbe/adapter.h Fri Mar 11 03:15:17 2016 (r296641) @@ -803,7 +803,9 @@ struct adapter { int tracer_valid; /* bitmap of valid tracers */ int tracer_enabled; /* bitmap of enabled tracers */ - char fw_version[32]; + char fw_version[16]; + char tp_version[16]; + char exprom_version[16]; char cfg_file[32]; u_int cfcsum; struct adapter_params params; Modified: head/sys/dev/cxgbe/common/common.h ============================================================================== --- head/sys/dev/cxgbe/common/common.h Fri Mar 11 01:54:43 2016 (r296640) +++ head/sys/dev/cxgbe/common/common.h Fri Mar 11 03:15:17 2016 (r296641) @@ -290,6 +290,7 @@ struct adapter_params { unsigned int fw_vers; unsigned int tp_vers; + unsigned int exprom_vers; unsigned short mtus[NMTUS]; unsigned short a_wnd[NCCTRL_WIN]; Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Fri Mar 11 01:54:43 2016 (r296640) +++ head/sys/dev/cxgbe/t4_main.c Fri Mar 11 03:15:17 2016 (r296641) @@ -2826,7 +2826,24 @@ prep_firmware(struct adapter *sc) G_FW_HDR_FW_VER_MINOR(sc->params.fw_vers), G_FW_HDR_FW_VER_MICRO(sc->params.fw_vers), G_FW_HDR_FW_VER_BUILD(sc->params.fw_vers)); + t4_get_tp_version(sc, &sc->params.tp_vers); + snprintf(sc->tp_version, sizeof(sc->tp_version), "%u.%u.%u.%u", + G_FW_HDR_FW_VER_MAJOR(sc->params.tp_vers), + G_FW_HDR_FW_VER_MINOR(sc->params.tp_vers), + G_FW_HDR_FW_VER_MICRO(sc->params.tp_vers), + G_FW_HDR_FW_VER_BUILD(sc->params.tp_vers)); + + if (t4_get_exprom_version(sc, &sc->params.exprom_vers) != 0) + sc->params.exprom_vers = 0; + else { + snprintf(sc->exprom_version, sizeof(sc->exprom_version), + "%u.%u.%u.%u", + G_FW_HDR_FW_VER_MAJOR(sc->params.exprom_vers), + G_FW_HDR_FW_VER_MINOR(sc->params.exprom_vers), + G_FW_HDR_FW_VER_MICRO(sc->params.exprom_vers), + G_FW_HDR_FW_VER_BUILD(sc->params.exprom_vers)); + } /* Reset device */ if (need_fw_reset && @@ -4594,6 +4611,14 @@ t4_sysctls(struct adapter *sc) SYSCTL_ADD_INT(ctx, children, OID_AUTO, "hw_revision", CTLFLAG_RD, NULL, chip_rev(sc), "chip hardware revision"); + SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "tp_version", + CTLFLAG_RD, sc->tp_version, 0, "TP microcode version"); + + if (sc->params.exprom_vers != 0) { + SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "exprom_version", + CTLFLAG_RD, sc->exprom_version, 0, "expansion ROM version"); + } + SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "firmware_version", CTLFLAG_RD, sc->fw_version, 0, "firmware version"); From owner-svn-src-all@freebsd.org Fri Mar 11 03:38:11 2016 Return-Path: Delivered-To: svn-src-all@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 E788BACB5C8; Fri, 11 Mar 2016 03:38:11 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 852116AE; Fri, 11 Mar 2016 03:38:11 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B3cABb038456; Fri, 11 Mar 2016 03:38:10 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B3cAvv038454; Fri, 11 Mar 2016 03:38:10 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603110338.u2B3cAvv038454@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 11 Mar 2016 03:38:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296642 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 03:38:12 -0000 Author: imp Date: Fri Mar 11 03:38:10 2016 New Revision: 296642 URL: https://svnweb.freebsd.org/changeset/base/296642 Log: Factor out lib32 generation to its own file. This is prep for a similar Makefile.libsoft which will do the same for armv6 soft fp API libraries in prep for pulling the trigger on moving to armv6 hard float. Once there's two files, I'll work with bdrewery@ to merge the two files as they are mostly the same. The high rate of churn for Makefile* makes it quite difficult to make progress out of tree. Differential Review: https://reviews.freebsd.org/D5566 Added: head/Makefile.lib32 - copied, changed from r296641, head/Makefile.inc1 Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Fri Mar 11 03:15:17 2016 (r296641) +++ head/Makefile.inc1 Fri Mar 11 03:38:10 2016 (r296642) @@ -454,70 +454,11 @@ XCXXFLAGS+= ${BFLAGS} .endif .endif # ${XCC:M/*} -WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} - .if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" -# 32 bit world -LIB32_OBJTREE= ${OBJTREE}${.CURDIR}/world32 -LIB32TMP= ${OBJTREE}${.CURDIR}/lib32 - -.if ${TARGET_ARCH} == "amd64" -.if empty(TARGET_CPUTYPE) -LIB32CPUFLAGS= -march=i686 -mmmx -msse -msse2 -.else -LIB32CPUFLAGS= -march=${TARGET_CPUTYPE} -.endif -LIB32WMAKEENV= MACHINE=i386 MACHINE_ARCH=i386 \ - MACHINE_CPU="i686 mmx sse sse2" -LIB32WMAKEFLAGS= \ - AS="${XAS} --32" \ - LD="${XLD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ - OBJCOPY="${XOBJCOPY}" - -.elif ${TARGET_ARCH} == "powerpc64" -.if empty(TARGET_CPUTYPE) -LIB32CPUFLAGS= -mcpu=powerpc -.else -LIB32CPUFLAGS= -mcpu=${TARGET_CPUTYPE} -.endif -LIB32WMAKEENV= MACHINE=powerpc MACHINE_ARCH=powerpc -LIB32WMAKEFLAGS= \ - LD="${XLD} -m elf32ppc_fbsd" \ - OBJCOPY="${XOBJCOPY}" +.include "Makefile.lib32" .endif - -LIB32FLAGS= -m32 ${LIB32CPUFLAGS} -DCOMPAT_32BIT \ - -isystem ${LIB32TMP}/usr/include/ \ - -L${LIB32TMP}/usr/lib32 \ - -B${LIB32TMP}/usr/lib32 -.if ${XCC:N${CCACHE_BIN}:M/*} -LIB32FLAGS+= --sysroot=${WORLDTMP} -.endif - -# Yes, the flags are redundant. -LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${LIB32_OBJTREE} \ - _LDSCRIPTROOT=${LIB32TMP} \ - INSTALL="sh ${.CURDIR}/tools/install.sh" \ - PATH=${TMPPATH} \ - LIBDIR=/usr/lib32 \ - SHLIBDIR=/usr/lib32 \ - DTRACE="${DTRACE} -32" -LIB32WMAKEFLAGS+= CC="${XCC} ${LIB32FLAGS}" \ - CXX="${XCXX} ${LIB32FLAGS}" \ - DESTDIR=${LIB32TMP} \ - -DCOMPAT_32BIT \ - -DLIBRARIES_ONLY \ - -DNO_CPU_CFLAGS \ - MK_CTF=no \ - -DNO_LINT \ - MK_TESTS=no - -LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \ - MK_MAN=no MK_HTML=no -LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \ - MK_TOOLCHAIN=no ${IMAKE_INSTALL} -.endif +WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} IMAKEENV= ${CROSSENV:N_LDSCRIPTROOT=*} IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 \ @@ -700,78 +641,6 @@ everything: @echo ">>> stage 4.4: building everything" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; _PARALLEL_SUBDIR_OK=1 ${WMAKE} all -.if defined(LIB32TMP) -build32: .PHONY - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 5.1: building 32 bit shim libraries" - @echo "--------------------------------------------------------------" - mkdir -p ${LIB32TMP}/usr/include - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ - -p ${LIB32TMP}/usr >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ - -p ${LIB32TMP}/usr/include >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ - -p ${LIB32TMP}/usr >/dev/null -.if ${MK_DEBUG_FILES} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ - -p ${LIB32TMP}/usr/lib >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ - -p ${LIB32TMP}/usr/lib/debug/usr >/dev/null -.endif - mkdir -p ${WORLDTMP} - ln -sf ${.CURDIR}/sys ${WORLDTMP} -.for _t in obj includes - ${_+_}cd ${.CURDIR}/include; ${LIB32WMAKE} DIRPRFX=include/ ${_t} - ${_+_}cd ${.CURDIR}/lib; ${LIB32WMAKE} DIRPRFX=lib/ ${_t} -.if ${MK_CDDL} != "no" - ${_+_}cd ${.CURDIR}/cddl/lib; ${LIB32WMAKE} DIRPRFX=cddl/lib/ ${_t} -.endif - ${_+_}cd ${.CURDIR}/gnu/lib; ${LIB32WMAKE} DIRPRFX=gnu/lib/ ${_t} -.if ${MK_CRYPT} != "no" - ${_+_}cd ${.CURDIR}/secure/lib; ${LIB32WMAKE} DIRPRFX=secure/lib/ ${_t} -.endif -.if ${MK_KERBEROS} != "no" - ${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIB32WMAKE} DIRPRFX=kerberos5/lib ${_t} -.endif -.endfor -.for _dir in usr.bin/lex/lib - ${_+_}cd ${.CURDIR}/${_dir}; ${LIB32WMAKE} DIRPRFX=${_dir}/ obj -.endfor -.for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic - ${_+_}cd ${.CURDIR}/${_dir}; \ - WORLDTMP=${WORLDTMP} \ - MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \ - MAKEOBJDIRPREFIX=${LIB32_OBJTREE} ${MAKE} SSP_CFLAGS= DESTDIR= \ - DIRPRFX=${_dir}/ -DNO_LINT -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ - build-tools -.endfor - ${_+_}cd ${.CURDIR}; \ - ${LIB32WMAKE} -f Makefile.inc1 -DNO_FSCHG libraries -.for _t in obj depend all - ${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32WMAKE} \ - -DNO_FSCHG DIRPRFX=libexec/rtld-elf/ ${_t} - ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32WMAKE} \ - DIRPRFX=usr.bin/ldd ${_t} -.endfor - -distribute32 install32: .MAKE .PHONY - ${_+_}cd ${.CURDIR}/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.if ${MK_CDDL} != "no" - ${_+_}cd ${.CURDIR}/cddl/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.endif - ${_+_}cd ${.CURDIR}/gnu/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.if ${MK_CRYPT} != "no" - ${_+_}cd ${.CURDIR}/secure/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.endif -.if ${MK_KERBEROS} != "no" - ${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.endif - ${_+_}cd ${.CURDIR}/libexec/rtld-elf; \ - PROG=ld-elf32.so.1 ${LIB32IMAKE} ${.TARGET:S/32$//} - ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32IMAKE} \ - ${.TARGET:S/32$//} -.endif WMAKE_TGTS= WMAKE_TGTS+= _worldtmp _legacy Copied and modified: head/Makefile.lib32 (from r296641, head/Makefile.inc1) ============================================================================== --- head/Makefile.inc1 Fri Mar 11 03:15:17 2016 (r296641, copy source) +++ head/Makefile.lib32 Fri Mar 11 03:38:10 2016 (r296642) @@ -1,462 +1,8 @@ -# # $FreeBSD$ -# -# Make command line options: -# -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir -# -DNO_CLEAN do not clean at all -# -DDB_FROM_SRC use the user/group databases in src/etc instead of -# the system database when installing. -# -DNO_SHARE do not go into share subdir -# -DKERNFAST define NO_KERNEL{CONFIG,CLEAN,DEPEND,OBJ} -# -DNO_KERNELCONFIG do not run config in ${MAKE} buildkernel -# -DNO_KERNELCLEAN do not run ${MAKE} clean in ${MAKE} buildkernel -# -DNO_KERNELDEPEND do not run ${MAKE} depend in ${MAKE} buildkernel -# -DNO_KERNELOBJ do not run ${MAKE} obj in ${MAKE} buildkernel -# -DNO_PORTSUPDATE do not update ports in ${MAKE} update -# -DNO_ROOT install without using root privilege -# -DNO_DOCUPDATE do not update doc in ${MAKE} update -# -DWITHOUT_CTF do not run the DTrace CTF conversion tools on built objects -# LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list -# LOCAL_ITOOLS="list of tools" to add additional tools to the ITOOLS list -# LOCAL_LIB_DIRS="list of dirs" to add additional dirs to libraries target -# LOCAL_MTREE="list of mtree files" to process to allow local directories -# to be created before files are installed -# LOCAL_TOOL_DIRS="list of dirs" to add additional dirs to the build-tools -# list -# METALOG="path to metadata log" to write permission and ownership -# when NO_ROOT is set. (default: ${DESTDIR}/METALOG) -# TARGET="machine" to crossbuild world for a different machine type -# TARGET_ARCH= may be required when a TARGET supports multiple endians -# BUILDENV_SHELL= shell to launch for the buildenv target (def:${SHELL}) -# WORLD_FLAGS= additional flags to pass to make(1) during buildworld -# KERNEL_FLAGS= additional flags to pass to make(1) during buildkernel -# SUBDIR_OVERRIDE="list of dirs" to build rather than everything. -# All libraries and includes, and some build tools will still build. -# -# The intended user-driven targets are: -# buildworld - rebuild *everything*, including glue to help do upgrades -# installworld- install everything built by "buildworld" -# checkworld - run test suite on installed world -# doxygen - build API documentation of the kernel -# update - convenient way to update your source tree (eg: svn/svnup) -# -# Standard targets (not defined here) are documented in the makefiles in -# /usr/share/mk. These include: -# obj depend all install clean cleandepend cleanobj +# Makefile for the 32-bit compat libraries on PowerPC and AMD64. +# could also be for mips, but that doesn't work today. -.if !defined(TARGET) || !defined(TARGET_ARCH) -.error "Both TARGET and TARGET_ARCH must be defined." -.endif - -LOCALBASE?= /usr/local - -# Cross toolchain changes must be in effect before bsd.compiler.mk -# so that gets the right CC, and pass CROSS_TOOLCHAIN to submakes. -.if defined(CROSS_TOOLCHAIN) -.include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk" -CROSSENV+=CROSS_TOOLCHAIN="${CROSS_TOOLCHAIN}" -.endif -.include # don't depend on src.opts.mk doing it -.include "share/mk/src.opts.mk" - -# We must do lib/ and libexec/ before bin/ in case of a mid-install error to -# keep the users system reasonably usable. For static->dynamic root upgrades, -# we don't want to install a dynamic binary without rtld and the needed -# libraries. More commonly, for dynamic root, we don't want to install a -# binary that requires a newer library version that hasn't been installed yet. -# This ordering is not a guarantee though. The only guarantee of a working -# system here would require fine-grained ordering of all components based -# on their dependencies. -SRCDIR?= ${.CURDIR} -.if !empty(SUBDIR_OVERRIDE) -SUBDIR= ${SUBDIR_OVERRIDE} -.else -SUBDIR= lib libexec -.if !defined(NO_ROOT) && (make(installworld) || make(install)) -# Ensure libraries are installed before progressing. -SUBDIR+=.WAIT -.endif -SUBDIR+=bin -.if ${MK_CDDL} != "no" -SUBDIR+=cddl -.endif -SUBDIR+=gnu include -.if ${MK_KERBEROS} != "no" -SUBDIR+=kerberos5 -.endif -.if ${MK_RESCUE} != "no" -SUBDIR+=rescue -.endif -SUBDIR+=sbin -.if ${MK_CRYPT} != "no" -SUBDIR+=secure -.endif -.if !defined(NO_SHARE) -SUBDIR+=share -.endif -SUBDIR+=sys usr.bin usr.sbin -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif -.if ${MK_OFED} != "no" -SUBDIR+=contrib/ofed -.endif - -# Local directories are last, since it is nice to at least get the base -# system rebuilt before you do them. -.for _DIR in ${LOCAL_DIRS} -.if exists(${.CURDIR}/${_DIR}/Makefile) -SUBDIR+= ${_DIR} -.endif -.endfor -# Add LOCAL_LIB_DIRS, but only if they will not be picked up as a SUBDIR -# of a LOCAL_DIRS directory. This allows LOCAL_DIRS=foo and -# LOCAL_LIB_DIRS=foo/lib to behave as expected. -.for _DIR in ${LOCAL_DIRS:M*/} ${LOCAL_DIRS:N*/:S|$|/|} -_REDUNDENT_LIB_DIRS+= ${LOCAL_LIB_DIRS:M${_DIR}*} -.endfor -.for _DIR in ${LOCAL_LIB_DIRS} -.if empty(_REDUNDENT_LIB_DIRS:M${_DIR}) && exists(${.CURDIR}/${_DIR}/Makefile) -SUBDIR+= ${_DIR} -.else -.warning ${_DIR} not added to SUBDIR list. See UPDATING 20141121. -.endif -.endfor - -# We must do etc/ last as it hooks into building the man whatis file -# by calling 'makedb' in share/man. This is only relevant for -# install/distribute so they build the whatis file after every manpage is -# installed. -.if make(installworld) || make(install) -SUBDIR+=.WAIT -.endif -SUBDIR+=etc - -.endif # !empty(SUBDIR_OVERRIDE) - -.if defined(NOCLEAN) -.warning NOCLEAN option is deprecated. Use NO_CLEAN instead. -NO_CLEAN= ${NOCLEAN} -.endif -.if defined(NO_CLEANDIR) -CLEANDIR= clean cleandepend -.else -CLEANDIR= cleandir -.endif - -# FAST_DEPEND can skip depend tree-walks. -.if ${MK_FAST_DEPEND} == "yes" -NO_DEPEND= t -NO_KERNELDEPEND=t -.endif -# Ensure shell checks later have a value. -.if defined(NO_DEPEND) -NO_DEPEND= t -.endif - -LOCAL_TOOL_DIRS?= -PACKAGEDIR?= ${DESTDIR}/${DISTDIR} - -.if empty(SHELL:M*csh*) -BUILDENV_SHELL?=${SHELL} -.else -BUILDENV_SHELL?=/bin/sh -.endif - -SVN?= /usr/local/bin/svn -SVNFLAGS?= -r HEAD - -MAKEOBJDIRPREFIX?= /usr/obj -.if !defined(OSRELDATE) -.if exists(/usr/include/osreldate.h) -OSRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \ - /usr/include/osreldate.h -.else -OSRELDATE= 0 -.endif -.export OSRELDATE -.endif - -# Set VERSION for CTFMERGE to use via the default CTFFLAGS=-L VERSION. -.if !defined(VERSION) -REVISION!= MK_AUTO_OBJ=no ${MAKE} -C ${SRCDIR}/release -V REVISION -BRANCH!= MK_AUTO_OBJ=no ${MAKE} -C ${SRCDIR}/release -V BRANCH -SRCRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \ - ${SRCDIR}/sys/sys/param.h -VERSION= FreeBSD ${REVISION}-${BRANCH:C/-p[0-9]+$//} ${TARGET_ARCH} ${SRCRELDATE} -.export VERSION -.endif - -KNOWN_ARCHES?= aarch64/arm64 \ - amd64 \ - arm \ - armeb/arm \ - armv6/arm \ - armv6hf/arm \ - i386 \ - i386/pc98 \ - mips \ - mipsel/mips \ - mips64el/mips \ - mips64/mips \ - mipsn32el/mips \ - mipsn32/mips \ - powerpc \ - powerpc64/powerpc \ - riscv64/riscv \ - sparc64 - -.if ${TARGET} == ${TARGET_ARCH} -_t= ${TARGET} -.else -_t= ${TARGET_ARCH}/${TARGET} -.endif -.for _t in ${_t} -.if empty(KNOWN_ARCHES:M${_t}) -.error Unknown target ${TARGET_ARCH}:${TARGET}. -.endif -.endfor - -.if ${TARGET} == ${MACHINE} -TARGET_CPUTYPE?=${CPUTYPE} -.else -TARGET_CPUTYPE?= -.endif - -.if !empty(TARGET_CPUTYPE) -_TARGET_CPUTYPE=${TARGET_CPUTYPE} -.else -_TARGET_CPUTYPE=dummy -.endif -_CPUTYPE!= MK_AUTO_OBJ=no MAKEFLAGS= CPUTYPE=${_TARGET_CPUTYPE} ${MAKE} \ - -f /dev/null -m ${.CURDIR}/share/mk -V CPUTYPE -.if ${_CPUTYPE} != ${_TARGET_CPUTYPE} -.error CPUTYPE global should be set with ?=. -.endif -.if make(buildworld) -BUILD_ARCH!= uname -p -.if ${MACHINE_ARCH} != ${BUILD_ARCH} -.error To cross-build, set TARGET_ARCH. -.endif -.endif -.if ${MACHINE} == ${TARGET} && ${MACHINE_ARCH} == ${TARGET_ARCH} && !defined(CROSS_BUILD_TESTING) -OBJTREE= ${MAKEOBJDIRPREFIX} -.else -OBJTREE= ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH} -.endif -WORLDTMP= ${OBJTREE}${.CURDIR}/tmp -BPATH= ${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin -XPATH= ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin -STRICTTMPPATH= ${BPATH}:${XPATH} -TMPPATH= ${STRICTTMPPATH}:${PATH} - -# -# Avoid running mktemp(1) unless actually needed. -# It may not be functional, e.g., due to new ABI -# when in the middle of installing over this system. -# -.if make(distributeworld) || make(installworld) -INSTALLTMP!= /usr/bin/mktemp -d -u -t install -.endif - -# -# Building a world goes through the following stages -# -# 1. legacy stage [BMAKE] -# This stage is responsible for creating compatibility -# shims that are needed by the bootstrap-tools, -# build-tools and cross-tools stages. These are generally -# APIs that tools from one of those three stages need to -# build that aren't present on the host. -# 1. bootstrap-tools stage [BMAKE] -# This stage is responsible for creating programs that -# are needed for backward compatibility reasons. They -# are not built as cross-tools. -# 2. build-tools stage [TMAKE] -# This stage is responsible for creating the object -# tree and building any tools that are needed during -# the build process. Some programs are listed during -# this phase because they build binaries to generate -# files needed to build these programs. This stage also -# builds the 'build-tools' target rather than 'all'. -# 3. cross-tools stage [XMAKE] -# This stage is responsible for creating any tools that -# are needed for building the system. A cross-compiler is one -# of them. This differs from build tools in two ways: -# 1. the 'all' target is built rather than 'build-tools' -# 2. these tools are installed into TMPPATH for stage 4. -# 4. world stage [WMAKE] -# This stage actually builds the world. -# 5. install stage (optional) [IMAKE] -# This stage installs a previously built world. -# - -BOOTSTRAPPING?= 0 - -# Common environment for world related stages -CROSSENV+= MAKEOBJDIRPREFIX=${OBJTREE} \ - MACHINE_ARCH=${TARGET_ARCH} \ - MACHINE=${TARGET} \ - CPUTYPE=${TARGET_CPUTYPE} -.if ${MK_GROFF} != "no" -CROSSENV+= GROFF_BIN_PATH=${WORLDTMP}/legacy/usr/bin \ - GROFF_FONT_PATH=${WORLDTMP}/legacy/usr/share/groff_font \ - GROFF_TMAC_PATH=${WORLDTMP}/legacy/usr/share/tmac -.endif -.if defined(TARGET_CFLAGS) -CROSSENV+= ${TARGET_CFLAGS} -.endif - -# bootstrap-tools stage -BMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ - PATH=${BPATH}:${PATH} \ - WORLDTMP=${WORLDTMP} \ - MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" -# need to keep this in sync with targets/pseudo/bootstrap-tools/Makefile -BSARGS= DESTDIR= \ - BOOTSTRAPPING=${OSRELDATE} \ - SSP_CFLAGS= \ - MK_HTML=no NO_LINT=yes MK_MAN=no \ - -DNO_PIC MK_PROFILE=no -DNO_SHARED \ - -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ - MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \ - MK_LLDB=no MK_TESTS=no \ - MK_INCLUDES=yes - -BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ - ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ - ${BSARGS} - -# build-tools stage -TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ - ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ - TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ - DESTDIR= \ - BOOTSTRAPPING=${OSRELDATE} \ - SSP_CFLAGS= \ - -DNO_LINT \ - -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ - MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \ - MK_LLDB=no MK_TESTS=no - -# cross-tools stage -XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ - TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ - MK_GDB=no MK_TESTS=no - -# kernel-tools stage -KTMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ - PATH=${BPATH}:${PATH} \ - WORLDTMP=${WORLDTMP} -KTMAKE= TOOLS_PREFIX=${WORLDTMP} MAKEOBJDIRPREFIX=${WORLDTMP} \ - ${KTMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ - DESTDIR= \ - BOOTSTRAPPING=${OSRELDATE} \ - SSP_CFLAGS= \ - MK_HTML=no -DNO_LINT MK_MAN=no \ - -DNO_PIC MK_PROFILE=no -DNO_SHARED \ - -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no - -# world stage -WMAKEENV= ${CROSSENV} \ - _LDSCRIPTROOT= \ - INSTALL="sh ${.CURDIR}/tools/install.sh" \ - PATH=${TMPPATH} - -# make hierarchy -HMAKE= PATH=${TMPPATH} ${MAKE} LOCAL_MTREE=${LOCAL_MTREE:Q} -.if defined(NO_ROOT) -HMAKE+= PATH=${TMPPATH} METALOG=${METALOG} -DNO_ROOT -.endif - -.if defined(CROSS_TOOLCHAIN_PREFIX) -CROSS_COMPILER_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} -CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} -.endif - -# If we do not have a bootstrap binutils (because the in-tree one does not -# support the target architecture), provide a default cross-binutils prefix. -# This allows aarch64 builds, for example, to automatically use the -# aarch64-binutils port or package. -.if !make(showconfig) -.if !empty(BROKEN_OPTIONS:MBINUTILS_BOOTSTRAP) && \ - !defined(CROSS_BINUTILS_PREFIX) -CROSS_BINUTILS_PREFIX=/usr/local/${TARGET_ARCH}-freebsd/bin/ -.if !exists(${CROSS_BINUTILS_PREFIX}) -.error In-tree binutils does not support the ${TARGET_ARCH} architecture. Install the ${TARGET_ARCH}-binutils port or package or set CROSS_BINUTILS_PREFIX. -.endif -.endif -.endif - -XCOMPILERS= CC CXX CPP -.for COMPILER in ${XCOMPILERS} -.if defined(CROSS_COMPILER_PREFIX) -X${COMPILER}?= ${CROSS_COMPILER_PREFIX}${${COMPILER}} -.else -X${COMPILER}?= ${${COMPILER}} -.endif -.endfor -XBINUTILS= AS AR LD NM OBJCOPY OBJDUMP RANLIB SIZE STRINGS -.for BINUTIL in ${XBINUTILS} -.if defined(CROSS_BINUTILS_PREFIX) && \ - exists(${CROSS_BINUTILS_PREFIX}${${BINUTIL}}) -X${BINUTIL}?= ${CROSS_BINUTILS_PREFIX}${${BINUTIL}} -.else -X${BINUTIL}?= ${${BINUTIL}} -.endif -.endfor -CROSSENV+= CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCFLAGS} ${XCXXFLAGS}" \ - DEPFLAGS="${DEPFLAGS}" \ - CPP="${XCPP} ${XCFLAGS}" \ - AS="${XAS}" AR="${XAR}" LD="${XLD}" NM=${XNM} \ - OBJDUMP=${XOBJDUMP} OBJCOPY="${XOBJCOPY}" \ - RANLIB=${XRANLIB} STRINGS=${XSTRINGS} \ - SIZE="${XSIZE}" - -.if ${XCC:N${CCACHE_BIN}:M/*} -.if defined(CROSS_BINUTILS_PREFIX) -# In the case of xdev-build tools, CROSS_BINUTILS_PREFIX won't be a -# directory, but the compiler will look in the right place for it's -# tools so we don't need to tell it where to look. -.if exists(${CROSS_BINUTILS_PREFIX}) -BFLAGS+= -B${CROSS_BINUTILS_PREFIX} -.endif -.else -BFLAGS+= -B${WORLDTMP}/usr/bin -.endif -.if ${TARGET} == "arm" -.if ${TARGET_ARCH:M*hf*} != "" -TARGET_ABI= gnueabihf -.else -TARGET_ABI= gnueabi -.endif -.endif -.if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc -XCFLAGS+= -isystem ${WORLDTMP}/usr/include -L${WORLDTMP}/usr/lib -XCXXFLAGS+= -I${WORLDTMP}/usr/include/c++/v1 -std=gnu++11 -L${WORLDTMP}/../lib/libc++ -# XXX: DEPFLAGS is a workaround for not properly passing CXXFLAGS to sub-makes -# due to CXX="${XCXX} ${XCXXFLAGS}". bsd.dep.mk does use CXXFLAGS when -# building C++ files so this can come out if passing CXXFLAGS down is fixed. -DEPFLAGS+= -I${WORLDTMP}/usr/include/c++/v1 -.else -TARGET_ABI?= unknown -TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0 -XCFLAGS+= -target ${TARGET_TRIPLE} -.endif -XCFLAGS+= --sysroot=${WORLDTMP} ${BFLAGS} -XCXXFLAGS+= --sysroot=${WORLDTMP} ${BFLAGS} -.else -.if defined(CROSS_BINUTILS_PREFIX) && exists(${CROSS_BINUTILS_PREFIX}) -BFLAGS+= -B${CROSS_BINUTILS_PREFIX} -XCFLAGS+= ${BFLAGS} -XCXXFLAGS+= ${BFLAGS} -.endif -.endif # ${XCC:M/*} - -WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} - -.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" # 32 bit world LIB32_OBJTREE= ${OBJTREE}${.CURDIR}/world32 LIB32TMP= ${OBJTREE}${.CURDIR}/lib32 @@ -517,190 +63,7 @@ LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${L MK_MAN=no MK_HTML=no LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \ MK_TOOLCHAIN=no ${IMAKE_INSTALL} -.endif - -IMAKEENV= ${CROSSENV:N_LDSCRIPTROOT=*} -IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 \ - ${IMAKE_INSTALL} ${IMAKE_MTREE} -.if empty(.MAKEFLAGS:M-n) -IMAKEENV+= PATH=${STRICTTMPPATH}:${INSTALLTMP} \ - LD_LIBRARY_PATH=${INSTALLTMP} \ - PATH_LOCALE=${INSTALLTMP}/locale -IMAKE+= __MAKE_SHELL=${INSTALLTMP}/sh -.else -IMAKEENV+= PATH=${TMPPATH}:${INSTALLTMP} -.endif -.if defined(DB_FROM_SRC) -INSTALLFLAGS+= -N ${.CURDIR}/etc -MTREEFLAGS+= -N ${.CURDIR}/etc -.endif -_INSTALL_DDIR= ${DESTDIR}/${DISTDIR} -INSTALL_DDIR= ${_INSTALL_DDIR:S://:/:g:C:/$::} -.if defined(NO_ROOT) -METALOG?= ${DESTDIR}/${DISTDIR}/METALOG -IMAKE+= -DNO_ROOT METALOG=${METALOG} -INSTALLFLAGS+= -U -M ${METALOG} -D ${INSTALL_DDIR} -MTREEFLAGS+= -W -.endif -.if defined(DB_FROM_SRC) || defined(NO_ROOT) -IMAKE_INSTALL= INSTALL="install ${INSTALLFLAGS}" -IMAKE_MTREE= MTREE_CMD="mtree ${MTREEFLAGS}" -.endif - -# kernel stage -KMAKEENV= ${WMAKEENV} -KMAKE= ${KMAKEENV} ${MAKE} ${.MAKEFLAGS} ${KERNEL_FLAGS} KERNEL=${INSTKERNNAME} -# -# buildworld -# -# Attempt to rebuild the entire system, with reasonable chance of -# success, regardless of how old your existing system is. -# -_worldtmp: .PHONY -.if ${.CURDIR:C/[^,]//g} != "" -# The m4 build of sendmail files doesn't like it if ',' is used -# anywhere in the path of it's files. - @echo - @echo "*** Error: path to source tree contains a comma ','" - @echo - false -.endif - @echo - @echo "--------------------------------------------------------------" - @echo ">>> Rebuilding the temporary build tree" - @echo "--------------------------------------------------------------" -.if !defined(NO_CLEAN) - rm -rf ${WORLDTMP} -.if defined(LIB32TMP) - rm -rf ${LIB32TMP} -.endif -.else - rm -rf ${WORLDTMP}/legacy/usr/include -# XXX - These can depend on any header file. - rm -f ${OBJTREE}${.CURDIR}/lib/libsysdecode/ioctl.c - rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/kdump_subr.c -.endif -.for _dir in \ - lib lib/casper usr legacy/bin legacy/usr - mkdir -p ${WORLDTMP}/${_dir} -.endfor - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ - -p ${WORLDTMP}/legacy/usr >/dev/null -.if ${MK_GROFF} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.groff.dist \ - -p ${WORLDTMP}/legacy/usr >/dev/null -.endif - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ - -p ${WORLDTMP}/usr >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ - -p ${WORLDTMP}/usr/include >/dev/null - ln -sf ${.CURDIR}/sys ${WORLDTMP} -.if ${MK_DEBUG_FILES} != "no" - # We could instead disable debug files for these build stages - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ - -p ${WORLDTMP}/legacy/usr/lib >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ - -p ${WORLDTMP}/usr/lib >/dev/null -.endif -.if ${MK_LIB32} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ - -p ${WORLDTMP}/usr >/dev/null -.if ${MK_DEBUG_FILES} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ - -p ${WORLDTMP}/legacy/usr/lib/debug/usr >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ - -p ${WORLDTMP}/usr/lib/debug/usr >/dev/null -.endif -.endif -.if ${MK_TESTS} != "no" - mkdir -p ${WORLDTMP}${TESTSBASE} - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \ - -p ${WORLDTMP}${TESTSBASE} >/dev/null -.if ${MK_DEBUG_FILES} != "no" - mkdir -p ${WORLDTMP}/usr/lib/debug/${TESTSBASE} - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \ - -p ${WORLDTMP}/usr/lib/debug/${TESTSBASE} >/dev/null -.endif -.endif -.for _mtree in ${LOCAL_MTREE} - mtree -deU -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null -.endfor -_legacy: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 1.1: legacy release compatibility shims" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${BMAKE} legacy -_bootstrap-tools: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 1.2: bootstrap tools" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${BMAKE} bootstrap-tools -_cleanobj: -.if !defined(NO_CLEAN) - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 2.1: cleaning up the object tree" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${WMAKE} ${CLEANDIR} -.if defined(LIB32TMP) - ${_+_}cd ${.CURDIR}; ${LIB32WMAKE} -f Makefile.inc1 ${CLEANDIR} -.endif -.endif -_obj: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 2.2: rebuilding the object tree" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${WMAKE} obj -_build-tools: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 2.3: build tools" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${TMAKE} build-tools -_cross-tools: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 3: cross tools" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${XMAKE} cross-tools - ${_+_}cd ${.CURDIR}; ${XMAKE} kernel-tools -_includes: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 4.1: building includes" - @echo "--------------------------------------------------------------" -# Special handling for SUBDIR_OVERRIDE in buildworld as they most likely need -# headers from default SUBDIR. Do SUBDIR_OVERRIDE includes last. - ${_+_}cd ${.CURDIR}; ${WMAKE} SUBDIR_OVERRIDE= SHARED=symlinks \ - includes -.if !empty(SUBDIR_OVERRIDE) && make(buildworld) - ${_+_}cd ${.CURDIR}; ${WMAKE} SHARED=symlinks includes -.endif -_libraries: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 4.2: building libraries" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; \ - ${WMAKE} -DNO_FSCHG MK_HTML=no -DNO_LINT MK_MAN=no \ - MK_PROFILE=no MK_TESTS=no MK_TESTS_SUPPORT=${MK_TESTS} libraries -_depend: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 4.3: make dependencies" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${WMAKE} depend -everything: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> stage 4.4: building everything" - @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; _PARALLEL_SUBDIR_OK=1 ${WMAKE} all -.if defined(LIB32TMP) build32: .PHONY @echo @echo "--------------------------------------------------------------" @@ -771,1685 +134,3 @@ distribute32 install32: .MAKE .PHONY PROG=ld-elf32.so.1 ${LIB32IMAKE} ${.TARGET:S/32$//} ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32IMAKE} \ ${.TARGET:S/32$//} -.endif - -WMAKE_TGTS= -WMAKE_TGTS+= _worldtmp _legacy -.if empty(SUBDIR_OVERRIDE) -WMAKE_TGTS+= _bootstrap-tools -.endif -WMAKE_TGTS+= _cleanobj _obj _build-tools _cross-tools -WMAKE_TGTS+= _includes _libraries -.if !defined(NO_DEPEND) -WMAKE_TGTS+= _depend -.endif -WMAKE_TGTS+= everything -.if defined(LIB32TMP) && ${MK_LIB32} != "no" && empty(SUBDIR_OVERRIDE) -WMAKE_TGTS+= build32 -.endif - -buildworld: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue -.ORDER: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue - -buildworld_prologue: - @echo "--------------------------------------------------------------" - @echo ">>> World build started on `LC_ALL=C date`" - @echo "--------------------------------------------------------------" - -buildworld_epilogue: - @echo - @echo "--------------------------------------------------------------" - @echo ">>> World build completed on `LC_ALL=C date`" - @echo "--------------------------------------------------------------" - -# -# We need to have this as a target because the indirection between Makefile -# and Makefile.inc1 causes the correct PATH to be used, rather than a -# modification of the current environment's PATH. In addition, we need -# to quote multiword values. -# -buildenvvars: .PHONY - @echo ${WMAKEENV:Q} ${.MAKE.EXPORTED:@v@$v=\"${$v}\"@} - -.if ${.TARGETS:Mbuildenv} -.if ${.MAKEFLAGS:M-j} -.error The buildenv target is incompatible with -j -.endif -.endif -BUILDENV_DIR?= ${.CURDIR} -buildenv: .PHONY - @echo Entering world for ${TARGET_ARCH}:${TARGET} -.if ${BUILDENV_SHELL:M*zsh*} - @echo For ZSH you must run: export CPUTYPE=${TARGET_CPUTYPE} -.endif - @cd ${BUILDENV_DIR} && env ${WMAKEENV} BUILDENV=1 ${BUILDENV_SHELL} \ - || true - -TOOLCHAIN_TGTS= ${WMAKE_TGTS:N_depend:Neverything:Nbuild32} -toolchain: ${TOOLCHAIN_TGTS} -kernel-toolchain: ${TOOLCHAIN_TGTS:N_includes:N_libraries} - -# -# installcheck -# -# Checks to be sure system is ready for installworld/installkernel. -# -installcheck: _installcheck_world _installcheck_kernel -_installcheck_world: -_installcheck_kernel: - -# -# Require DESTDIR to be set if installing for a different architecture or -# using the user/group database in the source tree. -# -.if ${TARGET_ARCH} != ${MACHINE_ARCH} || ${TARGET} != ${MACHINE} || \ - defined(DB_FROM_SRC) -.if !make(distributeworld) -_installcheck_world: __installcheck_DESTDIR -_installcheck_kernel: __installcheck_DESTDIR -__installcheck_DESTDIR: -.if !defined(DESTDIR) || empty(DESTDIR) - @echo "ERROR: Please set DESTDIR!"; \ - false -.endif -.endif -.endif - -.if !defined(DB_FROM_SRC) -# -# Check for missing UIDs/GIDs. -# -CHECK_UIDS= auditdistd -CHECK_GIDS= audit -.if ${MK_SENDMAIL} != "no" -CHECK_UIDS+= smmsp -CHECK_GIDS+= smmsp -.endif -.if ${MK_PF} != "no" -CHECK_UIDS+= proxy -CHECK_GIDS+= proxy authpf -.endif -.if ${MK_UNBOUND} != "no" -CHECK_UIDS+= unbound -CHECK_GIDS+= unbound -.endif -_installcheck_world: __installcheck_UGID -__installcheck_UGID: -.for uid in ${CHECK_UIDS} - @if ! `id -u ${uid} >/dev/null 2>&1`; then \ - echo "ERROR: Required ${uid} user is missing, see /usr/src/UPDATING."; \ - false; \ - fi -.endfor -.for gid in ${CHECK_GIDS} - @if ! `find / -prune -group ${gid} >/dev/null 2>&1`; then \ - echo "ERROR: Required ${gid} group is missing, see /usr/src/UPDATING."; \ - false; \ - fi -.endfor -.endif - -# -# Required install tools to be saved in a scratch dir for safety. -# -.if ${MK_ZONEINFO} != "no" -_zoneinfo= zic tzsetup -.endif - -ITOOLS= [ awk cap_mkdb cat chflags chmod chown cmp cp \ - date echo egrep find grep id install ${_install-info} \ - ln make mkdir mtree mv pwd_mkdb \ - rm sed services_mkdb sh strip sysctl test true uname wc ${_zoneinfo} \ - ${LOCAL_ITOOLS} - -# Needed for share/man -.if ${MK_MAN} != "no" -ITOOLS+=makewhatis -.endif - -# -# distributeworld -# -# Distributes everything compiled by a `buildworld'. -# -# installworld -# -# Installs everything compiled by a 'buildworld'. -# - -# Non-base distributions produced by the base system -EXTRA_DISTRIBUTIONS= doc -.if defined(LIB32TMP) && ${MK_LIB32} != "no" -EXTRA_DISTRIBUTIONS+= lib32 -.endif -.if ${MK_TESTS} != "no" -EXTRA_DISTRIBUTIONS+= tests -.endif - -DEBUG_DISTRIBUTIONS= -.if ${MK_DEBUG_FILES} != "no" -DEBUG_DISTRIBUTIONS+= base ${EXTRA_DISTRIBUTIONS:S,doc,,:S,tests,,} -.endif - -MTREE_MAGIC?= mtree 2.0 - -distributeworld installworld: _installcheck_world - mkdir -p ${INSTALLTMP} - progs=$$(for prog in ${ITOOLS}; do \ - if progpath=`which $$prog`; then \ - echo $$progpath; \ - else \ - echo "Required tool $$prog not found in PATH." >&2; \ - exit 1; \ - fi; \ - done); \ - libs=$$(ldd -f "%o %p\n" -f "%o %p\n" $$progs 2>/dev/null | sort -u | \ - while read line; do \ - set -- $$line; \ - if [ "$$2 $$3" != "not found" ]; then \ - echo $$2; \ - else \ - echo "Required library $$1 not found." >&2; \ - exit 1; \ - fi; \ - done); \ - cp $$libs $$progs ${INSTALLTMP} - cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Fri Mar 11 04:04:59 2016 Return-Path: Delivered-To: svn-src-all@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 F0737ACBD98; Fri, 11 Mar 2016 04:04:59 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id D83EA1258; Fri, 11 Mar 2016 04:04:59 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id CFD671C43; Fri, 11 Mar 2016 04:04:59 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 90C301E26B; Fri, 11 Mar 2016 04:04:59 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id rhSZIuE_0_nZ; Fri, 11 Mar 2016 04:04:57 +0000 (UTC) Subject: Re: svn commit: r296637 - in head: contrib/bmake contrib/bmake/mk contrib/bmake/unit-tests share/mk usr.bin/bmake DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 795FF1E264 To: "Simon J. Gerraty" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603110135.u2B1Zd8a001604@repo.freebsd.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E243ED.5050803@FreeBSD.org> Date: Thu, 10 Mar 2016 20:05:01 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603110135.u2B1Zd8a001604@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="l1UJifSEjGMAoGusOL6UdKsXfj5tUaB3K" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:05:00 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --l1UJifSEjGMAoGusOL6UdKsXfj5tUaB3K Content-Type: multipart/mixed; boundary="mnX4cF8gTwtSFj2rsujSuumDwlCi5POWp" From: Bryan Drewery To: "Simon J. Gerraty" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <56E243ED.5050803@FreeBSD.org> Subject: Re: svn commit: r296637 - in head: contrib/bmake contrib/bmake/mk contrib/bmake/unit-tests share/mk usr.bin/bmake References: <201603110135.u2B1Zd8a001604@repo.freebsd.org> In-Reply-To: <201603110135.u2B1Zd8a001604@repo.freebsd.org> --mnX4cF8gTwtSFj2rsujSuumDwlCi5POWp Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/10/2016 5:35 PM, Simon J. Gerraty wrote: > Author: sjg > Date: Fri Mar 11 01:35:39 2016 > New Revision: 296637 > URL: https://svnweb.freebsd.org/changeset/base/296637 >=20 > Log: > Merge bmake-20160307 >=20 > Modified: > head/contrib/bmake/ChangeLog > head/contrib/bmake/Makefile =2E.. > head/usr.bin/bmake/Makefile > ~/git/freebsd # head usr.bin/bmake/Makefile > # This is a generated file, do NOT edit! > # See contrib/bmake/bsd.after-import.mk Is this still true? I have to rename MAKE_VERSION in usr.bin/bmake/Makefile because it is colliding with the built-in MAKE_VERSION breaking my upgrade checks in bsd.dep.mk when trying to build the new bmake itself. --=20 Regards, Bryan Drewery --mnX4cF8gTwtSFj2rsujSuumDwlCi5POWp-- --l1UJifSEjGMAoGusOL6UdKsXfj5tUaB3K Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW4kPtAAoJEDXXcbtuRpfPbTYH/AnLQzM1LzE79c6tpLptxwCW G8OpypSnlkXL2yF/OXY5COJ4Qs7z0xcWonbqB0z2/qR9XuBO6ue662Qx0eVtppUB sDPNtVWiztr2j71EH3s4IHLWXOSpO6WMw0ifL6bcQg3y9+Bg0wReGPpOV5qMaMoy 38wjDFaFlPXe3dKpyqfekHwzmZF1iA2udLlaB81yz4xCPZmmSQXaQ3x6j2TfKxrh 17Twam4Dqm8H2seFWEA1IHtuOdld/ws8QVpHh4GzyQCgx4bYTuOivg0ql8UAZhkR SnsTobiu5H0lWQHgH0dExkVb18gOQOwbcClzXyDTYEACqh41AQ8YUgiWJZ8ncys= =EUsO -----END PGP SIGNATURE----- --l1UJifSEjGMAoGusOL6UdKsXfj5tUaB3K-- From owner-svn-src-all@freebsd.org Fri Mar 11 04:09:48 2016 Return-Path: Delivered-To: svn-src-all@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 9578AACBF3C; Fri, 11 Mar 2016 04:09:48 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6670B14EB; Fri, 11 Mar 2016 04:09:48 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B49lA9047493; Fri, 11 Mar 2016 04:09:47 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B49lGF047492; Fri, 11 Mar 2016 04:09:47 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603110409.u2B49lGF047492@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 04:09:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296643 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:09:48 -0000 Author: bdrewery Date: Fri Mar 11 04:09:47 2016 New Revision: 296643 URL: https://svnweb.freebsd.org/changeset/base/296643 Log: Fix make -n upgrade_checks. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/Makefile Modified: head/Makefile ============================================================================== --- head/Makefile Fri Mar 11 03:38:10 2016 (r296642) +++ head/Makefile Fri Mar 11 04:09:47 2016 (r296643) @@ -301,7 +301,7 @@ kernel: buildkernel installkernel upgrade_checks: .if ${HAVE_MAKE} != ${WANT_MAKE} || \ (defined(WANT_MAKE_VERSION) && ${MAKE_VERSION} < ${WANT_MAKE_VERSION}) - @(cd ${.CURDIR} && ${MAKE} ${WANT_MAKE:S,^f,,}) + @${_+_}(cd ${.CURDIR} && ${MAKE} ${WANT_MAKE:S,^f,,}) .endif # From owner-svn-src-all@freebsd.org Fri Mar 11 04:09:51 2016 Return-Path: Delivered-To: svn-src-all@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 9A09BACBF61; Fri, 11 Mar 2016 04:09:51 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6ABB414EF; Fri, 11 Mar 2016 04:09:51 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B49oIx047538; Fri, 11 Mar 2016 04:09:50 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B49oRf047537; Fri, 11 Mar 2016 04:09:50 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603110409.u2B49oRf047537@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 04:09:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296644 - head/usr.bin/bmake X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:09:51 -0000 Author: bdrewery Date: Fri Mar 11 04:09:50 2016 New Revision: 296644 URL: https://svnweb.freebsd.org/changeset/base/296644 Log: Fix upgrade of bmake by not setting conflicting MAKE_VERSION. This may be used in later checks, such as in bsd.dep.mk, to enable features that rely on the built-in value. Sponsored by: EMC / Isilon Storage Division Modified: head/usr.bin/bmake/Makefile Modified: head/usr.bin/bmake/Makefile ============================================================================== --- head/usr.bin/bmake/Makefile Fri Mar 11 04:09:47 2016 (r296643) +++ head/usr.bin/bmake/Makefile Fri Mar 11 04:09:50 2016 (r296644) @@ -17,7 +17,7 @@ CLEANFILES+= bootstrap # $Id: Makefile,v 1.55 2016/03/07 22:02:47 sjg Exp $ # Base version on src date -MAKE_VERSION= 20160307 +_MAKE_VERSION= 20160307 PROG?= ${.CURDIR:T} @@ -92,7 +92,7 @@ CFLAGS+= ${CPPFLAGS} CFLAGS+= -D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\" CFLAGS+= -I. -I${srcdir} ${XDEFS} -DMAKE_NATIVE CFLAGS+= ${COPTS.${.ALLSRC:M*.c:T:u}} -COPTS.main.c+= "-DMAKE_VERSION=\"${MAKE_VERSION}\"" +COPTS.main.c+= "-DMAKE_VERSION=\"${_MAKE_VERSION}\"" # meta mode can be useful even without filemon FILEMON_H ?= /usr/include/dev/filemon/filemon.h From owner-svn-src-all@freebsd.org Fri Mar 11 04:09:54 2016 Return-Path: Delivered-To: svn-src-all@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 8D4F4ACBF7D; Fri, 11 Mar 2016 04:09:54 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3F72F15CA; Fri, 11 Mar 2016 04:09:54 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B49rcp047584; Fri, 11 Mar 2016 04:09:53 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B49rYD047583; Fri, 11 Mar 2016 04:09:53 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603110409.u2B49rYD047583@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 04:09:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296645 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:09:54 -0000 Author: bdrewery Date: Fri Mar 11 04:09:53 2016 New Revision: 296645 URL: https://svnweb.freebsd.org/changeset/base/296645 Log: Fix bmake upgrade NO_MAN warnings. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/Makefile Modified: head/Makefile ============================================================================== --- head/Makefile Fri Mar 11 04:09:50 2016 (r296644) +++ head/Makefile Fri Mar 11 04:09:53 2016 (r296645) @@ -311,9 +311,10 @@ upgrade_checks: # MMAKEENV= MAKEOBJDIRPREFIX=${MYMAKE:H} \ DESTDIR= \ + MK_MAN=no \ INSTALL="sh ${.CURDIR}/tools/install.sh" MMAKE= ${MMAKEENV} ${MAKE} \ - -DNO_MAN -DNO_SHARED \ + -DNO_SHARED \ -DNO_CPU_CFLAGS -DNO_WERROR \ MK_TESTS=no \ DESTDIR= PROGNAME=${MYMAKE:T} From owner-svn-src-all@freebsd.org Fri Mar 11 04:09:58 2016 Return-Path: Delivered-To: svn-src-all@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 19414ACBFB6; Fri, 11 Mar 2016 04:09:58 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D69791864; Fri, 11 Mar 2016 04:09:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B49uOH047633; Fri, 11 Mar 2016 04:09:56 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B49u5L047630; Fri, 11 Mar 2016 04:09:56 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603110409.u2B49u5L047630@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 04:09:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296646 - in head: . share/mk sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:09:58 -0000 Author: bdrewery Date: Fri Mar 11 04:09:56 2016 New Revision: 296646 URL: https://svnweb.freebsd.org/changeset/base/296646 Log: FAST_DEPEND: Use .dinclude to enable full .depend logic in bmake. The inclusion of .MAKE.DEPENDFILE (.depend) has special logic in make to ignore stale/missing dependencies. bmake 20160220 added a '.dinclude' directive that uses the special logic for .depend when including the file. This fixes a build error when a file is moved or deleted that exists in a .depend.OBJ file. This happened in r292782 when sha512c.c "moved" and an incremental build of lib/libmd would fail with: make: don't know how to make /usr/src/lib/libcrypt/../libmd/sha512c.c. Stop Now this will just be seen as a stale dependency and cause a rebuild: make: /usr/obj/usr/src/lib/libmd/.depend.sha512c.o, 13: ignoring stale .depend for /usr/src/lib/libcrypt/../libmd/sha512c.c --- sha512c.o --- ... This rebuild will only be done once since the .depend.sha512c.o will be updated on the build with the -MF flags. This also removes -MP being passed for the .depend.OBJ generation (which would create fake targets for system headers) since the logic is no longer needed to protect from missing files. Sponsored by: EMC / Isilon Storage Division Modified: head/Makefile head/share/mk/bsd.dep.mk head/sys/conf/kern.post.mk Modified: head/Makefile ============================================================================== --- head/Makefile Fri Mar 11 04:09:53 2016 (r296645) +++ head/Makefile Fri Mar 11 04:09:56 2016 (r296646) @@ -159,6 +159,8 @@ _MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH # We cannot blindly use a make which may not be the one we want # so be exlicit - until all choice is removed. WANT_MAKE= bmake +# 20160220 - support .dinclude for FAST_DEPEND. +WANT_MAKE_VERSION= 20160220 MYMAKE= ${MAKEOBJDIRPREFIX}${.CURDIR}/make.${MACHINE}/${WANT_MAKE} .if defined(.PARSEDIR) HAVE_MAKE= bmake Modified: head/share/mk/bsd.dep.mk ============================================================================== --- head/share/mk/bsd.dep.mk Fri Mar 11 04:09:53 2016 (r296645) +++ head/share/mk/bsd.dep.mk Fri Mar 11 04:09:56 2016 (r296646) @@ -176,7 +176,9 @@ ${_D}.po: ${_DSRC} ${POBJS:S/^${_D}.po$/ _meta_filemon= 1 .endif .if ${MK_FAST_DEPEND} == "yes" +.if ${MAKE_VERSION} < 20160220 DEPEND_MP?= -MP +.endif # Handle OBJS=../somefile.o hacks. Just replace '/' rather than use :T to # avoid collisions. DEPEND_FILTER= C,/,_,g @@ -200,7 +202,11 @@ CFLAGS+= ${DEPEND_CFLAGS} .endif .if !defined(_SKIP_READ_DEPEND) .for __depend_obj in ${DEPENDFILES_OBJS} +.if ${MAKE_VERSION} < 20160220 .sinclude "${.OBJDIR}/${__depend_obj}" +.else +.dinclude "${.OBJDIR}/${__depend_obj}" +.endif .endfor .endif # !defined(_SKIP_READ_DEPEND) .endif # !defined(_meta_filemon) Modified: head/sys/conf/kern.post.mk ============================================================================== --- head/sys/conf/kern.post.mk Fri Mar 11 04:09:53 2016 (r296645) +++ head/sys/conf/kern.post.mk Fri Mar 11 04:09:56 2016 (r296646) @@ -231,7 +231,10 @@ _meta_filemon= 1 .if ${MK_FAST_DEPEND} == "yes" DEPENDOBJS+= ${SYSTEM_OBJS} genassym.o DEPENDFILES_OBJS= ${DEPENDOBJS:O:u:C/^/.depend./} -DEPEND_CFLAGS+= -MD -MP -MF.depend.${.TARGET} +.if ${MAKE_VERSION} < 20160220 +DEPEND_MP?= -MP +.endif +DEPEND_CFLAGS+= -MD ${DEPEND_MP} -MF.depend.${.TARGET} DEPEND_CFLAGS+= -MT${.TARGET} .if !defined(_meta_filemon) .if defined(.PARSEDIR) @@ -244,7 +247,11 @@ CFLAGS+= ${DEPEND_CFLAGS} .endif .if !defined(_SKIP_READ_DEPEND) .for __depend_obj in ${DEPENDFILES_OBJS} +.if ${MAKE_VERSION} < 20160220 .sinclude "${.OBJDIR}/${__depend_obj}" +.else +.dinclude "${.OBJDIR}/${__depend_obj}" +.endif .endfor .endif # !defined(_SKIP_READ_DEPEND) .endif # !defined(_meta_filemon) From owner-svn-src-all@freebsd.org Fri Mar 11 04:11:57 2016 Return-Path: Delivered-To: svn-src-all@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 C9971ACA2B3; Fri, 11 Mar 2016 04:11:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id AD5A31DE3; Fri, 11 Mar 2016 04:11:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id A72CB1304; Fri, 11 Mar 2016 04:11:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 67C5B1E2AE; Fri, 11 Mar 2016 04:11:57 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id V4zMtAhhQTTO; Fri, 11 Mar 2016 04:11:54 +0000 (UTC) Subject: Re: svn commit: r296646 - in head: . share/mk sys/conf DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 696041E2A9 To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603110409.u2B49u5L047630@repo.freebsd.org> Cc: emaste@FreeBSD.org From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E2458F.3020600@FreeBSD.org> Date: Thu, 10 Mar 2016 20:11:59 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603110409.u2B49u5L047630@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="HiGjOfxkpa9Rah0s3cPFrbMCBUKPG3bdU" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:11:58 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --HiGjOfxkpa9Rah0s3cPFrbMCBUKPG3bdU Content-Type: multipart/mixed; boundary="K7HAOlhRbm7Wtx4Cn3vemvOiEt4kd3Khc" From: Bryan Drewery To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Cc: emaste@FreeBSD.org Message-ID: <56E2458F.3020600@FreeBSD.org> Subject: Re: svn commit: r296646 - in head: . share/mk sys/conf References: <201603110409.u2B49u5L047630@repo.freebsd.org> In-Reply-To: <201603110409.u2B49u5L047630@repo.freebsd.org> --K7HAOlhRbm7Wtx4Cn3vemvOiEt4kd3Khc Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/10/2016 8:09 PM, Bryan Drewery wrote: > Author: bdrewery > Date: Fri Mar 11 04:09:56 2016 > New Revision: 296646 > URL: https://svnweb.freebsd.org/changeset/base/296646 >=20 > Log: > FAST_DEPEND: Use .dinclude to enable full .depend logic in bmake. > =20 > The inclusion of .MAKE.DEPENDFILE (.depend) has special logic in make= > to ignore stale/missing dependencies. bmake 20160220 added a '.dincl= ude' > directive that uses the special logic for .depend when including the = file. > =20 > This fixes a build error when a file is moved or deleted that exists = in a > .depend.OBJ file. This happened in r292782 when sha512c.c "moved" an= d an > incremental build of lib/libmd would fail with: > make: don't know how to make /usr/src/lib/libcrypt/../libmd/sha512c= =2Ec. Stop > =20 > Now this will just be seen as a stale dependency and cause a rebuild:= > make: /usr/obj/usr/src/lib/libmd/.depend.sha512c.o, 13: ignoring st= ale .depend for /usr/src/lib/libcrypt/../libmd/sha512c.c > --- sha512c.o --- > ... > This rebuild will only be done once since the .depend.sha512c.o will > be updated on the build with the -MF flags. > =20 > This also removes -MP being passed for the .depend.OBJ generation (wh= ich > would create fake targets for system headers) since the logic is no > longer needed to protect from missing files. > =20 > Sponsored by: EMC / Isilon Storage Division >=20 > Modified: > head/Makefile > head/share/mk/bsd.dep.mk > head/sys/conf/kern.post.mk This was the last piece needed before it could be enabled by default. I plan to enable it by default tomorrow, and remove the option and the mkdep handling entirely soon after (as brought up on arch@). --=20 Regards, Bryan Drewery --K7HAOlhRbm7Wtx4Cn3vemvOiEt4kd3Khc-- --HiGjOfxkpa9Rah0s3cPFrbMCBUKPG3bdU Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW4kWPAAoJEDXXcbtuRpfPoKUIAIl2va0WDca9eG5JVnRUtz4e MQtTlcda0A5pnnOeG8RhETgTFtntBF0/umbWwJv7spyl/7Ow9hhL8rEJUZnmFh3F sKkB6dDVeLNH98g3cf8afone5Dc2ZbcSUcGZpeKtTT1Pfk8GDr19vW7F/yskYWbB xqlyoKpfdrMEVLDC3VFjRxv/ZKC3I+yN4meY+EfKC8w7NCXLpt9bKYoP3xC2ivBB a0fPyhgtOzrky9kjZQ5HHtlv1sQv/pFBNvLFdH0lSO5ufmkHT0g/nTg6wWKIo0Zo 7uuh08RwZBt2ixA5ZGipPH9zyoIZRR77lerNfAOikYhN/WUV/J/2vFZTNnftmSs= =UYnq -----END PGP SIGNATURE----- --HiGjOfxkpa9Rah0s3cPFrbMCBUKPG3bdU-- From owner-svn-src-all@freebsd.org Fri Mar 11 04:17:40 2016 Return-Path: Delivered-To: svn-src-all@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 EF7DDACA429; Fri, 11 Mar 2016 04:17:40 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C1219A2; Fri, 11 Mar 2016 04:17:40 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B4HduB050551; Fri, 11 Mar 2016 04:17:39 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B4HdHa050550; Fri, 11 Mar 2016 04:17:39 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603110417.u2B4HdHa050550@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 04:17:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296647 - head/lib/clang X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:17:41 -0000 Author: bdrewery Date: Fri Mar 11 04:17:39 2016 New Revision: 296647 URL: https://svnweb.freebsd.org/changeset/base/296647 Log: Use the new bmake .dinclude feature to make these safe. At least FAST_DEPEND won't even run 'make depend', so the code was potentially broken with FAST_DEPEND anyhow. The .dinclude directive will ignore missing files rather than make them be fatal. Sponsored by: EMC / Isilon Storage Division Modified: head/lib/clang/clang.build.mk Modified: head/lib/clang/clang.build.mk ============================================================================== --- head/lib/clang/clang.build.mk Fri Mar 11 04:09:56 2016 (r296646) +++ head/lib/clang/clang.build.mk Fri Mar 11 04:17:39 2016 (r296647) @@ -240,11 +240,15 @@ Checkers.inc.h: ${CLANG_SRCS}/lib/Static -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers/Checkers.td -.if !make(depend) -. for dep in ${TGHDRS:C/$/.inc.d/} -. sinclude "${dep}" -. endfor -.endif +.for dep in ${TGHDRS:C/$/.inc.d/} +. if ${MAKE_VERSION} < 20160220 +. if !make(depend) +. sinclude "${dep}" +. endif +. else +. dinclude "${dep}" +. endif +.endfor SRCS+= ${TGHDRS:C/$/.inc.h/} CLEANFILES+= ${TGHDRS:C/$/.inc.h/} ${TGHDRS:C/$/.inc.d/} From owner-svn-src-all@freebsd.org Fri Mar 11 04:34:19 2016 Return-Path: Delivered-To: svn-src-all@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 22CB6ACAAD3 for ; Fri, 11 Mar 2016 04:34:19 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-io0-x22e.google.com (mail-io0-x22e.google.com [IPv6:2607:f8b0:4001:c06::22e]) (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 DC11EAA5 for ; Fri, 11 Mar 2016 04:34:18 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-io0-x22e.google.com with SMTP id n190so132097895iof.0 for ; Thu, 10 Mar 2016 20:34:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=XsMrTumeyCBi5EyVsDY14Go3S8xsM6aNQOK/SML6KZw=; b=VFMwYHlpfAT+UWI1ZJqWt2s+F/tgFOsxKG5fiDA3wEj2kijYexClw91DLdixOw6dKv sYouzKajg83hbv+UHmXjnNM+W6j3QVn2kZI9rt8+PGCGrkz1bF4tdH57CTFHcHMg/N+D kqbM8jxDYzJhSsV708a7ZnE+pxUASOAXO8e5lJCQTsUMPpfsb2xOynhfkb+nruhSyxvt jSC8aieqwvMwq/+qMgFqSQ+5WOlVjzFoLuavih6aeF59DGN2Kvuo0mmSlSHGH3HmrvBJ QITaR4djF1MNzdlfY/MLUPnPOP59V83KUtE+pUlJ9xGI1QUANQv2RfniQNQ8CKVbXx8u zc5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=XsMrTumeyCBi5EyVsDY14Go3S8xsM6aNQOK/SML6KZw=; b=V/cAFjZmaWRfKRE2obvt9k6BwxordLfs8wPKETrWjpuhlDvK/EYJwNto8d3obi5Owq xy8v0Lmam1nMvxYvxOshgrHWoPqFO1yjVJeXTKR84FThazG48N/8mBwqhpOSeRlhg8t+ iYOZGhmvYzhvOvpC4Zt2tiCfd1TkVaUvcWB6uoC3tHASGvYtTF5qb6pt6jyurDM3oJUn B4/LJc2P+OIeVholwkEz69bLbDpitr6Ac0R7IGDZpXsUm5GQyjIoZBTnlu+FwlpZpzgJ yvRt0E9O8RZsOetgVs8hAmLbTGEyGtjqDKloTBMc/qixBawJ5PPHYt9A7U1S4qo2yDbT pmKw== X-Gm-Message-State: AD7BkJIZ2xc9Zx/Bhn1oMeYp29SjN5szNbed7B529kwscnWCbn42JMGIKJK8/OgG3g0C26qbhxRuGAHyQwrYAA== MIME-Version: 1.0 X-Received: by 10.107.155.206 with SMTP id d197mr7019850ioe.135.1457670858192; Thu, 10 Mar 2016 20:34:18 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.230 with HTTP; Thu, 10 Mar 2016 20:34:18 -0800 (PST) X-Originating-IP: [50.253.99.174] In-Reply-To: References: <201512110206.tBB264Ad039486@repo.freebsd.org> Date: Thu, 10 Mar 2016 21:34:18 -0700 X-Google-Sender-Auth: qUUu7jjXaR7l7PQYGU8QHA4MEd8 Message-ID: Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme From: Warner Losh To: Alan Somers Cc: Steven Hartland , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:34:19 -0000 Some Intel NVMe drives behave badly when the LBA range crosses a 128k boundary. Their performance is worse for those transactions than for ones that don't cross the 128k boundary. Warner On Thu, Mar 10, 2016 at 11:01 AM, Alan Somers wrote: > Are you saying that Intel NVMe controllers perform poorly for all I/Os > that are less than 128KB, or just for I/Os of any size that cross a 128KB > boundary? > > On Thu, Dec 10, 2015 at 7:06 PM, Steven Hartland wrote: > >> Author: smh >> Date: Fri Dec 11 02:06:03 2015 >> New Revision: 292074 >> URL: https://svnweb.freebsd.org/changeset/base/292074 >> >> Log: >> Limit stripesize reported from nvd(4) to 4K >> >> Intel NVMe controllers have a slow path for I/Os that span a 128KB >> stripe boundary but ZFS limits ashift, which is derived from d_stripesize, >> to 13 (8KB) so we limit the stripesize reported to geom(8) to 4KB. >> >> This may result in a small number of additional I/Os to require >> splitting in nvme(4), however the NVMe I/O path is very efficient so these >> additional I/Os will cause very minimal (if any) difference in performance >> or CPU utilisation. >> >> This can be controller by the new sysctl >> kern.nvme.max_optimal_sectorsize. >> >> MFC after: 1 week >> Sponsored by: Multiplay >> Differential Revision: https://reviews.freebsd.org/D4446 >> >> Modified: >> head/sys/dev/nvd/nvd.c >> head/sys/dev/nvme/nvme.h >> head/sys/dev/nvme/nvme_ns.c >> head/sys/dev/nvme/nvme_sysctl.c >> >> From owner-svn-src-all@freebsd.org Fri Mar 11 04:58:46 2016 Return-Path: Delivered-To: svn-src-all@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 DF7E4ACB2EA; Fri, 11 Mar 2016 04:58:46 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ob0-x22f.google.com (mail-ob0-x22f.google.com [IPv6:2607:f8b0:4003:c01::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 B04F22EE; Fri, 11 Mar 2016 04:58:46 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-ob0-x22f.google.com with SMTP id fz5so102876056obc.0; Thu, 10 Mar 2016 20:58:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=V2IhuUV9kNm0n01QMR+lwH/m8xkINsgu1OPnBvOXSvk=; b=FRSMvLF7As9OF1oIBnJVfZtKSLuBZMr/ls5zMYrw2dxBRA9oZFO4O7o9A4230ZCnpV +A8KNuSlfALVZNj9fwpi3Q+zIeXm8XNGA9P8EcmBVa59FSjwGJqQZ115fnyqbNnudlPz ZTcDOtvc/D0C0AUDdUp3i1sTqaHbXpllIajiBKWmXkVTat+P1BdNjEELB2wzVYFfo5Ea 0l2XxpmZKNGTGrYzopiCUxlddCRlnhNi/6s6l21wVCnttDuRJSZDQf2IzCg9oyVaRHfM OUNyUrNslP6msmMWlLrXe19Erso+qqtxuBNdfjGEfiUbJr1aiJX0/0gpWnMrRu2Hyi+n FL2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=V2IhuUV9kNm0n01QMR+lwH/m8xkINsgu1OPnBvOXSvk=; b=PVVlu9aEW2VsUMhK6c50g8w7rf9do8YdTKetkokCJo4UiwK8KAFVVMEJjxa6tLAHS5 ExCEV5bf9qRJhJwR1nh4WsOhYqGlELWbwkL2Q78x5wYI6aD3gMMVcBXAmLH6MB3QRPn2 tu3atFLM1YNvRCZqz0N6p6S/kRqtzmDbm7jj01mCRMBwRkCeKCpmFOvrpd49eKSy5ld8 /bsqYg1b2rzR1MRgoujEtB82GhgE9xG/bvyllxtXhLZvXmC905aMPBBUDfHa1gDKgbk0 +5/+YvNUqpc6NAwcuGe4qBYVHnNBfB4eOzJAB+nt2zPqSkvGGS7upZzBQew/FZ0XClNH c0qA== X-Gm-Message-State: AD7BkJKy5VPeJKEQX57g1FFkRiVyzLp5UBBpK0YGNR8kQSGeg44fU0WLrZ3WC1DCBmqs4NVI7qpzjJ/NJqgT+w== MIME-Version: 1.0 X-Received: by 10.182.34.167 with SMTP id a7mr4303576obj.41.1457672325917; Thu, 10 Mar 2016 20:58:45 -0800 (PST) Sender: asomers@gmail.com Received: by 10.202.64.138 with HTTP; Thu, 10 Mar 2016 20:58:45 -0800 (PST) In-Reply-To: References: <201512110206.tBB264Ad039486@repo.freebsd.org> Date: Thu, 10 Mar 2016 21:58:45 -0700 X-Google-Sender-Auth: FinJUZvtBH4mUNW9u0upe4Yg38M Message-ID: Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme From: Alan Somers To: Warner Losh Cc: Steven Hartland , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 04:58:47 -0000 Do they behave badly for writes that cross a 128KB boundary, but are nonetheless aligned to 128KB boundaries? Then I don't understand how this change (or mav's replacement) is supposed to help. The stripesize is supposed to be the minimum write that the device can accept without requiring a read-modify-write. ZFS guarantees that it will never issue a write smaller than the stripesize, nor will it ever issue a write that is not aligned to a stripesize-boundary. But even if ZFS worked with 128KB stripesizes, it would still happily issue writes a multiple of 128KB in size, and these would cross those boundaries. Am I not understanding something here? -Alan On Thu, Mar 10, 2016 at 9:34 PM, Warner Losh wrote: > Some Intel NVMe drives behave badly when the LBA range crosses a 128k > boundary. Their > performance is worse for those transactions than for ones that don't cross > the 128k boundary. > > Warner > > On Thu, Mar 10, 2016 at 11:01 AM, Alan Somers wrote: > >> Are you saying that Intel NVMe controllers perform poorly for all I/Os >> that are less than 128KB, or just for I/Os of any size that cross a 128KB >> boundary? >> >> On Thu, Dec 10, 2015 at 7:06 PM, Steven Hartland wrote: >> >>> Author: smh >>> Date: Fri Dec 11 02:06:03 2015 >>> New Revision: 292074 >>> URL: https://svnweb.freebsd.org/changeset/base/292074 >>> >>> Log: >>> Limit stripesize reported from nvd(4) to 4K >>> >>> Intel NVMe controllers have a slow path for I/Os that span a 128KB >>> stripe boundary but ZFS limits ashift, which is derived from d_stripesize, >>> to 13 (8KB) so we limit the stripesize reported to geom(8) to 4KB. >>> >>> This may result in a small number of additional I/Os to require >>> splitting in nvme(4), however the NVMe I/O path is very efficient so these >>> additional I/Os will cause very minimal (if any) difference in performance >>> or CPU utilisation. >>> >>> This can be controller by the new sysctl >>> kern.nvme.max_optimal_sectorsize. >>> >>> MFC after: 1 week >>> Sponsored by: Multiplay >>> Differential Revision: https://reviews.freebsd.org/D4446 >>> >>> Modified: >>> head/sys/dev/nvd/nvd.c >>> head/sys/dev/nvme/nvme.h >>> head/sys/dev/nvme/nvme_ns.c >>> head/sys/dev/nvme/nvme_sysctl.c >>> >>> > From owner-svn-src-all@freebsd.org Fri Mar 11 05:14:59 2016 Return-Path: Delivered-To: svn-src-all@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 BAB05ACB89B for ; Fri, 11 Mar 2016 05:14:59 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ig0-x232.google.com (mail-ig0-x232.google.com [IPv6:2607:f8b0:4001:c05::232]) (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 828D3B85 for ; Fri, 11 Mar 2016 05:14:59 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-ig0-x232.google.com with SMTP id vf5so2210618igb.0 for ; Thu, 10 Mar 2016 21:14:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=4/HmTQ7eL7GsPzWGwAIIXp/S6O6+80NKBA+n5khHARY=; b=VxKtVRncmdncPX/nS4jdXlwSRtnTI0zp1YaHYl4J9X1sFv2YPwX0IqiSwoSg/t+TYX +PhzfcS4gSTrqKJGtQ2jmwBRE8J8TDdpB+JocewI8jJm2gFrWCMEDoa6DQZ//bgaXU1W E5EevM4W0dFJL+mECR6vVKWmuucxv0R01GtLomWQdeSgHkqve7sJXV7l0od7h2bv9mHa lrAk7NangFw4tTNRsfC0XcHZTSKZ4D4yuXhR16BLQQpdE4FoWyQDCCmYbGgLVxlFxzC1 Tk2ydYnqmRI3UPwjEkcmlveNOyQmjqZvOHv2Ek2O+SGqfgjVumplQAUYRZBICCW3szTs 2U3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=4/HmTQ7eL7GsPzWGwAIIXp/S6O6+80NKBA+n5khHARY=; b=N3F8EqawFhP5JIRLmx2093K6t2kA7/fzJfo/aUq3QXS9fZSWaPPsjbQSCE3Q9MA95j R+OMb5tiqoGt9yv4UrHFV15LLp0B4VZDAvC8vTsBIrS/5uwWiFSNuIPphjLbEUD7XMID hfOvrEmqT0xG9vaFxYgDa72Y2nKdol+fRH0FksA/YoMHqVYEVgdYqU8LjrPKUDuPe2EO djN0bCQk7iXVhAqZQPZNCaoC5dBHLSzbXLDupM8detKSIZcJUg7BVKma9rg9LPXufgQI 6/BnZxR0PsGYqTVP9TbfvEjIrU7mzfD3aNMz1kYV15TQbiat/9clSsDMP5zu8sakRrCC o4RA== X-Gm-Message-State: AD7BkJIWZud2Epu1QGbySDYew0iUfR5uo2TaaDBWVzCIRr2H5DgW8ef6KoPaFNSBT6CYaaYOqUhnXA36bFh55w== MIME-Version: 1.0 X-Received: by 10.50.50.134 with SMTP id c6mr621284igo.57.1457673298900; Thu, 10 Mar 2016 21:14:58 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.230 with HTTP; Thu, 10 Mar 2016 21:14:58 -0800 (PST) X-Originating-IP: [50.253.99.174] In-Reply-To: References: <201603100033.u2A0X6uN027771@repo.freebsd.org> <56E1F72D.7000002@FreeBSD.org> Date: Thu, 10 Mar 2016 22:14:58 -0700 X-Google-Sender-Auth: WV8n-HYY6g1x_1Ylvym17lBDaOk Message-ID: Subject: Re: svn commit: r296589 - head/sys/dev/fdc From: Warner Losh To: Bryan Drewery Cc: src-committers , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , Warner Losh Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 05:14:59 -0000 On Thu, Mar 10, 2016 at 6:58 PM, Warner Losh wrote: > > On Mar 10, 2016 3:37 PM, "Bryan Drewery" wrote: > > > > On 3/9/16 4:33 PM, Warner Losh wrote: > > > Author: imp > > > Date: Thu Mar 10 00:33:06 2016 > > > New Revision: 296589 > > > URL: https://svnweb.freebsd.org/changeset/base/296589 > > > > > > Log: > > > Stop assuming that bio_cmd is a bit field. > > > > > > Differential Revision: https://reviews.freebsd.org/D5587 > > > > > > Modified: > > > head/sys/dev/fdc/fdc.c > > > > > > Modified: head/sys/dev/fdc/fdc.c > > > > ============================================================================== > > > --- head/sys/dev/fdc/fdc.c Thu Mar 10 00:27:10 2016 (r296588) > > > +++ head/sys/dev/fdc/fdc.c Thu Mar 10 00:33:06 2016 (r296589) > > > @@ -941,7 +941,7 @@ fdc_worker(struct fdc_data *fdc) > > > /* Disable ISADMA if we bailed while it was active */ > > > if (fd != NULL && (fd->flags & FD_ISADMA)) { > > > isa_dmadone( > > > - bp->bio_cmd & BIO_READ ? ISADMA_READ : ISADMA_WRITE, > > > + bp->bio_cmd == BIO_READ ? ISADMA_READ : ISADMA_WRITE, > > > > I think we should have some kind of file (like ports CHANGES) that lists > > subtle KPI changes. This and the bio bzero change were easily missed > > and could lead to who-knows-what downstream for vendors or even > > out-of-tree modules. > > True. However, these have never been documented one way or another.... > > And this change isn't a change yet... > > I'd love a kpi change file. This is but one of many. We'd need someone > clueful to watch the tree and remind people to add things to it. > > I'm also working on documenting our storage api so that people know better > what is defined, vs what's there and subject to change. > Re-reading this, I wasn't very clear: I think we need this file. I think we need someone else (not me) to spearhead it and police changes I think that the sooner we start the better. Can I get a volunteer? > > Btw there are some missed still: > > > > ./dev/mfi/mfi.c: switch (bio->bio_cmd & 0x03) { > > ./dev/mfi/mfi.c: switch (bio->bio_cmd & 0x03) { > > That makes me sad. Code like that has never been guaranteed. Bare > constants.... shudder. > Now that I've had a closer look at the code, it doesn't actually assume that BIO_READ and BIO_WRITE are bits. It only assumes that their values are <= 3. I'll fix that. That's also a bad assumption, but it's a different kind of bad. Warner From owner-svn-src-all@freebsd.org Fri Mar 11 06:07:11 2016 Return-Path: Delivered-To: svn-src-all@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 69F17ACC7C1; Fri, 11 Mar 2016 06:07:11 +0000 (UTC) (envelope-from ak@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 4537D100B; Fri, 11 Mar 2016 06:07:11 +0000 (UTC) (envelope-from ak@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2B67Atp083324; Fri, 11 Mar 2016 06:07:10 GMT (envelope-from ak@FreeBSD.org) Received: (from ak@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B67Apu083322; Fri, 11 Mar 2016 06:07:10 GMT (envelope-from ak@FreeBSD.org) Message-Id: <201603110607.u2B67Apu083322@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ak set sender to ak@FreeBSD.org using -f From: Alex Kozlov Date: Fri, 11 Mar 2016 06:07:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296648 - head/sbin/mdmfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 06:07:11 -0000 Author: ak (ports committer) Date: Fri Mar 11 06:07:09 2016 New Revision: 296648 URL: https://svnweb.freebsd.org/changeset/base/296648 Log: - Implement -T option to allow to specify a fs type for a vnode-backed memory disk - Rephrase -t option description (manpage) - Split long sentences (manpage) Differential Review: https://reviews.freebsd.org/D4394 Reviewed by: mav, wblock (manpage) Approved by: mav Modified: head/sbin/mdmfs/mdmfs.8 head/sbin/mdmfs/mdmfs.c Modified: head/sbin/mdmfs/mdmfs.8 ============================================================================== --- head/sbin/mdmfs/mdmfs.8 Fri Mar 11 04:17:39 2016 (r296647) +++ head/sbin/mdmfs/mdmfs.8 Fri Mar 11 06:07:09 2016 (r296648) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 7, 2016 +.Dd March 9, 2016 .Dt MDMFS 8 .Os .Sh NAME @@ -36,7 +36,7 @@ driver .Sh SYNOPSIS .Nm -.Op Fl DLlMNnPStUX +.Op Fl DLlMNnPStTUX .Op Fl a Ar maxcontig .Op Fl b Ar block-size .Op Fl c Ar blocks-per-cylinder-group @@ -51,6 +51,7 @@ driver .Op Fl o Ar mount-options .Op Fl p Ar permissions .Op Fl s Ar size +.Op Fl T Ar fstype .Op Fl v Ar version .Op Fl w Ar user : Ns Ar group .Ar md-device @@ -228,10 +229,19 @@ backed disks .It Fl t Turn on the TRIM enable flag for .Xr newfs 8 . -The +When used with a file system that issue BIO_DELETE bio requests, .Xr md 4 -device supports the BIO_DELETE command, enabling the TRIM on created -filesystem allows return of freed memory to the system pool. +returns deleted blocks to the system memory pool. +.It Fl T Ar fstype +Specify a file system type for a vnode-backed memory disk. +Any file system supported by +.Xr mount 8 +command can be specified. +This option only makes sense when +.Fl F +and +.Fl P +are used. .It Fl U Enable soft-updates on the file system. This is the default, and is accepted only @@ -283,8 +293,8 @@ and .Fl n options are passed to .Xr newfs 8 -with the same letter; -the +with the same letter. +The .Fl O option is passed to .Xr newfs 8 @@ -295,6 +305,12 @@ The option is passed to .Xr mount 8 with the same letter. +The +.Fl T +option is passed to +.Xr mount 8 +as +.Fl t . See the programs that the options are passed to for more information on their semantics. .Sh EXAMPLES @@ -335,6 +351,10 @@ Configure a vnode-backed file system and using automatic device numbering: .Pp .Dl "mdmfs -P -F foo.img mds1a /tmp/" +.Pp +Mount a vnode-backed cd9660 file system using automatic device numbering: +.Pp +.Dl "mdmfs -T cd9660 -P -F foo.iso md /tmp" .Sh COMPATIBILITY The .Nm Modified: head/sbin/mdmfs/mdmfs.c ============================================================================== --- head/sbin/mdmfs/mdmfs.c Fri Mar 11 04:17:39 2016 (r296647) +++ head/sbin/mdmfs/mdmfs.c Fri Mar 11 06:07:09 2016 (r296648) @@ -129,7 +129,7 @@ main(int argc, char **argv) } while ((ch = getopt(argc, argv, - "a:b:Cc:Dd:E:e:F:f:hi:LlMm:NnO:o:Pp:Ss:tUv:w:X")) != -1) + "a:b:Cc:Dd:E:e:F:f:hi:LlMm:NnO:o:Pp:Ss:tT:Uv:w:X")) != -1) switch (ch) { case 'a': argappend(&newfs_arg, "-a %s", optarg); @@ -218,6 +218,9 @@ main(int argc, char **argv) case 't': argappend(&newfs_arg, "-t"); break; + case 'T': + argappend(&mount_arg, "-t %s", optarg); + break; case 'U': softdep = true; break; From owner-svn-src-all@freebsd.org Fri Mar 11 09:07:14 2016 Return-Path: Delivered-To: svn-src-all@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 6668EACB346; Fri, 11 Mar 2016 09:07:14 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-lb0-x235.google.com (mail-lb0-x235.google.com [IPv6:2a00:1450:4010:c04::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DE09C2E1; Fri, 11 Mar 2016 09:07:13 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: by mail-lb0-x235.google.com with SMTP id x1so146900962lbj.3; Fri, 11 Mar 2016 01:07:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=8SNjL9k1DUZIz+Nwbu+aZyu7MuXyUml9QAcJcZKEe4w=; b=r/RTkR+SKK5JeZRDmjVaXDX3Y4kNsoCOCgHtR+mFIAML2dOZXUVxtKMbIhPSMxtVQ4 1ZSgskzb42Zf/I8/8oaiM7TZPx+JTIPNXRJgICYyXvJPiyHyD9BuF23itIYaV6KlXsDX uII/gawNpR2FJZ2G6cAX87YsfRA2+nNzmV9jUcPDL0/knnzopD/pu/2LCAjefsoj9VxP T4DJBJCHe/ALkTQm3ZjuC3x2p1/pEFshYoYjmAvFwAGVDnVTwM6bQrxdZg8ecG0YmqLM Sw6SIV/SnjIqHkVcuZZnmCZ+P43hnLoR/6cUd0SlSS/UB3BXuhKAI4MNejIB9/Hk/k3w 8iJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:message-id:date:from:user-agent :mime-version:to:cc:subject:references:in-reply-to :content-transfer-encoding; bh=8SNjL9k1DUZIz+Nwbu+aZyu7MuXyUml9QAcJcZKEe4w=; b=ms1XYNiBbaTm3IU378G5536gLK6X4m2ZzpDtWfcXNstBYnSOdu9ztVSK2rZxbCLT3/ ZIPA1HvN51LI/21MAXEN2ABNyVEQSGalV46EjB82D6bhQa6gx9jfiWuVBrGdYtwCx3/Y lKhHjQG8HI/HOM4masN0QdKAoXPr0yqr7IDHMLigDdku4/EuTHOkNPZLf3KG5tqbG04k USPctX+Gj77Wwk6t/z2CZ4QbzS9laqWe35vc512dAOrNF0L7hJJv9ue6o33d5R+grjs1 HkgYXw/+Wkl0EdVfx91K2pX+qS36Qgo6ryakwbK5dYGMpR6rePddsEgo5gzvs58rgfuN 3kSQ== X-Gm-Message-State: AD7BkJJGlW/+a8MEkT+UoqXOEEB8velFNik8LuxIx4snFr/4o2CxdAHMcrPsYWe+BzA4ng== X-Received: by 10.25.157.79 with SMTP id g76mr3053785lfe.93.1457687231891; Fri, 11 Mar 2016 01:07:11 -0800 (PST) Received: from mavbook.mavhome.dp.ua ([134.249.139.101]) by smtp.googlemail.com with ESMTPSA id nv8sm1188359lbb.7.2016.03.11.01.07.10 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 11 Mar 2016 01:07:11 -0800 (PST) Sender: Alexander Motin Message-ID: <56E28ABD.3060803@FreeBSD.org> Date: Fri, 11 Mar 2016 11:07:09 +0200 From: Alexander Motin User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Alan Somers , Warner Losh CC: Steven Hartland , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme References: <201512110206.tBB264Ad039486@repo.freebsd.org> In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 09:07:14 -0000 On 11.03.16 06:58, Alan Somers wrote: > Do they behave badly for writes that cross a 128KB boundary, but are > nonetheless aligned to 128KB boundaries? Then I don't understand how > this change (or mav's replacement) is supposed to help. The stripesize > is supposed to be the minimum write that the device can accept without > requiring a read-modify-write. ZFS guarantees that it will never issue > a write smaller than the stripesize, nor will it ever issue a write that > is not aligned to a stripesize-boundary. But even if ZFS worked with > 128KB stripesizes, it would still happily issue writes a multiple of > 128KB in size, and these would cross those boundaries. Am I not > understanding something here? stripesize is not necessary related to read-modify-write. It reports "some" native boundaries of the device. For example, RAID0 array has stripes, crossing which does not cause read-modify-write cycles, but causes I/O split and head seeks for extra disks. This, as I understand, is the case for some Intel's NVMe device models here, and is the reason why 128KB stripesize was originally reported. We can not demand all file systems to never issue I/Os of less then stripesize, since it can be 128KB, 1MB or even more (and since then it would be called sectorsize). If ZFS (in this case) doesn't support allocation block sizes above 8K (and even that is very space-inefficient), and it has no other mechanisms to optimize I/O alignment, then it is not a problem of the NVMe device or driver, but only of ZFS itself. So what I have done here is moved workaround from improper place (NVMe) to proper one (ZFS): NVMe now correctly reports its native 128K bondaries, that will be respected, for example, by gpart, that help, for example UFS align its 32K blocks, while ZFS will correctly ignore values for which it can't optimize, falling back to efficient 512 bytes allocations. PS about the meaning of stripesize not limited to read-modify-write: For example, RAID5 of 5 512e disks actually has three stripe sizes: 4K, 64K and 256K: aligned writes of 4K allow to avoid read-modify-write inside the drive, I/Os not crossing 64K boundaries without reason improve parallel performance, aligned writes of 256K allow to avoid read-modify-write on the RAID5 level. Obviously not all of those optimizations achievable in all environments, and the bigger the stripe size the harder optimize for it, but it does not mean that such optimization is impossible. It would be good to be able to report all of them, allowing each consumer to use as many of them as it can. > On Thu, Mar 10, 2016 at 9:34 PM, Warner Losh > wrote: > > Some Intel NVMe drives behave badly when the LBA range crosses a > 128k boundary. Their > performance is worse for those transactions than for ones that don't > cross the 128k boundary. > > Warner > > On Thu, Mar 10, 2016 at 11:01 AM, Alan Somers > wrote: > > Are you saying that Intel NVMe controllers perform poorly for > all I/Os that are less than 128KB, or just for I/Os of any size > that cross a 128KB boundary? > > On Thu, Dec 10, 2015 at 7:06 PM, Steven Hartland > > wrote: > > Author: smh > Date: Fri Dec 11 02:06:03 2015 > New Revision: 292074 > URL: https://svnweb.freebsd.org/changeset/base/292074 > > Log: > Limit stripesize reported from nvd(4) to 4K > > Intel NVMe controllers have a slow path for I/Os that span > a 128KB stripe boundary but ZFS limits ashift, which is > derived from d_stripesize, to 13 (8KB) so we limit the > stripesize reported to geom(8) to 4KB. > > This may result in a small number of additional I/Os to > require splitting in nvme(4), however the NVMe I/O path is > very efficient so these additional I/Os will cause very > minimal (if any) difference in performance or CPU utilisation. > > This can be controller by the new sysctl > kern.nvme.max_optimal_sectorsize. > > MFC after: 1 week > Sponsored by: Multiplay > Differential Revision: > https://reviews.freebsd.org/D4446 > > Modified: > head/sys/dev/nvd/nvd.c > head/sys/dev/nvme/nvme.h > head/sys/dev/nvme/nvme_ns.c > head/sys/dev/nvme/nvme_sysctl.c > > > -- Alexander Motin From owner-svn-src-all@freebsd.org Fri Mar 11 09:41:47 2016 Return-Path: Delivered-To: svn-src-all@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 D84EAACC13C; Fri, 11 Mar 2016 09:41:47 +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 A9E7918C1; Fri, 11 Mar 2016 09:41:47 +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 u2B9fkJS052073; Fri, 11 Mar 2016 09:41:46 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B9fkr3052072; Fri, 11 Mar 2016 09:41:46 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201603110941.u2B9fkr3052072@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Fri, 11 Mar 2016 09:41:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296649 - stable/10/sys/netpfil/ipfw X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 09:41:48 -0000 Author: ae Date: Fri Mar 11 09:41:46 2016 New Revision: 296649 URL: https://svnweb.freebsd.org/changeset/base/296649 Log: MFC r296348: Use correct size for malloc. Modified: stable/10/sys/netpfil/ipfw/ip_fw_dynamic.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/netpfil/ipfw/ip_fw_dynamic.c ============================================================================== --- stable/10/sys/netpfil/ipfw/ip_fw_dynamic.c Fri Mar 11 06:07:09 2016 (r296648) +++ stable/10/sys/netpfil/ipfw/ip_fw_dynamic.c Fri Mar 11 09:41:46 2016 (r296649) @@ -487,7 +487,7 @@ resize_dynamic_table(struct ip_fw_chain V_curr_dyn_buckets, nbuckets); /* Allocate and initialize new hash */ - dyn_v = malloc(nbuckets * sizeof(ipfw_dyn_rule), M_IPFW, + dyn_v = malloc(nbuckets * sizeof(*dyn_v), M_IPFW, M_WAITOK | M_ZERO); for (i = 0 ; i < nbuckets; i++) From owner-svn-src-all@freebsd.org Fri Mar 11 09:50:09 2016 Return-Path: Delivered-To: svn-src-all@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 8CC76ACC4C8; Fri, 11 Mar 2016 09:50:09 +0000 (UTC) (envelope-from des@des.no) Received: from smtp.des.no (smtp.des.no [194.63.250.102]) by mx1.freebsd.org (Postfix) with ESMTP id 53DB51CF8; Fri, 11 Mar 2016 09:50:09 +0000 (UTC) (envelope-from des@des.no) Received: from desk.des.no (smtp.des.no [194.63.250.102]) by smtp.des.no (Postfix) with ESMTP id 769144C35; Fri, 11 Mar 2016 09:50:08 +0000 (UTC) Received: by desk.des.no (Postfix, from userid 1001) id 09C473AF44; Fri, 11 Mar 2016 10:50:08 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Ed Maste Cc: "src-committers\@freebsd.org" , "svn-src-all\@freebsd.org" , "svn-src-head\@freebsd.org" Subject: Re: svn commit: r296633 - in head: crypto/openssh crypto/openssh/contrib crypto/openssh/contrib/redhat crypto/openssh/contrib/suse crypto/openssh/openbsd-compat crypto/openssh/regress crypto/openssh/re... References: <201603110015.u2B0FT5v065136@repo.freebsd.org> Date: Fri, 11 Mar 2016 10:50:08 +0100 In-Reply-To: (Ed Maste's message of "Fri, 11 Mar 2016 03:05:32 +0000") Message-ID: <867fh9cpin.fsf@desk.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (berkeley-unix) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 09:50:09 -0000 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ed Maste writes: > It looks like this broke mips: > > In file included from > /scratch/tmp/emaste/freebsd/lib/libpam/modules/pam_ssh/../../../../crypto= /openssh/key.h:29, > from > /scratch/tmp/emaste/freebsd/lib/libpam/modules/pam_ssh/pam_ssh.c:60: > /scratch/tmp/emaste/freebsd/lib/libpam/modules/pam_ssh/../../../../crypto= /openssh/sshkey.h:145: > warning: '__bounded__' attribute directive ignored Please try the attached patch. I don't know if it fixes the issue, but it's a good idea either way. I'm trying to find out why gcc complains about this specific instance of __bounded__ but not about any of the 88 others in OpenSSH; the only lead I have so far is that pam_ssh uses a different WARNS level. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=pam-ssh-warns.diff Index: lib/libpam/modules/pam_ssh/Makefile =================================================================== --- lib/libpam/modules/pam_ssh/Makefile (revision 296634) +++ lib/libpam/modules/pam_ssh/Makefile (working copy) @@ -7,7 +7,6 @@ MAN= pam_ssh.8 SRCS= pam_ssh.c -WARNS?= 3 CFLAGS+= -I${SSHDIR} -include ssh_namespace.h SRCS+= ssh_namespace.h Index: lib/libpam/modules/pam_ssh/pam_ssh.c =================================================================== --- lib/libpam/modules/pam_ssh/pam_ssh.c (revision 296634) +++ lib/libpam/modules/pam_ssh/pam_ssh.c (working copy) @@ -84,7 +84,9 @@ }; static const char *pam_ssh_agent = "/usr/bin/ssh-agent"; -static char *const pam_ssh_agent_argv[] = { "ssh_agent", "-s", NULL }; +static char str_ssh_agent[] = "ssh-agent"; +static char str_dash_s[] = "-s"; +static char *const pam_ssh_agent_argv[] = { str_ssh_agent, str_dash_s, NULL }; static char *const pam_ssh_agent_envp[] = { NULL }; /* --=-=-=-- From owner-svn-src-all@freebsd.org Fri Mar 11 09:55:25 2016 Return-Path: Delivered-To: svn-src-all@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 D42F4ACC713; Fri, 11 Mar 2016 09:55:25 +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 A597C1AF; Fri, 11 Mar 2016 09:55:25 +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 u2B9tOam055398; Fri, 11 Mar 2016 09:55:24 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2B9tOWL055397; Fri, 11 Mar 2016 09:55:24 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201603110955.u2B9tOWL055397@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Fri, 11 Mar 2016 09:55:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296650 - stable/9/sys/netpfil/ipfw X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 09:55:25 -0000 Author: ae Date: Fri Mar 11 09:55:24 2016 New Revision: 296650 URL: https://svnweb.freebsd.org/changeset/base/296650 Log: MFC r296348: Use correct size for malloc. Modified: stable/9/sys/netpfil/ipfw/ip_fw_dynamic.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/netpfil/ (props changed) Modified: stable/9/sys/netpfil/ipfw/ip_fw_dynamic.c ============================================================================== --- stable/9/sys/netpfil/ipfw/ip_fw_dynamic.c Fri Mar 11 09:41:46 2016 (r296649) +++ stable/9/sys/netpfil/ipfw/ip_fw_dynamic.c Fri Mar 11 09:55:24 2016 (r296650) @@ -487,7 +487,7 @@ resize_dynamic_table(struct ip_fw_chain V_curr_dyn_buckets, nbuckets); /* Allocate and initialize new hash */ - dyn_v = malloc(nbuckets * sizeof(ipfw_dyn_rule), M_IPFW, + dyn_v = malloc(nbuckets * sizeof(*dyn_v), M_IPFW, M_WAITOK | M_ZERO); for (i = 0 ; i < nbuckets; i++) From owner-svn-src-all@freebsd.org Fri Mar 11 11:08:13 2016 Return-Path: Delivered-To: svn-src-all@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 805C4ACC4A5; Fri, 11 Mar 2016 11:08:13 +0000 (UTC) (envelope-from des@des.no) Received: from smtp.des.no (smtp.des.no [194.63.250.102]) by mx1.freebsd.org (Postfix) with ESMTP id 479871EBD; Fri, 11 Mar 2016 11:08:12 +0000 (UTC) (envelope-from des@des.no) Received: from desk.des.no (smtp.des.no [194.63.250.102]) by smtp.des.no (Postfix) with ESMTP id 794C94D34; Fri, 11 Mar 2016 11:08:11 +0000 (UTC) Received: by desk.des.no (Postfix, from userid 1001) id 41E453AF52; Fri, 11 Mar 2016 12:08:11 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Ed Maste Cc: "src-committers\@freebsd.org" , "svn-src-all\@freebsd.org" , "svn-src-head\@freebsd.org" Subject: Re: svn commit: r296633 - in head: crypto/openssh crypto/openssh/contrib crypto/openssh/contrib/redhat crypto/openssh/contrib/suse crypto/openssh/openbsd-compat crypto/openssh/regress crypto/openssh/re... References: <201603110015.u2B0FT5v065136@repo.freebsd.org> <867fh9cpin.fsf@desk.des.no> Date: Fri, 11 Mar 2016 12:08:11 +0100 In-Reply-To: <867fh9cpin.fsf@desk.des.no> ("Dag-Erling =?utf-8?Q?Sm=C3=B8r?= =?utf-8?Q?grav=22's?= message of "Fri, 11 Mar 2016 10:50:08 +0100") Message-ID: <86vb4tb7c4.fsf@desk.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 11:08:13 -0000 Actually, just add #define __bounded__(x, y, z) at the top of pam_ssh.c and you're good. I will commit a patch shortly. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From owner-svn-src-all@freebsd.org Fri Mar 11 11:38:33 2016 Return-Path: Delivered-To: svn-src-all@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 0F5C4ACCF85; Fri, 11 Mar 2016 11:38:33 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 D3BFF192; Fri, 11 Mar 2016 11:38:32 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BBcV4g086356; Fri, 11 Mar 2016 11:38:31 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BBcV3H086354; Fri, 11 Mar 2016 11:38:31 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603111138.u2BBcV3H086354@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Fri, 11 Mar 2016 11:38:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296651 - head/lib/libpam/modules/pam_ssh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 11:38:33 -0000 Author: des Date: Fri Mar 11 11:38:31 2016 New Revision: 296651 URL: https://svnweb.freebsd.org/changeset/base/296651 Log: Define __bounded__ to fix the gcc build. While there, raise WARNS. Modified: head/lib/libpam/modules/pam_ssh/Makefile head/lib/libpam/modules/pam_ssh/pam_ssh.c Modified: head/lib/libpam/modules/pam_ssh/Makefile ============================================================================== --- head/lib/libpam/modules/pam_ssh/Makefile Fri Mar 11 09:55:24 2016 (r296650) +++ head/lib/libpam/modules/pam_ssh/Makefile Fri Mar 11 11:38:31 2016 (r296651) @@ -7,7 +7,6 @@ LIB= pam_ssh MAN= pam_ssh.8 SRCS= pam_ssh.c -WARNS?= 3 CFLAGS+= -I${SSHDIR} -include ssh_namespace.h SRCS+= ssh_namespace.h Modified: head/lib/libpam/modules/pam_ssh/pam_ssh.c ============================================================================== --- head/lib/libpam/modules/pam_ssh/pam_ssh.c Fri Mar 11 09:55:24 2016 (r296650) +++ head/lib/libpam/modules/pam_ssh/pam_ssh.c Fri Mar 11 11:38:31 2016 (r296651) @@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$"); #include +#define __bounded__(x, y, z) #include "key.h" #include "buffer.h" #include "authfd.h" @@ -84,7 +85,9 @@ static const char *pam_ssh_keyfiles[] = }; static const char *pam_ssh_agent = "/usr/bin/ssh-agent"; -static char *const pam_ssh_agent_argv[] = { "ssh_agent", "-s", NULL }; +static char str_ssh_agent[] = "ssh-agent"; +static char str_dash_s[] = "-s"; +static char *const pam_ssh_agent_argv[] = { str_ssh_agent, str_dash_s, NULL }; static char *const pam_ssh_agent_envp[] = { NULL }; /* From owner-svn-src-all@freebsd.org Fri Mar 11 11:51:40 2016 Return-Path: Delivered-To: svn-src-all@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 0C917ACB662; Fri, 11 Mar 2016 11:51:40 +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 DA29DB95; Fri, 11 Mar 2016 11:51:39 +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 u2BBpcG5092214; Fri, 11 Mar 2016 11:51:38 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BBpc7m092213; Fri, 11 Mar 2016 11:51:38 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603111151.u2BBpc7m092213@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 11 Mar 2016 11:51:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296652 - head/sys/fs/pseudofs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 11:51:40 -0000 Author: kib Date: Fri Mar 11 11:51:38 2016 New Revision: 296652 URL: https://svnweb.freebsd.org/changeset/base/296652 Log: Do not perform unneccessary shared recursion on the allproc_lock in pfs_visible(). The recursion does not cause deadlock because the sx implementation does not prefer exclusive waiters over the shared, but this is an implementation detail. Reported by: pho, Matthew Bryan Reviewed by: jhb Tested by: pho Approved by: des (pseudofs maintainer) Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/sys/fs/pseudofs/pseudofs_vnops.c Modified: head/sys/fs/pseudofs/pseudofs_vnops.c ============================================================================== --- head/sys/fs/pseudofs/pseudofs_vnops.c Fri Mar 11 11:38:31 2016 (r296651) +++ head/sys/fs/pseudofs/pseudofs_vnops.c Fri Mar 11 11:51:38 2016 (r296652) @@ -104,7 +104,8 @@ pfs_visible_proc(struct thread *td, stru } static int -pfs_visible(struct thread *td, struct pfs_node *pn, pid_t pid, struct proc **p) +pfs_visible(struct thread *td, struct pfs_node *pn, pid_t pid, + bool allproc_locked, struct proc **p) { struct proc *proc; @@ -115,7 +116,8 @@ pfs_visible(struct thread *td, struct pf *p = NULL; if (pid == NO_PID) PFS_RETURN (1); - if ((proc = pfind(pid)) == NULL) + proc = allproc_locked ? pfind_locked(pid) : pfind(pid); + if (proc == NULL) PFS_RETURN (0); if (pfs_visible_proc(td, pn, proc)) { if (p) @@ -202,7 +204,7 @@ pfs_getattr(struct vop_getattr_args *va) PFS_TRACE(("%s", pn->pn_name)); pfs_assert_not_owned(pn); - if (!pfs_visible(curthread, pn, pvd->pvd_pid, &proc)) + if (!pfs_visible(curthread, pn, pvd->pvd_pid, false, &proc)) PFS_RETURN (ENOENT); vap->va_type = vn->v_type; @@ -293,7 +295,7 @@ pfs_ioctl(struct vop_ioctl_args *va) * This is necessary because process' privileges may * have changed since the open() call. */ - if (!pfs_visible(curthread, pn, pvd->pvd_pid, &proc)) { + if (!pfs_visible(curthread, pn, pvd->pvd_pid, false, &proc)) { VOP_UNLOCK(vn, 0); PFS_RETURN (EIO); } @@ -326,7 +328,7 @@ pfs_getextattr(struct vop_getextattr_arg * This is necessary because either process' privileges may * have changed since the open() call. */ - if (!pfs_visible(curthread, pn, pvd->pvd_pid, &proc)) + if (!pfs_visible(curthread, pn, pvd->pvd_pid, false, &proc)) PFS_RETURN (EIO); if (pn->pn_getextattr == NULL) @@ -462,7 +464,7 @@ pfs_lookup(struct vop_cachedlookup_args PFS_RETURN (ENOENT); /* check that parent directory is visible... */ - if (!pfs_visible(curthread, pd, pvd->pvd_pid, NULL)) + if (!pfs_visible(curthread, pd, pvd->pvd_pid, false, NULL)) PFS_RETURN (ENOENT); /* self */ @@ -546,7 +548,7 @@ pfs_lookup(struct vop_cachedlookup_args got_pnode: pfs_assert_not_owned(pd); pfs_assert_not_owned(pn); - visible = pfs_visible(curthread, pn, pid, NULL); + visible = pfs_visible(curthread, pn, pid, false, NULL); if (!visible) { error = ENOENT; goto failed; @@ -635,7 +637,7 @@ pfs_read(struct vop_read_args *va) * This is necessary because either process' privileges may * have changed since the open() call. */ - if (!pfs_visible(curthread, pn, pvd->pvd_pid, &proc)) + if (!pfs_visible(curthread, pn, pvd->pvd_pid, false, &proc)) PFS_RETURN (EIO); if (proc != NULL) { _PHOLD(proc); @@ -791,7 +793,7 @@ pfs_readdir(struct vop_readdir_args *va) pfs_lock(pd); /* check if the directory is visible to the caller */ - if (!pfs_visible(curthread, pd, pid, &proc)) { + if (!pfs_visible(curthread, pd, pid, true, &proc)) { sx_sunlock(&allproc_lock); pfs_unlock(pd); PFS_RETURN (ENOENT); @@ -995,7 +997,7 @@ pfs_write(struct vop_write_args *va) * This is necessary because either process' privileges may * have changed since the open() call. */ - if (!pfs_visible(curthread, pn, pvd->pvd_pid, &proc)) + if (!pfs_visible(curthread, pn, pvd->pvd_pid, false, &proc)) PFS_RETURN (EIO); if (proc != NULL) { _PHOLD(proc); From owner-svn-src-all@freebsd.org Fri Mar 11 12:59:08 2016 Return-Path: Delivered-To: svn-src-all@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 65F68ACCAF5; Fri, 11 Mar 2016 12:59:08 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 362A8A0A; Fri, 11 Mar 2016 12:59:08 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BCx7Km012125; Fri, 11 Mar 2016 12:59:07 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BCx7QZ012124; Fri, 11 Mar 2016 12:59:07 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603111259.u2BCx7QZ012124@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 11 Mar 2016 12:59:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296653 - head/sbin/geom/core X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 12:59:08 -0000 Author: mav Date: Fri Mar 11 12:59:07 2016 New Revision: 296653 URL: https://svnweb.freebsd.org/changeset/base/296653 Log: Allow standard commands for "unknown" classes in RESCUE mode. For example, it allows quite useful `geom disk list` command. MFC after: 1 week Modified: head/sbin/geom/core/geom.c Modified: head/sbin/geom/core/geom.c ============================================================================== --- head/sbin/geom/core/geom.c Fri Mar 11 11:51:38 2016 (r296652) +++ head/sbin/geom/core/geom.c Fri Mar 11 12:59:07 2016 (r296653) @@ -635,8 +635,7 @@ get_class(int *argc, char ***argv) } else if (!strcasecmp(class_name, "label")) { version = &glabel_version; class_commands = glabel_class_commands; - } else - errx(EXIT_FAILURE, "Invalid class name."); + } #endif /* !STATIC_GEOM_CLASSES */ set_class_name(); From owner-svn-src-all@freebsd.org Fri Mar 11 13:06:13 2016 Return-Path: Delivered-To: svn-src-all@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 05BB6ACCDF7; Fri, 11 Mar 2016 13:06:13 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CA577E23; Fri, 11 Mar 2016 13:06:12 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BD6B84015105; Fri, 11 Mar 2016 13:06:11 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BD6BAk015104; Fri, 11 Mar 2016 13:06:11 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603111306.u2BD6BAk015104@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 11 Mar 2016 13:06:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296654 - head/usr.sbin/pc-sysinstall/backend-query X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 13:06:13 -0000 Author: mav Date: Fri Mar 11 13:06:11 2016 New Revision: 296654 URL: https://svnweb.freebsd.org/changeset/base/296654 Log: Use `geom disk list` instead `camcontrol identify`. The new way works for almost any disk, while the old only for ATA. MFC after: 2 weeks Modified: head/usr.sbin/pc-sysinstall/backend-query/disk-list.sh Modified: head/usr.sbin/pc-sysinstall/backend-query/disk-list.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend-query/disk-list.sh Fri Mar 11 12:59:07 2016 (r296653) +++ head/usr.sbin/pc-sysinstall/backend-query/disk-list.sh Fri Mar 11 13:06:11 2016 (r296654) @@ -82,8 +82,8 @@ do esac fi - # Try and find some identification information with camcontrol - NEWLINE=$(camcontrol identify $DEV 2>/dev/null | sed -ne 's/^device model *//p') + # Try and get some identification information from GEOM + NEWLINE=$(geom disk list $DEV 2>/dev/null | sed -ne 's/^ descr: *//p') if [ -z "$NEWLINE" ]; then NEWLINE=" " fi From owner-svn-src-all@freebsd.org Fri Mar 11 14:14:16 2016 Return-Path: Delivered-To: svn-src-all@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 B1DC0ACCAC7; Fri, 11 Mar 2016 14:14:16 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8C0D5F15; Fri, 11 Mar 2016 14:14:16 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BEEFBw036616; Fri, 11 Mar 2016 14:14:15 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BEEFMs036615; Fri, 11 Mar 2016 14:14:15 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603111414.u2BEEFMs036615@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 11 Mar 2016 14:14:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296655 - head/usr.sbin/pc-sysinstall/backend X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 14:14:16 -0000 Author: mav Date: Fri Mar 11 14:14:15 2016 New Revision: 296655 URL: https://svnweb.freebsd.org/changeset/base/296655 Log: Unify and improve metadata wiping. MFC after: 2 weeks Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Fri Mar 11 13:06:11 2016 (r296654) +++ head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Fri Mar 11 14:14:15 2016 (r296655) @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/sh -x #- # Copyright (c) 2010 iXsystems, Inc. All rights reserved. # @@ -257,12 +257,7 @@ delete_all_gpart() # Destroy the disk geom rc_nohalt "gpart destroy ${DISK}" - # Make sure we clear any hidden gpt tables - clear_backup_gpt_table "${DISK}" - - # Wipe out front of disk - rc_nohalt "dd if=/dev/zero of=${DISK} count=3000" - + wipe_metadata "${DISK}" }; # Function to export all zpools before starting an install @@ -292,7 +287,7 @@ stop_all_gmirror() then echo_log "Stopping mirror $gprov $DISK" rc_nohalt "gmirror remove $gprov $DISK" - rc_nohalt "dd if=/dev/zero of=/dev/${DISK} count=4096" + wipe_metadata "${DISK}" fi done }; @@ -611,12 +606,17 @@ stop_gjournal() } ; -# Function to wipe the potential backup gpt table from a disk -clear_backup_gpt_table() +# Function to wipe the potential metadata from a disk +wipe_metadata() { - echo_log "Clearing gpt backup table location on disk" - rc_nohalt "dd if=/dev/zero of=${1} bs=1m count=1" - rc_nohalt "dd if=/dev/zero of=${1} bs=1m oseek=`diskinfo ${1} | awk '{print int($3 / (1024*1024)) - 4;}'`" + echo_log "Wiping possible metadata on ${1}" + local SIZE="`diskinfo ${1} | awk '{print int($3/(1024*1024)) }'`" + if [ "$SIZE" -gt "5" ] ; then + rc_halt "dd if=/dev/zero of=${1} bs=1m count=1" + rc_halt "dd if=/dev/zero of=${1} bs=1m oseek=$((SIZE-4))" + else + rc_halt "dd if=/dev/zero of=${1} bs=128k" + fi } ; # Function which runs gpart and creates a single large APM partition scheme @@ -696,8 +696,7 @@ init_mbr_full_disk() rc_halt "gpart add -a 4k -t freebsd -i 1 ${_intDISK}" sleep 2 - echo_log "Cleaning up ${_intDISK}s1" - rc_halt "dd if=/dev/zero of=${_intDISK}s1 count=1024" + wipe_metadata "${_intDISK}s1" # Make the partition active rc_halt "gpart set -a active -i 1 ${_intDISK}" @@ -770,9 +769,7 @@ run_gpart_gpt_part() rc_halt "gpart modify -t freebsd -i ${slicenum} ${DISK}" sleep 2 - # Clean up old partition - echo_log "Cleaning up $slice" - rc_halt "dd if=/dev/zero of=${DISK}p${slicenum} count=1024" + wipe_metadata "${slice}" sleep 4 @@ -830,9 +827,7 @@ run_gpart_slice() rc_halt "gpart modify -t freebsd -i ${slicenum} ${DISK}" sleep 2 - # Clean up old partition - echo_log "Cleaning up $slice" - rc_halt "dd if=/dev/zero of=${DISK}s${slicenum} count=1024" + wipe_metadata "${slice}" sleep 1 @@ -883,9 +878,8 @@ run_gpart_free() echo_log "Running gpart on ${DISK}" rc_halt "gpart add -a 4k -t freebsd -i ${slicenum} ${DISK}" sleep 2 - - echo_log "Cleaning up $slice" - rc_halt "dd if=/dev/zero of=${slice} count=1024" + + wipe_metadata "${slice}" sleep 1 From owner-svn-src-all@freebsd.org Fri Mar 11 14:24:34 2016 Return-Path: Delivered-To: svn-src-all@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 3774AACCE30; Fri, 11 Mar 2016 14:24:34 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 081AE14B1; Fri, 11 Mar 2016 14:24:33 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BEOXmQ039591; Fri, 11 Mar 2016 14:24:33 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BEOXaA039590; Fri, 11 Mar 2016 14:24:33 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603111424.u2BEOXaA039590@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 11 Mar 2016 14:24:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296656 - head/usr.sbin/pc-sysinstall/backend X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 14:24:34 -0000 Author: mav Date: Fri Mar 11 14:24:32 2016 New Revision: 296656 URL: https://svnweb.freebsd.org/changeset/base/296656 Log: Don't bother to invoke gmirror or zpool if the module is not loaded. Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Fri Mar 11 14:14:15 2016 (r296655) +++ head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Fri Mar 11 14:24:32 2016 (r296656) @@ -263,6 +263,9 @@ delete_all_gpart() # Function to export all zpools before starting an install stop_all_zfs() { + if [ ! -c /dev/zfs ]; then + return; + fi local DISK="`echo ${1} | sed 's|/dev/||g'`" # Export any zpools using this device so we can overwrite @@ -278,6 +281,9 @@ stop_all_zfs() # Function which stops all gmirrors before doing any disk manipulation stop_all_gmirror() { + if [ ! -d /dev/mirror ]; then + return; + fi local DISK="`echo ${1} | sed 's|/dev/||g'`" GPROV="`gmirror list | grep ". Name: mirror/" | cut -d '/' -f 2`" for gprov in $GPROV From owner-svn-src-all@freebsd.org Fri Mar 11 14:47:16 2016 Return-Path: Delivered-To: svn-src-all@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 53937ACC9EC; Fri, 11 Mar 2016 14:47:16 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 21BE1183; Fri, 11 Mar 2016 14:47:16 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BElFl7045581; Fri, 11 Mar 2016 14:47:15 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BElF2i045580; Fri, 11 Mar 2016 14:47:15 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603111447.u2BElF2i045580@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Fri, 11 Mar 2016 14:47:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296657 - head/lib/libpam/modules/pam_ssh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 14:47:16 -0000 Author: des Date: Fri Mar 11 14:47:14 2016 New Revision: 296657 URL: https://svnweb.freebsd.org/changeset/base/296657 Log: Not ready for level 6 yet due to -Wredundant-decls. Modified: head/lib/libpam/modules/pam_ssh/Makefile Modified: head/lib/libpam/modules/pam_ssh/Makefile ============================================================================== --- head/lib/libpam/modules/pam_ssh/Makefile Fri Mar 11 14:24:32 2016 (r296656) +++ head/lib/libpam/modules/pam_ssh/Makefile Fri Mar 11 14:47:14 2016 (r296657) @@ -7,6 +7,7 @@ LIB= pam_ssh MAN= pam_ssh.8 SRCS= pam_ssh.c +WARNS?= 5 CFLAGS+= -I${SSHDIR} -include ssh_namespace.h SRCS+= ssh_namespace.h From owner-svn-src-all@freebsd.org Fri Mar 11 14:56:43 2016 Return-Path: Delivered-To: svn-src-all@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 E7DF5ACCDA3; Fri, 11 Mar 2016 14:56:43 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 B849DA42; Fri, 11 Mar 2016 14:56:43 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BEugRU048641; Fri, 11 Mar 2016 14:56:42 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BEug5L048640; Fri, 11 Mar 2016 14:56:42 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603111456.u2BEug5L048640@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Fri, 11 Mar 2016 14:56:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r296658 - vendor/unbound/dist/iterator X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 14:56:44 -0000 Author: des Date: Fri Mar 11 14:56:42 2016 New Revision: 296658 URL: https://svnweb.freebsd.org/changeset/base/296658 Log: Apply upstream r3651: the IPv6 address of the L root has changed. Modified: vendor/unbound/dist/iterator/iter_hints.c Modified: vendor/unbound/dist/iterator/iter_hints.c ============================================================================== --- vendor/unbound/dist/iterator/iter_hints.c Fri Mar 11 14:47:14 2016 (r296657) +++ vendor/unbound/dist/iterator/iter_hints.c Fri Mar 11 14:56:42 2016 (r296658) @@ -152,7 +152,7 @@ compile_time_root_prime(int do_ip4, int if(!ah(dp, "I.ROOT-SERVERS.NET.", "2001:7fe::53")) goto failed; if(!ah(dp, "J.ROOT-SERVERS.NET.", "2001:503:c27::2:30")) goto failed; if(!ah(dp, "K.ROOT-SERVERS.NET.", "2001:7fd::1")) goto failed; - if(!ah(dp, "L.ROOT-SERVERS.NET.", "2001:500:3::42")) goto failed; + if(!ah(dp, "L.ROOT-SERVERS.NET.", "2001:500:9f::42")) goto failed; if(!ah(dp, "M.ROOT-SERVERS.NET.", "2001:dc3::35")) goto failed; } return dp; From owner-svn-src-all@freebsd.org Fri Mar 11 14:57:41 2016 Return-Path: Delivered-To: svn-src-all@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 94656ACCDEF; Fri, 11 Mar 2016 14:57:41 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 6486FB94; Fri, 11 Mar 2016 14:57:41 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BEveN8048727; Fri, 11 Mar 2016 14:57:40 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BEveOu048726; Fri, 11 Mar 2016 14:57:40 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603111457.u2BEveOu048726@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Fri, 11 Mar 2016 14:57:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296659 - head/contrib/unbound/iterator X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 14:57:41 -0000 Author: des Date: Fri Mar 11 14:57:40 2016 New Revision: 296659 URL: https://svnweb.freebsd.org/changeset/base/296659 Log: Apply upstream r3651: the IPv6 address of the L root has changed. Modified: head/contrib/unbound/iterator/iter_hints.c Directory Properties: head/contrib/unbound/ (props changed) Modified: head/contrib/unbound/iterator/iter_hints.c ============================================================================== --- head/contrib/unbound/iterator/iter_hints.c Fri Mar 11 14:56:42 2016 (r296658) +++ head/contrib/unbound/iterator/iter_hints.c Fri Mar 11 14:57:40 2016 (r296659) @@ -152,7 +152,7 @@ compile_time_root_prime(int do_ip4, int if(!ah(dp, "I.ROOT-SERVERS.NET.", "2001:7fe::53")) goto failed; if(!ah(dp, "J.ROOT-SERVERS.NET.", "2001:503:c27::2:30")) goto failed; if(!ah(dp, "K.ROOT-SERVERS.NET.", "2001:7fd::1")) goto failed; - if(!ah(dp, "L.ROOT-SERVERS.NET.", "2001:500:3::42")) goto failed; + if(!ah(dp, "L.ROOT-SERVERS.NET.", "2001:500:9f::42")) goto failed; if(!ah(dp, "M.ROOT-SERVERS.NET.", "2001:dc3::35")) goto failed; } return dp; From owner-svn-src-all@freebsd.org Fri Mar 11 15:26:57 2016 Return-Path: Delivered-To: svn-src-all@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 D7226ACBBC7; Fri, 11 Mar 2016 15:26:57 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 A4C22FA8; Fri, 11 Mar 2016 15:26:57 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BFQuDa057673; Fri, 11 Mar 2016 15:26:56 GMT (envelope-from maxim@FreeBSD.org) Received: (from maxim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BFQujT057672; Fri, 11 Mar 2016 15:26:56 GMT (envelope-from maxim@FreeBSD.org) Message-Id: <201603111526.u2BFQujT057672@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: maxim set sender to maxim@FreeBSD.org using -f From: Maxim Konovalov Date: Fri, 11 Mar 2016 15:26:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296660 - head/sbin/ping X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 15:26:57 -0000 Author: maxim Date: Fri Mar 11 15:26:56 2016 New Revision: 296660 URL: https://svnweb.freebsd.org/changeset/base/296660 Log: o Document net.inet.icmp.maskfake and net.inet.icmp.tstamprepl sysctls. Modified: head/sbin/ping/ping.8 Modified: head/sbin/ping/ping.8 ============================================================================== --- head/sbin/ping/ping.8 Fri Mar 11 14:57:40 2016 (r296659) +++ head/sbin/ping/ping.8 Fri Mar 11 15:26:56 2016 (r296660) @@ -28,7 +28,7 @@ .\" @(#)ping.8 8.2 (Berkeley) 12/11/93 .\" $FreeBSD$ .\" -.Dd April 4, 2006 +.Dd March 11, 2016 .Dt PING 8 .Os .Sh NAME @@ -201,10 +201,17 @@ print the netmask of the remote machine. Set the .Va net.inet.icmp.maskrepl MIB variable to enable -.Dv ICMP_MASKREPLY . +.Dv ICMP_MASKREPLY +and +.Va net.inet.icmp.maskfake +if you want to override the netmask in the response. For .Cm time , print the origination, reception and transmission timestamps. +Set the +.Va net.inet.icmp.tstamprepl +MIB variable to enable or disable +.Dv ICMP_TSTAMPREPLY . .It Fl m Ar ttl Set the IP Time To Live for outgoing packets. If not specified, the kernel uses the value of the From owner-svn-src-all@freebsd.org Fri Mar 11 15:29:01 2016 Return-Path: Delivered-To: svn-src-all@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 BA123ACBC82; Fri, 11 Mar 2016 15:29:01 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 8C1FA1168; Fri, 11 Mar 2016 15:29:01 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BFT0nm057784; Fri, 11 Mar 2016 15:29:00 GMT (envelope-from maxim@FreeBSD.org) Received: (from maxim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BFT0eD057783; Fri, 11 Mar 2016 15:29:00 GMT (envelope-from maxim@FreeBSD.org) Message-Id: <201603111529.u2BFT0eD057783@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: maxim set sender to maxim@FreeBSD.org using -f From: Maxim Konovalov Date: Fri, 11 Mar 2016 15:29:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296661 - head/sbin/ping X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 15:29:01 -0000 Author: maxim Date: Fri Mar 11 15:29:00 2016 New Revision: 296661 URL: https://svnweb.freebsd.org/changeset/base/296661 Log: o Xr icmp(4). Modified: head/sbin/ping/ping.8 Modified: head/sbin/ping/ping.8 ============================================================================== --- head/sbin/ping/ping.8 Fri Mar 11 15:26:56 2016 (r296660) +++ head/sbin/ping/ping.8 Fri Mar 11 15:29:00 2016 (r296661) @@ -527,6 +527,7 @@ These values are defined in .El .Sh SEE ALSO .Xr netstat 1 , +.Xr icmp 4 , .Xr ifconfig 8 , .Xr routed 8 , .Xr traceroute 8 From owner-svn-src-all@freebsd.org Fri Mar 11 16:03:48 2016 Return-Path: Delivered-To: svn-src-all@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 CB1F7ACCF83; Fri, 11 Mar 2016 16:03:48 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 9DA13E74; Fri, 11 Mar 2016 16:03:48 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BG3lth069974; Fri, 11 Mar 2016 16:03:47 GMT (envelope-from maxim@FreeBSD.org) Received: (from maxim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BG3lUu069973; Fri, 11 Mar 2016 16:03:47 GMT (envelope-from maxim@FreeBSD.org) Message-Id: <201603111603.u2BG3lUu069973@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: maxim set sender to maxim@FreeBSD.org using -f From: Maxim Konovalov Date: Fri, 11 Mar 2016 16:03:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296662 - head/sbin/ping X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 16:03:48 -0000 Author: maxim Date: Fri Mar 11 16:03:47 2016 New Revision: 296662 URL: https://svnweb.freebsd.org/changeset/base/296662 Log: o Kill EoL whitespaces. No functional changes. Modified: head/sbin/ping/ping.c Modified: head/sbin/ping/ping.c ============================================================================== --- head/sbin/ping/ping.c Fri Mar 11 15:29:00 2016 (r296661) +++ head/sbin/ping/ping.c Fri Mar 11 16:03:47 2016 (r296662) @@ -807,7 +807,7 @@ main(int argc, char *const *argv) datalen = sweepmin; send_len = icmp_len + sweepmin; } - if (options & F_SWEEP && !sweepmax) + if (options & F_SWEEP && !sweepmax) errx(EX_USAGE, "Maximum sweep size must be specified"); /* @@ -845,9 +845,9 @@ main(int argc, char *const *argv) if (sweepmax) (void)printf(": (%d ... %d) data bytes\n", sweepmin, sweepmax); - else + else (void)printf(": %d data bytes\n", datalen); - + } else { if (sweepmax) (void)printf("PING %s: (%d ... %d) data bytes\n", @@ -969,14 +969,14 @@ main(int argc, char *const *argv) } if (n == 0 || options & F_FLOOD) { if (sweepmax && sntransmitted == snpackets) { - for (i = 0; i < sweepincr ; ++i) + for (i = 0; i < sweepincr ; ++i) *datap++ = i; datalen += sweepincr; if (datalen > sweepmax) break; send_len = icmp_len + datalen; sntransmitted = 0; - } + } if (!npackets || ntransmitted < npackets) pinger(); else { @@ -1179,7 +1179,7 @@ pr_pack(char *buf, int cc, struct sockad if (options & F_QUIET) return; - + if (options & F_WAITTIME && triptime > waittime) { ++nrcvtimeout; return; From owner-svn-src-all@freebsd.org Fri Mar 11 16:15:53 2016 Return-Path: Delivered-To: svn-src-all@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 D33B1ACA593; Fri, 11 Mar 2016 16:15:53 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ob0-x231.google.com (mail-ob0-x231.google.com [IPv6:2607:f8b0:4003:c01::231]) (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 968A080B; Fri, 11 Mar 2016 16:15:53 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-ob0-x231.google.com with SMTP id fz5so117949419obc.0; Fri, 11 Mar 2016 08:15:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=/1Enm+vT8N9qFGj4+00KISpLVXsOaaDf6zJlHR/OUL0=; b=F3KSLzden67ugmS/KP12I+rKS9appqQWExaFiBMNKYHiZTLBhouZHSiZ38weRcbEVt 7viDvoZupLuvPidmu0pi3n43RhMnq+H1ZsdkgXnJrruaOxKKk4tahtWdS5+YP9PA3AP8 SkiLb7Z56ahEjQwhvWpveO+INYDYlIW7mxURFCJm26rILSLh3L/mOv+80b58rBtt2AxA 87b5D4P48Ie5qDt8yeZzEPhii8niVKdAxZoZiwJnjVean46iMyNRfxDathot1X9BZM3K +95ZFBq1nzYE5rfMA29waoFZwR+3UeN54ARIGPNcBTZU0drMilnDZ0hzLU3nj21AF2+s 1YAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=/1Enm+vT8N9qFGj4+00KISpLVXsOaaDf6zJlHR/OUL0=; b=SrWoJpaG2p2D3kBbQSc2uW26c1nWJrVj4sJPJpO47KZxg1Tdw+iIDQxiEOzaEfe3fp +yuhi8qJvuTu/9UIgyfo8NJ2LP0vq3RAvtarN1kkqjD/98nmw2lFZ7PlPTqpUeUmxNCt eULXa0YEB9QW6Z7gphRkIcMOmay5kxXpyCodleHjln+2bUOrWU/iwdenpcDXQJr3dNbP Bsozp7Ys9hVQvOzfCNLh23FxpjvwBY6sUFAT7EANc0OGgvrOipXloou76vQDSi1xvDOH 3dtFrRrMiEt/KG8PHYMi619uVxQA+swBefPxgmciG4/BbSKHqOcORyFAOc1dNVSVfScm DjbQ== X-Gm-Message-State: AD7BkJLwf6/x/+Cgtpe9XWi5EnyO/AmANw7pHxMnmmavrNwxN2Ja8b236trVEuOv9G2mQ5gsWaT+z4GshRK1TQ== MIME-Version: 1.0 X-Received: by 10.60.141.227 with SMTP id rr3mr5976698oeb.57.1457712952781; Fri, 11 Mar 2016 08:15:52 -0800 (PST) Sender: asomers@gmail.com Received: by 10.202.64.138 with HTTP; Fri, 11 Mar 2016 08:15:52 -0800 (PST) In-Reply-To: <56E28ABD.3060803@FreeBSD.org> References: <201512110206.tBB264Ad039486@repo.freebsd.org> <56E28ABD.3060803@FreeBSD.org> Date: Fri, 11 Mar 2016 09:15:52 -0700 X-Google-Sender-Auth: 6_rO6LfIupc_GhbxopID9LlVy28 Message-ID: Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme From: Alan Somers To: Alexander Motin Cc: Warner Losh , Steven Hartland , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 16:15:53 -0000 Interesting. I didn't know about the alternate meaning of stripesize. I agree then that there's currently no way to tune ZFS to respect NVME's 128KB boundaries. One could set zfs.vfs.vdev.aggregation_limit to 128KB, but that would only halfway solve the problem, because allocations could be unaligned. Frankly, I'm surprised that NVME drives should have such a small limit when SATA and SAS devices commonly handle single commands that span multiple MB. I don't think there's any way to adapt ZFS to this limit without hurting it in other ways; for example by restricting its ability to use large _or_ small record sizes. Hopefully the NVME slow path isn't _too_ slow. On Fri, Mar 11, 2016 at 2:07 AM, Alexander Motin wrote: > On 11.03.16 06:58, Alan Somers wrote: > > Do they behave badly for writes that cross a 128KB boundary, but are > > nonetheless aligned to 128KB boundaries? Then I don't understand how > > this change (or mav's replacement) is supposed to help. The stripesize > > is supposed to be the minimum write that the device can accept without > > requiring a read-modify-write. ZFS guarantees that it will never issue > > a write smaller than the stripesize, nor will it ever issue a write that > > is not aligned to a stripesize-boundary. But even if ZFS worked with > > 128KB stripesizes, it would still happily issue writes a multiple of > > 128KB in size, and these would cross those boundaries. Am I not > > understanding something here? > > stripesize is not necessary related to read-modify-write. It reports > "some" native boundaries of the device. For example, RAID0 array has > stripes, crossing which does not cause read-modify-write cycles, but > causes I/O split and head seeks for extra disks. This, as I understand, > is the case for some Intel's NVMe device models here, and is the reason > why 128KB stripesize was originally reported. > > We can not demand all file systems to never issue I/Os of less then > stripesize, since it can be 128KB, 1MB or even more (and since then it > would be called sectorsize). If ZFS (in this case) doesn't support > allocation block sizes above 8K (and even that is very > space-inefficient), and it has no other mechanisms to optimize I/O > alignment, then it is not a problem of the NVMe device or driver, but > only of ZFS itself. So what I have done here is moved workaround from > improper place (NVMe) to proper one (ZFS): NVMe now correctly reports > its native 128K bondaries, that will be respected, for example, by > gpart, that help, for example UFS align its 32K blocks, while ZFS will > correctly ignore values for which it can't optimize, falling back to > efficient 512 bytes allocations. > > PS about the meaning of stripesize not limited to read-modify-write: For > example, RAID5 of 5 512e disks actually has three stripe sizes: 4K, 64K > and 256K: aligned writes of 4K allow to avoid read-modify-write inside > the drive, I/Os not crossing 64K boundaries without reason improve > parallel performance, aligned writes of 256K allow to avoid > read-modify-write on the RAID5 level. Obviously not all of those > optimizations achievable in all environments, and the bigger the stripe > size the harder optimize for it, but it does not mean that such > optimization is impossible. It would be good to be able to report all > of them, allowing each consumer to use as many of them as it can. > > > On Thu, Mar 10, 2016 at 9:34 PM, Warner Losh > > wrote: > > > > Some Intel NVMe drives behave badly when the LBA range crosses a > > 128k boundary. Their > > performance is worse for those transactions than for ones that don't > > cross the 128k boundary. > > > > Warner > > > > On Thu, Mar 10, 2016 at 11:01 AM, Alan Somers > > wrote: > > > > Are you saying that Intel NVMe controllers perform poorly for > > all I/Os that are less than 128KB, or just for I/Os of any size > > that cross a 128KB boundary? > > > > On Thu, Dec 10, 2015 at 7:06 PM, Steven Hartland > > > wrote: > > > > Author: smh > > Date: Fri Dec 11 02:06:03 2015 > > New Revision: 292074 > > URL: https://svnweb.freebsd.org/changeset/base/292074 > > > > Log: > > Limit stripesize reported from nvd(4) to 4K > > > > Intel NVMe controllers have a slow path for I/Os that span > > a 128KB stripe boundary but ZFS limits ashift, which is > > derived from d_stripesize, to 13 (8KB) so we limit the > > stripesize reported to geom(8) to 4KB. > > > > This may result in a small number of additional I/Os to > > require splitting in nvme(4), however the NVMe I/O path is > > very efficient so these additional I/Os will cause very > > minimal (if any) difference in performance or CPU > utilisation. > > > > This can be controller by the new sysctl > > kern.nvme.max_optimal_sectorsize. > > > > MFC after: 1 week > > Sponsored by: Multiplay > > Differential Revision: > > https://reviews.freebsd.org/D4446 > > > > Modified: > > head/sys/dev/nvd/nvd.c > > head/sys/dev/nvme/nvme.h > > head/sys/dev/nvme/nvme_ns.c > > head/sys/dev/nvme/nvme_sysctl.c > > > > > > > > > -- > Alexander Motin > From owner-svn-src-all@freebsd.org Fri Mar 11 16:24:41 2016 Return-Path: Delivered-To: svn-src-all@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 1B99CACA8BC; Fri, 11 Mar 2016 16:24:41 +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 C83A9C23; Fri, 11 Mar 2016 16:24:40 +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 u2BGOdoR075918; Fri, 11 Mar 2016 16:24:39 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BGOddA075917; Fri, 11 Mar 2016 16:24:39 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603111624.u2BGOddA075917@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 11 Mar 2016 16:24:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296663 - head/contrib/elftoolchain/libdwarf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 16:24:41 -0000 Author: emaste Date: Fri Mar 11 16:24:39 2016 New Revision: 296663 URL: https://svnweb.freebsd.org/changeset/base/296663 Log: libdwarf: fix SHT_REL relocation processing Relocation of type SHT_REL must use the current value as addend. PR: 204084 Obtained from: NetBSD libdwarf_elf_init.c v1.4 Modified: head/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Modified: head/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c ============================================================================== --- head/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Fri Mar 11 16:03:47 2016 (r296662) +++ head/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Fri Mar 11 16:24:39 2016 (r296663) @@ -51,7 +51,8 @@ static const char *debug_name[] = { static void _dwarf_elf_write_reloc(Dwarf_Debug dbg, Elf_Data *symtab_data, int endian, - void *buf, uint64_t offset, GElf_Xword r_info, GElf_Sxword r_addend) + void *buf, uint64_t offset, GElf_Xword r_info, GElf_Sxword r_addend, + int is_rel) { GElf_Sym sym; int size; @@ -60,6 +61,14 @@ _dwarf_elf_write_reloc(Dwarf_Debug dbg, return; if ((size = _dwarf_get_reloc_size(dbg, GELF_R_TYPE(r_info))) == 0) return; /* Unknown or non-absolute relocation. */ + if (is_rel) { + uint64_t roffset = offset; + + if (endian == ELFDATA2MSB) + r_addend = _dwarf_read_msb(buf, &roffset, size); + else + r_addend = _dwarf_read_lsb(buf, &roffset, size); + } if (endian == ELFDATA2MSB) _dwarf_write_msb(buf, &offset, sym.st_value + r_addend, size); else @@ -76,7 +85,7 @@ _dwarf_elf_apply_rel_reloc(Dwarf_Debug d j = 0; while (gelf_getrel(rel_data, j++, &rel) != NULL) _dwarf_elf_write_reloc(dbg, symtab_data, endian, buf, - rel.r_offset, rel.r_info, 0); + rel.r_offset, rel.r_info, 0, 1); } static void @@ -89,7 +98,7 @@ _dwarf_elf_apply_rela_reloc(Dwarf_Debug j = 0; while (gelf_getrela(rel_data, j++, &rela) != NULL) _dwarf_elf_write_reloc(dbg, symtab_data, endian, buf, - rela.r_offset, rela.r_info, rela.r_addend); + rela.r_offset, rela.r_info, rela.r_addend, 0); } static int From owner-svn-src-all@freebsd.org Fri Mar 11 16:24:43 2016 Return-Path: Delivered-To: svn-src-all@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 1047DACA8C1 for ; Fri, 11 Mar 2016 16:24:43 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ig0-x233.google.com (mail-ig0-x233.google.com [IPv6:2607:f8b0:4001:c05::233]) (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 DA4EAC28 for ; Fri, 11 Mar 2016 16:24:42 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-ig0-x233.google.com with SMTP id vs8so14227925igb.1 for ; Fri, 11 Mar 2016 08:24:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=4N+gm8vrCsJXYe4fSghj0u9KxKTPaayGL0WzFa7l0TI=; b=WhtyLQBdWH5KX0XPtif45QsTpzKl+CgzNmZgcHS+uu0mX+t01Rc/pEOPiqusB/VpKt /hVhimwHwWtAwHAzouyksiu6gWsOEHbzKnBNUx2xxlPhzUlrkRK8iQYiTY0ZuurwHvb+ vLeouHGRwNKSiFKdbY+/AUPjT5uRpqLccUMGTDKUNI3e4lEmjY9llP5lM1gl4/eX5RWo 1irTbJYYnKW2eISGIRHeSZnqfjQTHvmMJSuAIAdooWsLEAgDsSyOzuwS+ev9uaSKRCCq +z3noYvQpNReIYlTs2e3bS6rCbNvFAK3nFs5InnF6lpVJ/tYIQDZcSozhK0GNyjEqKw4 vPIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=4N+gm8vrCsJXYe4fSghj0u9KxKTPaayGL0WzFa7l0TI=; b=NqfAiHBonU5BclZQbmNKmKNzMLDaLTbvYrTDrq0bb7GcnqcVONuAZ/jWLBDbvO9hP3 203qLidd60SEv5Zzm677PmNvw50I7+TeKw3VsjzmQT/7Wvke+uoOyWTD7hTfDKf+EJwY 0fDVLMJTFzw8mVwM3zG46dP0JIU1T9kzg4LDv2QTXj3gVpNgvzS7NcLa7brU93FiS6GI kPb6E2OKw5xJyeWdtoOEw8HuBasw3w7tEqLN1dgGPelBshQlj6dgpcyzGGbX1nL8Ba5E NbUud1lzgoAbO/IkYAbwBfULHVK9RdWYXY9oLl5xPpEWk953uaAEHorE8IkGA8Ml+TZq 6ZrQ== X-Gm-Message-State: AD7BkJKHaNe06oGL/pzZPAnyrJcG30lixbDcR21ricyIJjsGawbaSnZyT122u+CjJeguien2bU1cAvjRMp5/oA== MIME-Version: 1.0 X-Received: by 10.50.13.74 with SMTP id f10mr4485392igc.36.1457713482163; Fri, 11 Mar 2016 08:24:42 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.230 with HTTP; Fri, 11 Mar 2016 08:24:42 -0800 (PST) X-Originating-IP: [50.253.99.174] In-Reply-To: References: <201512110206.tBB264Ad039486@repo.freebsd.org> <56E28ABD.3060803@FreeBSD.org> Date: Fri, 11 Mar 2016 09:24:42 -0700 X-Google-Sender-Auth: _5vI04j78ZjNdK5S6mCqNbGu6tM Message-ID: Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme From: Warner Losh To: Alan Somers Cc: Alexander Motin , Steven Hartland , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 16:24:43 -0000 On Fri, Mar 11, 2016 at 9:15 AM, Alan Somers wrote: > Interesting. I didn't know about the alternate meaning of stripesize. I > agree then that there's currently no way to tune ZFS to respect NVME's > 128KB boundaries. One could set zfs.vfs.vdev.aggregation_limit to 128KB, > but that would only halfway solve the problem, because allocations could be > unaligned. Frankly, I'm surprised that NVME drives should have such a > small limit when SATA and SAS devices commonly handle single commands that > span multiple MB. I don't think there's any way to adapt ZFS to this limit > without hurting it in other ways; for example by restricting its ability to > use large _or_ small record sizes. > > Hopefully the NVME slow path isn't _too_ slow. > Let's be clear here: this is purely an Intel controller issue, not an nvme issue. Most other nvme drives don't have any issues with this at all. At least for the drives I've been testing from well known NAND players (I'm unsure if they are released yet, so I can't name names, other than to say that they aren't OCZ). All these NVMe drives handle 1MB I/Os with approximately the same performance as 128k or 64k I/Os. The enterprise grade drives are quite fast and quite nice. It's the lower end, consumer drives that have more issues. Since those have been eliminated from our detailed consideration, I'm unsure if they have issues. And the Intel issue is a more subtle one having to do with PCIe burst sizes than necessarily crossing the 128k boundary. I've asked my contacts inside of Intel that I don't think read these lists for the exact details. Warner > On Fri, Mar 11, 2016 at 2:07 AM, Alexander Motin wrote: > >> On 11.03.16 06:58, Alan Somers wrote: >> > Do they behave badly for writes that cross a 128KB boundary, but are >> > nonetheless aligned to 128KB boundaries? Then I don't understand how >> > this change (or mav's replacement) is supposed to help. The stripesize >> > is supposed to be the minimum write that the device can accept without >> > requiring a read-modify-write. ZFS guarantees that it will never issue >> > a write smaller than the stripesize, nor will it ever issue a write that >> > is not aligned to a stripesize-boundary. But even if ZFS worked with >> > 128KB stripesizes, it would still happily issue writes a multiple of >> > 128KB in size, and these would cross those boundaries. Am I not >> > understanding something here? >> >> stripesize is not necessary related to read-modify-write. It reports >> "some" native boundaries of the device. For example, RAID0 array has >> stripes, crossing which does not cause read-modify-write cycles, but >> causes I/O split and head seeks for extra disks. This, as I understand, >> is the case for some Intel's NVMe device models here, and is the reason >> why 128KB stripesize was originally reported. >> >> We can not demand all file systems to never issue I/Os of less then >> stripesize, since it can be 128KB, 1MB or even more (and since then it >> would be called sectorsize). If ZFS (in this case) doesn't support >> allocation block sizes above 8K (and even that is very >> space-inefficient), and it has no other mechanisms to optimize I/O >> alignment, then it is not a problem of the NVMe device or driver, but >> only of ZFS itself. So what I have done here is moved workaround from >> improper place (NVMe) to proper one (ZFS): NVMe now correctly reports >> its native 128K bondaries, that will be respected, for example, by >> gpart, that help, for example UFS align its 32K blocks, while ZFS will >> correctly ignore values for which it can't optimize, falling back to >> efficient 512 bytes allocations. >> >> PS about the meaning of stripesize not limited to read-modify-write: For >> example, RAID5 of 5 512e disks actually has three stripe sizes: 4K, 64K >> and 256K: aligned writes of 4K allow to avoid read-modify-write inside >> the drive, I/Os not crossing 64K boundaries without reason improve >> parallel performance, aligned writes of 256K allow to avoid >> read-modify-write on the RAID5 level. Obviously not all of those >> optimizations achievable in all environments, and the bigger the stripe >> size the harder optimize for it, but it does not mean that such >> optimization is impossible. It would be good to be able to report all >> of them, allowing each consumer to use as many of them as it can. >> >> > On Thu, Mar 10, 2016 at 9:34 PM, Warner Losh > > > wrote: >> > >> > Some Intel NVMe drives behave badly when the LBA range crosses a >> > 128k boundary. Their >> > performance is worse for those transactions than for ones that don't >> > cross the 128k boundary. >> > >> > Warner >> > >> > On Thu, Mar 10, 2016 at 11:01 AM, Alan Somers > > > wrote: >> > >> > Are you saying that Intel NVMe controllers perform poorly for >> > all I/Os that are less than 128KB, or just for I/Os of any size >> > that cross a 128KB boundary? >> > >> > On Thu, Dec 10, 2015 at 7:06 PM, Steven Hartland >> > > wrote: >> > >> > Author: smh >> > Date: Fri Dec 11 02:06:03 2015 >> > New Revision: 292074 >> > URL: https://svnweb.freebsd.org/changeset/base/292074 >> > >> > Log: >> > Limit stripesize reported from nvd(4) to 4K >> > >> > Intel NVMe controllers have a slow path for I/Os that span >> > a 128KB stripe boundary but ZFS limits ashift, which is >> > derived from d_stripesize, to 13 (8KB) so we limit the >> > stripesize reported to geom(8) to 4KB. >> > >> > This may result in a small number of additional I/Os to >> > require splitting in nvme(4), however the NVMe I/O path is >> > very efficient so these additional I/Os will cause very >> > minimal (if any) difference in performance or CPU >> utilisation. >> > >> > This can be controller by the new sysctl >> > kern.nvme.max_optimal_sectorsize. >> > >> > MFC after: 1 week >> > Sponsored by: Multiplay >> > Differential Revision: >> > https://reviews.freebsd.org/D4446 >> > >> > Modified: >> > head/sys/dev/nvd/nvd.c >> > head/sys/dev/nvme/nvme.h >> > head/sys/dev/nvme/nvme_ns.c >> > head/sys/dev/nvme/nvme_sysctl.c >> > >> > >> > >> >> >> -- >> Alexander Motin >> > > From owner-svn-src-all@freebsd.org Fri Mar 11 16:30:12 2016 Return-Path: Delivered-To: svn-src-all@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 3B453ACAB43; Fri, 11 Mar 2016 16:30:12 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0D9431D3; Fri, 11 Mar 2016 16:30:11 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BGUBiW076236; Fri, 11 Mar 2016 16:30:11 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BGUBO0076235; Fri, 11 Mar 2016 16:30:11 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201603111630.u2BGUBO0076235@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 11 Mar 2016 16:30:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org Subject: svn commit: r296665 - svnadmin/conf X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 16:30:12 -0000 Author: glebius Date: Fri Mar 11 16:30:10 2016 New Revision: 296665 URL: https://svnweb.freebsd.org/changeset/base/296665 Log: Add me temporarily to push the OpenSSL update to freebsd-update. Modified: svnadmin/conf/sizelimit.conf Modified: svnadmin/conf/sizelimit.conf ============================================================================== --- svnadmin/conf/sizelimit.conf Fri Mar 11 16:26:44 2016 (r296664) +++ svnadmin/conf/sizelimit.conf Fri Mar 11 16:30:10 2016 (r296665) @@ -26,3 +26,4 @@ jeff obrien peter rwatson +glebius From owner-svn-src-all@freebsd.org Fri Mar 11 16:30:53 2016 Return-Path: Delivered-To: svn-src-all@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 15F17ACABBC; Fri, 11 Mar 2016 16:30:53 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C2D74699; Fri, 11 Mar 2016 16:30:52 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BGUpGX076348; Fri, 11 Mar 2016 16:30:51 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BGUpGS076347; Fri, 11 Mar 2016 16:30:51 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201603111630.u2BGUpGS076347@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 11 Mar 2016 16:30:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org Subject: svn commit: r296667 - svnadmin/conf X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 16:30:53 -0000 Author: glebius Date: Fri Mar 11 16:30:51 2016 New Revision: 296667 URL: https://svnweb.freebsd.org/changeset/base/296667 Log: Remove me. Modified: svnadmin/conf/sizelimit.conf Modified: svnadmin/conf/sizelimit.conf ============================================================================== --- svnadmin/conf/sizelimit.conf Fri Mar 11 16:30:29 2016 (r296666) +++ svnadmin/conf/sizelimit.conf Fri Mar 11 16:30:51 2016 (r296667) @@ -26,4 +26,3 @@ jeff obrien peter rwatson -glebius From owner-svn-src-all@freebsd.org Fri Mar 11 16:31:49 2016 Return-Path: Delivered-To: svn-src-all@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 CF8D6ACAD73 for ; Fri, 11 Mar 2016 16:31:49 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ig0-x229.google.com (mail-ig0-x229.google.com [IPv6:2607:f8b0:4001:c05::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9E15298C for ; Fri, 11 Mar 2016 16:31:49 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-ig0-x229.google.com with SMTP id ig19so15961678igb.0 for ; Fri, 11 Mar 2016 08:31:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=feAX+TfXzPbYQA8GJHK1YgWyxMFqkYPmH0rMa5sv3jY=; b=mQqYRGE3Lbf9Ina9TrNcJXODT2773D9t7iexHsZFGvyGfWeKBv77czEwy4+fIZrTUH q2XYD+30B4ityiCc5z6bPnU358rTJOdmsMNLKqxfUEW9c/rTENyB9If+22XxNVCy7OJx Q66WXxkN9+iPu82g5hR5GNUBh25BCau/Vf81lm0wxmSYT4+B6posKTdE2+8JtA/LK6sI 8h2RbFPGKAT/bRqfxjTy8ue/yzQy46gTQBK+2vVxlHtpzb2peocRu3eNtjHm5FWiZ183 ZDv/75G7bj6kEM61evKoxd5118Gpk5KW52uEELFlsPewPZyF9Fpt97r1x7oX7u6csumR /Ltw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=feAX+TfXzPbYQA8GJHK1YgWyxMFqkYPmH0rMa5sv3jY=; b=LC4OyEPodOat8l6+D57lEh3mH8mnVjMvA89ojafqq3I57eecu0yMYtyz2uurrG0tdK B6bHM0VK0/ds8IEfEhTER0cuDbMT8oHyd2mPHQfZP/JuMm6g5uJJ8s/jt0/ilvqbUfLG 47v06c3fM1Ul8qi+dPM1BucLP/h5m1Ju+Cwl3gh7JtQIvZ6suwZ3l/3np1Q5fqpRf3eI oGmRdPnnGsRlnLDq5lBYsqiZfVPDwFZOOsamhtJkYOmSUEcoMMeJlBGOW+owzCBtMkep avRyMVnod5BlFCdO9+H6bdm9QND6T27p7BX01YoFofaMirAo/vk3TJyP8odCoR5DJ0Kx /duw== X-Gm-Message-State: AD7BkJJKG8ZX+PU9xXTdCI/e1jZIiTU68irgWN1ckxOoUUsyXeIaDgfJGdG9NuIoYVXKFOoziDuoxe2rD3hgFg== MIME-Version: 1.0 X-Received: by 10.50.13.74 with SMTP id f10mr4533799igc.36.1457713908927; Fri, 11 Mar 2016 08:31:48 -0800 (PST) Sender: wlosh@bsdimp.com Received: by 10.36.65.230 with HTTP; Fri, 11 Mar 2016 08:31:48 -0800 (PST) X-Originating-IP: [50.253.99.174] In-Reply-To: References: <201512110206.tBB264Ad039486@repo.freebsd.org> <56E28ABD.3060803@FreeBSD.org> Date: Fri, 11 Mar 2016 09:31:48 -0700 X-Google-Sender-Auth: O-PNVzTePvVAXvG8H47d0HuUX2o Message-ID: Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme From: Warner Losh To: Alan Somers Cc: Alexander Motin , Steven Hartland , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 16:31:50 -0000 On Fri, Mar 11, 2016 at 9:24 AM, Warner Losh wrote: > > > On Fri, Mar 11, 2016 at 9:15 AM, Alan Somers wrote: > >> Interesting. I didn't know about the alternate meaning of stripesize. I >> agree then that there's currently no way to tune ZFS to respect NVME's >> 128KB boundaries. One could set zfs.vfs.vdev.aggregation_limit to 128KB, >> but that would only halfway solve the problem, because allocations could be >> unaligned. Frankly, I'm surprised that NVME drives should have such a >> small limit when SATA and SAS devices commonly handle single commands that >> span multiple MB. I don't think there's any way to adapt ZFS to this limit >> without hurting it in other ways; for example by restricting its ability to >> use large _or_ small record sizes. >> >> Hopefully the NVME slow path isn't _too_ slow. >> > > Let's be clear here: this is purely an Intel controller issue, not an nvme > issue. Most other nvme drives don't have any issues with this at all. At > least for the drives I've been testing from well known NAND players (I'm > unsure if they are released yet, so I can't name names, other than to say > that they aren't OCZ). All these NVMe drives handle 1MB I/Os with > approximately the same performance as 128k or 64k I/Os. The enterprise > grade drives are quite fast and quite nice. It's the lower end, consumer > drives that have more issues. Since those have been eliminated from our > detailed consideration, I'm unsure if they have issues. > > And the Intel issue is a more subtle one having to do with PCIe burst > sizes than necessarily crossing the 128k boundary. I've asked my contacts > inside of Intel that I don't think read these lists for the exact details. > And keep in mind the original description was this: Quote: Intel NVMe controllers have a slow path for I/Os that span a 128KB stripe boundary but ZFS limits ashift, which is derived from d_stripesize, to 13 (8KB) so we limit the stripesize reported to geom(8) to 4KB. This may result in a small number of additional I/Os to require splitting in nvme(4), however the NVMe I/O path is very efficient so these additional I/Os will cause very minimal (if any) difference in performance or CPU utilisation. unquote so the issue seems to being blown up a bit. It's better if you don't generate these I/Os, but the driver copes by splitting them on the affected drives causing a small inefficiency because you're increasing the IOs needed to do the I/O, cutting into the IOPS budget. Warner > Warner > > >> On Fri, Mar 11, 2016 at 2:07 AM, Alexander Motin wrote: >> >>> On 11.03.16 06:58, Alan Somers wrote: >>> > Do they behave badly for writes that cross a 128KB boundary, but are >>> > nonetheless aligned to 128KB boundaries? Then I don't understand how >>> > this change (or mav's replacement) is supposed to help. The stripesize >>> > is supposed to be the minimum write that the device can accept without >>> > requiring a read-modify-write. ZFS guarantees that it will never issue >>> > a write smaller than the stripesize, nor will it ever issue a write >>> that >>> > is not aligned to a stripesize-boundary. But even if ZFS worked with >>> > 128KB stripesizes, it would still happily issue writes a multiple of >>> > 128KB in size, and these would cross those boundaries. Am I not >>> > understanding something here? >>> >>> stripesize is not necessary related to read-modify-write. It reports >>> "some" native boundaries of the device. For example, RAID0 array has >>> stripes, crossing which does not cause read-modify-write cycles, but >>> causes I/O split and head seeks for extra disks. This, as I understand, >>> is the case for some Intel's NVMe device models here, and is the reason >>> why 128KB stripesize was originally reported. >>> >>> We can not demand all file systems to never issue I/Os of less then >>> stripesize, since it can be 128KB, 1MB or even more (and since then it >>> would be called sectorsize). If ZFS (in this case) doesn't support >>> allocation block sizes above 8K (and even that is very >>> space-inefficient), and it has no other mechanisms to optimize I/O >>> alignment, then it is not a problem of the NVMe device or driver, but >>> only of ZFS itself. So what I have done here is moved workaround from >>> improper place (NVMe) to proper one (ZFS): NVMe now correctly reports >>> its native 128K bondaries, that will be respected, for example, by >>> gpart, that help, for example UFS align its 32K blocks, while ZFS will >>> correctly ignore values for which it can't optimize, falling back to >>> efficient 512 bytes allocations. >>> >>> PS about the meaning of stripesize not limited to read-modify-write: For >>> example, RAID5 of 5 512e disks actually has three stripe sizes: 4K, 64K >>> and 256K: aligned writes of 4K allow to avoid read-modify-write inside >>> the drive, I/Os not crossing 64K boundaries without reason improve >>> parallel performance, aligned writes of 256K allow to avoid >>> read-modify-write on the RAID5 level. Obviously not all of those >>> optimizations achievable in all environments, and the bigger the stripe >>> size the harder optimize for it, but it does not mean that such >>> optimization is impossible. It would be good to be able to report all >>> of them, allowing each consumer to use as many of them as it can. >>> >>> > On Thu, Mar 10, 2016 at 9:34 PM, Warner Losh >> > > wrote: >>> > >>> > Some Intel NVMe drives behave badly when the LBA range crosses a >>> > 128k boundary. Their >>> > performance is worse for those transactions than for ones that >>> don't >>> > cross the 128k boundary. >>> > >>> > Warner >>> > >>> > On Thu, Mar 10, 2016 at 11:01 AM, Alan Somers >> > > wrote: >>> > >>> > Are you saying that Intel NVMe controllers perform poorly for >>> > all I/Os that are less than 128KB, or just for I/Os of any size >>> > that cross a 128KB boundary? >>> > >>> > On Thu, Dec 10, 2015 at 7:06 PM, Steven Hartland >>> > > wrote: >>> > >>> > Author: smh >>> > Date: Fri Dec 11 02:06:03 2015 >>> > New Revision: 292074 >>> > URL: https://svnweb.freebsd.org/changeset/base/292074 >>> > >>> > Log: >>> > Limit stripesize reported from nvd(4) to 4K >>> > >>> > Intel NVMe controllers have a slow path for I/Os that >>> span >>> > a 128KB stripe boundary but ZFS limits ashift, which is >>> > derived from d_stripesize, to 13 (8KB) so we limit the >>> > stripesize reported to geom(8) to 4KB. >>> > >>> > This may result in a small number of additional I/Os to >>> > require splitting in nvme(4), however the NVMe I/O path is >>> > very efficient so these additional I/Os will cause very >>> > minimal (if any) difference in performance or CPU >>> utilisation. >>> > >>> > This can be controller by the new sysctl >>> > kern.nvme.max_optimal_sectorsize. >>> > >>> > MFC after: 1 week >>> > Sponsored by: Multiplay >>> > Differential Revision: >>> > https://reviews.freebsd.org/D4446 >>> > >>> > Modified: >>> > head/sys/dev/nvd/nvd.c >>> > head/sys/dev/nvme/nvme.h >>> > head/sys/dev/nvme/nvme_ns.c >>> > head/sys/dev/nvme/nvme_sysctl.c >>> > >>> > >>> > >>> >>> >>> -- >>> Alexander Motin >>> >> >> > From owner-svn-src-all@freebsd.org Fri Mar 11 16:57:43 2016 Return-Path: Delivered-To: svn-src-all@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 004A5ACC850; Fri, 11 Mar 2016 16:57:43 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ABAE5921; Fri, 11 Mar 2016 16:57:42 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BGvfS3085041; Fri, 11 Mar 2016 16:57:41 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BGvfIb085039; Fri, 11 Mar 2016 16:57:41 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603111657.u2BGvfIb085039@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 16:57:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296668 - in head: . share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 16:57:43 -0000 Author: bdrewery Date: Fri Mar 11 16:57:41 2016 New Revision: 296668 URL: https://svnweb.freebsd.org/changeset/base/296668 Log: Enable FAST_DEPEND by default. Discussed on: arch Sponsored by: EMC / Isilon Storage Division Modified: head/UPDATING head/share/mk/bsd.opts.mk Modified: head/UPDATING ============================================================================== --- head/UPDATING Fri Mar 11 16:30:51 2016 (r296667) +++ head/UPDATING Fri Mar 11 16:57:41 2016 (r296668) @@ -31,6 +31,16 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20160311: + WITH_FAST_DEPEND is now enabled by default for in-tree and out-of-tree + builds. It no longer runs mkdep(1) during 'make depend', and the + 'make depend' stage can safely be skipped now as it is auto ran + when building 'make all' and will generate all SRCS and DPSRCS before + building anything else. Dependencies are gathered at compile time with + -MF flags kept in separate .depend files per object file. Users should + run 'make cleandepend' once if using -DNO_CLEAN to clean out older + stale .depend files. + 20160306: On amd64, clang 3.8.0 can now insert sections of type AMD64_UNWIND into kernel modules. Therefore, if you load any kernel modules at boot time, Modified: head/share/mk/bsd.opts.mk ============================================================================== --- head/share/mk/bsd.opts.mk Fri Mar 11 16:30:51 2016 (r296667) +++ head/share/mk/bsd.opts.mk Fri Mar 11 16:57:41 2016 (r296668) @@ -52,6 +52,7 @@ __DEFAULT_YES_OPTIONS = \ ASSERT_DEBUG \ DEBUG_FILES \ DOCCOMPRESS \ + FAST_DEPEND \ INCLUDES \ INSTALLLIB \ KERBEROS \ @@ -68,7 +69,6 @@ __DEFAULT_YES_OPTIONS = \ __DEFAULT_NO_OPTIONS = \ CCACHE_BUILD \ - FAST_DEPEND \ CTF \ INSTALL_AS_USER \ STALE_STAGED From owner-svn-src-all@freebsd.org Fri Mar 11 17:00:44 2016 Return-Path: Delivered-To: svn-src-all@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 5B08DACCAB2; Fri, 11 Mar 2016 17:00:44 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 29C2EB99; Fri, 11 Mar 2016 17:00:44 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BH0hpI085218; Fri, 11 Mar 2016 17:00:43 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BH0hvb085217; Fri, 11 Mar 2016 17:00:43 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603111700.u2BH0hvb085217@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 17:00:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296669 - head/tools/build/options X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 17:00:44 -0000 Author: bdrewery Date: Fri Mar 11 17:00:42 2016 New Revision: 296669 URL: https://svnweb.freebsd.org/changeset/base/296669 Log: Add a WITHOUT_FAST_DEPEND Added: head/tools/build/options/WITHOUT_FAST_DEPEND - copied, changed from r296668, head/tools/build/options/WITH_FAST_DEPEND Copied and modified: head/tools/build/options/WITHOUT_FAST_DEPEND (from r296668, head/tools/build/options/WITH_FAST_DEPEND) ============================================================================== --- head/tools/build/options/WITH_FAST_DEPEND Fri Mar 11 16:57:41 2016 (r296668, copy source) +++ head/tools/build/options/WITHOUT_FAST_DEPEND Fri Mar 11 17:00:42 2016 (r296669) @@ -1,7 +1,5 @@ .\" $FreeBSD$ -Set to generate -.Sy .depend -files in the build during compilation instead of the -historial +Set to use the historical .Xr mkdep 1 -call during the "make depend" phase. +for the "make depend" phase of the build. +This option is deprecated and will be removed soon. From owner-svn-src-all@freebsd.org Fri Mar 11 17:03:31 2016 Return-Path: Delivered-To: svn-src-all@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 AEDEEACCCB1; Fri, 11 Mar 2016 17:03:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8044CF16; Fri, 11 Mar 2016 17:03:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BH3UFA088047; Fri, 11 Mar 2016 17:03:30 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BH3UfF088046; Fri, 11 Mar 2016 17:03:30 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603111703.u2BH3UfF088046@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 17:03:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296670 - head/share/man/man5 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 17:03:31 -0000 Author: bdrewery Date: Fri Mar 11 17:03:30 2016 New Revision: 296670 URL: https://svnweb.freebsd.org/changeset/base/296670 Log: Regenerate Modified: head/share/man/man5/src.conf.5 Modified: head/share/man/man5/src.conf.5 ============================================================================== --- head/share/man/man5/src.conf.5 Fri Mar 11 17:00:42 2016 (r296669) +++ head/share/man/man5/src.conf.5 Fri Mar 11 17:03:30 2016 (r296670) @@ -1,7 +1,7 @@ .\" DO NOT EDIT-- this file is automatically generated. .\" from FreeBSD: head/tools/build/options/makeman 292283 2015-12-15 18:42:30Z bdrewery .\" $FreeBSD$ -.Dd March 1, 2016 +.Dd March 11, 2016 .Dt SRC.CONF 5 .Os .Sh NAME @@ -618,14 +618,12 @@ An alternate bootstrap tool chain must b .\" from FreeBSD: head/tools/build/options/WITHOUT_EXAMPLES 156938 2006-03-21 09:06:24Z ru Set to avoid installing examples to .Pa /usr/share/examples/ . -.It Va WITH_FAST_DEPEND -.\" from FreeBSD: head/tools/build/options/WITH_FAST_DEPEND 290433 2015-11-06 04:45:29Z bdrewery -Set to generate -.Sy .depend -files in the build during compilation instead of the -historial +.It Va WITHOUT_FAST_DEPEND +.\" from FreeBSD: head/tools/build/options/WITHOUT_FAST_DEPEND 296669 2016-03-11 17:00:42Z bdrewery +Set to use the historical .Xr mkdep 1 -call during the "make depend" phase. +for the "make depend" phase of the build. +This option is deprecated and will be removed soon. .It Va WITHOUT_FDT .\" from FreeBSD: head/tools/build/options/WITHOUT_FDT 221539 2011-05-06 19:10:27Z ru Set to not build Flattened Device Tree support as part of the base system. From owner-svn-src-all@freebsd.org Fri Mar 11 17:21:29 2016 Return-Path: Delivered-To: svn-src-all@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 3F901ACB617; Fri, 11 Mar 2016 17:21:29 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 119EA106; Fri, 11 Mar 2016 17:21:29 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BHLSOA093429; Fri, 11 Mar 2016 17:21:28 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BHLSFH093428; Fri, 11 Mar 2016 17:21:28 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603111721.u2BHLSFH093428@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 17:21:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296671 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 17:21:29 -0000 Author: bdrewery Date: Fri Mar 11 17:21:27 2016 New Revision: 296671 URL: https://svnweb.freebsd.org/changeset/base/296671 Log: Revert r296645 as it breaks stable/10->head builds. Modified: head/Makefile Modified: head/Makefile ============================================================================== --- head/Makefile Fri Mar 11 17:03:30 2016 (r296670) +++ head/Makefile Fri Mar 11 17:21:27 2016 (r296671) @@ -313,10 +313,9 @@ upgrade_checks: # MMAKEENV= MAKEOBJDIRPREFIX=${MYMAKE:H} \ DESTDIR= \ - MK_MAN=no \ INSTALL="sh ${.CURDIR}/tools/install.sh" MMAKE= ${MMAKEENV} ${MAKE} \ - -DNO_SHARED \ + -DNO_MAN -DNO_SHARED \ -DNO_CPU_CFLAGS -DNO_WERROR \ MK_TESTS=no \ DESTDIR= PROGNAME=${MYMAKE:T} From owner-svn-src-all@freebsd.org Fri Mar 11 17:25:20 2016 Return-Path: Delivered-To: svn-src-all@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 1802EACB87F; Fri, 11 Mar 2016 17:25:20 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D99A4673; Fri, 11 Mar 2016 17:25:19 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BHPIO7094254; Fri, 11 Mar 2016 17:25:18 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BHPIe3094253; Fri, 11 Mar 2016 17:25:18 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603111725.u2BHPIe3094253@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 11 Mar 2016 17:25:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296672 - head/sbin/nvmecontrol X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 17:25:20 -0000 Author: dim Date: Fri Mar 11 17:25:18 2016 New Revision: 296672 URL: https://svnweb.freebsd.org/changeset/base/296672 Log: In nvmecontrol, fix gcc warnings about the local 'power' variables shadowing a global declaration. Modified: head/sbin/nvmecontrol/power.c Modified: head/sbin/nvmecontrol/power.c ============================================================================== --- head/sbin/nvmecontrol/power.c Fri Mar 11 17:21:27 2016 (r296671) +++ head/sbin/nvmecontrol/power.c Fri Mar 11 17:25:18 2016 (r296672) @@ -87,7 +87,7 @@ power_list(struct nvme_controller_data * } static void -power_set(int fd, int power, int workload, int perm) +power_set(int fd, int power_val, int workload, int perm) { struct nvme_pt_command pt; uint32_t p; @@ -96,7 +96,7 @@ power_set(int fd, int power, int workloa memset(&pt, 0, sizeof(pt)); pt.cmd.opc = NVME_OPC_SET_FEATURES; pt.cmd.cdw10 = NVME_FEAT_POWER_MANAGEMENT | p; - pt.cmd.cdw11 = power | (workload << 5); + pt.cmd.cdw11 = power_val | (workload << 5); if (ioctl(fd, NVME_PASSTHROUGH_CMD, &pt) < 0) err(1, "set feature power mgmt request failed"); @@ -127,7 +127,7 @@ void power(int argc, char *argv[]) { struct nvme_controller_data cdata; - int ch, listflag = 0, powerflag = 0, power = 0, fd; + int ch, listflag = 0, powerflag = 0, power_val = 0, fd; int workload = 0; char *end; @@ -138,7 +138,7 @@ power(int argc, char *argv[]) break; case 'p': powerflag = 1; - power = strtol(optarg, &end, 0); + power_val = strtol(optarg, &end, 0); if (*end != '\0') { fprintf(stderr, "Invalid power state number: %s\n", optarg); power_usage(); @@ -174,7 +174,7 @@ power(int argc, char *argv[]) } if (powerflag) { - power_set(fd, power, workload, 0); + power_set(fd, power_val, workload, 0); goto out; } power_show(fd); From owner-svn-src-all@freebsd.org Fri Mar 11 17:28:31 2016 Return-Path: Delivered-To: svn-src-all@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 31D19ACB9BA; Fri, 11 Mar 2016 17:28:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 15F7A914; Fri, 11 Mar 2016 17:28:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 079B0111A; Fri, 11 Mar 2016 17:28:31 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id C9CB61E09C; Fri, 11 Mar 2016 17:28:30 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id q3lTgiCmS9aF; Fri, 11 Mar 2016 17:28:28 +0000 (UTC) Subject: Re: svn commit: r296589 - head/sys/dev/fdc DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com C67411E097 To: Warner Losh References: <201603100033.u2A0X6uN027771@repo.freebsd.org> <56E1F72D.7000002@FreeBSD.org> Cc: src-committers , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , Warner Losh From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E30041.3020804@FreeBSD.org> Date: Fri, 11 Mar 2016 09:28:33 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="22grvUsp1kwLkApMC3HVEJH8q6leL9f61" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 17:28:31 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --22grvUsp1kwLkApMC3HVEJH8q6leL9f61 Content-Type: multipart/mixed; boundary="uxkN9qKeQ4cTsvmAR5wwJL38LswhouETs" From: Bryan Drewery To: Warner Losh Cc: src-committers , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , Warner Losh Message-ID: <56E30041.3020804@FreeBSD.org> Subject: Re: svn commit: r296589 - head/sys/dev/fdc References: <201603100033.u2A0X6uN027771@repo.freebsd.org> <56E1F72D.7000002@FreeBSD.org> In-Reply-To: --uxkN9qKeQ4cTsvmAR5wwJL38LswhouETs Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/10/2016 9:14 PM, Warner Losh wrote: >=20 >=20 > On Thu, Mar 10, 2016 at 6:58 PM, Warner Losh > wrote: >=20 >=20 > On Mar 10, 2016 3:37 PM, "Bryan Drewery" > wrote: > > > > On 3/9/16 4:33 PM, Warner Losh wrote: > > > Author: imp > > > Date: Thu Mar 10 00:33:06 2016 > > > New Revision: 296589 > > > URL: https://svnweb.freebsd.org/changeset/base/296589 > > > > > > Log: > > > Stop assuming that bio_cmd is a bit field. > > > > > > Differential Revision: https://reviews.freebsd.org/D5587 > > > > > > Modified: > > > head/sys/dev/fdc/fdc.c > > > > > > Modified: head/sys/dev/fdc/fdc.c > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > > > --- head/sys/dev/fdc/fdc.c Thu Mar 10 00:27:10 2016 =20 > (r296588) > > > +++ head/sys/dev/fdc/fdc.c Thu Mar 10 00:33:06 2016 =20 > (r296589) > > > @@ -941,7 +941,7 @@ fdc_worker(struct fdc_data *fdc) > > > /* Disable ISADMA if we bailed while it was active */ > > > if (fd !=3D NULL && (fd->flags & FD_ISADMA)) { > > > isa_dmadone( > > > - bp->bio_cmd & BIO_READ ? ISADMA_READ : > ISADMA_WRITE, > > > + bp->bio_cmd =3D=3D BIO_READ ? ISADMA_READ : > ISADMA_WRITE, > > > > I think we should have some kind of file (like ports CHANGES) tha= t > lists > > subtle KPI changes. This and the bio bzero change were easily mi= ssed > > and could lead to who-knows-what downstream for vendors or even > > out-of-tree modules. >=20 > True. However, these have never been documented one way or another.= =2E.. >=20 > And this change isn't a change yet... >=20 > I'd love a kpi change file. This is but one of many. We'd need > someone clueful to watch the tree and remind people to add things t= o it. >=20 > I'm also working on documenting our storage api so that people know= > better what is defined, vs what's there and subject to change. >=20 > Re-reading this, I wasn't very clear: >=20 > I think we need this file. > I think we need someone else (not me) to spearhead it and police change= s > I think that the sooner we start the better. > Can I get a volunteer? I don't mind policing it. I'll bring it up on arch@ just to be sure no one objects for some reason. It was also pointed out to me that bio_cmd was never a bitfield and lacked documentation. However I still think it is worth having a file like this. Even my share/mk changes have been subtle enough to break downstream where I don't feel UPDATING is the proper place. --=20 Regards, Bryan Drewery --uxkN9qKeQ4cTsvmAR5wwJL38LswhouETs-- --22grvUsp1kwLkApMC3HVEJH8q6leL9f61 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW4wBCAAoJEDXXcbtuRpfPu7oH/0uMnK8t0dIFYwaWV9Tm/G+O X+izHjCQ/9sk7m4K0y7XX+cZS0ODepKoTdTACmFsjvk3cTmiqQ7d8rDPhUsHT+jj zch5j1wnsJOxsLtU3VWKTIJKunwhTzLo0pIPNxOceJLv1iFLv/SDMVy+0WYdCQMM 9jnxa/8Oi8mE4CfGqvQsQAG//qsAfH+TO5cXQPqMNxHslpTOzL1jhoniYjNZiSN5 +5yZ66kCMMsnwmtfRpmZEZZHq54rcVIFd2gKkgRrRw8cUBVh+gbagGpF1S1D94+m pm1shWW2OGi6RcTUUQaF5HkQuKczoHAufQAE8OyAPiWIMwUm8SmDwHGV13hlN8U= =aezR -----END PGP SIGNATURE----- --22grvUsp1kwLkApMC3HVEJH8q6leL9f61-- From owner-svn-src-all@freebsd.org Fri Mar 11 17:31:20 2016 Return-Path: Delivered-To: svn-src-all@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 7607CACBBB9; Fri, 11 Mar 2016 17:31:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 60FC7BF3; Fri, 11 Mar 2016 17:31:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 5A4111297; Fri, 11 Mar 2016 17:31:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 1BD0B1E0A8; Fri, 11 Mar 2016 17:31:20 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id 0X8mV-v7AVGp; Fri, 11 Mar 2016 17:31:13 +0000 (UTC) Subject: Re: svn commit: r296671 - head DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 959FA1E0A3 To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603111721.u2BHLSFH093428@repo.freebsd.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E300E7.2080001@FreeBSD.org> Date: Fri, 11 Mar 2016 09:31:19 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603111721.u2BHLSFH093428@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="wRcFMdf73t9b5u2cCfru6OoS1F6kurVhl" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 17:31:20 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --wRcFMdf73t9b5u2cCfru6OoS1F6kurVhl Content-Type: multipart/mixed; boundary="gm7XoGn2xK0Xcc8lasdHxss60K6kxAuGA" From: Bryan Drewery To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <56E300E7.2080001@FreeBSD.org> Subject: Re: svn commit: r296671 - head References: <201603111721.u2BHLSFH093428@repo.freebsd.org> In-Reply-To: <201603111721.u2BHLSFH093428@repo.freebsd.org> --gm7XoGn2xK0Xcc8lasdHxss60K6kxAuGA Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/11/2016 9:21 AM, Bryan Drewery wrote: > Author: bdrewery > Date: Fri Mar 11 17:21:27 2016 > New Revision: 296671 > URL: https://svnweb.freebsd.org/changeset/base/296671 >=20 > Log: > Revert r296645 as it breaks stable/10->head builds. >=20 > Modified: > head/Makefile >=20 > Modified: head/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/Makefile Fri Mar 11 17:03:30 2016 (r296670) > +++ head/Makefile Fri Mar 11 17:21:27 2016 (r296671) > @@ -313,10 +313,9 @@ upgrade_checks: > # > MMAKEENV=3D MAKEOBJDIRPREFIX=3D${MYMAKE:H} \ > DESTDIR=3D \ > - MK_MAN=3Dno \ > INSTALL=3D"sh ${.CURDIR}/tools/install.sh" > MMAKE=3D ${MMAKEENV} ${MAKE} \ > - -DNO_SHARED \ > + -DNO_MAN -DNO_SHARED \ > -DNO_CPU_CFLAGS -DNO_WERROR \ > MK_TESTS=3Dno \ > DESTDIR=3D PROGNAME=3D${MYMAKE:T} >=20 You will see a NO_MAN warning once now in buildworld until your system bmake is updated. --=20 Regards, Bryan Drewery --gm7XoGn2xK0Xcc8lasdHxss60K6kxAuGA-- --wRcFMdf73t9b5u2cCfru6OoS1F6kurVhl Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW4wDnAAoJEDXXcbtuRpfPVFEIAMtc/wZh0Zv/tofKz/jcdn6p cd33o29ADQRIZ6l4n09x9fe0XjaaKGiBQslHZJegCURLKJV1efdwH75C7+PHyOoC saEk1hjWlrsnyGNTNSnae0KFjTVfeQPEq76l+2cm4SOBSXBkiHj02yO2RknuClMO 0+GJPeqSv20FjjQQcvtpDxFGfvQHpRYCrSHlUaXuCzwX7bxaIO5hTLLYjwixvhQO DiZXLQ8aJ4xxSxfPDMd6D349O0K+Lmc+YfhK78aJhE1VYyaDk7xMedTjrk6ExO1a q8eVfMvtMTZ3kOyiiwJ5XCm500YNXaEBx5OVK6JQH7OeX7LY0LO4L9kwLAMQ5iI= =3KZH -----END PGP SIGNATURE----- --wRcFMdf73t9b5u2cCfru6OoS1F6kurVhl-- From owner-svn-src-all@freebsd.org Fri Mar 11 17:39:55 2016 Return-Path: Delivered-To: svn-src-all@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 75FACACBEF3; Fri, 11 Mar 2016 17:39:55 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 46D3A115F; Fri, 11 Mar 2016 17:39:55 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BHds5t097370; Fri, 11 Mar 2016 17:39:54 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BHdsfr097369; Fri, 11 Mar 2016 17:39:54 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603111739.u2BHdsfr097369@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 11 Mar 2016 17:39:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296673 - head/usr.sbin/pc-sysinstall/backend X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 17:39:55 -0000 Author: mav Date: Fri Mar 11 17:39:54 2016 New Revision: 296673 URL: https://svnweb.freebsd.org/changeset/base/296673 Log: Oops, remove debugging forgotten in r296655. MFC after: 2 weeks Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Fri Mar 11 17:25:18 2016 (r296672) +++ head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Fri Mar 11 17:39:54 2016 (r296673) @@ -1,4 +1,4 @@ -#!/bin/sh -x +#!/bin/sh #- # Copyright (c) 2010 iXsystems, Inc. All rights reserved. # From owner-svn-src-all@freebsd.org Fri Mar 11 18:33:17 2016 Return-Path: Delivered-To: svn-src-all@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 6A505ACC4BD; Fri, 11 Mar 2016 18:33:17 +0000 (UTC) (envelope-from jim.harris@gmail.com) Received: from mail-wm0-x229.google.com (mail-wm0-x229.google.com [IPv6:2a00:1450:400c:c09::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 101D5D74; Fri, 11 Mar 2016 18:33:17 +0000 (UTC) (envelope-from jim.harris@gmail.com) Received: by mail-wm0-x229.google.com with SMTP id p65so28419968wmp.0; Fri, 11 Mar 2016 10:33:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=ec2VIZuVof/YTPJZURFQpXnd7tzfuxJfwR3JAHaChxI=; b=R5b23UcANkowYv7lXGP03+xxuGAkJ9I23HnA4UtlQuqV73e5wJRxxfK3wu4DbvDC+I gM8hY49fPlI/bNyWpYTOGELUxKb9wHxfljHUV/WJLHbkYF5RkgTd6NsJXKS1kXuEWRRY cU4WzCSsDj4nUS7jwrNR3McARUt2jcEUAoxvMVrRIRr7pJ08Tby8a3UxloTU+87WL+KE 8TYZiLaDYq5qOKbranJQotnYMj34NwYwluXA4QisauKJrMa1ibEWPxbLstUqE+A1BlR1 E2wga+5/I+qlKkyf5vn3TJHfLTU/aQCZdhQBN95eY5Ib5UOlhTMrAOds9NTeNHO9+O4N njxg== 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:date :message-id:subject:from:to:cc; bh=ec2VIZuVof/YTPJZURFQpXnd7tzfuxJfwR3JAHaChxI=; b=EKaXvb4ppw6GRCjIvfbzbPFzUSV5NLAFit87AI2FjIkSTqRe4G5QY/hKrTwSye6G0j o0ZGoDygGckSNNyNOQEs0hKZ5HOVnbBAHmnJ/7ZvMnYeImfpIbwKI7oId/VmjL8+Fotx tTizUivPyS8SPk5HrFPjjFP9Y0tzWobu+819c5zzicb2kjnB/BrP76uqS1xbHvKV6g1b GBJI4mil412x0zUNP3Qu+24Oz8M7LE4VecvEB1tFeFjVV2ELUYtvtnnu612PnU7Ydrt0 ptT1RoCw/vlwHLV1ZSM86AKsWMm0U483QdPTchKpxzNyn8DiJYDVyOvR/xcm5Wb5dXto y/gQ== X-Gm-Message-State: AD7BkJIYKh6uIlyZr4L1j03mG0bvbI5OPp9hwR3wdn8l4dLYimAjbTt3NMohYEZiFzYW/GmVVTaMz68BRZMJLg== MIME-Version: 1.0 X-Received: by 10.28.153.135 with SMTP id b129mr4640899wme.3.1457721194927; Fri, 11 Mar 2016 10:33:14 -0800 (PST) Received: by 10.194.115.99 with HTTP; Fri, 11 Mar 2016 10:33:14 -0800 (PST) In-Reply-To: References: <201512110206.tBB264Ad039486@repo.freebsd.org> <56E28ABD.3060803@FreeBSD.org> Date: Fri, 11 Mar 2016 11:33:14 -0700 Message-ID: Subject: Re: svn commit: r292074 - in head/sys/dev: nvd nvme From: Jim Harris To: Warner Losh Cc: Alan Somers , Alexander Motin , Steven Hartland , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 18:33:17 -0000 On Fri, Mar 11, 2016 at 9:31 AM, Warner Losh wrote: > > > > And keep in mind the original description was this: > > Quote: > > Intel NVMe controllers have a slow path for I/Os that span > a 128KB stripe boundary but ZFS limits ashift, which is derived > from d_stripesize, to 13 (8KB) so we limit the stripesize > reported to geom(8) to 4KB. > > This may result in a small number of additional I/Os > to require splitting in nvme(4), however the NVMe I/O > path is very efficient so these additional I/Os will cause > very minimal (if any) difference in performance or > CPU utilisation. > > unquote > > so the issue seems to being blown up a bit. It's better if you > don't generate these I/Os, but the driver copes by splitting them > on the affected drives causing a small inefficiency because you're > increasing the IOs needed to do the I/O, cutting into the IOPS budget. > > Warner > > Warner is correct. This is something specific to some of the Intel NVMe controllers. The core nvme(4) driver detects Intel controllers that benefit from splitting I/O crossing 128KB stripe boundaries, and will do the splitting internal to the driver. Reporting this stripe size further up the stack is only to reduce the number of I/O that require this splitting. In practice, there is no noticeable impact to performance or latency when splitting I/O on 128KB boundaries. Larger I/O are more likely to require splitting, but for larger I/O you will hit overall bandwidth limitations before getting close to IOPs limitations. -Jim From owner-svn-src-all@freebsd.org Fri Mar 11 18:59:17 2016 Return-Path: Delivered-To: svn-src-all@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 506B3ACCD21; Fri, 11 Mar 2016 18:59:17 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 21945C90; Fri, 11 Mar 2016 18:59:17 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BIxGOI021819; Fri, 11 Mar 2016 18:59:16 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BIxGLs021818; Fri, 11 Mar 2016 18:59:16 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201603111859.u2BIxGLs021818@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Fri, 11 Mar 2016 18:59:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296674 - head/sys/dev/drm2 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 18:59:17 -0000 Author: dumbbell Date: Fri Mar 11 18:59:15 2016 New Revision: 296674 URL: https://svnweb.freebsd.org/changeset/base/296674 Log: drm: Fix dev->ioctl_count references leak This fixes the following error: kernel: error: [drm:pid1167:drm_release] *ERROR* Device busy: 2 Because of that, drm_lastclose() was not called, leading to a few memory leaks once the driver was unloaded. MFC after: 1 week Modified: head/sys/dev/drm2/drm_drv.c Modified: head/sys/dev/drm2/drm_drv.c ============================================================================== --- head/sys/dev/drm2/drm_drv.c Fri Mar 11 17:39:54 2016 (r296673) +++ head/sys/dev/drm2/drm_drv.c Fri Mar 11 18:59:15 2016 (r296674) @@ -386,17 +386,21 @@ int drm_ioctl(struct cdev *kdev, u_long switch (cmd) { case FIONBIO: case FIOASYNC: + atomic_dec(&dev->ioctl_count); return 0; case FIOSETOWN: + atomic_dec(&dev->ioctl_count); return fsetown(*(int *)data, &file_priv->minor->buf_sigio); case FIOGETOWN: + atomic_dec(&dev->ioctl_count); *(int *) data = fgetown(&file_priv->minor->buf_sigio); return 0; } if (IOCGROUP(cmd) != DRM_IOCTL_BASE) { + atomic_dec(&dev->ioctl_count); DRM_DEBUG("Bad ioctl group 0x%x\n", (int)IOCGROUP(cmd)); return EINVAL; } From owner-svn-src-all@freebsd.org Fri Mar 11 19:24:16 2016 Return-Path: Delivered-To: svn-src-all@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 D45ABACD93F; Fri, 11 Mar 2016 19:24:16 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A246127E; Fri, 11 Mar 2016 19:24:16 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BJOFqg030797; Fri, 11 Mar 2016 19:24:15 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BJOFbh030796; Fri, 11 Mar 2016 19:24:15 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603111924.u2BJOFbh030796@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 19:24:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296675 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 19:24:16 -0000 Author: bdrewery Date: Fri Mar 11 19:24:15 2016 New Revision: 296675 URL: https://svnweb.freebsd.org/changeset/base/296675 Log: Avoid bmake upgrade NO_MAN warning by just setting MAN to empty. Suggested by: imp Modified: head/Makefile Modified: head/Makefile ============================================================================== --- head/Makefile Fri Mar 11 18:59:15 2016 (r296674) +++ head/Makefile Fri Mar 11 19:24:15 2016 (r296675) @@ -315,7 +315,7 @@ MMAKEENV= MAKEOBJDIRPREFIX=${MYMAKE:H} \ DESTDIR= \ INSTALL="sh ${.CURDIR}/tools/install.sh" MMAKE= ${MMAKEENV} ${MAKE} \ - -DNO_MAN -DNO_SHARED \ + MAN= -DNO_SHARED \ -DNO_CPU_CFLAGS -DNO_WERROR \ MK_TESTS=no \ DESTDIR= PROGNAME=${MYMAKE:T} From owner-svn-src-all@freebsd.org Fri Mar 11 19:28:45 2016 Return-Path: Delivered-To: svn-src-all@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 5C27CACDA28; Fri, 11 Mar 2016 19:28:45 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2CB2C6B2; Fri, 11 Mar 2016 19:28:45 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BJSifQ030981; Fri, 11 Mar 2016 19:28:44 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BJSido030980; Fri, 11 Mar 2016 19:28:44 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603111928.u2BJSido030980@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 19:28:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296676 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 19:28:45 -0000 Author: bdrewery Date: Fri Mar 11 19:28:43 2016 New Revision: 296676 URL: https://svnweb.freebsd.org/changeset/base/296676 Log: Avoid MK_TESTS error on stable/10 by just preventing SUBDIR recursion. Modified: head/Makefile Modified: head/Makefile ============================================================================== --- head/Makefile Fri Mar 11 19:24:15 2016 (r296675) +++ head/Makefile Fri Mar 11 19:28:43 2016 (r296676) @@ -317,7 +317,7 @@ MMAKEENV= MAKEOBJDIRPREFIX=${MYMAKE:H} \ MMAKE= ${MMAKEENV} ${MAKE} \ MAN= -DNO_SHARED \ -DNO_CPU_CFLAGS -DNO_WERROR \ - MK_TESTS=no \ + -DNO_SUBDIR \ DESTDIR= PROGNAME=${MYMAKE:T} bmake: .PHONY From owner-svn-src-all@freebsd.org Fri Mar 11 20:04:34 2016 Return-Path: Delivered-To: svn-src-all@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 9D938ACC76F; Fri, 11 Mar 2016 20:04:34 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 796609AA; Fri, 11 Mar 2016 20:04:34 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BK4XLl043273; Fri, 11 Mar 2016 20:04:33 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BK4XiG043268; Fri, 11 Mar 2016 20:04:33 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201603112004.u2BK4XiG043268@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Fri, 11 Mar 2016 20:04:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296677 - in head: lib/libunbound usr.sbin/unbound/anchor usr.sbin/unbound/checkconf usr.sbin/unbound/control usr.sbin/unbound/daemon X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 20:04:34 -0000 Author: jhibbits Date: Fri Mar 11 20:04:32 2016 New Revision: 296677 URL: https://svnweb.freebsd.org/changeset/base/296677 Log: Add to CFLAGS, rather than replacing. This allows additional CFLAGS, as set in bsd.cpu.mk, to go through. Modified: head/lib/libunbound/Makefile head/usr.sbin/unbound/anchor/Makefile head/usr.sbin/unbound/checkconf/Makefile head/usr.sbin/unbound/control/Makefile head/usr.sbin/unbound/daemon/Makefile Modified: head/lib/libunbound/Makefile ============================================================================== --- head/lib/libunbound/Makefile Fri Mar 11 19:28:43 2016 (r296676) +++ head/lib/libunbound/Makefile Fri Mar 11 20:04:32 2016 (r296677) @@ -10,7 +10,7 @@ UNBOUNDDIR= ${.CURDIR}/../../contrib/unb LIB= unbound PRIVATELIB= -CFLAGS= -I${UNBOUNDDIR} -I${LDNSDIR} -I${.OBJDIR} +CFLAGS+= -I${UNBOUNDDIR} -I${LDNSDIR} -I${.OBJDIR} SRCS= alloc.c as112.c autotrust.c config_file.c configlexer.l configparser.y \ context.c dname.c dns.c dns64.c dnstree.c fptr_wlist.c infra.c \ Modified: head/usr.sbin/unbound/anchor/Makefile ============================================================================== --- head/usr.sbin/unbound/anchor/Makefile Fri Mar 11 19:28:43 2016 (r296676) +++ head/usr.sbin/unbound/anchor/Makefile Fri Mar 11 20:04:32 2016 (r296677) @@ -9,7 +9,7 @@ EXPATDIR= ${.CURDIR}/../../../contrib/ex PROG= unbound-anchor SRCS= unbound-anchor.c -CFLAGS= -I${UNBOUNDDIR} -I${LDNSDIR} -I${EXPATDIR}/lib +CFLAGS+= -I${UNBOUNDDIR} -I${LDNSDIR} -I${EXPATDIR}/lib LIBADD= unbound bsdxml ssl crypto pthread MAN= unbound-anchor.8 Modified: head/usr.sbin/unbound/checkconf/Makefile ============================================================================== --- head/usr.sbin/unbound/checkconf/Makefile Fri Mar 11 19:28:43 2016 (r296676) +++ head/usr.sbin/unbound/checkconf/Makefile Fri Mar 11 20:04:32 2016 (r296677) @@ -8,7 +8,7 @@ UNBOUNDDIR= ${.CURDIR}/../../../contrib/ PROG= unbound-checkconf SRCS= unbound-checkconf.c worker_cb.c -CFLAGS= -I${UNBOUNDDIR} -I${LDNSDIR} +CFLAGS+= -I${UNBOUNDDIR} -I${LDNSDIR} LIBADD= unbound pthread MAN= unbound-checkconf.8 Modified: head/usr.sbin/unbound/control/Makefile ============================================================================== --- head/usr.sbin/unbound/control/Makefile Fri Mar 11 19:28:43 2016 (r296676) +++ head/usr.sbin/unbound/control/Makefile Fri Mar 11 20:04:32 2016 (r296677) @@ -8,7 +8,7 @@ UNBOUNDDIR= ${.CURDIR}/../../../contrib/ PROG= unbound-control SRCS= unbound-control.c worker_cb.c -CFLAGS= -I${UNBOUNDDIR} -I${LDNSDIR} +CFLAGS+= -I${UNBOUNDDIR} -I${LDNSDIR} LIBADD= unbound crypto ssl pthread MAN= unbound-control.8 Modified: head/usr.sbin/unbound/daemon/Makefile ============================================================================== --- head/usr.sbin/unbound/daemon/Makefile Fri Mar 11 19:28:43 2016 (r296676) +++ head/usr.sbin/unbound/daemon/Makefile Fri Mar 11 20:04:32 2016 (r296677) @@ -8,7 +8,7 @@ UNBOUNDDIR= ${.CURDIR}/../../../contrib/ PROG= unbound SRCS= acl_list.c cachedump.c daemon.c remote.c stats.c unbound.c worker.c -CFLAGS= -I${UNBOUNDDIR} -I${LDNSDIR} +CFLAGS+= -I${UNBOUNDDIR} -I${LDNSDIR} LIBADD= unbound util ssl crypto pthread MAN= unbound.8 unbound.conf.5 From owner-svn-src-all@freebsd.org Fri Mar 11 20:30:08 2016 Return-Path: Delivered-To: svn-src-all@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 0AD67ACD07F; Fri, 11 Mar 2016 20:30:08 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B44AA7D9; Fri, 11 Mar 2016 20:30:07 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BKU6vZ049765; Fri, 11 Mar 2016 20:30:06 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BKU6fe049763; Fri, 11 Mar 2016 20:30:06 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603112030.u2BKU6fe049763@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 11 Mar 2016 20:30:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296679 - head/contrib/libc++/include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 20:30:08 -0000 Author: dim Date: Fri Mar 11 20:30:06 2016 New Revision: 296679 URL: https://svnweb.freebsd.org/changeset/base/296679 Log: Pull in r246280 from upstream libc++ trunk (by Eric Fiselier): Fix most GCC warnings during build. Only -Wattribute left. This helps to fix a number of -Werror warnings when building world with recent versions of gcc (e.g. the devel/*-xtoolchain-gcc ports). Modified: head/contrib/libc++/include/string head/contrib/libc++/include/system_error Modified: head/contrib/libc++/include/string ============================================================================== --- head/contrib/libc++/include/string Fri Mar 11 20:26:45 2016 (r296678) +++ head/contrib/libc++/include/string Fri Mar 11 20:30:06 2016 (r296679) @@ -1445,7 +1445,8 @@ public: _LIBCPP_INLINE_VISIBILITY size_type length() const _NOEXCEPT {return size();} _LIBCPP_INLINE_VISIBILITY size_type max_size() const _NOEXCEPT; _LIBCPP_INLINE_VISIBILITY size_type capacity() const _NOEXCEPT - {return (__is_long() ? __get_long_cap() : __min_cap) - 1;} + {return (__is_long() ? __get_long_cap() + : static_cast(__min_cap)) - 1;} void resize(size_type __n, value_type __c); _LIBCPP_INLINE_VISIBILITY void resize(size_type __n) {resize(__n, value_type());} @@ -1785,11 +1786,11 @@ private: template static _LIBCPP_INLINE_VISIBILITY size_type __align_it(size_type __s) _NOEXCEPT - {return __s + (__a-1) & ~(__a-1);} + {return (__s + (__a-1)) & ~(__a-1);} enum {__alignment = 16}; static _LIBCPP_INLINE_VISIBILITY size_type __recommend(size_type __s) _NOEXCEPT - {return (__s < __min_cap ? __min_cap : + {return (__s < __min_cap ? static_cast(__min_cap) : __align_it (__s+1)) - 1;} Modified: head/contrib/libc++/include/system_error ============================================================================== --- head/contrib/libc++/include/system_error Fri Mar 11 20:26:45 2016 (r296678) +++ head/contrib/libc++/include/system_error Fri Mar 11 20:30:06 2016 (r296679) @@ -371,7 +371,7 @@ public: error_category() _NOEXCEPT; #else _LIBCPP_ALWAYS_INLINE - _LIBCPP_CONSTEXPR_AFTER_CXX11 error_category() _NOEXCEPT _LIBCPP_DEFAULT; + _LIBCPP_CONSTEXPR_AFTER_CXX11 error_category() _NOEXCEPT _LIBCPP_DEFAULT #endif private: error_category(const error_category&);// = delete; From owner-svn-src-all@freebsd.org Fri Mar 11 21:00:15 2016 Return-Path: Delivered-To: svn-src-all@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 C41F1ACD9F9; Fri, 11 Mar 2016 21:00:15 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 94B801513; Fri, 11 Mar 2016 21:00:15 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BL0EiP058960; Fri, 11 Mar 2016 21:00:14 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BL0EXP058959; Fri, 11 Mar 2016 21:00:14 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201603112100.u2BL0EXP058959@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Fri, 11 Mar 2016 21:00:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296681 - head/sys/dev/drm2/i915 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 21:00:15 -0000 Author: dumbbell Date: Fri Mar 11 21:00:14 2016 New Revision: 296681 URL: https://svnweb.freebsd.org/changeset/base/296681 Log: drm/i915: Fix malloc type in i915_gem_object_bind_to_gtt() drm_mm.c expects DRM_MEM_MM, not DRM_I915_GEM. Modified: head/sys/dev/drm2/i915/i915_gem.c Modified: head/sys/dev/drm2/i915/i915_gem.c ============================================================================== --- head/sys/dev/drm2/i915/i915_gem.c Fri Mar 11 20:43:02 2016 (r296680) +++ head/sys/dev/drm2/i915/i915_gem.c Fri Mar 11 21:00:14 2016 (r296681) @@ -3263,7 +3263,7 @@ i915_gem_object_bind_to_gtt(struct drm_i i915_gem_object_pin_pages(obj); - node = malloc(sizeof(*node), DRM_I915_GEM, M_NOWAIT | M_ZERO); + node = malloc(sizeof(*node), DRM_MEM_MM, M_NOWAIT | M_ZERO); if (node == NULL) { i915_gem_object_unpin_pages(obj); return -ENOMEM; @@ -3286,7 +3286,7 @@ i915_gem_object_bind_to_gtt(struct drm_i goto search_free; i915_gem_object_unpin_pages(obj); - free(node, DRM_I915_GEM); + free(node, DRM_MEM_MM); return ret; } if (WARN_ON(!i915_gem_valid_gtt_space(dev, node, obj->cache_level))) { From owner-svn-src-all@freebsd.org Fri Mar 11 21:05:18 2016 Return-Path: Delivered-To: svn-src-all@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 7988BACDBEA; Fri, 11 Mar 2016 21:05:18 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3A3CF1A94; Fri, 11 Mar 2016 21:05:18 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BL5HiP061933; Fri, 11 Mar 2016 21:05:17 GMT (envelope-from gonzo@FreeBSD.org) Received: (from gonzo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BL5HTp061931; Fri, 11 Mar 2016 21:05:17 GMT (envelope-from gonzo@FreeBSD.org) Message-Id: <201603112105.u2BL5HTp061931@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gonzo set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko Date: Fri, 11 Mar 2016 21:05:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296682 - head/usr.sbin/gpioctl X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 21:05:18 -0000 Author: gonzo Date: Fri Mar 11 21:05:16 2016 New Revision: 296682 URL: https://svnweb.freebsd.org/changeset/base/296682 Log: Make it possible for operations to refer to GPIO pins by name - Try to guess what is provided as a pin spec for -t or for get/set operation: number or name. Fails in case of ambiguity. - Add -p and -N switches to force pin specification interpretation: -p forces spec to be pin number, -N forces it to be name Submitted by: Emmanuel Vadot Differential Revision: https://reviews.freebsd.org/D5201 Modified: head/usr.sbin/gpioctl/gpioctl.8 head/usr.sbin/gpioctl/gpioctl.c Modified: head/usr.sbin/gpioctl/gpioctl.8 ============================================================================== --- head/usr.sbin/gpioctl/gpioctl.8 Fri Mar 11 21:00:14 2016 (r296681) +++ head/usr.sbin/gpioctl/gpioctl.8 Fri Mar 11 21:05:16 2016 (r296682) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 8, 2015 +.Dd March 11, 2016 .Dt GPIOCTL 1 .Os .Sh NAME @@ -40,21 +40,25 @@ .Op Fl v .Nm .Op Fl f Ar ctldev +.Op Fl pN .Cm -t .Ar pin .Nm .Op Fl f Ar ctldev +.Op Fl pN .Cm -c .Ar pin .Ar flag .Op flag ... .Nm .Op Fl f Ar ctldev +.Op Fl pN .Cm -n .Ar pin .Ar pin-name .Nm .Op Cm -f Ar ctldev +.Op Fl pN .Ar pin .Ar [0|1] .Sh DESCRIPTION @@ -62,6 +66,20 @@ The .Nm utility could be used to manage GPIO pins from userland and list available pins. .Pp +The +.Pa pin +argument can either be a +.Pa pin-number +or a +.Pa pin-name . +If it is a number and a pin has this number as its name and you did not use +.Fl N +or +.Fl p +, then +.Nm +exits. +.Pp The options are as follows: .Bl -tag -width ".Fl f Ar ctldev" .It Fl c Ar pin Ar flag Op flag ... @@ -96,9 +114,17 @@ list available pins .It Fl n Ar pin Ar pin-name set the name used to describe the pin .It Fl t Ar pin -toggle value of provided pin number +toggle value of provided pin .It Fl v be verbose: for each listed pin print current configuration +.It Fl p +Force +.Pa pin +to be interpreted as a pin number +.It Fl N +Force +.Pa pin +to be interpreted as a pin name .El .Sh EXAMPLES .Bl -bullet @@ -114,6 +140,18 @@ gpioctl -f /dev/gpioc0 12 1 Configure pin 12 to be input pin .Pp gpioctl -f /dev/gpioc0 -c 12 IN +.It +Set the name of pin 12 to test +.Pp +gpioctl -f /dev/gpioc0 -n 12 test +.It +Toggle the value the pin named test +.Pp +gpioctl -f /dev/gpioc0 -t test +.It +Toggle the value of pin number 12 even if another pin has the name 12 +.Pp +gpioctl -f /dev/gpioc0 -pt 12 .El .Sh SEE ALSO .Xr gpio 4 , Modified: head/usr.sbin/gpioctl/gpioctl.c ============================================================================== --- head/usr.sbin/gpioctl/gpioctl.c Fri Mar 11 21:00:14 2016 (r296681) +++ head/usr.sbin/gpioctl/gpioctl.c Fri Mar 11 21:05:16 2016 (r296682) @@ -1,6 +1,7 @@ /*- * Copyright (c) 2009, Oleksandr Tymoshenko * Copyright (c) 2014, Rui Paulo + * Copyright (c) 2015, Emmanuel Vadot * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -40,6 +41,10 @@ __FBSDID("$FreeBSD$"); #include +#define PIN_TYPE_UNKNOWN 0 +#define PIN_TYPE_NUMBER 1 +#define PIN_TYPE_NAME 2 + struct flag_desc { const char *name; uint32_t flag; @@ -66,10 +71,10 @@ usage(void) { fprintf(stderr, "Usage:\n"); fprintf(stderr, "\tgpioctl [-f ctldev] -l [-v]\n"); - fprintf(stderr, "\tgpioctl [-f ctldev] -t pin\n"); - fprintf(stderr, "\tgpioctl [-f ctldev] -c pin flag ...\n"); - fprintf(stderr, "\tgpioctl [-f ctldev] -n pin pin-name\n"); - fprintf(stderr, "\tgpioctl [-f ctldev] pin [0|1]\n"); + fprintf(stderr, "\tgpioctl [-f ctldev] [-pN] -t pin\n"); + fprintf(stderr, "\tgpioctl [-f ctldev] [-pN] -c pin flag ...\n"); + fprintf(stderr, "\tgpioctl [-f ctldev] [-pN] -n pin pin-name\n"); + fprintf(stderr, "\tgpioctl [-f ctldev] [-pN] pin [0|1]\n"); exit(1); } @@ -163,6 +168,32 @@ dump_pins(gpio_handle_t handle, int verb free(cfgs); } +static int +get_pinnum_by_name(gpio_handle_t handle, const char *name) { + int i, maxpin, pinn; + gpio_config_t *cfgs; + gpio_config_t *pin; + + pinn = -1; + maxpin = gpio_pin_list(handle, &cfgs); + if (maxpin < 0) { + perror("gpio_pin_list"); + exit(1); + } + + for (i = 0; i <= maxpin; i++) { + pin = cfgs + i; + gpio_pin_get(handle, pin->g_pin); + if (!strcmp(name, pin->g_name)) { + pinn = i; + break; + } + } + free(cfgs); + + return pinn; +} + static void fail(const char *fmt, ...) { @@ -181,19 +212,16 @@ main(int argc, char **argv) gpio_config_t pin; gpio_handle_t handle; char *ctlfile = NULL; - int pinn, pinv, ch; + int pinn, pinv, pin_type, ch; int flags, flag, ok; int config, list, name, toggle, verbose; - config = toggle = verbose = list = name = pinn = 0; + config = toggle = verbose = list = name = pin_type = 0; - while ((ch = getopt(argc, argv, "c:f:ln:t:v")) != -1) { + while ((ch = getopt(argc, argv, "cf:lntvNp")) != -1) { switch (ch) { case 'c': config = 1; - pinn = str2int(optarg, &ok); - if (!ok) - fail("Invalid pin number: %s\n", optarg); break; case 'f': ctlfile = optarg; @@ -203,15 +231,15 @@ main(int argc, char **argv) break; case 'n': name = 1; - pinn = str2int(optarg, &ok); - if (!ok) - fail("Invalid pin number: %s\n", optarg); + break; + case 'N': + pin_type = PIN_TYPE_NAME; + break; + case'p': + pin_type = PIN_TYPE_NUMBER; break; case 't': toggle = 1; - pinn = str2int(optarg, &ok); - if (!ok) - fail("Invalid pin number: %s\n", optarg); break; case 'v': verbose = 1; @@ -232,33 +260,58 @@ main(int argc, char **argv) exit(1); } + if (list) { + dump_pins(handle, verbose); + gpio_close(handle); + exit(0); + } + + if (argc == 0) + usage(); + + /* Find the pin number by the name */ + switch (pin_type) { + case PIN_TYPE_UNKNOWN: + /* First test if it is a pin number */ + pinn = str2int(argv[0], &ok); + if (ok) { + /* Test if we have any pin named by this number and tell the user */ + if (get_pinnum_by_name(handle, argv[0]) != -1) + fail("%s is also a pin name, use -p or -N\n", argv[0]); + } else { + /* Test if it is a name */ + if ((pinn = get_pinnum_by_name(handle, argv[0])) == -1) + fail("Can't find pin named \"%s\"\n", argv[0]); + } + break; + case PIN_TYPE_NUMBER: + pinn = str2int(argv[0], &ok); + if (!ok) + fail("Invalid pin number: %s\n", argv[0]); + break; + case PIN_TYPE_NAME: + if ((pinn = get_pinnum_by_name(handle, argv[0])) == -1) + fail("Can't find pin named \"%s\"\n", argv[0]); + break; + } + /* Set the pin name. */ if (name) { - if (argc == 0) { + if (argc != 2) usage(); - exit(1); - } - if (gpio_pin_set_name(handle, pinn, argv[0]) < 0) { + if (gpio_pin_set_name(handle, pinn, argv[1]) < 0) { perror("gpio_pin_set_name"); exit(1); } exit(0); } - if (list) { - dump_pins(handle, verbose); - gpio_close(handle); - exit(0); - } - if (toggle) { /* - * -t pin assumes no additional arguments - */ - if (argc > 0) { + * -t pin assumes no additional arguments + */ + if (argc > 1) usage(); - exit(1); - } if (gpio_pin_toggle(handle, pinn) < 0) { perror("gpio_pin_toggle"); exit(1); @@ -269,7 +322,7 @@ main(int argc, char **argv) if (config) { flags = 0; - for (i = 0; i < argc; i++) { + for (i = 1; i < argc; i++) { flag = str2cap(argv[i]); if (flag < 0) fail("Invalid flag: %s\n", argv[i]); @@ -287,14 +340,8 @@ main(int argc, char **argv) /* * Last two cases - set value or print value */ - if ((argc == 0) || (argc > 2)) { + if ((argc == 0) || (argc > 2)) usage(); - exit(1); - } - - pinn = str2int(argv[0], &ok); - if (!ok) - fail("Invalid pin number: %s\n", argv[0]); /* * Read pin value @@ -311,7 +358,7 @@ main(int argc, char **argv) /* Is it valid number (0 or 1) ? */ pinv = str2int(argv[1], &ok); - if (!ok || ((pinv != 0) && (pinv != 1))) + if (ok == 0 || ((pinv != 0) && (pinv != 1))) fail("Invalid pin value: %s\n", argv[1]); /* From owner-svn-src-all@freebsd.org Fri Mar 11 21:05:36 2016 Return-Path: Delivered-To: svn-src-all@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 9EFC7ACDC3E; Fri, 11 Mar 2016 21:05:36 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0142.outbound.protection.outlook.com [65.55.169.142]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7F0101C0C; Fri, 11 Mar 2016 21:05:29 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from BLUPR05CA0062.namprd05.prod.outlook.com (10.141.20.32) by BY2PR0501MB1800.namprd05.prod.outlook.com (10.163.155.142) with Microsoft SMTP Server (TLS) id 15.1.434.16; Fri, 11 Mar 2016 20:32:02 +0000 Received: from BN1BFFO11FD024.protection.gbl (2a01:111:f400:7c10::1:137) by BLUPR05CA0062.outlook.office365.com (2a01:111:e400:855::32) with Microsoft SMTP Server (TLS) id 15.1.434.16 via Frontend Transport; Fri, 11 Mar 2016 20:32:02 +0000 Authentication-Results: spf=softfail (sender IP is 66.129.239.19) smtp.mailfrom=juniper.net; FreeBSD.org; dkim=none (message not signed) header.d=none;FreeBSD.org; dmarc=none action=none header.from=juniper.net; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning juniper.net discourages use of 66.129.239.19 as permitted sender) Received: from p-emfe01b-sac.jnpr.net (66.129.239.19) by BN1BFFO11FD024.mail.protection.outlook.com (10.58.144.87) with Microsoft SMTP Server (TLS) id 15.1.434.11 via Frontend Transport; Fri, 11 Mar 2016 20:32:02 +0000 Received: from magenta.juniper.net (172.17.27.123) by p-emfe01b-sac.jnpr.net (172.24.192.21) with Microsoft SMTP Server (TLS) id 14.3.123.3; Fri, 11 Mar 2016 12:32:01 -0800 Received: from kaos.jnpr.net (kaos.jnpr.net [172.21.16.84]) by magenta.juniper.net (8.11.3/8.11.3) with ESMTP id u2BKW0D81801; Fri, 11 Mar 2016 12:32:00 -0800 (PST) (envelope-from sjg@juniper.net) Received: from kaos.jnpr.net (localhost [127.0.0.1]) by kaos.jnpr.net (Postfix) with ESMTP id 0558838551E; Fri, 11 Mar 2016 12:32:00 -0800 (PST) To: Bryan Drewery CC: , , , Subject: Re: svn commit: r296637 - in head: contrib/bmake contrib/bmake/mk contrib/bmake/unit-tests share/mk usr.bin/bmake In-Reply-To: <56E243ED.5050803@FreeBSD.org> References: <201603110135.u2B1Zd8a001604@repo.freebsd.org> <56E243ED.5050803@FreeBSD.org> Comments: In-reply-to: Bryan Drewery message dated "Thu, 10 Mar 2016 20:05:01 -0800." From: "Simon J. Gerraty" X-Mailer: MH-E 8.6; nmh 1.6; GNU Emacs 24.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <81517.1457728319.1@kaos.jnpr.net> Date: Fri, 11 Mar 2016 12:31:59 -0800 Message-ID: <81518.1457728319@kaos.jnpr.net> X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:66.129.239.19; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(24454002)(107886002)(6806005)(1220700001)(23726003)(117636001)(586003)(76176999)(4001430100002)(5008740100001)(97756001)(189998001)(86362001)(1096002)(4326007)(19580405001)(77096005)(2950100001)(2810700001)(50986999)(110136002)(105596002)(19580395003)(11100500001)(106466001)(2906002)(53416004)(81166005)(50226001)(87936001)(76506005)(92566002)(46406003)(5003600100002)(47776003)(50466002)(450100001)(42262002); DIR:OUT; SFP:1102; SCL:1; SRVR:BY2PR0501MB1800; H:p-emfe01b-sac.jnpr.net; FPR:; SPF:SoftFail; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD024; 1:9vjj5j50gWBu/lKs09lxN8L85AKcRFNNmOzHtHCExWQ+9Sl8T38LD4ZX3AK9GRM+uZhBKYzuDBjBu/JQAycSNmwoenfwb1W5/Ec/zk3Lz5S2fZcWxvABJcA+2EOzTUYzOevexLObegKpY5MPD+rY8J+zA5Tl9dRGPiHQyMUhio9SLPOwfuCUpB61k7XG3lefPc7luJf3rApwPNS+GDREES946nZ0V/N4yW9oA9CbBQiqnG5PDqIgc160VQYSV8cLGUWLue+4xlap7O0IwjfHT/PDNxnuQTrOVNO4xXIKFIFvMsrvwIGoG0oBUOeLhr09+1Mbq0hMYmozQB3+HVAbOrqpXw8g7d130QT3fNfIwfvKlakffEAJmmGiU7DkEpzHQ9UTvLhjZD9dSseCRV5xiQ7ZHREkaG6irfdD7gBOGDg= X-MS-Office365-Filtering-Correlation-Id: 87d4aff2-7de2-42a7-5b84-08d349ec343a X-Microsoft-Exchange-Diagnostics: 1; BY2PR0501MB1800; 2:3n8+nZ2ado1ut7bGJ3yoDBofqVZcFNwu2zp1zac/yWvOmQ2sqTR0+c1UsmCzdqbMaleOPuFeLXpMH2L/LgZ+mmUpVJEocSysw+EGn1Y7qC9nmIQbJ3CQN7nCGQqDh3GipI1z9rv5vPI+258oZ2I9ds3dt/nF8rlF/MP8VM1ut9iJm0FEyDjArQ1i6Z/lqu/y; 3:IDSx2+0BYZ45Q/HvErIQ5U1q2JVcclCFEyKVitY1KFYCsgdXZgrOCqqAm4JHLC10YCfecROYFW8lLk2uTOczkTdCPVt/Yizr2L+SOnryu3aN0DFrcsQdFREiLWSzVHIs5JrvRXbJCyW7K7zYsAYltB0Ntt7UiEJQspCWfJFsuOER6W7U0H9hlEXvlKchMZQdzTaculpYT6qJjxWGlE0hWBQHGZ6l8XEX+JvfhAfleds=; 25:BOxM6ALfqBmKGF/dqjimXhF+ylZTzXEtZhwpotwT6q4wp9ZuCdAcgy8qMzYChKAZ9MM2kUSp/OcmCdNGB/DiuNTIrVwMpwedkchAGwU5F/e4Dd7gKztul9T0+1r98Omll4/MsDc5GRgm4qeZS9XqyslVpNfWO102ZALc96oy2uINgaR76sOoTYpep3NUSgJnjYi1QUGjVP30MPomh2YfXcPpRhHbPGjrPwXg0LExl0yyQKqGd8J7nC3Dh9/GPFU7nl0bryP2MUgM65vL9StVLjgRpJB7vPbeB3hOhqHf3G8igMg9ViDl9JLsHfp5v6iyKjKhv6wQj3/PeNXuIop6jQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0501MB1800; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0501MB1800; 20:FvJzeJ2gFtn7Km+BJd4EdqlRdIGBumduRvlSfTCqgkP1oAeE42SfWQDOlOzZFsHG3qslCiYBtpyC5GqXxm7sKje1Bqnx7KGBmHfbhNGeMOG8gg6btaVEmlmX8yX5yNrupct6JHCacYpHuTkHMIBx1MTS+vjtIJr/dqdi96MfW8WFY+6djgxtzNF2qtJMD5B2loCrAwZeWY1lGyWkBkAJ8iB5DTf39k6dguu6emj/40ssH95uHqtZxRFxuSiWNLhwDEBaymdum5myLL8GZieLDCCyA9a3OfynTIkHQ70RAimxeKE73GOS5w+GgiAqyaq11ocQme68JTKcrsmbniRsjbbe2Spwj+YdXYe6M30wF7h3HnVBdJuKhVB7Dx8qCT7fV5NaHUEgnrQmJvDQDUfeYhLz3P/5MjW6Tu/gIs/NHo9/Y70LbsvBhIaewFzw3DIdh+9wxW6BRtI9VN4IERK/7s1PSF3HshWOgmkEBP9qH8LXXVq4q9eCoSKK/wQ9qtaF X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13015025)(8121501046)(13018025)(13023025)(13017025)(5005006)(13024025)(10201501046)(3002001); SRVR:BY2PR0501MB1800; BCL:0; PCL:0; RULEID:; SRVR:BY2PR0501MB1800; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0501MB1800; 4:BDx7fwJGiEx0ddEfOXw0qahk5ghoXXIswzQ3VCAgz14L2EHB/w0wijZbyZgaiqmE4O8p2WElzK9zukv14+813d1OrHoLdoo6Z+Jgsn0VLX2celfc5SyRif/rRSnpIWpSF2UzuDdbie8rChrb09BwvudJvU4xzYT93GWYo0DWshbo4g8XqfkeuKboq6wRaldocFK+r0DDlY7HbKLLTpIeAj2zAm59yAeQUusx+pKzwnf/pTtnQNVnMze5rrywxwNEEgoG8sxtzorR2VaD8mDLXQ3+EKhB5w3eK8uYsOqgpLfj/J14yZCOM2K+J69+xncmwnxaZuiWTDh5oPRuS8r/PEkzIfu7cFuQK40kZL9kehmPTnPCjoUz/InD0zLjcaAsQ+uYGWiKOI8b1ShI+M9M7NMTXeQ6gAunoOvekuQfoJStulRXzj+aEdUvCnMECrWOasPYDrGxo0nnG+aM71IDwA== X-Forefront-PRVS: 087894CD3C X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0501MB1800; 23:g6uDXvR9D6q8tjdz2hTpEI2PWwhs4L+DopJk/aI?= =?us-ascii?Q?QOc3DgMVqXPn7IY6zm4lITBYPhgBhfpSR+/W++H1E4n7/3SCRjdhDGP/rr+D?= =?us-ascii?Q?9HDcj6rZ1QLuqmf07NEBxubFq3cRmgxu2IwsUvWD72aI6zcBa1LkV0J6vbUP?= =?us-ascii?Q?XY0UTJAkIsxBk1vrLx0KxKb5taZp4ZNjPVPuCYMyT0b6owz4qZr/B6yygyml?= =?us-ascii?Q?13TYsEnwfHAQDRs4GkZcyFkQUJSlrLUT+kUXay570/A630vAqiDcqNGRRUer?= =?us-ascii?Q?BHLGSW3wjQmPpIX7MGHhpTnH4we0ZliG5/2VnyxZFf3089QKZ6VIik0B1tDZ?= =?us-ascii?Q?eiIzoOLR33pj83/Boq0npzrWlz0oXacZn7TssWt2ue1+eA/2qAcB89OXxdUh?= =?us-ascii?Q?wD5nuSw1gr/vjWyTvhaN05c4r6GTh6JywpJLFLEkFyWkc3q9va/pDVX6wwoJ?= =?us-ascii?Q?p7EDc9CCXTknGhFri0YWCt8RyI7wfD4NvLV81a8PC9gH1UTfHl2iyrQl8Wyq?= =?us-ascii?Q?JMSNXwqk4K+8IOgfnKd/ig331KuY67m7DPuufDFmRkJqI/jXgBtPuPF8EpJE?= =?us-ascii?Q?eDBqHOEQnbMHrfXNJGiW85n9wnTsvgUPc3aW4m0L1qbUVnm9fAJ0VVTqHRZD?= =?us-ascii?Q?t1f7LiAi//8GmPdtPWwpS3L636J/OT2os0fcNvXphf2ineLqCytMnqhAoavA?= =?us-ascii?Q?p+U77KH9K+BW4G0dmem/ZQhJDwkpp3pYMFcr3IHyDwLp3o0OeazXbd8lm2Zp?= =?us-ascii?Q?xd9jdVJEODlNQvRZhOD+Ct7cNy/l2L6qeI8FjNnyHfWLrosV1GrOwzmUHWy2?= =?us-ascii?Q?lo1lYscsERt/7MG5dPiDUOrExbpEg1OuFQHGSK+nTZ7XqpIwxeOfKfIazFUN?= =?us-ascii?Q?scEZbmepbjXyB6E1ipg9E30K5Ru5lDAeOvmmv5eUtdOB4hWVWICJjBEziS/D?= =?us-ascii?Q?Yc4UUT/KVVVyU17YNby+UnvezegMp9faNz0TurNhQwh8B9v+kU3tN2vJO1fR?= =?us-ascii?Q?rBZGcmENoduFGbGftRgsU8fT8H3TBrd9hUkN9GZ9Ekv/ikYG3WkzWMu2i/5V?= =?us-ascii?Q?oud0G5pXT5ejiC0ctl3dehgfX4Hul?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0501MB1800; 5:fxn90u2xHo6jFHJYUABPee7oTDmR4x17G6Y3wM9gHvCKx5Wwn1kDDewTjYh09mbJYe8rXxz+67p/EP2J31yvc7ifnF3NMj2cNmjukYPkIR5NR1iewQHt41crUGZ7/UiMuYFJvWxdHgdP8mndTwnzWA==; 24:MyHSl+g7L8wTf+uOGdZh4/JJ2Xc9aCeEseMPXw/XYEpqWQwEcUbAzRWhU1UI6BY+W6gFtGwhPIb4OZm/YzTGVqUoyq3GUYf+LmOSt2fCn5o= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2016 20:32:02.3133 (UTC) X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4; Ip=[66.129.239.19]; Helo=[p-emfe01b-sac.jnpr.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0501MB1800 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 21:05:36 -0000 Bryan Drewery wrote: > > ~/git/freebsd # head usr.bin/bmake/Makefile > > # This is a generated file, do NOT edit! > > # See contrib/bmake/bsd.after-import.mk > > Is this still true? I have to rename MAKE_VERSION in Yes it is still true. > usr.bin/bmake/Makefile because it is colliding with the built-in > MAKE_VERSION breaking my upgrade checks in bsd.dep.mk when trying to > build the new bmake itself. Sounds like you might have a bug. What is the specific issue? From owner-svn-src-all@freebsd.org Fri Mar 11 21:06:19 2016 Return-Path: Delivered-To: svn-src-all@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 09679ACDCB4; Fri, 11 Mar 2016 21:06:19 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CE3211D91; Fri, 11 Mar 2016 21:06:18 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BL6HYP062008; Fri, 11 Mar 2016 21:06:17 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BL6Hrk062007; Fri, 11 Mar 2016 21:06:17 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201603112106.u2BL6Hrk062007@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 11 Mar 2016 21:06:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296683 - head/sbin/ping X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 21:06:19 -0000 Author: glebius Date: Fri Mar 11 21:06:17 2016 New Revision: 296683 URL: https://svnweb.freebsd.org/changeset/base/296683 Log: Allow minimum and maximum sweep size be the same. Submitted by: maxim Modified: head/sbin/ping/ping.c Modified: head/sbin/ping/ping.c ============================================================================== --- head/sbin/ping/ping.c Fri Mar 11 21:05:16 2016 (r296682) +++ head/sbin/ping/ping.c Fri Mar 11 21:06:17 2016 (r296683) @@ -793,8 +793,8 @@ main(int argc, char *const *argv) } #endif if (sweepmax) { - if (sweepmin >= sweepmax) - errx(EX_USAGE, "Maximum packet size must be greater than the minimum packet size"); + if (sweepmin > sweepmax) + errx(EX_USAGE, "Maximum packet size must be no less than the minimum packet size"); if (datalen != DEFDATALEN) errx(EX_USAGE, "Packet size and ping sweep are mutually exclusive"); From owner-svn-src-all@freebsd.org Fri Mar 11 21:14:28 2016 Return-Path: Delivered-To: svn-src-all@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 0CCF3ACDF46; Fri, 11 Mar 2016 21:14:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id E298E3C9; Fri, 11 Mar 2016 21:14:27 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id D308918E7; Fri, 11 Mar 2016 21:14:27 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 83A3E1E6E7; Fri, 11 Mar 2016 21:14:27 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id WBH_LGgB1s7W; Fri, 11 Mar 2016 21:14:25 +0000 (UTC) Subject: Re: svn commit: r296637 - in head: contrib/bmake contrib/bmake/mk contrib/bmake/unit-tests share/mk usr.bin/bmake DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com A3BA31E6E1 To: "Simon J. Gerraty" References: <201603110135.u2B1Zd8a001604@repo.freebsd.org> <56E243ED.5050803@FreeBSD.org> <81518.1457728319@kaos.jnpr.net> Cc: src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E33536.2000407@FreeBSD.org> Date: Fri, 11 Mar 2016 13:14:30 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <81518.1457728319@kaos.jnpr.net> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="oqcdT5FRsf27LrxCVhGxsptKUVboe0Sv4" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 21:14:28 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --oqcdT5FRsf27LrxCVhGxsptKUVboe0Sv4 Content-Type: multipart/mixed; boundary="oMIu7B8BBExIUQ1LJFKIC3eUdIgKiGudJ" From: Bryan Drewery To: "Simon J. Gerraty" Cc: src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org Message-ID: <56E33536.2000407@FreeBSD.org> Subject: Re: svn commit: r296637 - in head: contrib/bmake contrib/bmake/mk contrib/bmake/unit-tests share/mk usr.bin/bmake References: <201603110135.u2B1Zd8a001604@repo.freebsd.org> <56E243ED.5050803@FreeBSD.org> <81518.1457728319@kaos.jnpr.net> In-Reply-To: <81518.1457728319@kaos.jnpr.net> --oMIu7B8BBExIUQ1LJFKIC3eUdIgKiGudJ Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 3/11/2016 12:31 PM, Simon J. Gerraty wrote: > Bryan Drewery wrote: >=20 >>> ~/git/freebsd # head usr.bin/bmake/Makefile >>> # This is a generated file, do NOT edit! >>> # See contrib/bmake/bsd.after-import.mk >> >> Is this still true? I have to rename MAKE_VERSION in >=20 > Yes it is still true. >=20 >> usr.bin/bmake/Makefile because it is colliding with the built-in >> MAKE_VERSION breaking my upgrade checks in bsd.dep.mk when trying to >> build the new bmake itself. >=20 > Sounds like you might have a bug. > What is the specific issue? >=20 Older bmake (with default MAKESYSPATH=3D.../share/mk) running 'make upgrade_checks' in top-level which builds latest bmake in usr.bin/bmake which uses share/mk/bsd.dep.mk where I check MAKE_VERSION for .dinclude support. Since usr.bin/bmake/Makefile overrides MAKE_VERSION then the check later in bsd.dep.mk fails because it thinks .dinclude is available when it is not. At least on older releases the make doesn't default MAKESYSPATH to =2E../share/mk so it uses the installed /usr/share/mk which avoids the problem, but only assuming someone didn't commit code anticipating a release with a specific MAKE_VERSION like I almost did this week. I renamed it to _MAKE_VERSION to avoid the problem in usr.bin/bmake/Makefile. --=20 Regards, Bryan Drewery --oMIu7B8BBExIUQ1LJFKIC3eUdIgKiGudJ-- --oqcdT5FRsf27LrxCVhGxsptKUVboe0Sv4 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW4zU2AAoJEDXXcbtuRpfPWBIH/2wuhq1UAGCcjL/asVLJb3fV cubAN15LahuKkeeki/HeLkTWvvPbBvC3u/Mstmh/P/qxGA9m72X6a5d6Ha5+pqAi 90CTVGY6BIoeTxkACGf10Q2lHEFNN9bTMtgbxvWqSZm4oEzAHqjoej0bS6kXkxZJ aO3e87KA0e/4W9mOybQ6SA/Jvp4FwNHOt5ILByc/lcdUBG8o6uemNjOSNZlvgjAZ GB1IptNfH6GMVqHJMVMqpbzLgszfJpEnJdKOS/oHg8AwBIQX4+lWLDa2CCJL8T29 vaa2LumrIIxVm4g97BQeGdkqXqna8N7z7u3kDJPnuZ1a+E+WyV5CeAAyDQICNfk= =lHri -----END PGP SIGNATURE----- --oqcdT5FRsf27LrxCVhGxsptKUVboe0Sv4-- From owner-svn-src-all@freebsd.org Fri Mar 11 21:57:32 2016 Return-Path: Delivered-To: svn-src-all@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 4901EACCD7B; Fri, 11 Mar 2016 21:57:32 +0000 (UTC) (envelope-from gonzo@id.bluezbox.com) Received: from id.bluezbox.com (id.bluezbox.com [45.55.20.155]) (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 2C1AA8D5; Fri, 11 Mar 2016 21:57:31 +0000 (UTC) (envelope-from gonzo@id.bluezbox.com) Received: from [76.102.118.237] (helo=[10.0.1.7]) by id.bluezbox.com with esmtpsa (TLSv1:ECDHE-RSA-AES256-SHA:256) (Exim 4.86 (FreeBSD)) (envelope-from ) id 1aeUWf-000H89-AD; Fri, 11 Mar 2016 13:23:13 -0800 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Subject: Re: svn commit: r296682 - head/usr.sbin/gpioctl From: Oleksandr Tymoshenko In-Reply-To: <201603112105.u2BL5HTp061931@repo.freebsd.org> Date: Fri, 11 Mar 2016 13:23:13 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <7E27E295-88EA-443D-A1A2-B7E367733D68@freebsd.org> References: <201603112105.u2BL5HTp061931@repo.freebsd.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-Mailer: Apple Mail (2.3112) Sender: gonzo@id.bluezbox.com X-Spam-Level: -- X-Spam-Report: Spam detection software, running on the system "id.bluezbox.com", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see The administrator of that system for details. Content preview: > On Mar 11, 2016, at 1:05 PM, Oleksandr Tymoshenko wrote: > > Author: gonzo > Date: Fri Mar 11 21:05:16 2016 > New Revision: 296682 > URL: https://svnweb.freebsd.org/changeset/base/296682 > > Log: > Make it possible for operations to refer to GPIO pins by name > > - Try to guess what is provided as a pin spec for -t or for get/set > operation: number or name. Fails in case of ambiguity. > - Add -p and -N switches to force pin specification interpretation: > -p forces spec to be pin number, -N forces it to be name > > Submitted by: Emmanuel Vadot > Differential Revision: https://reviews.freebsd.org/D5201 [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: bidouilliste.com] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 21:57:32 -0000 > On Mar 11, 2016, at 1:05 PM, Oleksandr Tymoshenko = wrote: >=20 > Author: gonzo > Date: Fri Mar 11 21:05:16 2016 > New Revision: 296682 > URL: https://svnweb.freebsd.org/changeset/base/296682 >=20 > Log: > Make it possible for operations to refer to GPIO pins by name >=20 > - Try to guess what is provided as a pin spec for -t or for get/set > operation: number or name. Fails in case of ambiguity. > - Add -p and -N switches to force pin specification interpretation: > -p forces spec to be pin number, -N forces it to be name >=20 > Submitted by: Emmanuel Vadot > Differential Revision: https://reviews.freebsd.org/D5201 Reviewed by: imp, bjk(docs) From owner-svn-src-all@freebsd.org Fri Mar 11 22:06:56 2016 Return-Path: Delivered-To: svn-src-all@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 EC4D6ACD0D7; Fri, 11 Mar 2016 22:06:55 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id D02FEDF1; Fri, 11 Mar 2016 22:06:55 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id C9CEB11E4; Fri, 11 Mar 2016 22:06:55 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 852531E79F; Fri, 11 Mar 2016 22:06:55 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id lLkmWOhYJGXI; Fri, 11 Mar 2016 22:06:52 +0000 (UTC) Subject: Re: svn commit: r296677 - in head: lib/libunbound usr.sbin/unbound/anchor usr.sbin/unbound/checkconf usr.sbin/unbound/control usr.sbin/unbound/daemon DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 858941E79A To: Justin Hibbits , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603112004.u2BK4XiG043268@repo.freebsd.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E34180.40604@FreeBSD.org> Date: Fri, 11 Mar 2016 14:06:56 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603112004.u2BK4XiG043268@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="vuTfBjgLDKxVBvIDE5eQbAjF2Uka8TR60" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 22:06:56 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --vuTfBjgLDKxVBvIDE5eQbAjF2Uka8TR60 Content-Type: multipart/mixed; boundary="2T6BhG4M7c2LURSBOtBJABonJbaiG4JIJ" From: Bryan Drewery To: Justin Hibbits , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <56E34180.40604@FreeBSD.org> Subject: Re: svn commit: r296677 - in head: lib/libunbound usr.sbin/unbound/anchor usr.sbin/unbound/checkconf usr.sbin/unbound/control usr.sbin/unbound/daemon References: <201603112004.u2BK4XiG043268@repo.freebsd.org> In-Reply-To: <201603112004.u2BK4XiG043268@repo.freebsd.org> --2T6BhG4M7c2LURSBOtBJABonJbaiG4JIJ Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/11/2016 12:04 PM, Justin Hibbits wrote: > Author: jhibbits > Date: Fri Mar 11 20:04:32 2016 > New Revision: 296677 > URL: https://svnweb.freebsd.org/changeset/base/296677 >=20 > Log: > Add to CFLAGS, rather than replacing. > =20 > This allows additional CFLAGS, as set in bsd.cpu.mk, to go through. >=20 > Modified: > head/lib/libunbound/Makefile > head/usr.sbin/unbound/anchor/Makefile > head/usr.sbin/unbound/checkconf/Makefile > head/usr.sbin/unbound/control/Makefile > head/usr.sbin/unbound/daemon/Makefile Ick, I didn't even realize this was an issue. I wonder about these: > sys/boot/i386/boot2/Makefile:CFLAGS=3D -fomit-frame-pointer \ > sys/boot/i386/gptboot/Makefile:CFLAGS=3D -DBOOTPROG=3D\"gptboot\" \ > sys/boot/i386/gptzfsboot/Makefile:CFLAGS=3D -DBOOTPROG=3D\"gptzfs= boot\" \ > sys/boot/i386/kgzldr/Makefile:CFLAGS=3D -Os > sys/boot/i386/zfsboot/Makefile:CFLAGS=3D -DBOOTPROG=3D\"zfsboot\" \ > sys/boot/mips/beri/boot2/Makefile:CFLAGS=3D -ffreestandin= g \ > sys/boot/pc98/boot2/Makefile:CFLAGS=3D -fomit-frame-pointer \ > sys/boot/pc98/kgzldr/Makefile:CFLAGS=3D -Os --=20 Regards, Bryan Drewery --2T6BhG4M7c2LURSBOtBJABonJbaiG4JIJ-- --vuTfBjgLDKxVBvIDE5eQbAjF2Uka8TR60 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW40GAAAoJEDXXcbtuRpfPkx0H/1hP9PaRjbO0BQhsu9T9GTSA Ip/+emmCPku7vkhIerZydm6PvuTDTnoZfvwkmaU+NurUzotKNscQzxyeaab0sEep lTHW5idpskJHPeYzlkNvMAsilXTP+Xh/EeI1jzLTi/JNUZMp3C1SBssnqrVKs7b5 gSxJbSlPB2XjUjdzB+0//weKmWhE+IOoTkbzJiGTmO2+wPb6fM/vSLXVlxNrcJO4 tNYoNGOJSu8hBreMVXYGR58nSrBx1Q8Jd8cqlD/m21gyAD4yIvKh9zzeaPtzYuRe dDcycqrS64bjiXvLSfuqZjkzqCcry3CHU7U+sm4lCZM/MQf843ozeQ69Av0QS08= =ZdpV -----END PGP SIGNATURE----- --vuTfBjgLDKxVBvIDE5eQbAjF2Uka8TR60-- From owner-svn-src-all@freebsd.org Fri Mar 11 22:11:38 2016 Return-Path: Delivered-To: svn-src-all@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 1778EACD2B7; Fri, 11 Mar 2016 22:11:38 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DD1101C2; Fri, 11 Mar 2016 22:11:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BMBatI082290; Fri, 11 Mar 2016 22:11:36 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BMBaL0082289; Fri, 11 Mar 2016 22:11:36 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112211.u2BMBaL0082289@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 22:11:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296684 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 22:11:38 -0000 Author: bdrewery Date: Fri Mar 11 22:11:36 2016 New Revision: 296684 URL: https://svnweb.freebsd.org/changeset/base/296684 Log: Add more casper leftover files. Reported by: jhb Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Fri Mar 11 21:06:17 2016 (r296683) +++ head/ObsoleteFiles.inc Fri Mar 11 22:11:36 2016 (r296684) @@ -144,6 +144,12 @@ OLD_FILES+=libexec/casper/grp OLD_FILES+=libexec/casper/pwd OLD_FILES+=libexec/casper/random OLD_FILES+=libexec/casper/sysctl +OLD_FILES+=libexec/casper/.debug/random.debug +OLD_FILES+=libexec/casper/.debug/dns.debug +OLD_FILES+=libexec/casper/.debug/sysctl.debug +OLD_FILES+=libexec/casper/.debug/pwd.debug +OLD_FILES+=libexec/casper/.debug/grp.debug +OLD_DIRS+=libexec/casper/.debug OLD_DIRS+=libexec/casper OLD_FILES+=usr/lib/libcapsicum.a OLD_FILES+=usr/lib/libcapsicum.so From owner-svn-src-all@freebsd.org Fri Mar 11 22:37:14 2016 Return-Path: Delivered-To: svn-src-all@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 09618ACDA1A; Fri, 11 Mar 2016 22:37:14 +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 CF352F52; Fri, 11 Mar 2016 22:37:13 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BMbCj7089106; Fri, 11 Mar 2016 22:37:12 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BMbCGW089105; Fri, 11 Mar 2016 22:37:12 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603112237.u2BMbCGW089105@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 11 Mar 2016 22:37:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296685 - head/contrib/elftoolchain/libelf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 22:37:14 -0000 Author: emaste Date: Fri Mar 11 22:37:12 2016 New Revision: 296685 URL: https://svnweb.freebsd.org/changeset/base/296685 Log: libelf: correct byte count in cross-endian note translation MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/contrib/elftoolchain/libelf/libelf_convert.m4 Modified: head/contrib/elftoolchain/libelf/libelf_convert.m4 ============================================================================== --- head/contrib/elftoolchain/libelf/libelf_convert.m4 Fri Mar 11 22:11:36 2016 (r296684) +++ head/contrib/elftoolchain/libelf/libelf_convert.m4 Fri Mar 11 22:37:12 2016 (r296685) @@ -1019,6 +1019,7 @@ _libelf_cvt_NOTE_tof(unsigned char *dst, WRITE_WORD(dst, type); src += sizeof(Elf_Note); + count -= sizeof(Elf_Note); if (count < sz) sz = count; From owner-svn-src-all@freebsd.org Fri Mar 11 22:45:24 2016 Return-Path: Delivered-To: svn-src-all@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 EFB00ACDC93; Fri, 11 Mar 2016 22:45:24 +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 C1585679; Fri, 11 Mar 2016 22:45:24 +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 u2BMjNwC092020; Fri, 11 Mar 2016 22:45:23 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BMjNMA092019; Fri, 11 Mar 2016 22:45:23 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <201603112245.u2BMjNMA092019@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Fri, 11 Mar 2016 22:45:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296686 - stable/9/usr.sbin/ntp/ntp-keygen X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 22:45:25 -0000 Author: jkim Date: Fri Mar 11 22:45:23 2016 New Revision: 296686 URL: https://svnweb.freebsd.org/changeset/base/296686 Log: Link ntp-keygen(8) with pthread. Note this is a direct commit to stable/9 because head and stable/10 were fixed differently with r280849 and r285612, respectively. Modified: stable/9/usr.sbin/ntp/ntp-keygen/Makefile Modified: stable/9/usr.sbin/ntp/ntp-keygen/Makefile ============================================================================== --- stable/9/usr.sbin/ntp/ntp-keygen/Makefile Fri Mar 11 22:37:12 2016 (r296685) +++ stable/9/usr.sbin/ntp/ntp-keygen/Makefile Fri Mar 11 22:45:23 2016 (r296686) @@ -20,8 +20,8 @@ CFLAGS+= -I${.CURDIR}/../../../contrib/n -I${.CURDIR}/../../../lib/libc/${MACHINE_ARCH} \ -I${.CURDIR}/../ -DPADD= ${LIBNTP} ${LIBOPTS} -LDADD= ${LIBNTP} ${LIBOPTS} +DPADD= ${LIBNTP} ${LIBOPTS} ${LIBPTHREAD} +LDADD= ${LIBNTP} ${LIBOPTS} -lpthread .if ${MK_OPENSSL} != "no" DPADD+= ${LIBCRYPTO} From owner-svn-src-all@freebsd.org Fri Mar 11 22:56:18 2016 Return-Path: Delivered-To: svn-src-all@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 154ABACDFE0; Fri, 11 Mar 2016 22:56:18 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E2337CAC; Fri, 11 Mar 2016 22:56:17 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BMuG68095253; Fri, 11 Mar 2016 22:56:16 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BMuGKa095251; Fri, 11 Mar 2016 22:56:16 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603112256.u2BMuGKa095251@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 11 Mar 2016 22:56:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296687 - head/contrib/libc++/include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 22:56:18 -0000 Author: dim Date: Fri Mar 11 22:56:16 2016 New Revision: 296687 URL: https://svnweb.freebsd.org/changeset/base/296687 Log: Pull in r250279 from upstream libc++ trunk (by Eric Fiselier): Fix GCC atomic implementation in C++03 Pull in r250802 from upstream libc++ trunk (by Eric Fiselier): Detect relaxed constexpr rules for gcc versions Pull in r255585 from upstream libc++ trunk (by Eric Fiselier): Fix various GCC mis-configurations for newer versions. This patch goes through and enables C++11 and C++14 features for newer GCC's. The main changes are: 1. Turn on variable templates. (Uses __cpp_variable_templates) 2. Assert atomic is trivially copyable (Uses _GNUC_VER >= 501). 3. Turn on trailing return support for GCC. (Uses _GNUC_VER >= 404) 4. XFAIL void_t test for GCC 5.1 and 5.2. Fixed in GCC 6. Together, these should fix building clang 3.8.0 as part of building world with recent versions of gcc (e.g. the devel/*-xtoolchain-gcc ports). Modified: head/contrib/libc++/include/__config head/contrib/libc++/include/atomic Modified: head/contrib/libc++/include/__config ============================================================================== --- head/contrib/libc++/include/__config Fri Mar 11 22:45:23 2016 (r296686) +++ head/contrib/libc++/include/__config Fri Mar 11 22:56:16 2016 (r296687) @@ -429,10 +429,15 @@ namespace std { #define _LIBCPP_HAS_NO_CONSTEXPR #endif -// No version of GCC supports relaxed constexpr rules +// Determine if GCC supports relaxed constexpr +#if !defined(__cpp_constexpr) || __cpp_constexpr < 201304L #define _LIBCPP_HAS_NO_CXX14_CONSTEXPR +#endif + // GCC 5 will support variable templates +#if !defined(__cpp_variable_templates) || __cpp_variable_templates < 201304L #define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES +#endif #define _NOEXCEPT throw() #define _NOEXCEPT_(x) @@ -454,7 +459,6 @@ namespace std { #else // __GXX_EXPERIMENTAL_CXX0X__ -#define _LIBCPP_HAS_NO_TRAILING_RETURN #define _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS #if _GNUC_VER < 403 @@ -468,6 +472,7 @@ namespace std { #if _GNUC_VER < 404 #define _LIBCPP_HAS_NO_DECLTYPE #define _LIBCPP_HAS_NO_DELETED_FUNCTIONS +#define _LIBCPP_HAS_NO_TRAILING_RETURN #define _LIBCPP_HAS_NO_UNICODE_CHARS #define _LIBCPP_HAS_NO_VARIADICS #define _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS Modified: head/contrib/libc++/include/atomic ============================================================================== --- head/contrib/libc++/include/atomic Fri Mar 11 22:45:23 2016 (r296686) +++ head/contrib/libc++/include/atomic Fri Mar 11 22:56:16 2016 (r296687) @@ -553,7 +553,18 @@ typedef enum memory_order namespace __gcc_atomic { template struct __gcc_atomic_t { - __gcc_atomic_t() _NOEXCEPT {} + +#if _GNUC_VER >= 501 + static_assert(is_trivially_copyable<_Tp>::value, + "std::atomic requires that 'Tp' be a trivially copyable type"); +#endif + + _LIBCPP_INLINE_VISIBILITY +#ifndef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS + __gcc_atomic_t() _NOEXCEPT = default; +#else + __gcc_atomic_t() _NOEXCEPT : __a_value() {} +#endif // _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS _LIBCPP_CONSTEXPR explicit __gcc_atomic_t(_Tp value) _NOEXCEPT : __a_value(value) {} _Tp __a_value; @@ -574,7 +585,7 @@ struct __can_assign { sizeof(__test_atomic_assignable<_Tp, _Td>(1)) == sizeof(char); }; -static inline constexpr int __to_gcc_order(memory_order __order) { +static inline _LIBCPP_CONSTEXPR int __to_gcc_order(memory_order __order) { // Avoid switch statement to make this a constexpr. return __order == memory_order_relaxed ? __ATOMIC_RELAXED: (__order == memory_order_acquire ? __ATOMIC_ACQUIRE: @@ -584,7 +595,7 @@ static inline constexpr int __to_gcc_ord __ATOMIC_CONSUME)))); } -static inline constexpr int __to_gcc_failure_order(memory_order __order) { +static inline _LIBCPP_CONSTEXPR int __to_gcc_failure_order(memory_order __order) { // Avoid switch statement to make this a constexpr. return __order == memory_order_relaxed ? __ATOMIC_RELAXED: (__order == memory_order_acquire ? __ATOMIC_ACQUIRE: From owner-svn-src-all@freebsd.org Fri Mar 11 23:18:08 2016 Return-Path: Delivered-To: svn-src-all@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 159AAACC6C2; Fri, 11 Mar 2016 23:18:08 +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 E55F815B2; Fri, 11 Mar 2016 23:18:07 +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 u2BNI69H001501; Fri, 11 Mar 2016 23:18:06 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNI6i4001496; Fri, 11 Mar 2016 23:18:06 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603112318.u2BNI6i4001496@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 11 Mar 2016 23:18:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296688 - in head/sys: kern netinet ofed/drivers/infiniband/core ofed/drivers/infiniband/hw/mlx4 ofed/drivers/infiniband/ulp/ipoib X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:18:08 -0000 Author: jhb Date: Fri Mar 11 23:18:06 2016 New Revision: 296688 URL: https://svnweb.freebsd.org/changeset/base/296688 Log: Use SI_SUB_LAST instead of SI_SUB_SMP as the "catch-all" subsystem. Reviewed by: kib Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D5515 Modified: head/sys/kern/kern_alq.c head/sys/netinet/siftr.c head/sys/ofed/drivers/infiniband/core/device.c head/sys/ofed/drivers/infiniband/hw/mlx4/main.c head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Modified: head/sys/kern/kern_alq.c ============================================================================== --- head/sys/kern/kern_alq.c Fri Mar 11 22:56:16 2016 (r296687) +++ head/sys/kern/kern_alq.c Fri Mar 11 23:18:06 2016 (r296688) @@ -969,5 +969,5 @@ static moduledata_t alq_mod = NULL }; -DECLARE_MODULE(alq, alq_mod, SI_SUB_SMP, SI_ORDER_ANY); +DECLARE_MODULE(alq, alq_mod, SI_SUB_LAST, SI_ORDER_ANY); MODULE_VERSION(alq, 1); Modified: head/sys/netinet/siftr.c ============================================================================== --- head/sys/netinet/siftr.c Fri Mar 11 22:56:16 2016 (r296687) +++ head/sys/netinet/siftr.c Fri Mar 11 23:18:06 2016 (r296688) @@ -1561,6 +1561,6 @@ static moduledata_t siftr_mod = { * Defines the initialisation order of this kld relative to others * within the same subsystem as defined by param 3 */ -DECLARE_MODULE(siftr, siftr_mod, SI_SUB_SMP, SI_ORDER_ANY); +DECLARE_MODULE(siftr, siftr_mod, SI_SUB_LAST, SI_ORDER_ANY); MODULE_DEPEND(siftr, alq, 1, 1, 1); MODULE_VERSION(siftr, MODVERSION); Modified: head/sys/ofed/drivers/infiniband/core/device.c ============================================================================== --- head/sys/ofed/drivers/infiniband/core/device.c Fri Mar 11 22:56:16 2016 (r296687) +++ head/sys/ofed/drivers/infiniband/core/device.c Fri Mar 11 23:18:06 2016 (r296688) @@ -790,4 +790,4 @@ static moduledata_t ibcore_mod = { MODULE_VERSION(ibcore, 1); MODULE_DEPEND(ibcore, linuxkpi, 1, 1, 1); -DECLARE_MODULE(ibcore, ibcore_mod, SI_SUB_SMP, SI_ORDER_ANY); +DECLARE_MODULE(ibcore, ibcore_mod, SI_SUB_LAST, SI_ORDER_ANY); Modified: head/sys/ofed/drivers/infiniband/hw/mlx4/main.c ============================================================================== --- head/sys/ofed/drivers/infiniband/hw/mlx4/main.c Fri Mar 11 22:56:16 2016 (r296687) +++ head/sys/ofed/drivers/infiniband/hw/mlx4/main.c Fri Mar 11 23:18:06 2016 (r296688) @@ -2881,7 +2881,7 @@ static moduledata_t mlx4ib_mod = { .evhand = mlx4ib_evhand, }; -DECLARE_MODULE(mlx4ib, mlx4ib_mod, SI_SUB_SMP, SI_ORDER_ANY); +DECLARE_MODULE(mlx4ib, mlx4ib_mod, SI_SUB_LAST, SI_ORDER_ANY); MODULE_DEPEND(mlx4ib, mlx4, 1, 1, 1); MODULE_DEPEND(mlx4ib, ibcore, 1, 1, 1); MODULE_DEPEND(mlx4ib, linuxkpi, 1, 1, 1); Modified: head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c ============================================================================== --- head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Fri Mar 11 22:56:16 2016 (r296687) +++ head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Fri Mar 11 23:18:06 2016 (r296688) @@ -1535,6 +1535,6 @@ static moduledata_t ipoib_mod = { .evhand = ipoib_evhand, }; -DECLARE_MODULE(ipoib, ipoib_mod, SI_SUB_SMP, SI_ORDER_ANY); +DECLARE_MODULE(ipoib, ipoib_mod, SI_SUB_LAST, SI_ORDER_ANY); MODULE_DEPEND(ipoib, ibcore, 1, 1, 1); MODULE_DEPEND(ipoib, linuxkpi, 1, 1, 1); From owner-svn-src-all@freebsd.org Fri Mar 11 23:24:06 2016 Return-Path: Delivered-To: svn-src-all@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 68088ACC942; Fri, 11 Mar 2016 23:24:06 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 369E01AE5; Fri, 11 Mar 2016 23:24:06 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNO5hB004445; Fri, 11 Mar 2016 23:24:05 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNO5gx004444; Fri, 11 Mar 2016 23:24:05 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603112324.u2BNO5gx004444@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Fri, 11 Mar 2016 23:24:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296689 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:24:06 -0000 Author: np Date: Fri Mar 11 23:24:04 2016 New Revision: 296689 URL: https://svnweb.freebsd.org/changeset/base/296689 Log: cxgbe(4): sysctls to display the TOE's TCP timers. cask:~# sysctl -d dev.t5nex.0.toe dev.t5nex.0.toe.finwait2_timer: FINWAIT2 timer (us) dev.t5nex.0.toe.initial_srtt: Initial SRTT (us) dev.t5nex.0.toe.keepalive_intvl: Keepidle interval (us) dev.t5nex.0.toe.keepalive_idle: Keepidle idle timer (us) dev.t5nex.0.toe.persist_max: Persist timer max (us) dev.t5nex.0.toe.persist_min: Persist timer min (us) dev.t5nex.0.toe.rexmt_max: Retransmit max (us) dev.t5nex.0.toe.rexmt_min: Retransmit min (us) dev.t5nex.0.toe.dack_timer: DACK timer (us) dev.t5nex.0.toe.dack_tick: DACK tick (us) dev.t5nex.0.toe.timestamp_tick: TCP timestamp tick (us) dev.t5nex.0.toe.timer_tick: TP timer tick (us) ... cask:~# sysctl dev.t5nex.0.toe dev.t5nex.0.toe.finwait2_timer: 9765440 dev.t5nex.0.toe.initial_srtt: 244128 dev.t5nex.0.toe.keepalive_intvl: 73240800 dev.t5nex.0.toe.keepalive_idle: 7031116800 dev.t5nex.0.toe.persist_max: 9765440 dev.t5nex.0.toe.persist_min: 976544 dev.t5nex.0.toe.rexmt_max: 9765440 dev.t5nex.0.toe.rexmt_min: 244128 dev.t5nex.0.toe.dack_timer: 19520 dev.t5nex.0.toe.dack_tick: 32.768 dev.t5nex.0.toe.timestamp_tick: 1048.576 dev.t5nex.0.toe.timer_tick: 32.768 ... Modified: head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Fri Mar 11 23:18:06 2016 (r296688) +++ head/sys/dev/cxgbe/t4_main.c Fri Mar 11 23:24:04 2016 (r296689) @@ -482,6 +482,9 @@ static int sysctl_tx_rate(SYSCTL_HANDLER static int sysctl_ulprx_la(SYSCTL_HANDLER_ARGS); static int sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS); #endif +static int sysctl_tp_tick(SYSCTL_HANDLER_ARGS); +static int sysctl_tp_dack_timer(SYSCTL_HANDLER_ARGS); +static int sysctl_tp_timer(SYSCTL_HANDLER_ARGS); static uint32_t fconf_iconf_to_mode(uint32_t, uint32_t); static uint32_t mode_to_fconf(uint32_t); static uint32_t mode_to_iconf(uint32_t); @@ -4890,6 +4893,54 @@ t4_sysctls(struct adapter *sc) sc->tt.tx_align = 1; SYSCTL_ADD_INT(ctx, children, OID_AUTO, "tx_align", CTLFLAG_RW, &sc->tt.tx_align, 0, "chop and align payload"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "timer_tick", + CTLTYPE_STRING | CTLFLAG_RD, sc, 0, sysctl_tp_tick, "A", + "TP timer tick (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "timestamp_tick", + CTLTYPE_STRING | CTLFLAG_RD, sc, 1, sysctl_tp_tick, "A", + "TCP timestamp tick (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "dack_tick", + CTLTYPE_STRING | CTLFLAG_RD, sc, 2, sysctl_tp_tick, "A", + "DACK tick (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "dack_timer", + CTLTYPE_UINT | CTLFLAG_RD, sc, 0, sysctl_tp_dack_timer, + "IU", "DACK timer (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "rexmt_min", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_RXT_MIN, + sysctl_tp_timer, "LU", "Retransmit min (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "rexmt_max", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_RXT_MAX, + sysctl_tp_timer, "LU", "Retransmit max (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "persist_min", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_PERS_MIN, + sysctl_tp_timer, "LU", "Persist timer min (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "persist_max", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_PERS_MAX, + sysctl_tp_timer, "LU", "Persist timer max (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "keepalive_idle", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_KEEP_IDLE, + sysctl_tp_timer, "LU", "Keepidle idle timer (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "keepalive_intvl", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_KEEP_INTVL, + sysctl_tp_timer, "LU", "Keepidle interval (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "initial_srtt", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_INIT_SRTT, + sysctl_tp_timer, "LU", "Initial SRTT (us)"); + + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "finwait2_timer", + CTLTYPE_ULONG | CTLFLAG_RD, sc, A_TP_FINWAIT2_TIMER, + sysctl_tp_timer, "LU", "FINWAIT2 timer (us)"); } #endif } @@ -7388,6 +7439,90 @@ sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS) } #endif +static void +unit_conv(char *buf, size_t len, u_int val, u_int factor) +{ + u_int rem = val % factor; + + if (rem == 0) + snprintf(buf, len, "%u", val / factor); + else { + while (rem % 10 == 0) + rem /= 10; + snprintf(buf, len, "%u.%u", val / factor, rem); + } +} + +static int +sysctl_tp_tick(SYSCTL_HANDLER_ARGS) +{ + struct adapter *sc = arg1; + char buf[16]; + u_int res, re; + u_int cclk_ps = 1000000000 / sc->params.vpd.cclk; + + res = t4_read_reg(sc, A_TP_TIMER_RESOLUTION); + switch (arg2) { + case 0: + /* timer_tick */ + re = G_TIMERRESOLUTION(res); + break; + case 1: + /* TCP timestamp tick */ + re = G_TIMESTAMPRESOLUTION(res); + break; + case 2: + /* DACK tick */ + re = G_DELAYEDACKRESOLUTION(res); + break; + default: + return (EDOOFUS); + } + + unit_conv(buf, sizeof(buf), (cclk_ps << re), 1000000); + + return (sysctl_handle_string(oidp, buf, sizeof(buf), req)); +} + +static int +sysctl_tp_dack_timer(SYSCTL_HANDLER_ARGS) +{ + struct adapter *sc = arg1; + u_int res, dack_re, v; + u_int cclk_ps = 1000000000 / sc->params.vpd.cclk; + + res = t4_read_reg(sc, A_TP_TIMER_RESOLUTION); + dack_re = G_DELAYEDACKRESOLUTION(res); + v = ((cclk_ps << dack_re) / 1000000) * t4_read_reg(sc, A_TP_DACK_TIMER); + + return (sysctl_handle_int(oidp, &v, 0, req)); +} + +static int +sysctl_tp_timer(SYSCTL_HANDLER_ARGS) +{ + struct adapter *sc = arg1; + int reg = arg2; + u_int tre; + u_long tp_tick_us, v; + u_int cclk_ps = 1000000000 / sc->params.vpd.cclk; + + MPASS(reg == A_TP_RXT_MIN || reg == A_TP_RXT_MAX || + reg == A_TP_PERS_MIN || reg == A_TP_PERS_MAX || + reg == A_TP_KEEP_IDLE || A_TP_KEEP_INTVL || reg == A_TP_INIT_SRTT || + reg == A_TP_FINWAIT2_TIMER); + + tre = G_TIMERRESOLUTION(t4_read_reg(sc, A_TP_TIMER_RESOLUTION)); + tp_tick_us = (cclk_ps << tre) / 1000000; + + if (reg == A_TP_INIT_SRTT) + v = tp_tick_us * G_INITSRTT(t4_read_reg(sc, reg)); + else + v = tp_tick_us * t4_read_reg(sc, reg); + + return (sysctl_handle_long(oidp, &v, 0, req)); +} + static uint32_t fconf_iconf_to_mode(uint32_t fconf, uint32_t iconf) { From owner-svn-src-all@freebsd.org Fri Mar 11 23:44:29 2016 Return-Path: Delivered-To: svn-src-all@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 2357EACD003; Fri, 11 Mar 2016 23:44:29 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D6E61335; Fri, 11 Mar 2016 23:44:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNiRHa010350; Fri, 11 Mar 2016 23:44:27 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNiR5j010348; Fri, 11 Mar 2016 23:44:27 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112344.u2BNiR5j010348@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:44:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296690 - in head: include share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:44:29 -0000 Author: bdrewery Date: Fri Mar 11 23:44:27 2016 New Revision: 296690 URL: https://svnweb.freebsd.org/changeset/base/296690 Log: DIRDEPS_BUILD: Remove the cookie when target is out-of-date. The meta file may decide the target is out of date but nothing ensures that the *next* build will build this target if it fails this time for some reason; it is still out-of-date until it succeeds. Convert the include/ cookie usage to the global versions. Sponsored by: EMC / Isilon Storage Division Modified: head/include/Makefile head/share/mk/local.sys.mk Modified: head/include/Makefile ============================================================================== --- head/include/Makefile Fri Mar 11 23:24:04 2016 (r296689) +++ head/include/Makefile Fri Mar 11 23:44:27 2016 (r296690) @@ -131,6 +131,7 @@ _MARCHS+= x86 .if ${MK_STAGING} == "yes" # tell bsd.incs.mk that we have it covered NO_STAGE_INCLUDES= +META_COOKIES+= stage_prep stage_include compat copies symlinks .endif .include @@ -157,6 +158,7 @@ ${SHARED}: compat # Take care of stale directory-level symlinks. compat: + ${META_COOKIE_RM} .for i in ${LDIRS} ${LSUBDIRS} machine ${_MARCHS} crypto if [ -L ${DESTDIR}${INCLUDEDIR}/$i ]; then \ rm -f ${DESTDIR}${INCLUDEDIR}/$i; \ @@ -165,11 +167,10 @@ compat: mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \ -f ${.CURDIR}/../etc/mtree/BSD.include.dist \ -p ${DESTDIR}${INCLUDEDIR} > /dev/null -.if ${MK_DIRDEPS_BUILD} == "yes" - @touch ${.TARGET} -.endif + ${META_COOKIE_TOUCH} copies: + ${META_COOKIE_RM} .for i in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} crypto machine machine/pc \ ${_MARCHS} if [ -d ${DESTDIR}${INCLUDEDIR}/$i ]; then \ @@ -254,11 +255,10 @@ copies: cd ${.CURDIR}/../sys/teken; \ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 teken.h \ ${DESTDIR}${INCLUDEDIR}/teken -.if ${MK_DIRDEPS_BUILD} == "yes" - @touch ${.OBJDIR}/${.TARGET} -.endif + ${META_COOKIE_TOUCH} symlinks: + ${META_COOKIE_RM} @${ECHO} "Setting up symlinks to kernel source tree..." .for i in ${LDIRS} cd ${.CURDIR}/../sys/$i; \ @@ -371,9 +371,7 @@ symlinks: ${INSTALL_SYMLINK} ../../../sys/rpc/$$h \ ${DESTDIR}${INCLUDEDIR}/rpc; \ done -.if ${MK_DIRDEPS_BUILD} == "yes" - @touch ${.OBJDIR}/${.TARGET} -.endif + ${META_COOKIE_TOUCH} .if ${MACHINE} == "host" && !defined(_SKIP_BUILD) # we're here because we are building a sysroot... Modified: head/share/mk/local.sys.mk ============================================================================== --- head/share/mk/local.sys.mk Fri Mar 11 23:24:04 2016 (r296689) +++ head/share/mk/local.sys.mk Fri Mar 11 23:44:27 2016 (r296690) @@ -28,10 +28,14 @@ MAKE_PRINT_VAR_ON_ERROR += .MAKE.MAKEFIL .if ${.MAKE.MODE:Mmeta*} != "" # we can afford to use cookies to prevent some targets # re-running needlessly -META_COOKIE_TOUCH= touch ${COOKIE.${.TARGET}:U${.OBJDIR}/${.TARGET}} +META_COOKIE= ${COOKIE.${.TARGET}:U${.OBJDIR}/${.TARGET}} +META_COOKIE_RM= @rm -f ${META_COOKIE} +META_COOKIE_TOUCH= @touch ${META_COOKIE} # some targets need to be .PHONY - but not in meta mode META_NOPHONY= +CLEANFILES+= ${META_COOKIES} .else +META_COOKIE_RM= META_COOKIE_TOUCH= META_NOPHONY= .PHONY .endif From owner-svn-src-all@freebsd.org Fri Mar 11 23:44:57 2016 Return-Path: Delivered-To: svn-src-all@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 A505AACD049; Fri, 11 Mar 2016 23:44:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 762DE6B4; Fri, 11 Mar 2016 23:44:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNiu0p010405; Fri, 11 Mar 2016 23:44:56 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNiuab010404; Fri, 11 Mar 2016 23:44:56 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112344.u2BNiuab010404@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:44:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296691 - head/include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:44:57 -0000 Author: bdrewery Date: Fri Mar 11 23:44:56 2016 New Revision: 296691 URL: https://svnweb.freebsd.org/changeset/base/296691 Log: DIRDEPS_BUILD: None of this is needed anymore. This file is using stage-install, so all of the .dirdep files are properly handled. The cookie handling also properly handles rebuilds with .meta files. DESTDIR from bsd.sys.mk is also respected for staging. This logic came in r239572. Sponsored by: EMC / Isilon Storage Division Modified: head/include/Makefile Modified: head/include/Makefile ============================================================================== --- head/include/Makefile Fri Mar 11 23:44:27 2016 (r296690) +++ head/include/Makefile Fri Mar 11 23:44:56 2016 (r296691) @@ -128,31 +128,11 @@ _MARCHS= ${MACHINE_CPUARCH} _MARCHS+= x86 .endif -.if ${MK_STAGING} == "yes" -# tell bsd.incs.mk that we have it covered -NO_STAGE_INCLUDES= -META_COOKIES+= stage_prep stage_include compat copies symlinks -.endif +META_COOKIES+= compat copies symlinks +stage_includes: ${SHARED} .include -.if ${MK_STAGING} != "no" && !defined(_SKIP_BUILD) -.if make(all) -DESTDIR= ${STAGE_OBJTOP} - -all: stage_include -installincludes: buildincludes -buildincludes: stage_prep - -stage_prep: - @mkdir -p ${DESTDIR}${INCLUDEDIR} - @touch $@ - -stage_include: .dirdep installincludes - @touch $@ -.endif -.endif - installincludes: ${SHARED} ${SHARED}: compat From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:00 2016 Return-Path: Delivered-To: svn-src-all@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 B9E40ACD069; Fri, 11 Mar 2016 23:45:00 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8B6506D4; Fri, 11 Mar 2016 23:45:00 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNixhb010452; Fri, 11 Mar 2016 23:44:59 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNixPD010451; Fri, 11 Mar 2016 23:44:59 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112344.u2BNixPD010451@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:44:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296692 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:00 -0000 Author: bdrewery Date: Fri Mar 11 23:44:59 2016 New Revision: 296692 URL: https://svnweb.freebsd.org/changeset/base/296692 Log: Remove out-of-place make(buildincludes) check. This came in r239572 for META_MODE handling but it doesn't make sense since the staging is always done in make(all); make(buildincludes) is never actually ran in the META_MODE build. Reported by: bapt Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.files.mk Modified: head/share/mk/bsd.files.mk ============================================================================== --- head/share/mk/bsd.files.mk Fri Mar 11 23:44:56 2016 (r296691) +++ head/share/mk/bsd.files.mk Fri Mar 11 23:44:59 2016 (r296692) @@ -30,9 +30,7 @@ ${group}OWN?= ${SHAREOWN} ${group}GRP?= ${SHAREGRP} ${group}MODE?= ${SHAREMODE} ${group}DIR?= ${BINDIR} -.if !make(buildincludes) STAGE_SETS+= ${group} -.endif STAGE_DIR.${group}= ${STAGE_OBJTOP}${${group}DIR} _${group}FILES= @@ -49,9 +47,7 @@ ${group}NAME_${file:T}?= ${${group}NAME} .else ${group}NAME_${file:T}?= ${file:T} .endif -.if !make(buildincludes) STAGE_AS_SETS+= ${file:T} -.endif STAGE_AS_${file:T}= ${${group}NAME_${file:T}} # XXX {group}OWN,GRP,MODE STAGE_DIR.${file:T}= ${STAGE_OBJTOP}${${group}DIR_${file:T}} From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:04 2016 Return-Path: Delivered-To: svn-src-all@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 135FEACD089; Fri, 11 Mar 2016 23:45:04 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C48D3800; Fri, 11 Mar 2016 23:45:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNj2GK010505; Fri, 11 Mar 2016 23:45:02 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNj2Eq010504; Fri, 11 Mar 2016 23:45:02 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNj2Eq010504@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296693 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:04 -0000 Author: bdrewery Date: Fri Mar 11 23:45:02 2016 New Revision: 296693 URL: https://svnweb.freebsd.org/changeset/base/296693 Log: DIRDEPS_BUILD: Extend beforeinstall: staging hack. Most beforeinstall: usage is not adding commands but only adding targets, such as in share/sendmail. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.sys.mk Modified: head/share/mk/bsd.sys.mk ============================================================================== --- head/share/mk/bsd.sys.mk Fri Mar 11 23:44:59 2016 (r296692) +++ head/share/mk/bsd.sys.mk Fri Mar 11 23:45:02 2016 (r296693) @@ -198,7 +198,7 @@ staging stage_libs stage_files stage_as # allow targets like beforeinstall to be leveraged DESTDIR= ${STAGE_OBJTOP} -.if commands(beforeinstall) +.if target(beforeinstall) .if !empty(_LIBS) || (${MK_STAGING_PROG} != "no" && !defined(INTERNALPROG)) staging: beforeinstall .endif From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:07 2016 Return-Path: Delivered-To: svn-src-all@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 22317ACD0B7; Fri, 11 Mar 2016 23:45:07 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CC80D923; Fri, 11 Mar 2016 23:45:06 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNj57A010553; Fri, 11 Mar 2016 23:45:05 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNj5cH010552; Fri, 11 Mar 2016 23:45:05 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNj5cH010552@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296694 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:07 -0000 Author: bdrewery Date: Fri Mar 11 23:45:05 2016 New Revision: 296694 URL: https://svnweb.freebsd.org/changeset/base/296694 Log: DIRDEPS_BUILD: export DESTDIR for STAGING. An example of where this is needed is in share/examples which for 'etc-examples' runs 'make -C SRCTOP/etc etc-examples' which installs to the default DESTDIR otherwise. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.sys.mk Modified: head/share/mk/bsd.sys.mk ============================================================================== --- head/share/mk/bsd.sys.mk Fri Mar 11 23:45:02 2016 (r296693) +++ head/share/mk/bsd.sys.mk Fri Mar 11 23:45:05 2016 (r296694) @@ -197,6 +197,7 @@ staging stage_libs stage_files stage_as .else # allow targets like beforeinstall to be leveraged DESTDIR= ${STAGE_OBJTOP} +.export DESTDIR .if target(beforeinstall) .if !empty(_LIBS) || (${MK_STAGING_PROG} != "no" && !defined(INTERNALPROG)) From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:12 2016 Return-Path: Delivered-To: svn-src-all@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 0EFC6ACD0F9; Fri, 11 Mar 2016 23:45:12 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C2AFFB12; Fri, 11 Mar 2016 23:45:11 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjA4p010605; Fri, 11 Mar 2016 23:45:10 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjANT010597; Fri, 11 Mar 2016 23:45:10 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjANT010597@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296695 - in head: etc etc/defaults share/examples share/sendmail targets/pseudo/userland/share X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:12 -0000 Author: bdrewery Date: Fri Mar 11 23:45:09 2016 New Revision: 296695 URL: https://svnweb.freebsd.org/changeset/base/296695 Log: DIRDEPS_BUILD: Fix staging of share/sendmail and share/examples. Sponsored by: EMC / Isilon Storage Division Added: head/etc/defaults/Makefile.depend - copied, changed from r296694, head/share/sendmail/Makefile.depend head/share/examples/Makefile.depend - copied, changed from r296694, head/share/sendmail/Makefile.depend Modified: head/etc/Makefile head/etc/defaults/Makefile head/share/examples/Makefile head/share/sendmail/Makefile head/share/sendmail/Makefile.depend head/targets/pseudo/userland/share/Makefile.depend Modified: head/etc/Makefile ============================================================================== --- head/etc/Makefile Fri Mar 11 23:45:05 2016 (r296694) +++ head/etc/Makefile Fri Mar 11 23:45:09 2016 (r296695) @@ -3,6 +3,9 @@ .include +# No need as it is empty and just causes rebuilds since this file does so much. +UPDATE_DEPENDFILE= no + SUBDIR= \ newsyslog.conf.d @@ -450,11 +453,16 @@ distrib-dirs: ${MTREES:N/*} distrib-clea done .endif -etc-examples: +etc-examples-install: + ${META_COOKIE_RM} cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ ${BIN1} ${BIN2} nsmb.conf opieaccess \ ${DESTDIR}${SHAREDIR}/examples/etc - ${_+_}cd ${.CURDIR}/defaults; ${MAKE} install \ + ${META_COOKIE_TOUCH} + +etc-examples: etc-examples-install + ${_+_}cd ${.CURDIR}/defaults; \ + ${MAKE} ${${MK_STAGING} == "yes":?all:install} \ DESTDIR=${DESTDIR}${SHAREDIR}/examples .include Modified: head/etc/defaults/Makefile ============================================================================== --- head/etc/defaults/Makefile Fri Mar 11 23:45:05 2016 (r296694) +++ head/etc/defaults/Makefile Fri Mar 11 23:45:09 2016 (r296695) @@ -3,7 +3,6 @@ .include FILES= devfs.rules periodic.conf rc.conf -NO_OBJ= FILESDIR= /etc/defaults .if ${MK_BLUETOOTH} != "no" Copied and modified: head/etc/defaults/Makefile.depend (from r296694, head/share/sendmail/Makefile.depend) ============================================================================== Modified: head/share/examples/Makefile ============================================================================== --- head/share/examples/Makefile Fri Mar 11 23:45:05 2016 (r296694) +++ head/share/examples/Makefile Fri Mar 11 23:45:09 2016 (r296695) @@ -219,9 +219,11 @@ XFILES+= bhyve/vmrun.sh SHARED?= copies beforeinstall: ${SHARED} etc-examples +META_COOKIES+= copies symlinks .ORDER: ${SHARED} etc-examples copies: + ${META_COOKIE_RM} .for i in ${LDIRS} if [ -L ${DESTDIR}${BINDIR}/$i ]; then \ rm -f ${DESTDIR}${BINDIR}/$i; \ @@ -233,16 +235,19 @@ copies: ${INSTALL} -o ${SHAREOWN} -g ${SHAREGRP} -m ${SHAREMODE} \ ${.CURDIR}/${file} ${DESTDIR}${BINDIR}/${file} .endfor + ${META_COOKIE_TOUCH} symlinks: + ${META_COOKIE_RM} .for i in ${LDIRS} rm -rf ${DESTDIR}${BINDIR}/$i ln -s ${.CURDIR}/$i ${DESTDIR}${BINDIR}/$i .endfor + ${META_COOKIE_TOUCH} etc-examples: .if ${SHARED} != "symlinks" - (cd ${.CURDIR}/../../etc; ${MAKE} etc-examples) + ${_+_}(cd ${.CURDIR}/../../etc; ${MAKE} etc-examples) .endif .if ${SHARED} != "symlinks" @@ -261,4 +266,4 @@ SUBDIR+=tests SUBDIR_PARALLEL= -.include +.include Copied and modified: head/share/examples/Makefile.depend (from r296694, head/share/sendmail/Makefile.depend) ============================================================================== --- head/share/sendmail/Makefile.depend Fri Mar 11 23:45:05 2016 (r296694, copy source) +++ head/share/examples/Makefile.depend Fri Mar 11 23:45:09 2016 (r296695) @@ -2,6 +2,7 @@ # Autogenerated - do NOT edit! DIRDEPS = \ + usr.bin/xinstall.host \ .include Modified: head/share/sendmail/Makefile ============================================================================== --- head/share/sendmail/Makefile Fri Mar 11 23:45:05 2016 (r296694) +++ head/share/sendmail/Makefile Fri Mar 11 23:45:09 2016 (r296695) @@ -16,8 +16,10 @@ SHARED?= copies all clean cleandir depend lint tags: beforeinstall: ${SHARED} +META_COOKIES+= copies symlinks -copies:: +copies: + ${META_COOKIE_RM} if [ -L ${DDIR}/${CFDIR} ]; then rm -f ${DDIR}/${CFDIR}; fi .for dir in ${CFDIRS} ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 755 -d ${DDIR}/${dir} @@ -25,8 +27,11 @@ copies:: .for file in ${CFFILES} ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 ${SENDMAIL_DIR}/${file} ${DDIR}/${file} .endfor + ${META_COOKIE_TOUCH} -symlinks:: +symlinks: + ${META_COOKIE_RM} rm -rf ${DDIR}/${CFDIR}; ln -s ${SENDMAIL_DIR}/${CFDIR} ${DDIR}/${CFDIR} + ${META_COOKIE_TOUCH} .include Modified: head/share/sendmail/Makefile.depend ============================================================================== --- head/share/sendmail/Makefile.depend Fri Mar 11 23:45:05 2016 (r296694) +++ head/share/sendmail/Makefile.depend Fri Mar 11 23:45:09 2016 (r296695) @@ -2,6 +2,7 @@ # Autogenerated - do NOT edit! DIRDEPS = \ + usr.bin/xinstall.host \ .include Modified: head/targets/pseudo/userland/share/Makefile.depend ============================================================================== --- head/targets/pseudo/userland/share/Makefile.depend Fri Mar 11 23:45:05 2016 (r296694) +++ head/targets/pseudo/userland/share/Makefile.depend Fri Mar 11 23:45:09 2016 (r296695) @@ -85,6 +85,7 @@ DIRDEPS = \ share/doc/usd/title \ share/dtrace \ share/dtrace/toolkit \ + share/examples \ share/examples/atf \ share/examples/ipfilter \ share/examples/pf \ From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:15 2016 Return-Path: Delivered-To: svn-src-all@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 16EDEACD11B; Fri, 11 Mar 2016 23:45:15 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DCE19C31; Fri, 11 Mar 2016 23:45:14 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjDIJ010653; Fri, 11 Mar 2016 23:45:13 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjDEV010652; Fri, 11 Mar 2016 23:45:13 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjDEV010652@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296696 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:15 -0000 Author: bdrewery Date: Fri Mar 11 23:45:13 2016 New Revision: 296696 URL: https://svnweb.freebsd.org/changeset/base/296696 Log: DIRDEPS_BUILD: Avoid rebuilds due to changed build commands with newly staged tools. This is a follow-up to r291561 which reworked the bootstrap tool PATH handling. An example of this is when building lib/clang/libclangedit. At first clang-tblgen will not be staged in the host tree so it will have CLANG_TBLGEN=clang-tblgen set and exported. During the build though it will stage clang-tblgen and then find it via the PATH. On the next build it finds clang-tblgen in the stage directory and would set CLANG_TBLGEN=/clang-tblgen thus causing the build command to change. In both cases the same exact tool was used though so there is no need to rebuild. If the tool did change the normal meta/filemon handling would pick that up via timestamp comparisons and rebuild. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/local.meta.sys.mk Modified: head/share/mk/local.meta.sys.mk ============================================================================== --- head/share/mk/local.meta.sys.mk Fri Mar 11 23:45:09 2016 (r296695) +++ head/share/mk/local.meta.sys.mk Fri Mar 11 23:45:13 2016 (r296696) @@ -236,8 +236,7 @@ PATH:= ${TOOLSDIR}${dir}:${PATH} _toolchain_bin.${var}= ${TOOLSDIR}${_toolchain_bin_${var}:U/usr/bin/${var:tl}} .if exists(${_toolchain_bin.${var}}) HOST_${var}?= ${_toolchain_bin.${var}} -${var}?= ${HOST_${var}} -.export HOST_${var} ${var} +.export HOST_${var} .endif .endfor .endif From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:18 2016 Return-Path: Delivered-To: svn-src-all@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 8D3F8ACD149; Fri, 11 Mar 2016 23:45:18 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 54DBED2B; Fri, 11 Mar 2016 23:45:18 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjHCQ010699; Fri, 11 Mar 2016 23:45:17 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjHr8010697; Fri, 11 Mar 2016 23:45:17 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjHr8010697@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296697 - in head/share: i18n/esdb zoneinfo X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:18 -0000 Author: bdrewery Date: Fri Mar 11 23:45:17 2016 New Revision: 296697 URL: https://svnweb.freebsd.org/changeset/base/296697 Log: DIRDEPS_BUILD: Fix building during dirdeps. Sponsored by: EMC / Isilon Storage Division Modified: head/share/i18n/esdb/Makefile.part head/share/zoneinfo/Makefile Modified: head/share/i18n/esdb/Makefile.part ============================================================================== --- head/share/i18n/esdb/Makefile.part Fri Mar 11 23:45:13 2016 (r296696) +++ head/share/i18n/esdb/Makefile.part Fri Mar 11 23:45:17 2016 (r296697) @@ -60,7 +60,9 @@ esdb.alias.${ESUBDIR}: ${PARTFILE} ${ALI .endfor echo >>${.TARGET} +.if !defined(_SKIP_BUILD) all: esdb.dir.${ESUBDIR} esdb.alias.${ESUBDIR} codesets +.endif codesets: ${ESDB} .if !defined(NO_PREPROC) Modified: head/share/zoneinfo/Makefile ============================================================================== --- head/share/zoneinfo/Makefile Fri Mar 11 23:45:13 2016 (r296696) +++ head/share/zoneinfo/Makefile Fri Mar 11 23:45:17 2016 (r296697) @@ -67,7 +67,9 @@ TZBUILDSUBDIRS= \ Pacific \ SystemV +.if !defined(_SKIP_BUILD) all: zoneinfo +.endif .PHONY: zoneinfo zoneinfo: yearistype ${TDATA} From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:22 2016 Return-Path: Delivered-To: svn-src-all@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 29BE6ACD18B; Fri, 11 Mar 2016 23:45:22 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AD838E67; Fri, 11 Mar 2016 23:45:21 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjKUe010747; Fri, 11 Mar 2016 23:45:20 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjK3V010745; Fri, 11 Mar 2016 23:45:20 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjK3V010745@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296698 - head/share/zoneinfo X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:22 -0000 Author: bdrewery Date: Fri Mar 11 23:45:20 2016 New Revision: 296698 URL: https://svnweb.freebsd.org/changeset/base/296698 Log: DIRDEPS_BUILD: Reduce restaging here. This also fixes meta tracking for the beforeinstall since it had been marked .PHONY before (in bsd.sys.mk). Sponsored by: EMC / Isilon Storage Division Modified: head/share/zoneinfo/Makefile head/share/zoneinfo/Makefile.depend Modified: head/share/zoneinfo/Makefile ============================================================================== --- head/share/zoneinfo/Makefile Fri Mar 11 23:45:17 2016 (r296697) +++ head/share/zoneinfo/Makefile Fri Mar 11 23:45:20 2016 (r296698) @@ -70,22 +70,27 @@ TZBUILDSUBDIRS= \ .if !defined(_SKIP_BUILD) all: zoneinfo .endif +META_COOKIES+= zoneinfo install-zoneinfo -.PHONY: zoneinfo -zoneinfo: yearistype ${TDATA} +zoneinfo: yearistype ${TDATA} ${META_NOPHONY} + ${META_COOKIE_RM} mkdir -p ${TZBUILDDIR} cd ${TZBUILDDIR}; mkdir -p ${TZBUILDSUBDIRS} umask 022; cd ${.CURDIR}; \ zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \ ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES} + ${META_COOKIE_TOUCH} -beforeinstall: +beforeinstall: install-zoneinfo +install-zoneinfo: ${META_NOPHONY} + ${META_COOKIE_RM} cd ${TZBUILDDIR} && \ find -s * -type f -print -exec ${INSTALL} \ -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ \{} ${DESTDIR}/usr/share/zoneinfo/\{} \; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ + ${META_COOKIE_TOUCH} afterinstall: # Modified: head/share/zoneinfo/Makefile.depend ============================================================================== --- head/share/zoneinfo/Makefile.depend Fri Mar 11 23:45:17 2016 (r296697) +++ head/share/zoneinfo/Makefile.depend Fri Mar 11 23:45:20 2016 (r296698) @@ -2,6 +2,7 @@ # Autogenerated - do NOT edit! DIRDEPS = \ + usr.bin/xinstall.host \ .include From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:25 2016 Return-Path: Delivered-To: svn-src-all@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 51611ACD1C0; Fri, 11 Mar 2016 23:45:25 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 13AFEFA6; Fri, 11 Mar 2016 23:45:24 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjOPw010793; Fri, 11 Mar 2016 23:45:24 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjOIc010792; Fri, 11 Mar 2016 23:45:24 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjOIc010792@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296699 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:25 -0000 Author: bdrewery Date: Fri Mar 11 23:45:23 2016 New Revision: 296699 URL: https://svnweb.freebsd.org/changeset/base/296699 Log: DIRDEPS_BUILD: Add a sure way to prohibit building 'all' during dirdeps phase. This obsoletes the _SKIP_BUILD check but keeps it for now until it proves to be enough. In the dirdeps build the first 'make all' or 'make' ran would invoke 'make dirdeps' which builds dependencies and then builds the current directory in a sub-make (when BUILD_AT_LEVEL0 is no, which for us it is). This behavior causes things attached to 'all:' to build in the dirdeps phase AND the sub-make phase which creates all kinds of problems for staging, meta file tracking, and races. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/local.meta.sys.mk Modified: head/share/mk/local.meta.sys.mk ============================================================================== --- head/share/mk/local.meta.sys.mk Fri Mar 11 23:45:20 2016 (r296698) +++ head/share/mk/local.meta.sys.mk Fri Mar 11 23:45:23 2016 (r296699) @@ -132,6 +132,16 @@ PYTHON ?= /usr/local/bin/python .export PYTHON # this works best if share/mk is ready for it. BUILD_AT_LEVEL0= no +# _SKIP_BUILD is not 100% as it requires wrapping all 'all:' targets to avoid +# building in MAKELEVEL0. Just prohibit 'all' entirely in this case to avoid +# problems. +.if ${MK_DIRDEPS_BUILD} == "yes" && \ + ${.MAKE.LEVEL} == 0 && ${BUILD_AT_LEVEL0:Uyes:tl} == "no" +.MAIN: dirdeps +.if make(all) +.error DIRDEPS_BUILD: Please run '${MAKE}' instead of '${MAKE} all'. +.endif +.endif # we want to end up with a singe stage tree for all machines .if ${MK_STAGING} == "yes" From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:30 2016 Return-Path: Delivered-To: svn-src-all@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 A628EACD21E; Fri, 11 Mar 2016 23:45:30 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 76D8811B5; Fri, 11 Mar 2016 23:45:30 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjTAO010851; Fri, 11 Mar 2016 23:45:29 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjSIa010841; Fri, 11 Mar 2016 23:45:28 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjSIa010841@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296700 - in head: etc include share/examples share/mk share/sendmail share/zoneinfo targets/pseudo/bootstrap-tools targets/pseudo/kernel targets/pseudo/stage X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:30 -0000 Author: bdrewery Date: Fri Mar 11 23:45:28 2016 New Revision: 296700 URL: https://svnweb.freebsd.org/changeset/base/296700 Log: META_MODE: Simplify the META_COOKIE handling to use .USE/.USEBEFORE. Extend it to other cases of meta mode cookies so they get the proper rm cookie behavior when a .meta file detects it needs to rebuild and fails. Sponsored by: EMC / Isilon Storage Division Modified: head/etc/Makefile head/include/Makefile head/share/examples/Makefile head/share/mk/local.sys.mk head/share/sendmail/Makefile head/share/zoneinfo/Makefile head/targets/pseudo/bootstrap-tools/Makefile head/targets/pseudo/kernel/Makefile head/targets/pseudo/stage/Makefile Modified: head/etc/Makefile ============================================================================== --- head/etc/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/etc/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -453,12 +453,10 @@ distrib-dirs: ${MTREES:N/*} distrib-clea done .endif -etc-examples-install: - ${META_COOKIE_RM} +etc-examples-install: ${META_DEPS} cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ ${BIN1} ${BIN2} nsmb.conf opieaccess \ ${DESTDIR}${SHAREDIR}/examples/etc - ${META_COOKIE_TOUCH} etc-examples: etc-examples-install ${_+_}cd ${.CURDIR}/defaults; \ Modified: head/include/Makefile ============================================================================== --- head/include/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/include/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -128,7 +128,7 @@ _MARCHS= ${MACHINE_CPUARCH} _MARCHS+= x86 .endif -META_COOKIES+= compat copies symlinks +META_TARGETS+= compat copies symlinks stage_includes: ${SHARED} .include @@ -137,8 +137,7 @@ installincludes: ${SHARED} ${SHARED}: compat # Take care of stale directory-level symlinks. -compat: - ${META_COOKIE_RM} +compat: ${META_DEPS} .for i in ${LDIRS} ${LSUBDIRS} machine ${_MARCHS} crypto if [ -L ${DESTDIR}${INCLUDEDIR}/$i ]; then \ rm -f ${DESTDIR}${INCLUDEDIR}/$i; \ @@ -147,10 +146,8 @@ compat: mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \ -f ${.CURDIR}/../etc/mtree/BSD.include.dist \ -p ${DESTDIR}${INCLUDEDIR} > /dev/null - ${META_COOKIE_TOUCH} -copies: - ${META_COOKIE_RM} +copies: ${META_DEPS} .for i in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} crypto machine machine/pc \ ${_MARCHS} if [ -d ${DESTDIR}${INCLUDEDIR}/$i ]; then \ @@ -235,10 +232,8 @@ copies: cd ${.CURDIR}/../sys/teken; \ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 teken.h \ ${DESTDIR}${INCLUDEDIR}/teken - ${META_COOKIE_TOUCH} -symlinks: - ${META_COOKIE_RM} +symlinks: ${META_DEPS} @${ECHO} "Setting up symlinks to kernel source tree..." .for i in ${LDIRS} cd ${.CURDIR}/../sys/$i; \ @@ -351,7 +346,6 @@ symlinks: ${INSTALL_SYMLINK} ../../../sys/rpc/$$h \ ${DESTDIR}${INCLUDEDIR}/rpc; \ done - ${META_COOKIE_TOUCH} .if ${MACHINE} == "host" && !defined(_SKIP_BUILD) # we're here because we are building a sysroot... Modified: head/share/examples/Makefile ============================================================================== --- head/share/examples/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/share/examples/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -219,11 +219,10 @@ XFILES+= bhyve/vmrun.sh SHARED?= copies beforeinstall: ${SHARED} etc-examples -META_COOKIES+= copies symlinks +META_TARGETS+= copies symlinks .ORDER: ${SHARED} etc-examples -copies: - ${META_COOKIE_RM} +copies: ${META_DEPS} .for i in ${LDIRS} if [ -L ${DESTDIR}${BINDIR}/$i ]; then \ rm -f ${DESTDIR}${BINDIR}/$i; \ @@ -235,15 +234,12 @@ copies: ${INSTALL} -o ${SHAREOWN} -g ${SHAREGRP} -m ${SHAREMODE} \ ${.CURDIR}/${file} ${DESTDIR}${BINDIR}/${file} .endfor - ${META_COOKIE_TOUCH} -symlinks: - ${META_COOKIE_RM} +symlinks: ${META_DEPS} .for i in ${LDIRS} rm -rf ${DESTDIR}${BINDIR}/$i ln -s ${.CURDIR}/$i ${DESTDIR}${BINDIR}/$i .endfor - ${META_COOKIE_TOUCH} etc-examples: .if ${SHARED} != "symlinks" Modified: head/share/mk/local.sys.mk ============================================================================== --- head/share/mk/local.sys.mk Fri Mar 11 23:45:23 2016 (r296699) +++ head/share/mk/local.sys.mk Fri Mar 11 23:45:28 2016 (r296700) @@ -33,10 +33,18 @@ META_COOKIE_RM= @rm -f ${META_COOKIE} META_COOKIE_TOUCH= @touch ${META_COOKIE} # some targets need to be .PHONY - but not in meta mode META_NOPHONY= -CLEANFILES+= ${META_COOKIES} +CLEANFILES+= ${META_TARGETS} +_meta_dep_before: .USEBEFORE + ${META_COOKIE_RM} +_meta_dep_after: .USE + ${META_COOKIE_TOUCH} +# Attach this to a target to allow it to benefit from meta mode's +# not rerunning a command if it doesn't need to be considering its +# metafile/filemon-tracked dependencies. +META_DEPS= _meta_dep_before _meta_dep_after .META .else META_COOKIE_RM= META_COOKIE_TOUCH= -META_NOPHONY= .PHONY +META_NOPHONY= .PHONY .endif - +META_DEPS+= ${META_NOPHONY} Modified: head/share/sendmail/Makefile ============================================================================== --- head/share/sendmail/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/share/sendmail/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -16,10 +16,9 @@ SHARED?= copies all clean cleandir depend lint tags: beforeinstall: ${SHARED} -META_COOKIES+= copies symlinks +META_TARGETS+= copies symlinks -copies: - ${META_COOKIE_RM} +copies: ${META_DEPS} if [ -L ${DDIR}/${CFDIR} ]; then rm -f ${DDIR}/${CFDIR}; fi .for dir in ${CFDIRS} ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 755 -d ${DDIR}/${dir} @@ -27,11 +26,8 @@ copies: .for file in ${CFFILES} ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 ${SENDMAIL_DIR}/${file} ${DDIR}/${file} .endfor - ${META_COOKIE_TOUCH} -symlinks: - ${META_COOKIE_RM} +symlinks: ${META_DEPS} rm -rf ${DDIR}/${CFDIR}; ln -s ${SENDMAIL_DIR}/${CFDIR} ${DDIR}/${CFDIR} - ${META_COOKIE_TOUCH} .include Modified: head/share/zoneinfo/Makefile ============================================================================== --- head/share/zoneinfo/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/share/zoneinfo/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -70,27 +70,23 @@ TZBUILDSUBDIRS= \ .if !defined(_SKIP_BUILD) all: zoneinfo .endif -META_COOKIES+= zoneinfo install-zoneinfo +META_TARGETS+= zoneinfo install-zoneinfo -zoneinfo: yearistype ${TDATA} ${META_NOPHONY} - ${META_COOKIE_RM} +zoneinfo: yearistype ${TDATA} ${META_DEPS} mkdir -p ${TZBUILDDIR} cd ${TZBUILDDIR}; mkdir -p ${TZBUILDSUBDIRS} umask 022; cd ${.CURDIR}; \ zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \ ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES} - ${META_COOKIE_TOUCH} beforeinstall: install-zoneinfo -install-zoneinfo: ${META_NOPHONY} - ${META_COOKIE_RM} +install-zoneinfo: ${META_DEPS} cd ${TZBUILDDIR} && \ find -s * -type f -print -exec ${INSTALL} \ -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ \{} ${DESTDIR}/usr/share/zoneinfo/\{} \; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ - ${META_COOKIE_TOUCH} afterinstall: # Modified: head/targets/pseudo/bootstrap-tools/Makefile ============================================================================== --- head/targets/pseudo/bootstrap-tools/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/targets/pseudo/bootstrap-tools/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -49,22 +49,20 @@ BSARGS+= OBJTOP=${BTOOLSDIR}${SRCTOP} OB BSARGS+= MK_CROSS_COMPILER=no MK_CLANG=no MK_GCC=no DISTRIB_ENV= INSTALL="sh ${SRCTOP}/tools/install.sh" NO_FSCHG=1 MK_TESTS=no -legacy: .MAKE .META +legacy: .MAKE ${META_DEPS} mkdir -p ${LEGACY_TOOLS} ${DISTRIB_ENV} ${MAKE} -C ${SRCTOP}/etc distrib-dirs \ DESTDIR=${BTOOLSDIR} > $@.distrib-dirs_btoolsdir ${DISTRIB_ENV} ${MAKE} -C ${SRCTOP}/etc distrib-dirs \ DESTDIR=${LEGACY_TOOLS} > $@.distrib-dirs_legacy_tools ${BSENV} ${MAKE} -C ${SRCTOP} -f Makefile.inc1 ${BSARGS} $@ - touch $@ bootstrap-tools: legacy build-tools: bootstrap-tools cross-tools: build-tools -cross-tools build-tools bootstrap-tools: .MAKE .META +cross-tools build-tools bootstrap-tools: .MAKE ${META_DEPS} ${BSENV} ${MAKE} -C ${SRCTOP} -f Makefile.inc1 ${BSARGS} $@ - touch $@ # MAKELEVEL=0 so that dirdeps.mk does its thing # BSENV:MPATH=* lets us use the bootstrapped stuff in LEGACY_TOOLS above. Modified: head/targets/pseudo/kernel/Makefile ============================================================================== --- head/targets/pseudo/kernel/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/targets/pseudo/kernel/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -10,11 +10,10 @@ KERN_CONFDIR= ${SRCTOP}/sys/${TARGET}/co CONFIG= ${STAGE_HOST_OBJTOP}/usr/sbin/config -${KERNCONF}.config: .MAKE .META +${KERNCONF}.config: .MAKE ${META_DEPS} mkdir -p ${KERN_OBJDIR:H} (cd ${KERN_CONFDIR} && \ ${CONFIG} ${CONFIGARGS} -d ${KERN_OBJDIR} ${KERNCONF}) - @touch $@ # we need to pass curdirOk=yes to meta mode, since we want .meta files # in ${KERN_OBJDIR} Modified: head/targets/pseudo/stage/Makefile ============================================================================== --- head/targets/pseudo/stage/Makefile Fri Mar 11 23:45:23 2016 (r296699) +++ head/targets/pseudo/stage/Makefile Fri Mar 11 23:45:28 2016 (r296700) @@ -6,11 +6,10 @@ all: # mtree makes a lot of noise if we are not root, # we don't need to see it. -stage-distrib-dirs: .META +stage-distrib-dirs: .META ${META_DEPS} mkdir -p ${STAGE_OBJTOP} INSTALL="sh ${SRCTOP}/tools/install.sh" ${.MAKE} -C ${SRCTOP}/etc \ distrib-dirs -DNO_FSCHG -DWITH_TESTS DESTDIR=${STAGE_OBJTOP} - touch $@ .include From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:33 2016 Return-Path: Delivered-To: svn-src-all@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 EA3A4ACD25F; Fri, 11 Mar 2016 23:45:33 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BB11012E9; Fri, 11 Mar 2016 23:45:33 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjWNl010898; Fri, 11 Mar 2016 23:45:32 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjWDp010897; Fri, 11 Mar 2016 23:45:32 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjWDp010897@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296701 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:34 -0000 Author: bdrewery Date: Fri Mar 11 23:45:32 2016 New Revision: 296701 URL: https://svnweb.freebsd.org/changeset/base/296701 Log: META_MODE: We can only use a cookie if filemon is being used. Sponsored by: EMC / Isilon Storage Divsion Modified: head/share/mk/local.sys.mk Modified: head/share/mk/local.sys.mk ============================================================================== --- head/share/mk/local.sys.mk Fri Mar 11 23:45:28 2016 (r296700) +++ head/share/mk/local.sys.mk Fri Mar 11 23:45:32 2016 (r296701) @@ -27,12 +27,11 @@ MAKE_PRINT_VAR_ON_ERROR += .MAKE.MAKEFIL .if ${.MAKE.MODE:Mmeta*} != "" # we can afford to use cookies to prevent some targets -# re-running needlessly +# re-running needlessly but only when using filemon. +.if ${.MAKE.MODE:Mnofilemon} == "" META_COOKIE= ${COOKIE.${.TARGET}:U${.OBJDIR}/${.TARGET}} META_COOKIE_RM= @rm -f ${META_COOKIE} META_COOKIE_TOUCH= @touch ${META_COOKIE} -# some targets need to be .PHONY - but not in meta mode -META_NOPHONY= CLEANFILES+= ${META_TARGETS} _meta_dep_before: .USEBEFORE ${META_COOKIE_RM} @@ -42,9 +41,12 @@ _meta_dep_after: .USE # not rerunning a command if it doesn't need to be considering its # metafile/filemon-tracked dependencies. META_DEPS= _meta_dep_before _meta_dep_after .META +.endif .else -META_COOKIE_RM= -META_COOKIE_TOUCH= +# some targets need to be .PHONY - but not in meta mode META_NOPHONY= .PHONY .endif +META_NOPHONY?= +META_COOKIE_RM?= +META_COOKIE_TOUCH?= META_DEPS+= ${META_NOPHONY} From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:37 2016 Return-Path: Delivered-To: svn-src-all@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 C8C68ACD2A2; Fri, 11 Mar 2016 23:45:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7E5061418; Fri, 11 Mar 2016 23:45:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNja79010947; Fri, 11 Mar 2016 23:45:36 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjaRE010944; Fri, 11 Mar 2016 23:45:36 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjaRE010944@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296702 - in head/share/i18n/esdb: . BIG5 UTF X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:37 -0000 Author: bdrewery Date: Fri Mar 11 23:45:36 2016 New Revision: 296702 URL: https://svnweb.freebsd.org/changeset/base/296702 Log: Remove exists() checks so normal out-of-date handling can be used. This also fixes META MODE rebuilding these because the 'number of build commands' changed from the previous build. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Modified: head/share/i18n/esdb/BIG5/Makefile head/share/i18n/esdb/Makefile.part head/share/i18n/esdb/UTF/Makefile Modified: head/share/i18n/esdb/BIG5/Makefile ============================================================================== --- head/share/i18n/esdb/BIG5/Makefile Fri Mar 11 23:45:32 2016 (r296701) +++ head/share/i18n/esdb/BIG5/Makefile Fri Mar 11 23:45:36 2016 (r296702) @@ -13,12 +13,10 @@ Big5_$i_variable!= sed \ ${.CURDIR}/Big5.variable .endfor .for i in ${PART} -.if !exists(Big5-${i:S/:/@/}.src) # XXX: FIXME Big5-${i:S/:/@/}.src: Big5.src Big5.variable sed -e 's/encoding/Big5-$i/' \ -e 's/variable/${Big5_$i_variable}/' \ ${.CURDIR}/Big5.src > $@ - @echo Big5-${i:S/:/@/}.src >>.tmpfiles -.endif + @echo ${.TARGET} >>.tmpfiles .endfor Modified: head/share/i18n/esdb/Makefile.part ============================================================================== --- head/share/i18n/esdb/Makefile.part Fri Mar 11 23:45:32 2016 (r296701) +++ head/share/i18n/esdb/Makefile.part Fri Mar 11 23:45:36 2016 (r296702) @@ -67,11 +67,9 @@ codesets: ${ESDB} .if !defined(NO_PREPROC) .for i in ${PART} -.if !exists(${EPREFIX}${i:S/:/@/}.src) ${EPREFIX}${i:S/:/@/}.src: ${CODE}.src - sed ${SED_EXP:S@%%PART%%@${i}@} ${.CURDIR}/${CODE}.src > ${EPREFIX}${i:S/:/@/}.src - @echo ${EPREFIX}${i:S/:/@/}.src >>.tmpfiles -.endif + sed ${SED_EXP:S@%%PART%%@${i}@} ${.ALLSRC} > ${.TARGET} + @echo ${.TARGET} >>.tmpfiles .endfor .endif Modified: head/share/i18n/esdb/UTF/Makefile ============================================================================== --- head/share/i18n/esdb/UTF/Makefile Fri Mar 11 23:45:32 2016 (r296701) +++ head/share/i18n/esdb/UTF/Makefile Fri Mar 11 23:45:36 2016 (r296702) @@ -36,6 +36,6 @@ ${EPREFIX}${i}.src: ${CODE}.src sed -e 's/UTF-x/UTF-${i}/' \ -e 's/UTF-mod/${UTF-${i}-mod}/' \ -e 's/UTF-var/${UTF-${i}-var}/' \ - ${.CURDIR}/${CODE}.src > ${EPREFIX}${i:S/:/@/}.src - @echo ${EPREFIX}${i:S/:/@/}.src >>.tmpfiles + ${.ALLSRC} > ${.TARGET} + @echo ${.TARGET} >>.tmpfiles .endfor From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:40 2016 Return-Path: Delivered-To: svn-src-all@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 D6BA4ACD2CA; Fri, 11 Mar 2016 23:45:40 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A410815B0; Fri, 11 Mar 2016 23:45:40 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjdT7010997; Fri, 11 Mar 2016 23:45:39 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjdea010996; Fri, 11 Mar 2016 23:45:39 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjdea010996@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296703 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:40 -0000 Author: bdrewery Date: Fri Mar 11 23:45:39 2016 New Revision: 296703 URL: https://svnweb.freebsd.org/changeset/base/296703 Log: Don't even define or append subdir targets with NO_SUBDIR. No functional change. This prevents adding empty targets to the main called target which is confusing for debugging. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.subdir.mk Modified: head/share/mk/bsd.subdir.mk ============================================================================== --- head/share/mk/bsd.subdir.mk Fri Mar 11 23:45:36 2016 (r296702) +++ head/share/mk/bsd.subdir.mk Fri Mar 11 23:45:39 2016 (r296703) @@ -131,7 +131,8 @@ ${SUBDIR:N.WAIT}: .PHONY .MAKE # such as 'install' becoming {before,real,after}install, just recurse # 'install'. Despite that, 'realinstall' is special due to ordering issues # with 'afterinstall'. -.if make(${__target}) || (${__target} == realinstall && make(install)) +.if !defined(NO_SUBDIR) && (make(${__target}) || \ + (${__target} == realinstall && make(install))) # Can ordering be skipped for this and SUBDIR_PARALLEL forced? .if ${STANDALONE_SUBDIR_TARGETS:M${__target}} _is_standalone_target= 1 @@ -153,12 +154,10 @@ __deps+= ${__target}_subdir_${DIRPRFX}${ .endfor .endif ${__target}_subdir_${DIRPRFX}${__dir}: .PHONY .MAKE .SILENT ${__deps} -.if !defined(NO_SUBDIR) @${_+_}target=${__target:realinstall=install}; \ dir=${__dir}; \ ${_SUBDIR_SH}; .endif -.endif .endfor # __dir in ${SUBDIR} ${__target}: ${__subdir_targets} .else From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:43 2016 Return-Path: Delivered-To: svn-src-all@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 E4939ACD302; Fri, 11 Mar 2016 23:45:43 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AC8F81752; Fri, 11 Mar 2016 23:45:43 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjgZV011042; Fri, 11 Mar 2016 23:45:42 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjgi5011041; Fri, 11 Mar 2016 23:45:42 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjgi5011041@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296704 - head/lib/atf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:44 -0000 Author: bdrewery Date: Fri Mar 11 23:45:42 2016 New Revision: 296704 URL: https://svnweb.freebsd.org/changeset/base/296704 Log: Remove bogus .ORDER. This is not SUBDIR_PARALLEL and if it were this .ORDER would not work since the targets are _subdir_ not . MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/lib/atf/Makefile Modified: head/lib/atf/Makefile ============================================================================== --- head/lib/atf/Makefile Fri Mar 11 23:45:39 2016 (r296703) +++ head/lib/atf/Makefile Fri Mar 11 23:45:42 2016 (r296704) @@ -35,6 +35,4 @@ SUBDIR= libatf-c \ _tests= tests .endif -.ORDER: ${SUBDIR} - .include From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:47 2016 Return-Path: Delivered-To: svn-src-all@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 69C83ACD353; Fri, 11 Mar 2016 23:45:47 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E2E1918EC; Fri, 11 Mar 2016 23:45:46 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjj87011090; Fri, 11 Mar 2016 23:45:45 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjjI1011089; Fri, 11 Mar 2016 23:45:45 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjjI1011089@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296705 - head/sys/boot/i386/loader X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:47 -0000 Author: bdrewery Date: Fri Mar 11 23:45:45 2016 New Revision: 296705 URL: https://svnweb.freebsd.org/changeset/base/296705 Log: Revert r269030. CLEANFILES is already added to .NOPATH since r241298. Sponsored by: EMC / Isilon Storage Division Modified: head/sys/boot/i386/loader/Makefile Modified: head/sys/boot/i386/loader/Makefile ============================================================================== --- head/sys/boot/i386/loader/Makefile Fri Mar 11 23:45:42 2016 (r296704) +++ head/sys/boot/i386/loader/Makefile Fri Mar 11 23:45:45 2016 (r296705) @@ -125,6 +125,6 @@ LDADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZF beforedepend ${OBJS}: machine CLEANFILES+= machine CFLAGS+= -DLOADER_PREFER_AMD64 -machine: .NOPATH +machine: ln -sf ${.CURDIR}/../../../i386/include machine .endif From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:54 2016 Return-Path: Delivered-To: svn-src-all@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 7AF8AACD3C4; Fri, 11 Mar 2016 23:45:54 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BB5B1BF2; Fri, 11 Mar 2016 23:45:54 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjrfM011153; Fri, 11 Mar 2016 23:45:53 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNjptS011136; Fri, 11 Mar 2016 23:45:51 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNjptS011136@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296706 - in head/sys/boot: efi/boot1 efi/fdt efi/loader ficl i386/gptboot i386/gptzfsboot i386/libfirewire i386/libi386 i386/loader i386/zfsboot libstand32 ofw/libofw uboot/fdt uboot/l... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:54 -0000 Author: bdrewery Date: Fri Mar 11 23:45:51 2016 New Revision: 296706 URL: https://svnweb.freebsd.org/changeset/base/296706 Log: Add more .NOMETA missed in r291320 Sponsored by: EMC / Isilon Storage Division Modified: head/sys/boot/efi/boot1/Makefile head/sys/boot/efi/fdt/Makefile head/sys/boot/efi/loader/Makefile head/sys/boot/ficl/Makefile head/sys/boot/i386/gptboot/Makefile head/sys/boot/i386/gptzfsboot/Makefile head/sys/boot/i386/libfirewire/Makefile head/sys/boot/i386/libi386/Makefile head/sys/boot/i386/loader/Makefile head/sys/boot/i386/zfsboot/Makefile head/sys/boot/libstand32/Makefile head/sys/boot/ofw/libofw/Makefile head/sys/boot/uboot/fdt/Makefile head/sys/boot/uboot/lib/Makefile head/sys/boot/userboot/ficl/Makefile head/sys/boot/zfs/Makefile Modified: head/sys/boot/efi/boot1/Makefile ============================================================================== --- head/sys/boot/efi/boot1/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/efi/boot1/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -124,13 +124,13 @@ beforedepend ${OBJS}: machine CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../${MACHINE}/include machine .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" beforedepend ${OBJS}: x86 CLEANFILES+= x86 -x86: +x86: .NOMETA ln -sf ${.CURDIR}/../../../x86/include x86 .endif Modified: head/sys/boot/efi/fdt/Makefile ============================================================================== --- head/sys/boot/efi/fdt/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/efi/fdt/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -27,7 +27,7 @@ CFLAGS+= -I${.CURDIR}/../../fdt # Pick up the bootstrap header for some interface items CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}/../../.. -I. -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../${MACHINE}/include machine CLEANFILES+= machine Modified: head/sys/boot/efi/loader/Makefile ============================================================================== --- head/sys/boot/efi/loader/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/efi/loader/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -131,13 +131,13 @@ beforedepend ${OBJS}: machine CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../${MACHINE}/include machine .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" beforedepend ${OBJS}: x86 CLEANFILES+= x86 -x86: +x86: .NOMETA ln -sf ${.CURDIR}/../../../x86/include x86 .endif Modified: head/sys/boot/ficl/Makefile ============================================================================== --- head/sys/boot/ficl/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/ficl/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -75,7 +75,7 @@ ${SRCS:M*.c:R:S/$/.o/g}: machine beforedepend ${OBJS}: machine .endif -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../i386/include machine CLEANFILES+= machine Modified: head/sys/boot/i386/gptboot/Makefile ============================================================================== --- head/sys/boot/i386/gptboot/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/i386/gptboot/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -74,7 +74,7 @@ gptboot.o: ${.CURDIR}/../../common/ufsre .if ${MACHINE_CPUARCH} == "amd64" beforedepend gptboot.o: machine CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../i386/include machine .endif Modified: head/sys/boot/i386/gptzfsboot/Makefile ============================================================================== --- head/sys/boot/i386/gptzfsboot/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/i386/gptzfsboot/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -72,7 +72,7 @@ zfsboot.o: ${.CURDIR}/../../zfs/zfsimpl. .if ${MACHINE_CPUARCH} == "amd64" beforedepend zfsboot.o: machine CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../i386/include machine .endif Modified: head/sys/boot/i386/libfirewire/Makefile ============================================================================== --- head/sys/boot/i386/libfirewire/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/i386/libfirewire/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -18,7 +18,7 @@ CFLAGS+= -Wformat -Wall .if ${MACHINE_CPUARCH} == "amd64" CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../i386/include machine .endif Modified: head/sys/boot/i386/libi386/Makefile ============================================================================== --- head/sys/boot/i386/libi386/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/i386/libi386/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -60,7 +60,7 @@ CFLAGS+= ${FORMAT_EXTENSIONS} .if ${MACHINE_CPUARCH} == "amd64" CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../i386/include machine .endif Modified: head/sys/boot/i386/loader/Makefile ============================================================================== --- head/sys/boot/i386/loader/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/i386/loader/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -125,6 +125,6 @@ LDADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZF beforedepend ${OBJS}: machine CLEANFILES+= machine CFLAGS+= -DLOADER_PREFER_AMD64 -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../i386/include machine .endif Modified: head/sys/boot/i386/zfsboot/Makefile ============================================================================== --- head/sys/boot/i386/zfsboot/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/i386/zfsboot/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -85,7 +85,7 @@ SRCS= zfsboot.c .if ${MACHINE_CPUARCH} == "amd64" beforedepend zfsboot.o: machine CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../i386/include machine .endif Modified: head/sys/boot/libstand32/Makefile ============================================================================== --- head/sys/boot/libstand32/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/libstand32/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -23,6 +23,6 @@ CFLAGS+= -m32 -I. .if ${MACHINE_CPUARCH} == "amd64" CLEANFILES+= machine beforedepend ${OBJS}: machine -machine: +machine: .NOMETA ln -fs ${.CURDIR}/../../i386/include machine .endif Modified: head/sys/boot/ofw/libofw/Makefile ============================================================================== --- head/sys/boot/ofw/libofw/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/ofw/libofw/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -25,7 +25,7 @@ SRCS+= ppc64_elf_freebsd.c CFLAGS+= -DDISK_DEBUG .endif -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../${MACHINE_CPUARCH}/include machine CLEANFILES+= machine Modified: head/sys/boot/uboot/fdt/Makefile ============================================================================== --- head/sys/boot/uboot/fdt/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/uboot/fdt/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -23,7 +23,7 @@ CFLAGS+= -I${.CURDIR}/../../fdt # Pick up the bootstrap header for some interface items CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}/../../.. -I. -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../${MACHINE_CPUARCH}/include machine CLEANFILES+= machine Modified: head/sys/boot/uboot/lib/Makefile ============================================================================== --- head/sys/boot/uboot/lib/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/uboot/lib/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -41,7 +41,7 @@ CFLAGS+= -I${.CURDIR}/../../common -I${. CFLAGS+= -DDISK_DEBUG .endif -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../../${MACHINE_CPUARCH}/include machine CLEANFILES+= machine Modified: head/sys/boot/userboot/ficl/Makefile ============================================================================== --- head/sys/boot/userboot/ficl/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/userboot/ficl/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -53,7 +53,7 @@ softcore.c: ${SOFTWORDS} softcore.awk # #beforedepend ${OBJS}: machine # -#machine: +#machine: .NOMETA # ln -sf ${.CURDIR}/../../i386/include machine # #CLEANFILES+= machine Modified: head/sys/boot/zfs/Makefile ============================================================================== --- head/sys/boot/zfs/Makefile Fri Mar 11 23:45:45 2016 (r296705) +++ head/sys/boot/zfs/Makefile Fri Mar 11 23:45:51 2016 (r296706) @@ -21,7 +21,7 @@ CFLAGS+= -Wformat -Wall .if ${MACHINE_CPUARCH} == "amd64" CLEANFILES+= machine -machine: +machine: .NOMETA ln -sf ${.CURDIR}/../../i386/include machine .endif From owner-svn-src-all@freebsd.org Fri Mar 11 23:45:58 2016 Return-Path: Delivered-To: svn-src-all@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 2B9E5ACD3FD; Fri, 11 Mar 2016 23:45:58 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C86281D2C; Fri, 11 Mar 2016 23:45:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNjuKd011198; Fri, 11 Mar 2016 23:45:56 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNju4E011197; Fri, 11 Mar 2016 23:45:56 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112345.u2BNju4E011197@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:45:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296707 - head/lib/libc++ X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:45:58 -0000 Author: bdrewery Date: Fri Mar 11 23:45:56 2016 New Revision: 296707 URL: https://svnweb.freebsd.org/changeset/base/296707 Log: Add missing CLEANFILES. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libc++/Makefile Modified: head/lib/libc++/Makefile ============================================================================== --- head/lib/libc++/Makefile Fri Mar 11 23:45:51 2016 (r296706) +++ head/lib/libc++/Makefile Fri Mar 11 23:45:56 2016 (r296707) @@ -54,6 +54,7 @@ CXXRT_SRCS+= libelftc_dem_gnu3.c\ guard.cc .for _S in ${CXXRT_SRCS} +CLEANFILES+= cxxrt_${_S} STATICOBJS+= cxxrt_${_S:R}.o cxxrt_${_S}: ${_LIBCXXRTDIR}/${_S} .NOMETA ln -sf ${.ALLSRC} ${.TARGET} From owner-svn-src-all@freebsd.org Fri Mar 11 23:46:01 2016 Return-Path: Delivered-To: svn-src-all@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 4CCD5ACD422; Fri, 11 Mar 2016 23:46:01 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 15B071E11; Fri, 11 Mar 2016 23:46:01 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNk0EN011249; Fri, 11 Mar 2016 23:46:00 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNk0mS011248; Fri, 11 Mar 2016 23:46:00 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112346.u2BNk0mS011248@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:46:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296708 - head/lib/libpam/modules/pam_ssh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:46:01 -0000 Author: bdrewery Date: Fri Mar 11 23:45:59 2016 New Revision: 296708 URL: https://svnweb.freebsd.org/changeset/base/296708 Log: DIRDEPS_BUILD: Update dependencies. Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libpam/modules/pam_ssh/Makefile.depend Modified: head/lib/libpam/modules/pam_ssh/Makefile.depend ============================================================================== --- head/lib/libpam/modules/pam_ssh/Makefile.depend Fri Mar 11 23:45:56 2016 (r296707) +++ head/lib/libpam/modules/pam_ssh/Makefile.depend Fri Mar 11 23:45:59 2016 (r296708) @@ -5,13 +5,11 @@ DIRDEPS = \ gnu/lib/csu \ gnu/lib/libgcc \ include \ - include/arpa \ include/xlocale \ lib/${CSU_DIR} \ lib/libc \ lib/libcompiler_rt \ lib/libpam/libpam \ - lib/libutil \ secure/lib/libcrypto \ secure/lib/libssh \ From owner-svn-src-all@freebsd.org Fri Mar 11 23:56:34 2016 Return-Path: Delivered-To: svn-src-all@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 7AD7FACD92E; Fri, 11 Mar 2016 23:56:34 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4AC97B3F; Fri, 11 Mar 2016 23:56:34 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2BNuXn9014341; Fri, 11 Mar 2016 23:56:33 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2BNuXat014339; Fri, 11 Mar 2016 23:56:33 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603112356.u2BNuXat014339@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Fri, 11 Mar 2016 23:56:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296709 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Mar 2016 23:56:34 -0000 Author: bdrewery Date: Fri Mar 11 23:56:33 2016 New Revision: 296709 URL: https://svnweb.freebsd.org/changeset/base/296709 Log: Move Makefile.lib32 to Makefile.libcompat and generalize it. This is in preparation for LIBSOFT. This file only supports *1* LIBCOMPAT value currently and must be capitalized. In Makefile.libcompat given LIBCOMPAT=FOO there can be values set for LIBFOOCFLAGS, LIBFOOCPUFLAGS, LIBFOOWMAKEENV, LIBFOOWMAKEFLAGS, LIBFOOCPUFLAGS, and LIBFOODTRACE. These will have the standard cross-build values appended onto them. This could be extended to support multiple libcompat libraries in the future once there is a need. Reviewed by: imp Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D5612 Added: head/Makefile.libcompat - copied, changed from r296708, head/Makefile.lib32 Deleted: head/Makefile.lib32 Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Fri Mar 11 23:45:59 2016 (r296708) +++ head/Makefile.inc1 Fri Mar 11 23:56:33 2016 (r296709) @@ -454,8 +454,10 @@ XCXXFLAGS+= ${BFLAGS} .endif .endif # ${XCC:M/*} -.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" -.include "Makefile.lib32" +.if ${MK_LIB32} != "no" && (${TARGET_ARCH} == "amd64" || \ + ${TARGET_ARCH} == "powerpc64") +LIBCOMPAT= 32 +.include "Makefile.libcompat" .endif WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} @@ -513,8 +515,8 @@ _worldtmp: .PHONY @echo "--------------------------------------------------------------" .if !defined(NO_CLEAN) rm -rf ${WORLDTMP} -.if defined(LIB32TMP) - rm -rf ${LIB32TMP} +.if defined(LIBCOMPAT) + rm -rf ${LIBCOMPATTMP} .endif .else rm -rf ${WORLDTMP}/legacy/usr/include @@ -544,13 +546,13 @@ _worldtmp: .PHONY mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ -p ${WORLDTMP}/usr/lib >/dev/null .endif -.if ${MK_LIB32} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ +.if defined(LIBCOMPAT) + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ -p ${WORLDTMP}/usr >/dev/null .if ${MK_DEBUG_FILES} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ -p ${WORLDTMP}/legacy/usr/lib/debug/usr >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ -p ${WORLDTMP}/usr/lib/debug/usr >/dev/null .endif .endif @@ -586,8 +588,8 @@ _cleanobj: @echo ">>> stage 2.1: cleaning up the object tree" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${WMAKE} ${CLEANDIR} -.if defined(LIB32TMP) - ${_+_}cd ${.CURDIR}; ${LIB32WMAKE} -f Makefile.inc1 ${CLEANDIR} +.if defined(LIBCOMPAT) + ${_+_}cd ${.CURDIR}; ${LIBCOMPATWMAKE} -f Makefile.inc1 ${CLEANDIR} .endif .endif _obj: @@ -653,8 +655,8 @@ WMAKE_TGTS+= _includes _libraries WMAKE_TGTS+= _depend .endif WMAKE_TGTS+= everything -.if defined(LIB32TMP) && ${MK_LIB32} != "no" && empty(SUBDIR_OVERRIDE) -WMAKE_TGTS+= build32 +.if defined(LIBCOMPAT) && empty(SUBDIR_OVERRIDE) +WMAKE_TGTS+= build${libcompat} .endif buildworld: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue @@ -694,7 +696,7 @@ buildenv: .PHONY @cd ${BUILDENV_DIR} && env ${WMAKEENV} BUILDENV=1 ${BUILDENV_SHELL} \ || true -TOOLCHAIN_TGTS= ${WMAKE_TGTS:N_depend:Neverything:Nbuild32} +TOOLCHAIN_TGTS= ${WMAKE_TGTS:N_depend:Neverything:Nbuild${libcompat}} toolchain: ${TOOLCHAIN_TGTS} kernel-toolchain: ${TOOLCHAIN_TGTS:N_includes:N_libraries} @@ -788,8 +790,8 @@ ITOOLS+=makewhatis # Non-base distributions produced by the base system EXTRA_DISTRIBUTIONS= doc -.if defined(LIB32TMP) && ${MK_LIB32} != "no" -EXTRA_DISTRIBUTIONS+= lib32 +.if defined(LIBCOMPAT) +EXTRA_DISTRIBUTIONS+= lib${libcompat} .endif .if ${MK_TESTS} != "no" EXTRA_DISTRIBUTIONS+= tests @@ -841,11 +843,11 @@ distributeworld installworld: _installch mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib >/dev/null .endif -.if ${MK_LIB32} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ +.if defined(LIBCOMPAT) + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr >/dev/null .if ${MK_DEBUG_FILES} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib/debug/usr >/dev/null .endif .endif @@ -865,8 +867,8 @@ distributeworld installworld: _installch sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG} ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \ sed -e 's#^\./#./${dist}/usr/include/#' >> ${METALOG} -.if ${MK_LIB32} != "no" - ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.lib32.dist | \ +.if defined(LIBCOMPAT) + ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist | \ sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG} .endif .endif @@ -951,8 +953,8 @@ reinstall: .MAKE .PHONY @echo ">>> Installing everything" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install -.if defined(LIB32TMP) && ${MK_LIB32} != "no" - ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install32 +.if defined(LIBCOMPAT) + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install${libcompat} .endif redistribute: .MAKE .PHONY @@ -960,9 +962,9 @@ redistribute: .MAKE .PHONY @echo ">>> Distributing everything" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute -.if defined(LIB32TMP) && ${MK_LIB32} != "no" - ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute32 \ - DISTRIBUTION=lib32 +.if defined(LIBCOMPAT) + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute${libcompat} \ + DISTRIBUTION=lib${libcompat} .endif distrib-dirs distribution: .MAKE .PHONY @@ -1025,7 +1027,7 @@ INSTALLKERNEL= ${_kernel} .endif .endfor -${WMAKE_TGTS:N_worldtmp:Nbuild32} ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY +${WMAKE_TGTS:N_worldtmp:Nbuild${libcompat}} ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY # # buildkernel @@ -2274,8 +2276,8 @@ _xi-mtree: .PHONY -p ${XDDESTDIR}/usr >/dev/null mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${XDDESTDIR}/usr/include >/dev/null -.if ${MK_LIB32} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ +.if defined(LIBCOMPAT) + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ -p ${XDDESTDIR}/usr >/dev/null .endif .if ${MK_TESTS} != "no" Copied and modified: head/Makefile.libcompat (from r296708, head/Makefile.lib32) ============================================================================== --- head/Makefile.lib32 Fri Mar 11 23:45:59 2016 (r296708, copy source) +++ head/Makefile.libcompat Fri Mar 11 23:56:33 2016 (r296709) @@ -1,12 +1,14 @@ # $FreeBSD$ -# Makefile for the 32-bit compat libraries on PowerPC and AMD64. -# could also be for mips, but that doesn't work today. +.if !targets(__<${_this:T}>__) +__<${_this:T}>__: -# 32 bit world -LIB32_OBJTREE= ${OBJTREE}${.CURDIR}/world32 -LIB32TMP= ${OBJTREE}${.CURDIR}/lib32 +# Makefile for the compatibility libraries. +# - 32-bit compat libraries on PowerPC and AMD64. +# could also be for mips, but that doesn't work today. +# ------------------------------------------------------------------- +# 32 bit world .if ${TARGET_ARCH} == "amd64" .if empty(TARGET_CPUTYPE) LIB32CPUFLAGS= -march=i686 -mmmx -msse -msse2 @@ -17,7 +19,7 @@ LIB32WMAKEENV= MACHINE=i386 MACHINE_ARCH MACHINE_CPU="i686 mmx sse sse2" LIB32WMAKEFLAGS= \ AS="${XAS} --32" \ - LD="${XLD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ + LD="${XLD} -m elf_i386_fbsd -Y P,${LIBCOMPATTMP}/usr/lib32" \ OBJCOPY="${XOBJCOPY}" .elif ${TARGET_ARCH} == "powerpc64" @@ -33,104 +35,118 @@ LIB32WMAKEFLAGS= \ .endif -LIB32FLAGS= -m32 ${LIB32CPUFLAGS} -DCOMPAT_32BIT \ - -isystem ${LIB32TMP}/usr/include/ \ - -L${LIB32TMP}/usr/lib32 \ - -B${LIB32TMP}/usr/lib32 -.if ${XCC:N${CCACHE_BIN}:M/*} -LIB32FLAGS+= --sysroot=${WORLDTMP} +LIB32CFLAGS= -m32 -DCOMPAT_32BIT +LIB32DTRACE= ${DTRACE} -32 +LIB32WMAKEFLAGS+= -DCOMPAT_32BIT + +# ------------------------------------------------------------------- +# Generic code for each type. +# Set defaults based on type. +libcompat= ${LIBCOMPAT:tl} +_LIBCOMPAT_MAKEVARS= _OBJTREE TMP CFLAGS WMAKEENV WMAKEFLAGS WMAKE +.for _var in ${_LIBCOMPAT_MAKEVARS} +.if !empty(LIB${LIBCOMPAT}${_var}) +LIBCOMPAT${_var}?= ${LIB${LIBCOMPAT}${_var}} .endif +.endfor + +# Shared flags +LIBCOMPAT_OBJTREE?= ${OBJTREE}${.CURDIR}/world${libcompat} +LIBCOMPATTMP?= ${OBJTREE}${.CURDIR}/lib${libcompat} + +LIBCOMPATCFLAGS+= ${LIBCOMPATCPUFLAGS} \ + -isystem ${LIBCOMPATTMP}/usr/include/ \ + -L${LIBCOMPATTMP}/usr/lib${libcompat} \ + -B${LIBCOMPATTMP}/usr/lib${libcompat} # Yes, the flags are redundant. -LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${LIB32_OBJTREE} \ - _LDSCRIPTROOT=${LIB32TMP} \ +LIBCOMPATWMAKEENV+= MAKEOBJDIRPREFIX=${LIBCOMPAT_OBJTREE} \ + _LDSCRIPTROOT=${LIBCOMPATTMP} \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ - LIBDIR=/usr/lib32 \ - SHLIBDIR=/usr/lib32 \ - DTRACE="${DTRACE} -32" -LIB32WMAKEFLAGS+= CC="${XCC} ${LIB32FLAGS}" \ - CXX="${XCXX} ${LIB32FLAGS}" \ - DESTDIR=${LIB32TMP} \ - -DCOMPAT_32BIT \ + LIBDIR=/usr/lib${libcompat} \ + SHLIBDIR=/usr/lib${libcompat} \ + DTRACE="${LIB$COMPATDTRACE:U${DTRACE}}" +LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \ + CXX="${XCXX} ${LIBCOMPATCFLAGS}" \ + DESTDIR=${LIBCOMPATTMP} \ -DLIBRARIES_ONLY \ -DNO_CPU_CFLAGS \ MK_CTF=no \ -DNO_LINT \ MK_TESTS=no +LIBCOMPATWMAKE+= ${LIBCOMPATWMAKEENV} ${MAKE} ${LIBCOMPATWMAKEFLAGS} \ + MK_MAN=no MK_HTML=no +LIBCOMPATIMAKE+= ${LIBCOMPATWMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \ + MK_TOOLCHAIN=no ${IMAKE_INSTALL} -LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \ - MK_MAN=no MK_HTML=no -LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \ - MK_TOOLCHAIN=no ${IMAKE_INSTALL} +.if ${XCC:N${CCACHE_BIN}:M/*} +LIBCOMPATCFLAGS+= --sysroot=${WORLDTMP} +.endif -build32: .PHONY +_LC_LIBDIRS.yes= lib gnu/lib +_LC_LIBDIRS.${MK_CDDL:tl}= cddl/lib +_LC_LIBDIRS.${MK_CRYPT:tl}= secure/lib +_LC_LIBDIRS.${MK_KERBEROS:tl}= kerberos5/lib + +# Shared logic +build${libcompat}: .PHONY @echo @echo "--------------------------------------------------------------" - @echo ">>> stage 5.1: building 32 bit shim libraries" + @echo ">>> stage 5.1: building lib${libcompat} shim libraries" @echo "--------------------------------------------------------------" - mkdir -p ${LIB32TMP}/usr/include + mkdir -p ${LIBCOMPATTMP}/usr/include mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ - -p ${LIB32TMP}/usr >/dev/null + -p ${LIBCOMPATTMP}/usr >/dev/null mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ - -p ${LIB32TMP}/usr/include >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ - -p ${LIB32TMP}/usr >/dev/null + -p ${LIBCOMPATTMP}/usr/include >/dev/null + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ + -p ${LIBCOMPATTMP}/usr >/dev/null .if ${MK_DEBUG_FILES} != "no" mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ - -p ${LIB32TMP}/usr/lib >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \ - -p ${LIB32TMP}/usr/lib/debug/usr >/dev/null + -p ${LIBCOMPATTMP}/usr/lib >/dev/null + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ + -p ${LIBCOMPATTMP}/usr/lib/debug/usr >/dev/null .endif mkdir -p ${WORLDTMP} ln -sf ${.CURDIR}/sys ${WORLDTMP} .for _t in obj includes - ${_+_}cd ${.CURDIR}/include; ${LIB32WMAKE} DIRPRFX=include/ ${_t} - ${_+_}cd ${.CURDIR}/lib; ${LIB32WMAKE} DIRPRFX=lib/ ${_t} -.if ${MK_CDDL} != "no" - ${_+_}cd ${.CURDIR}/cddl/lib; ${LIB32WMAKE} DIRPRFX=cddl/lib/ ${_t} -.endif - ${_+_}cd ${.CURDIR}/gnu/lib; ${LIB32WMAKE} DIRPRFX=gnu/lib/ ${_t} -.if ${MK_CRYPT} != "no" - ${_+_}cd ${.CURDIR}/secure/lib; ${LIB32WMAKE} DIRPRFX=secure/lib/ ${_t} -.endif -.if ${MK_KERBEROS} != "no" - ${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIB32WMAKE} DIRPRFX=kerberos5/lib ${_t} -.endif + ${_+_}cd ${.CURDIR}/include; ${LIBCOMPATWMAKE} DIRPRFX=include/ ${_t} +.for _dir in ${_LC_LIBDIRS.yes} + ${_+_}cd ${.CURDIR}/${_dir}; ${LIBCOMPATWMAKE} DIRPRFX=${_dir}/ ${_t} +.endfor .endfor .for _dir in usr.bin/lex/lib - ${_+_}cd ${.CURDIR}/${_dir}; ${LIB32WMAKE} DIRPRFX=${_dir}/ obj + ${_+_}cd ${.CURDIR}/${_dir}; ${LIBCOMPATWMAKE} DIRPRFX=${_dir}/ obj .endfor .for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic ${_+_}cd ${.CURDIR}/${_dir}; \ WORLDTMP=${WORLDTMP} \ MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \ - MAKEOBJDIRPREFIX=${LIB32_OBJTREE} ${MAKE} SSP_CFLAGS= DESTDIR= \ + MAKEOBJDIRPREFIX=${LIBCOMPAT_OBJTREE} ${MAKE} SSP_CFLAGS= DESTDIR= \ DIRPRFX=${_dir}/ -DNO_LINT -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ build-tools .endfor ${_+_}cd ${.CURDIR}; \ - ${LIB32WMAKE} -f Makefile.inc1 -DNO_FSCHG libraries + ${LIBCOMPATWMAKE} -f Makefile.inc1 -DNO_FSCHG libraries +.if ${libcompat} == "32" .for _t in obj depend all - ${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32WMAKE} \ + ${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIBCOMPATWMAKE} \ -DNO_FSCHG DIRPRFX=libexec/rtld-elf/ ${_t} - ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32WMAKE} \ + ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIBCOMPATWMAKE} \ DIRPRFX=usr.bin/ldd ${_t} .endfor - -distribute32 install32: .MAKE .PHONY - ${_+_}cd ${.CURDIR}/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.if ${MK_CDDL} != "no" - ${_+_}cd ${.CURDIR}/cddl/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.endif - ${_+_}cd ${.CURDIR}/gnu/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.if ${MK_CRYPT} != "no" - ${_+_}cd ${.CURDIR}/secure/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} -.endif -.if ${MK_KERBEROS} != "no" - ${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIB32IMAKE} ${.TARGET:S/32$//} .endif + +distribute${libcompat} install${libcompat}: .PHONY +.for _dir in ${_LC_LIBDIRS.yes} + ${_+_}cd ${.CURDIR}/${_dir}; ${LIBCOMPATIMAKE} ${.TARGET:S/${libcompat}$//} +.endfor +.if ${libcompat} == "32" ${_+_}cd ${.CURDIR}/libexec/rtld-elf; \ - PROG=ld-elf32.so.1 ${LIB32IMAKE} ${.TARGET:S/32$//} - ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32IMAKE} \ + PROG=ld-elf32.so.1 ${LIBCOMPATIMAKE} ${.TARGET:S/32$//} + ${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIBCOMPATIMAKE} \ ${.TARGET:S/32$//} +.endif + +.endif From owner-svn-src-all@freebsd.org Sat Mar 12 02:54:57 2016 Return-Path: Delivered-To: svn-src-all@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 6FC7AACC1B6; Sat, 12 Mar 2016 02:54:57 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3AB76121E; Sat, 12 Mar 2016 02:54:57 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C2sumM070522; Sat, 12 Mar 2016 02:54:56 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C2sucm070520; Sat, 12 Mar 2016 02:54:56 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603120254.u2C2sucm070520@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Sat, 12 Mar 2016 02:54:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296710 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 02:54:57 -0000 Author: np Date: Sat Mar 12 02:54:55 2016 New Revision: 296710 URL: https://svnweb.freebsd.org/changeset/base/296710 Log: cxgbe(4): Catch up with the latest list of card capabilities as reported by the firmware. Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Fri Mar 11 23:56:33 2016 (r296709) +++ head/sys/dev/cxgbe/adapter.h Sat Mar 12 02:54:55 2016 (r296710) @@ -812,10 +812,13 @@ struct adapter { const struct chip_params *chip_params; struct t4_virt_res vres; + uint16_t nbmcaps; uint16_t linkcaps; + uint16_t switchcaps; uint16_t niccaps; uint16_t toecaps; uint16_t rdmacaps; + uint16_t tlscaps; uint16_t iscsicaps; uint16_t fcoecaps; Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Fri Mar 11 23:56:33 2016 (r296709) +++ head/sys/dev/cxgbe/t4_main.c Sat Mar 12 02:54:55 2016 (r296710) @@ -328,9 +328,15 @@ TUNABLE_INT("hw.cxgbe.fw_install", &t4_f * ASIC features that will be used. Disable the ones you don't want so that the * chip resources aren't wasted on features that will not be used. */ +static int t4_nbmcaps_allowed = 0; +TUNABLE_INT("hw.cxgbe.nbmcaps_allowed", &t4_nbmcaps_allowed); + static int t4_linkcaps_allowed = 0; /* No DCBX, PPP, etc. by default */ TUNABLE_INT("hw.cxgbe.linkcaps_allowed", &t4_linkcaps_allowed); +static int t4_switchcaps_allowed = 0; +TUNABLE_INT("hw.cxgbe.switchcaps_allowed", &t4_switchcaps_allowed); + static int t4_niccaps_allowed = FW_CAPS_CONFIG_NIC; TUNABLE_INT("hw.cxgbe.niccaps_allowed", &t4_niccaps_allowed); @@ -340,6 +346,9 @@ TUNABLE_INT("hw.cxgbe.toecaps_allowed", static int t4_rdmacaps_allowed = 0; TUNABLE_INT("hw.cxgbe.rdmacaps_allowed", &t4_rdmacaps_allowed); +static int t4_tlscaps_allowed = 0; +TUNABLE_INT("hw.cxgbe.tlscaps_allowed", &t4_tlscaps_allowed); + static int t4_iscsicaps_allowed = 0; TUNABLE_INT("hw.cxgbe.iscsicaps_allowed", &t4_iscsicaps_allowed); @@ -3058,10 +3067,13 @@ use_config_on_flash: * Let the firmware know what features will (not) be used so it can tune * things accordingly. */ + LIMIT_CAPS(nbmcaps); LIMIT_CAPS(linkcaps); + LIMIT_CAPS(switchcaps); LIMIT_CAPS(niccaps); LIMIT_CAPS(toecaps); LIMIT_CAPS(rdmacaps); + LIMIT_CAPS(tlscaps); LIMIT_CAPS(iscsicaps); LIMIT_CAPS(fcoecaps); #undef LIMIT_CAPS @@ -3166,10 +3178,13 @@ get_params__post_init(struct adapter *sc #define READ_CAPS(x) do { \ sc->x = htobe16(caps.x); \ } while (0) + READ_CAPS(nbmcaps); READ_CAPS(linkcaps); + READ_CAPS(switchcaps); READ_CAPS(niccaps); READ_CAPS(toecaps); READ_CAPS(rdmacaps); + READ_CAPS(tlscaps); READ_CAPS(iscsicaps); READ_CAPS(fcoecaps); @@ -4576,24 +4591,33 @@ t4_register_fw_msg_handler(struct adapte return (0); } +/* + * Should match fw_caps_config_ enums in t4fw_interface.h + */ +static char *caps_decoder[] = { + "\20\0011IPMI\002NCSI", /* 0: NBM */ + "\20\001PPP\002QFC\003DCBX", /* 1: link */ + "\20\001INGRESS\002EGRESS", /* 2: switch */ + "\20\001NIC\002VM\003IDS\004UM\005UM_ISGL" /* 3: NIC */ + "\006HASHFILTER\007ETHOFLD", + "\20\001TOE", /* 4: TOE */ + "\20\001RDDP\002RDMAC", /* 5: RDMA */ + "\20\001INITIATOR_PDU\002TARGET_PDU" /* 6: iSCSI */ + "\003INITIATOR_CNXOFLD\004TARGET_CNXOFLD" + "\005INITIATOR_SSNOFLD\006TARGET_SSNOFLD" + "\007T10DIF" + "\010INITIATOR_CMDOFLD\011TARGET_CMDOFLD", + "\20\00KEYS", /* 7: TLS */ + "\20\001INITIATOR\002TARGET\003CTRL_OFLD" /* 8: FCoE */ + "\004PO_INITIATOR\005PO_TARGET", +}; + static void t4_sysctls(struct adapter *sc) { struct sysctl_ctx_list *ctx; struct sysctl_oid *oid; struct sysctl_oid_list *children, *c0; - static char *caps[] = { - "\20\1PPP\2QFC\3DCBX", /* caps[0] linkcaps */ - "\20\1NIC\2VM\3IDS\4UM\5UM_ISGL" /* caps[1] niccaps */ - "\6HASHFILTER\7ETHOFLD", - "\20\1TOE", /* caps[2] toecaps */ - "\20\1RDDP\2RDMAC", /* caps[3] rdmacaps */ - "\20\1INITIATOR_PDU\2TARGET_PDU" /* caps[4] iscsicaps */ - "\3INITIATOR_CNXOFLD\4TARGET_CNXOFLD" - "\5INITIATOR_SSNOFLD\6TARGET_SSNOFLD", - "\20\1INITIATOR\2TARGET\3CTRL_OFLD" /* caps[5] fcoecaps */ - "\4PO_INITIAOR\5PO_TARGET" - }; static char *doorbells = {"\20\1UDB\2WCWR\3UDBWC\4KDB"}; ctx = device_get_sysctl_ctx(sc->dev); @@ -4635,29 +4659,21 @@ t4_sysctls(struct adapter *sc) CTLTYPE_STRING | CTLFLAG_RD, doorbells, sc->doorbells, sysctl_bitfield, "A", "available doorbells"); - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "linkcaps", - CTLTYPE_STRING | CTLFLAG_RD, caps[0], sc->linkcaps, - sysctl_bitfield, "A", "available link capabilities"); - - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "niccaps", - CTLTYPE_STRING | CTLFLAG_RD, caps[1], sc->niccaps, - sysctl_bitfield, "A", "available NIC capabilities"); - - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "toecaps", - CTLTYPE_STRING | CTLFLAG_RD, caps[2], sc->toecaps, - sysctl_bitfield, "A", "available TCP offload capabilities"); - - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "rdmacaps", - CTLTYPE_STRING | CTLFLAG_RD, caps[3], sc->rdmacaps, - sysctl_bitfield, "A", "available RDMA capabilities"); - - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "iscsicaps", - CTLTYPE_STRING | CTLFLAG_RD, caps[4], sc->iscsicaps, - sysctl_bitfield, "A", "available iSCSI capabilities"); - - SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "fcoecaps", - CTLTYPE_STRING | CTLFLAG_RD, caps[5], sc->fcoecaps, - sysctl_bitfield, "A", "available FCoE capabilities"); +#define SYSCTL_CAP(name, n, text) \ + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, #name, \ + CTLTYPE_STRING | CTLFLAG_RD, caps_decoder[n], sc->name, \ + sysctl_bitfield, "A", "available " text "capabilities") + + SYSCTL_CAP(nbmcaps, 0, "NBM"); + SYSCTL_CAP(linkcaps, 1, "link"); + SYSCTL_CAP(switchcaps, 2, "switch"); + SYSCTL_CAP(niccaps, 3, "NIC"); + SYSCTL_CAP(toecaps, 4, "TCP offload"); + SYSCTL_CAP(rdmacaps, 5, "RDMA"); + SYSCTL_CAP(iscsicaps, 6, "iSCSI"); + SYSCTL_CAP(tlscaps, 7, "TLS"); + SYSCTL_CAP(fcoecaps, 8, "FCoE"); +#undef SYSCTL_CAP SYSCTL_ADD_INT(ctx, children, OID_AUTO, "core_clock", CTLFLAG_RD, NULL, sc->params.vpd.cclk, "core clock frequency (in KHz)"); From owner-svn-src-all@freebsd.org Sat Mar 12 03:02:34 2016 Return-Path: Delivered-To: svn-src-all@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 A7D31ACC4F0; Sat, 12 Mar 2016 03:02:34 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 79CDA1B65; Sat, 12 Mar 2016 03:02:34 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C32XNG073933; Sat, 12 Mar 2016 03:02:33 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C32XSN073932; Sat, 12 Mar 2016 03:02:33 GMT (envelope-from np@FreeBSD.org) Message-Id: <201603120302.u2C32XSN073932@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Sat, 12 Mar 2016 03:02:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296711 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 03:02:34 -0000 Author: np Date: Sat Mar 12 03:02:33 2016 New Revision: 296711 URL: https://svnweb.freebsd.org/changeset/base/296711 Log: cxgbe(4): Fix typo in previous commit. Modified: head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Sat Mar 12 02:54:55 2016 (r296710) +++ head/sys/dev/cxgbe/t4_main.c Sat Mar 12 03:02:33 2016 (r296711) @@ -4595,7 +4595,7 @@ t4_register_fw_msg_handler(struct adapte * Should match fw_caps_config_ enums in t4fw_interface.h */ static char *caps_decoder[] = { - "\20\0011IPMI\002NCSI", /* 0: NBM */ + "\20\001IPMI\002NCSI", /* 0: NBM */ "\20\001PPP\002QFC\003DCBX", /* 1: link */ "\20\001INGRESS\002EGRESS", /* 2: switch */ "\20\001NIC\002VM\003IDS\004UM\005UM_ISGL" /* 3: NIC */ From owner-svn-src-all@freebsd.org Sat Mar 12 06:50:17 2016 Return-Path: Delivered-To: svn-src-all@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 ED17AACC3FE; Sat, 12 Mar 2016 06:50:17 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BA3EE118; Sat, 12 Mar 2016 06:50:17 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C6oGlx040429; Sat, 12 Mar 2016 06:50:16 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C6oG8Y040428; Sat, 12 Mar 2016 06:50:16 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201603120650.u2C6oG8Y040428@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Sat, 12 Mar 2016 06:50:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296713 - head/sys/boot/efi/boot1 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 06:50:18 -0000 Author: andrew Date: Sat Mar 12 06:50:16 2016 New Revision: 296713 URL: https://svnweb.freebsd.org/changeset/base/296713 Log: Print the correct size of loader.efi when failing to load it into memory. Obtained from: AsiaBSDCon Sponsored by: ABT Systems Ltd Modified: head/sys/boot/efi/boot1/boot1.c Modified: head/sys/boot/efi/boot1/boot1.c ============================================================================== --- head/sys/boot/efi/boot1/boot1.c Sat Mar 12 03:53:58 2016 (r296712) +++ head/sys/boot/efi/boot1/boot1.c Sat Mar 12 06:50:16 2016 (r296713) @@ -405,7 +405,7 @@ try_boot() if ((status = bs->LoadImage(TRUE, image, devpath_last(dev->devpath), loaderbuf, loadersize, &loaderhandle)) != EFI_SUCCESS) { printf("Failed to load image provided by %s, size: %zu, (%lu)\n", - mod->name, bufsize, EFI_ERROR_CODE(status)); + mod->name, loadersize, EFI_ERROR_CODE(status)); goto errout; } From owner-svn-src-all@freebsd.org Sat Mar 12 07:13:21 2016 Return-Path: Delivered-To: svn-src-all@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 81081ACCBCB; Sat, 12 Mar 2016 07:13:21 +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 4E0D5D85; Sat, 12 Mar 2016 07:13:21 +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 u2C7DKja049505; Sat, 12 Mar 2016 07:13:20 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C7DKeF049504; Sat, 12 Mar 2016 07:13:20 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603120713.u2C7DKeF049504@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Sat, 12 Mar 2016 07:13:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296714 - head/lib/libc/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 07:13:21 -0000 Author: jhb Date: Sat Mar 12 07:13:20 2016 New Revision: 296714 URL: https://svnweb.freebsd.org/changeset/base/296714 Log: Remove Symbol.map entries for old AIO system calls for FreeBSD 6 compat. These entries should have never been present since they only exist for compat with FreeBSD 6.x (and older) binaries. This was missed in r296572. Technically this breaks the ABI by removing versioned symbols. However, no binaries should be linked against these symbols. No release has shipped with a header that contained a prototype for these functions. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D5615 Modified: head/lib/libc/sys/Symbol.map Modified: head/lib/libc/sys/Symbol.map ============================================================================== --- head/lib/libc/sys/Symbol.map Sat Mar 12 06:50:16 2016 (r296713) +++ head/lib/libc/sys/Symbol.map Sat Mar 12 07:13:20 2016 (r296714) @@ -200,9 +200,6 @@ FBSD_1.0 { nstat; ntp_adjtime; ntp_gettime; - oaio_read; - oaio_write; - olio_listio; open; pathconf; pipe; @@ -809,12 +806,6 @@ FBSDprivate_1.0 { __sys_ntp_adjtime; _ntp_gettime; __sys_ntp_gettime; - _oaio_read; - __sys_oaio_read; - _oaio_write; - __sys_oaio_write; - _olio_listio; - __sys_olio_listio; _open; __sys_open; _openat; From owner-svn-src-all@freebsd.org Sat Mar 12 07:54:43 2016 Return-Path: Delivered-To: svn-src-all@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 C2D7DACD6DA; Sat, 12 Mar 2016 07:54:43 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9ADF1C61; Sat, 12 Mar 2016 07:54:43 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C7sg2d061624; Sat, 12 Mar 2016 07:54:42 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C7sgwc061621; Sat, 12 Mar 2016 07:54:42 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201603120754.u2C7sgwc061621@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 12 Mar 2016 07:54:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296715 - in head/sys: fs/autofs kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 07:54:44 -0000 Author: trasz Date: Sat Mar 12 07:54:42 2016 New Revision: 296715 URL: https://svnweb.freebsd.org/changeset/base/296715 Log: Fix autofs triggering problem. Assume you have an NFS server, 192.168.1.1, with share "share". This commit fixes a problem where "mkdir /net/192.168.1.1/share/meh" would return spurious error instead of creating the directory if the target filesystem wasn't mounted yet; subsequent attempts would work correctly. The failure scenario is kind of complicated to explain, but it all boils down to calling VOP_MKDIR() for the target filesystem (NFS) with wrong dvp - the autofs vnode instead of the filesystem root mounted over it. Reviewed by: kib@ MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5442 Modified: head/sys/fs/autofs/autofs_vnops.c head/sys/kern/vfs_lookup.c head/sys/sys/errno.h Modified: head/sys/fs/autofs/autofs_vnops.c ============================================================================== --- head/sys/fs/autofs/autofs_vnops.c Sat Mar 12 07:13:20 2016 (r296714) +++ head/sys/fs/autofs/autofs_vnops.c Sat Mar 12 07:54:42 2016 (r296715) @@ -214,7 +214,7 @@ autofs_lookup(struct vop_lookup_args *ap struct autofs_mount *amp; struct autofs_node *anp, *child; struct componentname *cnp; - int error, lock_flags; + int error; dvp = ap->a_dvp; vpp = ap->a_vpp; @@ -257,23 +257,13 @@ autofs_lookup(struct vop_lookup_args *ap return (error); if (newvp != NULL) { - error = VOP_LOOKUP(newvp, ap->a_vpp, ap->a_cnp); - /* - * Instead of figuring out whether our vnode should - * be locked or not given the error and cnp flags, - * just "copy" the lock status from vnode returned - * by mounted filesystem's VOP_LOOKUP(). Get rid - * of that new vnode afterwards. + * The target filesystem got automounted. + * Let the lookup(9) go around with the same + * path component. */ - lock_flags = VOP_ISLOCKED(newvp); - if (lock_flags == 0) { - VOP_UNLOCK(dvp, 0); - vrele(newvp); - } else { - vput(newvp); - } - return (error); + vput(newvp); + return (ERELOOKUP); } } Modified: head/sys/kern/vfs_lookup.c ============================================================================== --- head/sys/kern/vfs_lookup.c Sat Mar 12 07:13:20 2016 (r296714) +++ head/sys/kern/vfs_lookup.c Sat Mar 12 07:54:42 2016 (r296715) @@ -495,6 +495,7 @@ lookup(struct nameidata *ndp) int rdonly; /* lookup read-only flag bit */ int error = 0; int dpunlocked = 0; /* dp has already been unlocked */ + int relookup = 0; /* do not consume the path component */ struct componentname *cnp = &ndp->ni_cnd; int lkflags_save; int ni_dvp_unlocked; @@ -745,6 +746,14 @@ unionlookup: goto unionlookup; } + if (error == ERELOOKUP) { + vref(dp); + ndp->ni_vp = dp; + error = 0; + relookup = 1; + goto good; + } + if (error != EJUSTRETURN) goto bad; /* @@ -777,6 +786,8 @@ unionlookup: goto success; } else cnp->cn_lkflags = lkflags_save; + +good: #ifdef NAMEI_DIAGNOSTIC printf("found\n"); #endif @@ -856,6 +867,14 @@ nextname: */ KASSERT((cnp->cn_flags & ISLASTCN) || *ndp->ni_next == '/', ("lookup: invalid path state.")); + if (relookup) { + relookup = 0; + if (ndp->ni_dvp != dp) + vput(ndp->ni_dvp); + else + vrele(ndp->ni_dvp); + goto dirloop; + } if (*ndp->ni_next == '/') { cnp->cn_nameptr = ndp->ni_next; while (*cnp->cn_nameptr == '/') { Modified: head/sys/sys/errno.h ============================================================================== --- head/sys/sys/errno.h Sat Mar 12 07:13:20 2016 (r296714) +++ head/sys/sys/errno.h Sat Mar 12 07:54:42 2016 (r296715) @@ -190,6 +190,7 @@ __END_DECLS #define EJUSTRETURN (-2) /* don't modify regs, just return */ #define ENOIOCTL (-3) /* ioctl not handled by this layer */ #define EDIRIOCTL (-4) /* do direct ioctl in GEOM */ +#define ERELOOKUP (-5) /* retry the directory lookup */ #endif #endif From owner-svn-src-all@freebsd.org Sat Mar 12 08:50:40 2016 Return-Path: Delivered-To: svn-src-all@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 29227ACC01A; Sat, 12 Mar 2016 08:50:40 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D53077AB; Sat, 12 Mar 2016 08:50:39 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C8ocZU077068; Sat, 12 Mar 2016 08:50:38 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C8oceZ077064; Sat, 12 Mar 2016 08:50:38 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201603120850.u2C8oceZ077064@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 12 Mar 2016 08:50:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296716 - in head/sys: fs/unionfs kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 08:50:40 -0000 Author: trasz Date: Sat Mar 12 08:50:38 2016 New Revision: 296716 URL: https://svnweb.freebsd.org/changeset/base/296716 Log: Remove cn_consume from 'struct componentname'. It was never set to anything other than 0. Reviewed by: kib@ MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5611 Modified: head/sys/fs/unionfs/union_subr.c head/sys/kern/vfs_lookup.c head/sys/sys/namei.h Modified: head/sys/fs/unionfs/union_subr.c ============================================================================== --- head/sys/fs/unionfs/union_subr.c Sat Mar 12 07:54:42 2016 (r296715) +++ head/sys/fs/unionfs/union_subr.c Sat Mar 12 08:50:38 2016 (r296716) @@ -530,7 +530,6 @@ unionfs_relookup(struct vnode *dvp, stru cn->cn_cred = cnp->cn_cred; cn->cn_nameptr = cn->cn_pnbuf; - cn->cn_consume = cnp->cn_consume; if (nameiop == DELETE) cn->cn_flags |= (cnp->cn_flags & (DOWHITEOUT | SAVESTART)); @@ -918,7 +917,6 @@ unionfs_vn_create_on_upper(struct vnode cn.cn_thread = td; cn.cn_cred = cred; cn.cn_nameptr = cn.cn_pnbuf; - cn.cn_consume = 0; vref(udvp); if ((error = relookup(udvp, &vp, &cn)) != 0) @@ -1184,7 +1182,6 @@ unionfs_check_rmdir(struct vnode *vp, st cn.cn_lkflags = LK_EXCLUSIVE; cn.cn_thread = td; cn.cn_cred = cred; - cn.cn_consume = 0; /* * check entry in lower. Modified: head/sys/kern/vfs_lookup.c ============================================================================== --- head/sys/kern/vfs_lookup.c Sat Mar 12 07:54:42 2016 (r296715) +++ head/sys/kern/vfs_lookup.c Sat Mar 12 08:50:38 2016 (r296716) @@ -538,7 +538,6 @@ dirloop: * the name set the SAVENAME flag. When done, they assume * responsibility for freeing the pathname buffer. */ - cnp->cn_consume = 0; for (cp = cnp->cn_nameptr; *cp != 0 && *cp != '/'; cp++) continue; cnp->cn_namelen = cp - cnp->cn_nameptr; @@ -791,17 +790,6 @@ good: #ifdef NAMEI_DIAGNOSTIC printf("found\n"); #endif - /* - * Take into account any additional components consumed by - * the underlying filesystem. - */ - if (cnp->cn_consume > 0) { - cnp->cn_nameptr += cnp->cn_consume; - ndp->ni_next += cnp->cn_consume; - ndp->ni_pathlen -= cnp->cn_consume; - cnp->cn_consume = 0; - } - dp = ndp->ni_vp; /* Modified: head/sys/sys/namei.h ============================================================================== --- head/sys/sys/namei.h Sat Mar 12 07:54:42 2016 (r296715) +++ head/sys/sys/namei.h Sat Mar 12 08:50:38 2016 (r296716) @@ -53,7 +53,6 @@ struct componentname { char *cn_pnbuf; /* pathname buffer */ char *cn_nameptr; /* pointer to looked up name */ long cn_namelen; /* length of looked up component */ - long cn_consume; /* chars to consume in lookup() */ }; /* From owner-svn-src-all@freebsd.org Sat Mar 12 09:05:44 2016 Return-Path: Delivered-To: svn-src-all@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 87D67ACC918; Sat, 12 Mar 2016 09:05:44 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 59A03ED3; Sat, 12 Mar 2016 09:05:44 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C95hgR082788; Sat, 12 Mar 2016 09:05:43 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C95hIC082787; Sat, 12 Mar 2016 09:05:43 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201603120905.u2C95hIC082787@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 12 Mar 2016 09:05:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296717 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 09:05:44 -0000 Author: trasz Date: Sat Mar 12 09:05:43 2016 New Revision: 296717 URL: https://svnweb.freebsd.org/changeset/base/296717 Log: Refactor the way we restore cn_lkflags; no functional changes. MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/vfs_lookup.c Modified: head/sys/kern/vfs_lookup.c ============================================================================== --- head/sys/kern/vfs_lookup.c Sat Mar 12 08:50:38 2016 (r296716) +++ head/sys/kern/vfs_lookup.c Sat Mar 12 09:05:43 2016 (r296717) @@ -726,8 +726,9 @@ unionlookup: lkflags_save = cnp->cn_lkflags; cnp->cn_lkflags = compute_cn_lkflags(dp->v_mount, cnp->cn_lkflags, cnp->cn_flags); - if ((error = VOP_LOOKUP(dp, &ndp->ni_vp, cnp)) != 0) { - cnp->cn_lkflags = lkflags_save; + error = VOP_LOOKUP(dp, &ndp->ni_vp, cnp); + cnp->cn_lkflags = lkflags_save; + if (error != 0) { KASSERT(ndp->ni_vp == NULL, ("leaf should be empty")); #ifdef NAMEI_DIAGNOSTIC printf("not found\n"); @@ -783,8 +784,7 @@ unionlookup: VREF(ndp->ni_startdir); } goto success; - } else - cnp->cn_lkflags = lkflags_save; + } good: #ifdef NAMEI_DIAGNOSTIC From owner-svn-src-all@freebsd.org Sat Mar 12 09:33:28 2016 Return-Path: Delivered-To: svn-src-all@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 8DA3EACD432; Sat, 12 Mar 2016 09:33:28 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 448681B2B; Sat, 12 Mar 2016 09:33:28 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C9XRvB091824; Sat, 12 Mar 2016 09:33:27 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C9XR9S091822; Sat, 12 Mar 2016 09:33:27 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201603120933.u2C9XR9S091822@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 12 Mar 2016 09:33:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296718 - head/sys/fs/autofs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 09:33:28 -0000 Author: trasz Date: Sat Mar 12 09:33:26 2016 New Revision: 296718 URL: https://svnweb.freebsd.org/changeset/base/296718 Log: Use S_BLKSIZE instead of magic constant. MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/sys/fs/autofs/autofs_vfsops.c head/sys/fs/autofs/autofs_vnops.c Modified: head/sys/fs/autofs/autofs_vfsops.c ============================================================================== --- head/sys/fs/autofs/autofs_vfsops.c Sat Mar 12 09:05:43 2016 (r296717) +++ head/sys/fs/autofs/autofs_vfsops.c Sat Mar 12 09:33:26 2016 (r296718) @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -192,7 +193,7 @@ static int autofs_statfs(struct mount *mp, struct statfs *sbp) { - sbp->f_bsize = 512; + sbp->f_bsize = S_BLKSIZE; sbp->f_iosize = 0; sbp->f_blocks = 0; sbp->f_bfree = 0; Modified: head/sys/fs/autofs/autofs_vnops.c ============================================================================== --- head/sys/fs/autofs/autofs_vnops.c Sat Mar 12 09:05:43 2016 (r296717) +++ head/sys/fs/autofs/autofs_vnops.c Sat Mar 12 09:33:26 2016 (r296718) @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -110,8 +111,8 @@ autofs_getattr(struct vop_getattr_args * vap->va_rdev = NODEV; vap->va_fsid = mp->mnt_stat.f_fsid.val[0]; vap->va_fileid = anp->an_fileno; - vap->va_size = 512; /* XXX */ - vap->va_blocksize = 512; + vap->va_size = S_BLKSIZE; + vap->va_blocksize = S_BLKSIZE; vap->va_mtime = anp->an_ctime; vap->va_atime = anp->an_ctime; vap->va_ctime = anp->an_ctime; @@ -119,7 +120,7 @@ autofs_getattr(struct vop_getattr_args * vap->va_gen = 0; vap->va_flags = 0; vap->va_rdev = 0; - vap->va_bytes = 512; /* XXX */ + vap->va_bytes = S_BLKSIZE; vap->va_filerev = 0; vap->va_spare = 0; From owner-svn-src-all@freebsd.org Sat Mar 12 09:44:25 2016 Return-Path: Delivered-To: svn-src-all@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 56C2BACD77F; Sat, 12 Mar 2016 09:44:25 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 1F3391F3C; Sat, 12 Mar 2016 09:44:25 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2C9iOQ2094809; Sat, 12 Mar 2016 09:44:24 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2C9iOj7094807; Sat, 12 Mar 2016 09:44:24 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201603120944.u2C9iOj7094807@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Sat, 12 Mar 2016 09:44:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296719 - head/sys/dev/agp X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 09:44:25 -0000 Author: dumbbell Date: Sat Mar 12 09:44:23 2016 New Revision: 296719 URL: https://svnweb.freebsd.org/changeset/base/296719 Log: agp: Do not attach to Intel GEN6+ The i915 video driver doesn't depend on agp(4) anymore for Sandybridge and later GPUs. Therefore, there is no need to attach agp(4) to those devices. While here, fix `agp_i965_res_spec` to include the aperture base for GEN4 and GEN5. Reviewed by: kib Approved by: kib Differential Revision: https://reviews.freebsd.org/D5586 Modified: head/sys/dev/agp/agp_i810.c head/sys/dev/agp/agpreg.h Modified: head/sys/dev/agp/agp_i810.c ============================================================================== --- head/sys/dev/agp/agp_i810.c Sat Mar 12 09:33:26 2016 (r296718) +++ head/sys/dev/agp/agp_i810.c Sat Mar 12 09:44:23 2016 (r296719) @@ -86,7 +86,6 @@ struct agp_i810_match; static int agp_i810_check_active(device_t bridge_dev); static int agp_i830_check_active(device_t bridge_dev); static int agp_i915_check_active(device_t bridge_dev); -static int agp_sb_check_active(device_t bridge_dev); static void agp_82852_set_desc(device_t dev, const struct agp_i810_match *match); @@ -97,12 +96,10 @@ static void agp_i830_dump_regs(device_t static void agp_i855_dump_regs(device_t dev); static void agp_i915_dump_regs(device_t dev); static void agp_i965_dump_regs(device_t dev); -static void agp_sb_dump_regs(device_t dev); static int agp_i810_get_stolen_size(device_t dev); static int agp_i830_get_stolen_size(device_t dev); static int agp_i915_get_stolen_size(device_t dev); -static int agp_sb_get_stolen_size(device_t dev); static int agp_i810_get_gtt_mappable_entries(device_t dev); static int agp_i830_get_gtt_mappable_entries(device_t dev); @@ -111,7 +108,6 @@ static int agp_i915_get_gtt_mappable_ent static int agp_i810_get_gtt_total_entries(device_t dev); static int agp_i965_get_gtt_total_entries(device_t dev); static int agp_gen5_get_gtt_total_entries(device_t dev); -static int agp_sb_get_gtt_total_entries(device_t dev); static int agp_i810_install_gatt(device_t dev); static int agp_i830_install_gatt(device_t dev); @@ -131,14 +127,11 @@ static void agp_i965_install_gtt_pte(dev vm_offset_t physical, int flags); static void agp_g4x_install_gtt_pte(device_t dev, u_int index, vm_offset_t physical, int flags); -static void agp_sb_install_gtt_pte(device_t dev, u_int index, - vm_offset_t physical, int flags); static void agp_i810_write_gtt(device_t dev, u_int index, uint32_t pte); static void agp_i915_write_gtt(device_t dev, u_int index, uint32_t pte); static void agp_i965_write_gtt(device_t dev, u_int index, uint32_t pte); static void agp_g4x_write_gtt(device_t dev, u_int index, uint32_t pte); -static void agp_sb_write_gtt(device_t dev, u_int index, uint32_t pte); static u_int32_t agp_i810_read_gtt_pte(device_t dev, u_int index); static u_int32_t agp_i915_read_gtt_pte(device_t dev, u_int index); @@ -147,7 +140,6 @@ static u_int32_t agp_g4x_read_gtt_pte(de static vm_paddr_t agp_i810_read_gtt_pte_paddr(device_t dev, u_int index); static vm_paddr_t agp_i915_read_gtt_pte_paddr(device_t dev, u_int index); -static vm_paddr_t agp_sb_read_gtt_pte_paddr(device_t dev, u_int index); static int agp_i810_set_aperture(device_t dev, u_int32_t aperture); static int agp_i830_set_aperture(device_t dev, u_int32_t aperture); @@ -174,7 +166,6 @@ enum { CHIP_G33, /* G33/Q33/Q35 */ CHIP_IGD, /* Pineview */ CHIP_G4X, /* G45/Q45 */ - CHIP_SB, /* SandyBridge */ }; /* The i810 through i855 have the registers at BAR 1, and the GATT gets @@ -196,12 +187,7 @@ static struct resource_spec agp_i915_res static struct resource_spec agp_i965_res_spec[] = { { SYS_RES_MEMORY, AGP_I965_GTTMMADR, RF_ACTIVE | RF_SHAREABLE }, - { -1, 0 } -}; - -static struct resource_spec agp_g4x_res_spec[] = { - { SYS_RES_MEMORY, AGP_G4X_MMADR, RF_ACTIVE | RF_SHAREABLE }, - { SYS_RES_MEMORY, AGP_G4X_GTTADR, RF_ACTIVE | RF_SHAREABLE }, + { SYS_RES_MEMORY, AGP_I965_APBASE, RF_ACTIVE | RF_SHAREABLE }, { -1, 0 } }; @@ -392,22 +378,22 @@ static const struct agp_i810_driver agp_ .chipset_flush = agp_i915_chipset_flush, }; -static const struct agp_i810_driver agp_i810_g965_driver = { - .chiptype = CHIP_I965, - .gen = 4, +static const struct agp_i810_driver agp_i810_g33_driver = { + .chiptype = CHIP_G33, + .gen = 3, .busdma_addr_mask_sz = 36, - .res_spec = agp_i965_res_spec, + .res_spec = agp_i915_res_spec, .check_active = agp_i915_check_active, .set_desc = agp_i810_set_desc, .dump_regs = agp_i965_dump_regs, .get_stolen_size = agp_i915_get_stolen_size, .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries, .get_gtt_total_entries = agp_i965_get_gtt_total_entries, - .install_gatt = agp_i965_install_gatt, + .install_gatt = agp_i830_install_gatt, .deinstall_gatt = agp_i830_deinstall_gatt, - .write_gtt = agp_i965_write_gtt, - .install_gtt_pte = agp_i965_install_gtt_pte, - .read_gtt_pte = agp_i965_read_gtt_pte, + .write_gtt = agp_i915_write_gtt, + .install_gtt_pte = agp_i915_install_gtt_pte, + .read_gtt_pte = agp_i915_read_gtt_pte, .read_gtt_pte_paddr = agp_i915_read_gtt_pte_paddr, .set_aperture = agp_i915_set_aperture, .chipset_flush_setup = agp_i965_chipset_flush_setup, @@ -415,14 +401,14 @@ static const struct agp_i810_driver agp_ .chipset_flush = agp_i915_chipset_flush, }; -static const struct agp_i810_driver agp_i810_g33_driver = { - .chiptype = CHIP_G33, +static const struct agp_i810_driver agp_i810_igd_driver = { + .chiptype = CHIP_IGD, .gen = 3, .busdma_addr_mask_sz = 36, .res_spec = agp_i915_res_spec, .check_active = agp_i915_check_active, .set_desc = agp_i810_set_desc, - .dump_regs = agp_i965_dump_regs, + .dump_regs = agp_i915_dump_regs, .get_stolen_size = agp_i915_get_stolen_size, .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries, .get_gtt_total_entries = agp_i965_get_gtt_total_entries, @@ -438,22 +424,22 @@ static const struct agp_i810_driver agp_ .chipset_flush = agp_i915_chipset_flush, }; -static const struct agp_i810_driver agp_i810_igd_driver = { - .chiptype = CHIP_IGD, - .gen = 3, +static const struct agp_i810_driver agp_i810_g965_driver = { + .chiptype = CHIP_I965, + .gen = 4, .busdma_addr_mask_sz = 36, - .res_spec = agp_i915_res_spec, + .res_spec = agp_i965_res_spec, .check_active = agp_i915_check_active, .set_desc = agp_i810_set_desc, - .dump_regs = agp_i915_dump_regs, + .dump_regs = agp_i965_dump_regs, .get_stolen_size = agp_i915_get_stolen_size, .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries, .get_gtt_total_entries = agp_i965_get_gtt_total_entries, - .install_gatt = agp_i830_install_gatt, + .install_gatt = agp_i965_install_gatt, .deinstall_gatt = agp_i830_deinstall_gatt, - .write_gtt = agp_i915_write_gtt, - .install_gtt_pte = agp_i915_install_gtt_pte, - .read_gtt_pte = agp_i915_read_gtt_pte, + .write_gtt = agp_i965_write_gtt, + .install_gtt_pte = agp_i965_install_gtt_pte, + .read_gtt_pte = agp_i965_read_gtt_pte, .read_gtt_pte_paddr = agp_i915_read_gtt_pte_paddr, .set_aperture = agp_i915_set_aperture, .chipset_flush_setup = agp_i965_chipset_flush_setup, @@ -484,75 +470,6 @@ static const struct agp_i810_driver agp_ .chipset_flush = agp_i915_chipset_flush, }; -static const struct agp_i810_driver agp_i810_sb_driver = { - .chiptype = CHIP_SB, - .gen = 6, - .busdma_addr_mask_sz = 40, - .res_spec = agp_g4x_res_spec, - .check_active = agp_sb_check_active, - .set_desc = agp_i810_set_desc, - .dump_regs = agp_sb_dump_regs, - .get_stolen_size = agp_sb_get_stolen_size, - .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries, - .get_gtt_total_entries = agp_sb_get_gtt_total_entries, - .install_gatt = agp_g4x_install_gatt, - .deinstall_gatt = agp_i830_deinstall_gatt, - .write_gtt = agp_sb_write_gtt, - .install_gtt_pte = agp_sb_install_gtt_pte, - .read_gtt_pte = agp_g4x_read_gtt_pte, - .read_gtt_pte_paddr = agp_sb_read_gtt_pte_paddr, - .set_aperture = agp_i915_set_aperture, - .chipset_flush_setup = agp_i810_chipset_flush_setup, - .chipset_flush_teardown = agp_i810_chipset_flush_teardown, - .chipset_flush = agp_i810_chipset_flush, -}; - -static const struct agp_i810_driver agp_i810_hsw_driver = { - .chiptype = CHIP_SB, - .gen = 7, - .busdma_addr_mask_sz = 40, - .res_spec = agp_g4x_res_spec, - .check_active = agp_sb_check_active, - .set_desc = agp_i810_set_desc, - .dump_regs = agp_sb_dump_regs, - .get_stolen_size = agp_sb_get_stolen_size, - .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries, - .get_gtt_total_entries = agp_sb_get_gtt_total_entries, - .install_gatt = agp_g4x_install_gatt, - .deinstall_gatt = agp_i830_deinstall_gatt, - .write_gtt = agp_sb_write_gtt, - .install_gtt_pte = agp_sb_install_gtt_pte, - .read_gtt_pte = agp_g4x_read_gtt_pte, - .read_gtt_pte_paddr = agp_sb_read_gtt_pte_paddr, - .set_aperture = agp_i915_set_aperture, - .chipset_flush_setup = agp_i810_chipset_flush_setup, - .chipset_flush_teardown = agp_i810_chipset_flush_teardown, - .chipset_flush = agp_i810_chipset_flush, -}; - -static const struct agp_i810_driver agp_i810_valleyview_driver = { - .chiptype = CHIP_SB, - .gen = 7, - .busdma_addr_mask_sz = 40, - .res_spec = agp_g4x_res_spec, - .check_active = agp_sb_check_active, - .set_desc = agp_i810_set_desc, - .dump_regs = agp_sb_dump_regs, - .get_stolen_size = agp_sb_get_stolen_size, - .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries, - .get_gtt_total_entries = agp_sb_get_gtt_total_entries, - .install_gatt = agp_g4x_install_gatt, - .deinstall_gatt = agp_i830_deinstall_gatt, - .write_gtt = agp_sb_write_gtt, - .install_gtt_pte = agp_sb_install_gtt_pte, - .read_gtt_pte = agp_g4x_read_gtt_pte, - .read_gtt_pte_paddr = agp_sb_read_gtt_pte_paddr, - .set_aperture = agp_i915_set_aperture, - .chipset_flush_setup = agp_i810_chipset_flush_setup, - .chipset_flush_teardown = agp_i810_chipset_flush_teardown, - .chipset_flush = agp_i810_chipset_flush, -}; - /* For adding new devices, devid is the id of the graphics controller * (pci:0:2:0, for example). The placeholder (usually at pci:0:2:1) for the * second head should never be added. The bridge_offset is the offset to @@ -724,266 +641,6 @@ static const struct agp_i810_match { .driver = &agp_i810_g4x_driver }, { - .devid = 0x01028086, - .name = "SandyBridge desktop GT1 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01128086, - .name = "SandyBridge desktop GT2 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01228086, - .name = "SandyBridge desktop GT2+ IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01068086, - .name = "SandyBridge mobile GT1 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01168086, - .name = "SandyBridge mobile GT2 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01268086, - .name = "SandyBridge mobile GT2+ IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x010a8086, - .name = "SandyBridge server IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01528086, - .name = "IvyBridge desktop GT1 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01628086, - .name = "IvyBridge desktop GT2 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01568086, - .name = "IvyBridge mobile GT1 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x01668086, - .name = "IvyBridge mobile GT2 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x015a8086, - .name = "IvyBridge server GT1 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x016a8086, - .name = "IvyBridge server GT2 IG", - .driver = &agp_i810_sb_driver - }, - { - .devid = 0x04028086, - .name = "Haswell GT1 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x04068086, - .name = "Haswell GT1 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x040A8086, - .name = "Haswell GT1 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x04128086, - .name = "Haswell GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x04168086, - .name = "Haswell GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x041A8086, - .name = "Haswell GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x04228086, - .name = "Haswell GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x04268086, - .name = "Haswell GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x042A8086, - .name = "Haswell GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A028086, - .name = "Haswell ULT GT1 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A068086, - .name = "Haswell ULT GT1 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A0A8086, - .name = "Haswell ULT GT1 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A128086, - .name = "Haswell ULT GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A168086, - .name = "Haswell ULT GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A1A8086, - .name = "Haswell ULT GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A228086, - .name = "Haswell ULT GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A268086, - .name = "Haswell ULT GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0A2A8086, - .name = "Haswell ULT GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C028086, - .name = "Haswell SDV GT1 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C068086, - .name = "Haswell SDV GT1 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C0A8086, - .name = "Haswell SDV GT1 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C128086, - .name = "Haswell SDV GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C168086, - .name = "Haswell SDV GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C1A8086, - .name = "Haswell SDV GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C228086, - .name = "Haswell SDV GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C268086, - .name = "Haswell SDV GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0C2A8086, - .name = "Haswell SDV GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D028086, - .name = "Haswell CRW GT1 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D068086, - .name = "Haswell CRW GT1 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D0A8086, - .name = "Haswell CRW GT1 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D128086, - .name = "Haswell CRW GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D168086, - .name = "Haswell CRW GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D1A8086, - .name = "Haswell CRW GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D228086, - .name = "Haswell CRW GT2 desktop", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D268086, - .name = "Haswell CRW GT2 mobile", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x0D2A8086, - .name = "Haswell CRW GT2 server", - .driver = &agp_i810_hsw_driver - }, - { - .devid = 0x01558086, - .name = "Valleyview (desktop)", - .driver = &agp_i810_valleyview_driver - }, - { - .devid = 0x01578086, - .name = "Valleyview (mobile)", - .driver = &agp_i810_valleyview_driver - }, - { - .devid = 0x0F308086, - .name = "Valleyview (mobile)", - .driver = &agp_i810_valleyview_driver - }, - { .devid = 0, } }; @@ -1061,17 +718,6 @@ agp_i915_check_active(device_t bridge_de return (0); } -static int -agp_sb_check_active(device_t bridge_dev) -{ - int deven; - - deven = pci_read_config(bridge_dev, AGP_I915_DEVEN, 4); - if ((deven & AGP_SB_DEVEN_D2EN) == AGP_SB_DEVEN_D2EN_DISABLED) - return (ENXIO); - return (0); -} - static void agp_82852_set_desc(device_t dev, const struct agp_i810_match *match) { @@ -1200,17 +846,6 @@ agp_i965_dump_regs(device_t dev) pci_read_config(sc->bdev, AGP_I965_MSAC, 1)); } -static void -agp_sb_dump_regs(device_t dev) -{ - struct agp_i810_softc *sc = device_get_softc(dev); - - device_printf(dev, "AGP_SNB_GFX_MODE: %08x\n", - bus_read_4(sc->sc_res[0], AGP_SNB_GFX_MODE)); - device_printf(dev, "AGP_SNB_GCC1: 0x%04x\n", - pci_read_config(sc->bdev, AGP_SNB_GCC1, 2)); -} - static int agp_i810_get_stolen_size(device_t dev) { @@ -1236,11 +871,11 @@ agp_i830_get_stolen_size(device_t dev) sc->stolen = (512 - 132) * 1024 / 4096; sc->stolen_size = 512 * 1024; break; - case AGP_I830_GCC1_GMS_STOLEN_1024: + case AGP_I830_GCC1_GMS_STOLEN_1024: sc->stolen = (1024 - 132) * 1024 / 4096; sc->stolen_size = 1024 * 1024; break; - case AGP_I830_GCC1_GMS_STOLEN_8192: + case AGP_I830_GCC1_GMS_STOLEN_8192: sc->stolen = (8192 - 132) * 1024 / 4096; sc->stolen_size = 8192 * 1024; break; @@ -1396,68 +1031,6 @@ agp_i915_get_stolen_size(device_t dev) } static int -agp_sb_get_stolen_size(device_t dev) -{ - struct agp_i810_softc *sc; - uint16_t gmch_ctl; - - sc = device_get_softc(dev); - gmch_ctl = pci_read_config(sc->bdev, AGP_SNB_GCC1, 2); - switch (gmch_ctl & AGP_SNB_GMCH_GMS_STOLEN_MASK) { - case AGP_SNB_GMCH_GMS_STOLEN_32M: - sc->stolen_size = 32 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_64M: - sc->stolen_size = 64 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_96M: - sc->stolen_size = 96 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_128M: - sc->stolen_size = 128 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_160M: - sc->stolen_size = 160 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_192M: - sc->stolen_size = 192 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_224M: - sc->stolen_size = 224 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_256M: - sc->stolen_size = 256 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_288M: - sc->stolen_size = 288 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_320M: - sc->stolen_size = 320 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_352M: - sc->stolen_size = 352 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_384M: - sc->stolen_size = 384 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_416M: - sc->stolen_size = 416 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_448M: - sc->stolen_size = 448 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_480M: - sc->stolen_size = 480 * 1024 * 1024; - break; - case AGP_SNB_GMCH_GMS_STOLEN_512M: - sc->stolen_size = 512 * 1024 * 1024; - break; - } - sc->stolen = (sc->stolen_size - 4) / 4096; - return (0); -} - -static int agp_i810_get_gtt_mappable_entries(device_t dev) { struct agp_i810_softc *sc; @@ -1600,30 +1173,6 @@ agp_gen5_get_gtt_total_entries(device_t } static int -agp_sb_get_gtt_total_entries(device_t dev) -{ - struct agp_i810_softc *sc; - uint16_t gcc1; - - sc = device_get_softc(dev); - - gcc1 = pci_read_config(sc->bdev, AGP_SNB_GCC1, 2); - switch (gcc1 & AGP_SNB_GTT_SIZE_MASK) { - default: - case AGP_SNB_GTT_SIZE_0M: - printf("Bad GTT size mask: 0x%04x\n", gcc1); - return (ENXIO); - case AGP_SNB_GTT_SIZE_1M: - sc->gtt_total_entries = 1024 * 1024 / 4; - break; - case AGP_SNB_GTT_SIZE_2M: - sc->gtt_total_entries = 2 * 1024 * 1024 / 4; - break; - } - return (0); -} - -static int agp_i810_install_gatt(device_t dev) { struct agp_i810_softc *sc; @@ -2024,38 +1573,6 @@ agp_g4x_write_gtt(device_t dev, u_int in CTR2(KTR_AGP_I810, "g4x_pte %x %x", index, pte); } -static void -agp_sb_install_gtt_pte(device_t dev, u_int index, vm_offset_t physical, - int flags) -{ - int type_mask, gfdt; - uint32_t pte; - - pte = (u_int32_t)physical | I810_PTE_VALID; - type_mask = flags & ~AGP_USER_CACHED_MEMORY_GFDT; - gfdt = (flags & AGP_USER_CACHED_MEMORY_GFDT) != 0 ? GEN6_PTE_GFDT : 0; - - if (type_mask == AGP_USER_MEMORY) - pte |= GEN6_PTE_UNCACHED; - else if (type_mask == AGP_USER_CACHED_MEMORY_LLC_MLC) - pte |= GEN6_PTE_LLC_MLC | gfdt; - else - pte |= GEN6_PTE_LLC | gfdt; - - pte |= (physical & 0x000000ff00000000ull) >> 28; - agp_sb_write_gtt(dev, index, pte); -} - -static void -agp_sb_write_gtt(device_t dev, u_int index, uint32_t pte) -{ - struct agp_i810_softc *sc; - - sc = device_get_softc(dev); - bus_write_4(sc->sc_res[0], index * 4 + (2 * 1024 * 1024), pte); - CTR2(KTR_AGP_I810, "sb_pte %x %x", index, pte); -} - static int agp_i810_bind_page(device_t dev, vm_offset_t offset, vm_offset_t physical) { @@ -2165,19 +1682,6 @@ agp_i915_read_gtt_pte_paddr(device_t dev return (res); } -static vm_paddr_t -agp_sb_read_gtt_pte_paddr(device_t dev, u_int index) -{ - struct agp_i810_softc *sc; - u_int32_t pte; - vm_paddr_t res; - - sc = device_get_softc(dev); - pte = sc->match->driver->read_gtt_pte(dev, index); - res = (pte & ~PAGE_MASK) | ((pte & 0xff0) << 28); - return (res); -} - /* * Writing via memory mapped registers already flushes all TLBs. */ Modified: head/sys/dev/agp/agpreg.h ============================================================================== --- head/sys/dev/agp/agpreg.h Sat Mar 12 09:33:26 2016 (r296718) +++ head/sys/dev/agp/agpreg.h Sat Mar 12 09:44:23 2016 (r296719) @@ -296,9 +296,19 @@ #define AGP_I915_IFPADDR 0x60 /* + * G33 registers + */ +#define AGP_G33_MGGC_GGMS_MASK (3 << 8) +#define AGP_G33_MGGC_GGMS_SIZE_1M (1 << 8) +#define AGP_G33_MGGC_GGMS_SIZE_2M (2 << 8) +#define AGP_G33_GCC1_GMS_STOLEN_128M 0x80 +#define AGP_G33_GCC1_GMS_STOLEN_256M 0x90 + +/* * G965 registers */ #define AGP_I965_GTTMMADR 0x10 +#define AGP_I965_APBASE 0x18 #define AGP_I965_MSAC 0x62 #define AGP_I965_MSAC_GMASIZE_128 0x00 #define AGP_I965_MSAC_GMASIZE_256 0x02 @@ -310,20 +320,8 @@ #define AGP_I965_IFPADDR 0x70 /* - * G33 registers - */ -#define AGP_G33_MGGC_GGMS_MASK (3 << 8) -#define AGP_G33_MGGC_GGMS_SIZE_1M (1 << 8) -#define AGP_G33_MGGC_GGMS_SIZE_2M (2 << 8) -#define AGP_G33_GCC1_GMS_STOLEN_128M 0x80 -#define AGP_G33_GCC1_GMS_STOLEN_256M 0x90 - -/* * G4X registers */ -#define AGP_G4X_GMADR 0x20 -#define AGP_G4X_MMADR 0x10 -#define AGP_G4X_GTTADR 0x18 #define AGP_G4X_GCC1_GMS_STOLEN_96M 0xa0 #define AGP_G4X_GCC1_GMS_STOLEN_160M 0xb0 #define AGP_G4X_GCC1_GMS_STOLEN_224M 0xc0 From owner-svn-src-all@freebsd.org Sat Mar 12 11:54:59 2016 Return-Path: Delivered-To: svn-src-all@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 EAAB6ACC325; Sat, 12 Mar 2016 11:54:59 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 B7D8C6EB; Sat, 12 Mar 2016 11:54:59 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CBswHD034031; Sat, 12 Mar 2016 11:54:58 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CBswhx034030; Sat, 12 Mar 2016 11:54:58 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201603121154.u2CBswhx034030@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Sat, 12 Mar 2016 11:54:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296720 - head/sys/dev/drm2/i915 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 11:55:00 -0000 Author: dumbbell Date: Sat Mar 12 11:54:58 2016 New Revision: 296720 URL: https://svnweb.freebsd.org/changeset/base/296720 Log: drm/i915: Fix page fault handler failure ... when __wait_seqno() is interrupted by a signal. In this case, __wait_seqno() returns -ERESTARTSYS. Like we already do in drm_ioctl(), we need to convert this error to a common code such as -EINTR, so the page fault handler is restarted. Reported by: Frederic Chardon Tested by: Frederic Chardon Modified: head/sys/dev/drm2/i915/i915_gem.c Modified: head/sys/dev/drm2/i915/i915_gem.c ============================================================================== --- head/sys/dev/drm2/i915/i915_gem.c Sat Mar 12 09:44:23 2016 (r296719) +++ head/sys/dev/drm2/i915/i915_gem.c Sat Mar 12 11:54:58 2016 (r296720) @@ -1619,6 +1619,13 @@ out: KASSERT(ret != 0, ("i915_gem_pager_fault: wrong return")); CTR4(KTR_DRM, "fault_fail %p %jx %x err %d", gem_obj, offset, prot, -ret); + if (ret == -ERESTARTSYS) { + /* + * NOTE Linux<->FreeBSD: Convert Linux' -ERESTARTSYS to + * the more common -EINTR, so the page fault is retried. + */ + ret = -EINTR; + } if (ret == -EAGAIN || ret == -EIO || ret == -EINTR) { kern_yield(PRI_USER); goto retry; From owner-svn-src-all@freebsd.org Sat Mar 12 11:57:33 2016 Return-Path: Delivered-To: svn-src-all@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 D0B44ACC550; Sat, 12 Mar 2016 11:57:33 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 A1784921; Sat, 12 Mar 2016 11:57:33 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CBvWTP034175; Sat, 12 Mar 2016 11:57:32 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CBvWDd034174; Sat, 12 Mar 2016 11:57:32 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201603121157.u2CBvWDd034174@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Sat, 12 Mar 2016 11:57:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296721 - head/sys/dev/drm2/i915 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 11:57:33 -0000 Author: dumbbell Date: Sat Mar 12 11:57:32 2016 New Revision: 296721 URL: https://svnweb.freebsd.org/changeset/base/296721 Log: drm/i915: Call i915_gem_gtt_fini() when the device is detached This fixes several memory leaks. Apparently, this problem exists in Linux 3.8 but the code changed in Linux 3.9 so it may be fixed upstream already. Still, this is something we need to pay attention to. Modified: head/sys/dev/drm2/i915/i915_dma.c Modified: head/sys/dev/drm2/i915/i915_dma.c ============================================================================== --- head/sys/dev/drm2/i915/i915_dma.c Sat Mar 12 11:54:58 2016 (r296720) +++ head/sys/dev/drm2/i915/i915_dma.c Sat Mar 12 11:57:32 2016 (r296721) @@ -1810,6 +1810,12 @@ int i915_driver_unload(struct drm_device if (dev_priv->mmio_map != NULL) drm_rmmap(dev, dev_priv->mmio_map); + /* + * NOTE Linux<->FreeBSD: Linux forgots to call + * i915_gem_gtt_fini(), causing memory leaks. + */ + i915_gem_gtt_fini(dev); + if (dev_priv->wq != NULL) taskqueue_free(dev_priv->wq); From owner-svn-src-all@freebsd.org Sat Mar 12 14:27:17 2016 Return-Path: Delivered-To: svn-src-all@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 4BDB1ACDED3; Sat, 12 Mar 2016 14:27:17 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C1801A35; Sat, 12 Mar 2016 14:27:16 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id u2CERB7w039982 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Sat, 12 Mar 2016 16:27:11 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua u2CERB7w039982 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id u2CERBAA039981; Sat, 12 Mar 2016 16:27:11 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sat, 12 Mar 2016 16:27:11 +0200 From: Konstantin Belousov To: Jean-S??bastien P??dron Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r296720 - head/sys/dev/drm2/i915 Message-ID: <20160312142711.GG1741@kib.kiev.ua> References: <201603121154.u2CBswhx034030@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201603121154.u2CBswhx034030@repo.freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 14:27:17 -0000 On Sat, Mar 12, 2016 at 11:54:58AM +0000, Jean-S??bastien P??dron wrote: > Author: dumbbell > Date: Sat Mar 12 11:54:58 2016 > New Revision: 296720 > URL: https://svnweb.freebsd.org/changeset/base/296720 > > Log: > drm/i915: Fix page fault handler failure > > ... when __wait_seqno() is interrupted by a signal. In this case, > __wait_seqno() returns -ERESTARTSYS. Like we already do in drm_ioctl(), > we need to convert this error to a common code such as -EINTR, so the > page fault handler is restarted. > > Reported by: Frederic Chardon > Tested by: Frederic Chardon > > Modified: > head/sys/dev/drm2/i915/i915_gem.c > > Modified: head/sys/dev/drm2/i915/i915_gem.c > ============================================================================== > --- head/sys/dev/drm2/i915/i915_gem.c Sat Mar 12 09:44:23 2016 (r296719) > +++ head/sys/dev/drm2/i915/i915_gem.c Sat Mar 12 11:54:58 2016 (r296720) > @@ -1619,6 +1619,13 @@ out: > KASSERT(ret != 0, ("i915_gem_pager_fault: wrong return")); > CTR4(KTR_DRM, "fault_fail %p %jx %x err %d", gem_obj, offset, prot, > -ret); > + if (ret == -ERESTARTSYS) { > + /* > + * NOTE Linux<->FreeBSD: Convert Linux' -ERESTARTSYS to > + * the more common -EINTR, so the page fault is retried. > + */ > + ret = -EINTR; > + } > if (ret == -EAGAIN || ret == -EIO || ret == -EINTR) { > kern_yield(PRI_USER); > goto retry; It may be that the time come to remove i915_intr_pf tunable, and always take device lock non-interruptible in i915 fault handler. TTM behaves that way, and I think that situations where I used interruptible page handlers, AFAIR to kill X or other gem clients in case of OOM, really not useful to users. From owner-svn-src-all@freebsd.org Sat Mar 12 14:54:37 2016 Return-Path: Delivered-To: svn-src-all@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 0988AACE6DD; Sat, 12 Mar 2016 14:54:37 +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 D8CDB797; Sat, 12 Mar 2016 14:54:36 +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 u2CEsZNk091291; Sat, 12 Mar 2016 14:54:35 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CEsZN2091282; Sat, 12 Mar 2016 14:54:35 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603121454.u2CEsZN2091282@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 12 Mar 2016 14:54:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296723 - in head: bin/sh etc lib/libutil usr.bin/limits X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 14:54:37 -0000 Author: kib Date: Sat Mar 12 14:54:34 2016 New Revision: 296723 URL: https://svnweb.freebsd.org/changeset/base/296723 Log: Fix handling of umtxp resource limit in sh(1)/ulimit(1), limits(1), add login.conf(5) support. Reviewed by: jilles Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D5610 Modified: head/bin/sh/miscbltin.c head/bin/sh/sh.1 head/etc/login.conf head/lib/libutil/login.conf.5 head/lib/libutil/login_class.3 head/lib/libutil/login_class.c head/usr.bin/limits/limits.1 head/usr.bin/limits/limits.c Modified: head/bin/sh/miscbltin.c ============================================================================== --- head/bin/sh/miscbltin.c Sat Mar 12 13:39:57 2016 (r296722) +++ head/bin/sh/miscbltin.c Sat Mar 12 14:54:34 2016 (r296723) @@ -452,7 +452,7 @@ ulimitcmd(int argc __unused, char **argv struct rlimit limit; what = 'f'; - while ((optc = nextopt("HSatfdsmcnuvlbpwk")) != '\0') + while ((optc = nextopt("HSatfdsmcnuvlbpwko")) != '\0') switch (optc) { case 'H': how = HARD; Modified: head/bin/sh/sh.1 ============================================================================== --- head/bin/sh/sh.1 Sat Mar 12 13:39:57 2016 (r296722) +++ head/bin/sh/sh.1 Sat Mar 12 14:54:34 2016 (r296723) @@ -2615,7 +2615,7 @@ and not found. For aliases the alias expansion is printed; for commands and tracked aliases the complete pathname of the command is printed. -.It Ic ulimit Oo Fl HSabcdfklmnpstuvw Oc Op Ar limit +.It Ic ulimit Oo Fl HSabcdfklmnopstuvw Oc Op Ar limit Set or display resource limits (see .Xr getrlimit 2 ) . If @@ -2674,6 +2674,11 @@ kilobytes. The maximal resident set size of a process, in kilobytes. .It Fl n Ar nofiles The maximal number of descriptors that could be opened by a process. +.It Fl o Ar umtxp +The maximal number of process-shared locks +(see +.Xr pthread 3 ) +for this user ID. .It Fl p Ar pseudoterminals The maximal number of pseudo-terminals for this user ID. .It Fl s Ar stacksize Modified: head/etc/login.conf ============================================================================== --- head/etc/login.conf Sat Mar 12 13:39:57 2016 (r296722) +++ head/etc/login.conf Sat Mar 12 14:54:34 2016 (r296723) @@ -43,6 +43,7 @@ default:\ :swapuse=unlimited:\ :pseudoterminals=unlimited:\ :kqueues=unlimited:\ + :umtxp=unlimited:\ :priority=0:\ :ignoretime@:\ :umask=022: Modified: head/lib/libutil/login.conf.5 ============================================================================== --- head/lib/libutil/login.conf.5 Sat Mar 12 13:39:57 2016 (r296722) +++ head/lib/libutil/login.conf.5 Sat Mar 12 14:54:34 2016 (r296723) @@ -199,6 +199,7 @@ notation may be used. .It "stacksize size Maximum stack size limit." .It "pseudoterminals number Maximum number of pseudo-terminals." .It "swapuse size Maximum swap space size limit." +.It "umtxp number Maximum number of process-shared pthread locks." .El .Pp These resource limit entries actually specify both the maximum Modified: head/lib/libutil/login_class.3 ============================================================================== --- head/lib/libutil/login_class.3 Sat Mar 12 13:39:57 2016 (r296722) +++ head/lib/libutil/login_class.3 Sat Mar 12 14:54:34 2016 (r296723) @@ -119,6 +119,7 @@ vmemoryuse RLIMIT_VMEM pseudoterminals RLIMIT_NPTS swapuse RLIMIT_SWAP kqueues RLIMIT_KQUEUES +umtxp RLIMIT_UMTXP .Ed .It LOGIN_SETPRIORITY Set the scheduling priority for the current process based on the Modified: head/lib/libutil/login_class.c ============================================================================== --- head/lib/libutil/login_class.c Sat Mar 12 13:39:57 2016 (r296722) +++ head/lib/libutil/login_class.c Sat Mar 12 14:54:34 2016 (r296723) @@ -67,6 +67,7 @@ static struct login_res { { "pseudoterminals", login_getcapnum, RLIMIT_NPTS }, { "swapuse", login_getcapsize, RLIMIT_SWAP }, { "kqueues", login_getcapsize, RLIMIT_KQUEUES }, + { "umtxp", login_getcapnum, RLIMIT_UMTXP }, { NULL, 0, 0 } }; Modified: head/usr.bin/limits/limits.1 ============================================================================== --- head/usr.bin/limits/limits.1 Sat Mar 12 13:39:57 2016 (r296722) +++ head/usr.bin/limits/limits.1 Sat Mar 12 14:54:34 2016 (r296723) @@ -30,11 +30,11 @@ .Op Fl C Ar class | Fl P Ar pid | Fl U Ar user .Op Fl SHB .Op Fl ea -.Op Fl bcdfklmnstuvpw Op Ar val +.Op Fl bcdfklmnopstuvw Op Ar val .Nm .Op Fl C Ar class | Fl U Ar user .Op Fl SHB -.Op Fl bcdfklmnstuvpw Op Ar val +.Op Fl bcdfklmnopstuvw Op Ar val .Op Fl E .Oo .Op Ar name Ns = Ns Ar value ... @@ -233,6 +233,18 @@ system is limited to the value displayed .Va kern.maxfiles .Xr sysctl 8 variable. +.It Fl o Op Ar val +Select or set the +.Va umtxp +resource limit. +The limit determines the maximal number of the process-shared locks +which may be simultaneously created by the processes owned by the +user, see +.Xr pthread 3 . +.It Fl p Op Ar val +Select or set the +.Va pseudoterminals +resource limit. .It Fl s Op Ar val Select or set the .Va stacksize @@ -266,10 +278,6 @@ and is inclusive of text, data, bss, sta and .Xr mmap 2 Ns 'd space. -.It Fl p Op Ar val -Select or set the -.Va pseudoterminals -resource limit. .It Fl w Op Ar val Select or set the .Va swapuse Modified: head/usr.bin/limits/limits.c ============================================================================== --- head/usr.bin/limits/limits.c Sat Mar 12 13:39:57 2016 (r296722) +++ head/usr.bin/limits/limits.c Sat Mar 12 14:54:34 2016 (r296723) @@ -254,7 +254,7 @@ static struct { * to be modified accordingly! */ -#define RCS_STRING "tfdscmlunbvpwk" +#define RCS_STRING "tfdscmlunbvpwko" static rlim_t resource_num(int which, int ch, const char *str); static void usage(void); @@ -551,7 +551,7 @@ usage(void) { (void)fprintf(stderr, "usage: limits [-C class|-P pid|-U user] [-eaSHBE] " - "[-bcdflmnstuvpwk [val]] [[name=val ...] cmd]\n"); + "[-bcdfklmnostuvpw [val]] [[name=val ...] cmd]\n"); exit(EXIT_FAILURE); } @@ -660,6 +660,7 @@ resource_num(int which, int ch, const ch case RLIMIT_NOFILE: case RLIMIT_NPTS: case RLIMIT_KQUEUES: + case RLIMIT_UMTXP: res = strtoq(s, &e, 0); s = e; break; From owner-svn-src-all@freebsd.org Sat Mar 12 15:10:32 2016 Return-Path: Delivered-To: svn-src-all@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 52C3FACECA9; Sat, 12 Mar 2016 15:10:32 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 23E6E72; Sat, 12 Mar 2016 15:10:32 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CFAVBr094965; Sat, 12 Mar 2016 15:10:31 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CFAVjD094964; Sat, 12 Mar 2016 15:10:31 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603121510.u2CFAVjD094964@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 12 Mar 2016 15:10:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296724 - head/usr.sbin/gpioctl X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 15:10:32 -0000 Author: dim Date: Sat Mar 12 15:10:30 2016 New Revision: 296724 URL: https://svnweb.freebsd.org/changeset/base/296724 Log: Fix gcc warnings about possibly uninitialized variables in gpioctl.c. Noticed by: bz Modified: head/usr.sbin/gpioctl/gpioctl.c Modified: head/usr.sbin/gpioctl/gpioctl.c ============================================================================== --- head/usr.sbin/gpioctl/gpioctl.c Sat Mar 12 14:54:34 2016 (r296723) +++ head/usr.sbin/gpioctl/gpioctl.c Sat Mar 12 15:10:30 2016 (r296724) @@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$"); #include -#define PIN_TYPE_UNKNOWN 0 #define PIN_TYPE_NUMBER 1 #define PIN_TYPE_NAME 2 @@ -271,7 +270,7 @@ main(int argc, char **argv) /* Find the pin number by the name */ switch (pin_type) { - case PIN_TYPE_UNKNOWN: + default: /* First test if it is a pin number */ pinn = str2int(argv[0], &ok); if (ok) { From owner-svn-src-all@freebsd.org Sat Mar 12 17:12:03 2016 Return-Path: Delivered-To: svn-src-all@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 1350FACEBF7; Sat, 12 Mar 2016 17:12:03 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D8159F6D; Sat, 12 Mar 2016 17:12: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 u2CHC2ts037139; Sat, 12 Mar 2016 17:12:02 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CHC14E037127; Sat, 12 Mar 2016 17:12:01 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603121712.u2CHC14E037127@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 12 Mar 2016 17:12:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296727 - in stable/10/libexec/rtld-elf: . amd64 arm i386 powerpc powerpc64 sparc64 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 17:12:03 -0000 Author: kib Date: Sat Mar 12 17:12:00 2016 New Revision: 296727 URL: https://svnweb.freebsd.org/changeset/base/296727 Log: MFC r257811 (by markj): Include rtld itself when iterating over loaded ELF objects in dl_iterate_phdr(3). MFC r294373: Do not call callbacks for dl_iterate_phdr(3) with the rtld bind and phdr locks locked. MFC r294470 (by kan): Fix initlist_add_object invocation parameters. MFC r294936 (by kan): Do not unlock rtld_phdr_lock over callback invocations. Modified: stable/10/libexec/rtld-elf/amd64/reloc.c stable/10/libexec/rtld-elf/arm/reloc.c stable/10/libexec/rtld-elf/debug.c stable/10/libexec/rtld-elf/i386/reloc.c stable/10/libexec/rtld-elf/powerpc/reloc.c stable/10/libexec/rtld-elf/powerpc64/reloc.c stable/10/libexec/rtld-elf/rtld.c stable/10/libexec/rtld-elf/rtld.h stable/10/libexec/rtld-elf/sparc64/reloc.c Directory Properties: stable/10/ (props changed) Modified: stable/10/libexec/rtld-elf/amd64/reloc.c ============================================================================== --- stable/10/libexec/rtld-elf/amd64/reloc.c Sat Mar 12 17:06:45 2016 (r296726) +++ stable/10/libexec/rtld-elf/amd64/reloc.c Sat Mar 12 17:12:00 2016 (r296727) @@ -85,7 +85,8 @@ do_copy_relocations(Obj_Entry *dstobj) req.ventry = fetch_ventry(dstobj, ELF_R_SYM(rela->r_info)); req.flags = SYMLOOK_EARLY; - for (srcobj = dstobj->next; srcobj != NULL; srcobj = srcobj->next) { + for (srcobj = globallist_next(dstobj); srcobj != NULL; + srcobj = globallist_next(srcobj)) { res = symlook_obj(&req, srcobj); if (res == 0) { srcsym = req.sym_out; Modified: stable/10/libexec/rtld-elf/arm/reloc.c ============================================================================== --- stable/10/libexec/rtld-elf/arm/reloc.c Sat Mar 12 17:06:45 2016 (r296726) +++ stable/10/libexec/rtld-elf/arm/reloc.c Sat Mar 12 17:12:00 2016 (r296727) @@ -56,8 +56,8 @@ do_copy_relocations(Obj_Entry *dstobj) ELF_R_SYM(rel->r_info)); req.flags = SYMLOOK_EARLY; - for (srcobj = dstobj->next; srcobj != NULL; - srcobj = srcobj->next) { + for (srcobj = globallist_next(dstobj); srcobj != NULL; + srcobj = globallist_next(srcobj)) { res = symlook_obj(&req, srcobj); if (res == 0) { srcsym = req.sym_out; Modified: stable/10/libexec/rtld-elf/debug.c ============================================================================== --- stable/10/libexec/rtld-elf/debug.c Sat Mar 12 17:06:45 2016 (r296726) +++ stable/10/libexec/rtld-elf/debug.c Sat Mar 12 17:12:00 2016 (r296727) @@ -62,7 +62,8 @@ dump_relocations (Obj_Entry *obj0) { Obj_Entry *obj; - for (obj = obj0; obj != NULL; obj = obj->next) { + for (obj = globallist_curr(obj0); obj != NULL; + obj = globallist_next(obj)) { dump_obj_relocations(obj); } } Modified: stable/10/libexec/rtld-elf/i386/reloc.c ============================================================================== --- stable/10/libexec/rtld-elf/i386/reloc.c Sat Mar 12 17:06:45 2016 (r296726) +++ stable/10/libexec/rtld-elf/i386/reloc.c Sat Mar 12 17:12:00 2016 (r296727) @@ -86,7 +86,8 @@ do_copy_relocations(Obj_Entry *dstobj) req.ventry = fetch_ventry(dstobj, ELF_R_SYM(rel->r_info)); req.flags = SYMLOOK_EARLY; - for (srcobj = dstobj->next; srcobj != NULL; srcobj = srcobj->next) { + for (srcobj = globallist_next(dstobj); srcobj != NULL; + srcobj = globallist_next(srcobj)) { res = symlook_obj(&req, srcobj); if (res == 0) { srcsym = req.sym_out; Modified: stable/10/libexec/rtld-elf/powerpc/reloc.c ============================================================================== --- stable/10/libexec/rtld-elf/powerpc/reloc.c Sat Mar 12 17:06:45 2016 (r296726) +++ stable/10/libexec/rtld-elf/powerpc/reloc.c Sat Mar 12 17:12:00 2016 (r296727) @@ -94,8 +94,8 @@ do_copy_relocations(Obj_Entry *dstobj) req.ventry = fetch_ventry(dstobj, ELF_R_SYM(rela->r_info)); req.flags = SYMLOOK_EARLY; - for (srcobj = dstobj->next; srcobj != NULL; - srcobj = srcobj->next) { + for (srcobj = globallist_next(dstobj); srcobj != NULL; + srcobj = globallist_next(srcobj)) { res = symlook_obj(&req, srcobj); if (res == 0) { srcsym = req.sym_out; Modified: stable/10/libexec/rtld-elf/powerpc64/reloc.c ============================================================================== --- stable/10/libexec/rtld-elf/powerpc64/reloc.c Sat Mar 12 17:06:45 2016 (r296726) +++ stable/10/libexec/rtld-elf/powerpc64/reloc.c Sat Mar 12 17:12:00 2016 (r296727) @@ -88,8 +88,8 @@ do_copy_relocations(Obj_Entry *dstobj) req.ventry = fetch_ventry(dstobj, ELF_R_SYM(rela->r_info)); req.flags = SYMLOOK_EARLY; - for (srcobj = dstobj->next; srcobj != NULL; - srcobj = srcobj->next) { + for (srcobj = globallist_next(dstobj); srcobj != NULL; + srcobj = globallist_next(srcobj)) { res = symlook_obj(&req, srcobj); if (res == 0) { srcsym = req.sym_out; Modified: stable/10/libexec/rtld-elf/rtld.c ============================================================================== --- stable/10/libexec/rtld-elf/rtld.c Sat Mar 12 17:06:45 2016 (r296726) +++ stable/10/libexec/rtld-elf/rtld.c Sat Mar 12 17:12:00 2016 (r296727) @@ -95,7 +95,7 @@ static void init_dag(Obj_Entry *); static void init_pagesizes(Elf_Auxinfo **aux_info); static void init_rtld(caddr_t, Elf_Auxinfo **); static void initlist_add_neededs(Needed_Entry *, Objlist *); -static void initlist_add_objects(Obj_Entry *, Obj_Entry **, Objlist *); +static void initlist_add_objects(Obj_Entry *, Obj_Entry *, Objlist *); static void linkmap_add(Obj_Entry *); static void linkmap_delete(Obj_Entry *); static void load_filtees(Obj_Entry *, int flags, RtldLockState *); @@ -180,12 +180,11 @@ static char *ld_preload; /* Environment static char *ld_elf_hints_path; /* Environment variable for alternative hints path */ static char *ld_tracing; /* Called from ldd to print libs */ static char *ld_utrace; /* Use utrace() to log events. */ -static Obj_Entry *obj_list; /* Head of linked list of shared objects */ -static Obj_Entry **obj_tail; /* Link field of last object in list */ +static struct obj_entry_q obj_list; /* Queue of all loaded objects */ static Obj_Entry *obj_main; /* The main program shared object */ static Obj_Entry obj_rtld; /* The dynamic linker shared object */ static unsigned int obj_count; /* Number of objects in obj_list */ -static unsigned int obj_loads; /* Number of objects in obj_list */ +static unsigned int obj_loads; /* Number of loads of objects (gen count) */ static Objlist list_global = /* Objects dlopened with RTLD_GLOBAL */ STAILQ_HEAD_INITIALIZER(list_global); @@ -343,7 +342,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ const char *argv0; Objlist_Entry *entry; Obj_Entry *obj; - Obj_Entry **preload_tail; + Obj_Entry *preload_tail; Obj_Entry *last_interposer; Objlist initlist; RtldLockState lockstate; @@ -538,8 +537,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ linkmap_add(&obj_rtld); /* Link the main program into the list of objects. */ - *obj_tail = obj_main; - obj_tail = &obj_main->next; + TAILQ_INSERT_HEAD(&obj_list, obj_main, next); obj_count++; obj_loads++; @@ -554,7 +552,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ dbg("loading LD_PRELOAD libraries"); if (load_preload_objects() == -1) rtld_die(); - preload_tail = obj_tail; + preload_tail = globallist_curr(TAILQ_LAST(&obj_list, obj_entry_q)); dbg("loading needed objects"); if (load_needed_objects(obj_main, 0) == -1) @@ -562,7 +560,9 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ /* Make a list of all objects loaded at startup. */ last_interposer = obj_main; - for (obj = obj_list; obj != NULL; obj = obj->next) { + TAILQ_FOREACH(obj, &obj_list, next) { + if (obj->marker) + continue; if (obj->z_interpose && obj != obj_main) { objlist_put_after(&list_main, last_interposer, obj); last_interposer = obj; @@ -620,7 +620,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ * might be the subject for relocations. */ dbg("initializing initial thread local storage"); - allocate_initial_tls(obj_list); + allocate_initial_tls(globallist_curr(TAILQ_FIRST(&obj_list))); dbg("initializing key program variables"); set_program_var("__progname", argv[0] != NULL ? basename(argv[0]) : ""); @@ -629,7 +629,8 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ /* Make a list of init functions to call. */ objlist_init(&initlist); - initlist_add_objects(obj_list, preload_tail, &initlist); + initlist_add_objects(globallist_curr(TAILQ_FIRST(&obj_list)), + preload_tail, &initlist); r_debug_state(NULL, &obj_main->linkmap); /* say hello to gdb! */ @@ -659,7 +660,9 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ _r_debug_postinit(&obj_main->linkmap); objlist_clear(&initlist); dbg("loading filtees"); - for (obj = obj_list->next; obj != NULL; obj = obj->next) { + TAILQ_FOREACH(obj, &obj_list, next) { + if (obj->marker) + continue; if (ld_loadfltr || obj->z_loadfltr) load_filtees(obj, 0, &lockstate); } @@ -1373,9 +1376,10 @@ dlcheck(void *handle) { Obj_Entry *obj; - for (obj = obj_list; obj != NULL; obj = obj->next) + TAILQ_FOREACH(obj, &obj_list, next) { if (obj == (Obj_Entry *) handle) break; + } if (obj == NULL || obj->refcount == 0 || obj->dl_refcount == 0) { _rtld_error("Invalid shared object handle %p", handle); @@ -1779,6 +1783,32 @@ init_dag(Obj_Entry *root) root->dag_inited = true; } +Obj_Entry * +globallist_curr(const Obj_Entry *obj) +{ + + for (;;) { + if (obj == NULL) + return (NULL); + if (!obj->marker) + return (__DECONST(Obj_Entry *, obj)); + obj = TAILQ_PREV(obj, obj_entry_q, next); + } +} + +Obj_Entry * +globallist_next(const Obj_Entry *obj) +{ + + for (;;) { + obj = TAILQ_NEXT(obj, next); + if (obj == NULL) + return (NULL); + if (!obj->marker) + return (__DECONST(Obj_Entry *, obj)); + } +} + static void process_z(Obj_Entry *root) { @@ -1861,7 +1891,7 @@ init_rtld(caddr_t mapbase, Elf_Auxinfo * } /* Initialize the object list. */ - obj_tail = &obj_list; + TAILQ_INIT(&obj_list); /* Now that non-local variables can be accesses, copy out obj_rtld. */ memcpy(&obj_rtld, &objtmp, sizeof(obj_rtld)); @@ -1942,7 +1972,7 @@ initlist_add_neededs(Needed_Entry *neede /* Process the current needed object. */ if (needed->obj != NULL) - initlist_add_objects(needed->obj, &needed->obj->next, list); + initlist_add_objects(needed->obj, needed->obj, list); } /* @@ -1955,16 +1985,18 @@ initlist_add_neededs(Needed_Entry *neede * held when this function is called. */ static void -initlist_add_objects(Obj_Entry *obj, Obj_Entry **tail, Objlist *list) +initlist_add_objects(Obj_Entry *obj, Obj_Entry *tail, Objlist *list) { + Obj_Entry *nobj; if (obj->init_scanned || obj->init_done) return; obj->init_scanned = true; /* Recursively process the successor objects. */ - if (&obj->next != tail) - initlist_add_objects(obj->next, tail, list); + nobj = globallist_next(obj); + if (nobj != NULL && obj != tail) + initlist_add_objects(nobj, tail, list); /* Recursively process the needed objects. */ if (obj->needed != NULL) @@ -2067,7 +2099,10 @@ load_needed_objects(Obj_Entry *first, in { Obj_Entry *obj; - for (obj = first; obj != NULL; obj = obj->next) { + obj = first; + TAILQ_FOREACH_FROM(obj, &obj_list, next) { + if (obj->marker) + continue; if (process_needed(obj, obj->needed, flags) == -1) return (-1); } @@ -2128,7 +2163,9 @@ load_object(const char *name, int fd_u, char *path; if (name != NULL) { - for (obj = obj_list->next; obj != NULL; obj = obj->next) { + TAILQ_FOREACH(obj, &obj_list, next) { + if (obj->marker) + continue; if (object_match_name(obj, name)) return (obj); } @@ -2169,9 +2206,12 @@ load_object(const char *name, int fd_u, free(path); return NULL; } - for (obj = obj_list->next; obj != NULL; obj = obj->next) + TAILQ_FOREACH(obj, &obj_list, next) { + if (obj->marker) + continue; if (obj->ino == sb.st_ino && obj->dev == sb.st_dev) break; + } if (obj != NULL && name != NULL) { object_add_name(obj, name); free(path); @@ -2239,8 +2279,7 @@ do_load_object(int fd, const char *name, } obj->dlopened = (flags & RTLD_LO_DLOPEN) != 0; - *obj_tail = obj; - obj_tail = &obj->next; + TAILQ_INSERT_TAIL(&obj_list, obj, next); obj_count++; obj_loads++; linkmap_add(obj); /* for GDB & dlinfo() */ @@ -2261,7 +2300,9 @@ obj_from_addr(const void *addr) { Obj_Entry *obj; - for (obj = obj_list; obj != NULL; obj = obj->next) { + TAILQ_FOREACH(obj, &obj_list, next) { + if (obj->marker) + continue; if (addr < (void *) obj->mapbase) continue; if (addr < (void *) (obj->mapbase + obj->mapsize)) @@ -2387,8 +2428,11 @@ objlist_call_init(Objlist *list, RtldLoc * possibly initialized earlier if any of vectors called below * cause the change by using dlopen. */ - for (obj = obj_list; obj != NULL; obj = obj->next) + TAILQ_FOREACH(obj, &obj_list, next) { + if (obj->marker) + continue; obj->init_scanned = false; + } /* * Preserve the current error message since an init function might @@ -2632,7 +2676,11 @@ relocate_objects(Obj_Entry *first, bool Obj_Entry *obj; int error; - for (error = 0, obj = first; obj != NULL; obj = obj->next) { + error = 0; + obj = first; + TAILQ_FOREACH_FROM(obj, &obj_list, next) { + if (obj->marker) + continue; error = relocate_object(obj, bind_now, rtldobj, flags, lockstate); if (error == -1) @@ -2670,7 +2718,10 @@ resolve_objects_ifunc(Obj_Entry *first, { Obj_Entry *obj; - for (obj = first; obj != NULL; obj = obj->next) { + obj = first; + TAILQ_FOREACH_FROM(obj, &obj_list, next) { + if (obj->marker) + continue; if (resolve_object_ifunc(obj, bind_now, flags, lockstate) == -1) return (-1); } @@ -2921,7 +2972,7 @@ static Obj_Entry * dlopen_object(const char *name, int fd, Obj_Entry *refobj, int lo_flags, int mode, RtldLockState *lockstate) { - Obj_Entry **old_obj_tail; + Obj_Entry *old_obj_tail; Obj_Entry *obj; Objlist initlist; RtldLockState mlockstate; @@ -2935,7 +2986,7 @@ dlopen_object(const char *name, int fd, } GDB_STATE(RT_ADD,NULL); - old_obj_tail = obj_tail; + old_obj_tail = globallist_curr(TAILQ_LAST(&obj_list, obj_entry_q)); obj = NULL; if (name == NULL && fd == -1) { obj = obj_main; @@ -2948,8 +2999,9 @@ dlopen_object(const char *name, int fd, obj->dl_refcount++; if (mode & RTLD_GLOBAL && objlist_find(&list_global, obj) == NULL) objlist_push_tail(&list_global, obj); - if (*old_obj_tail != NULL) { /* We loaded something new. */ - assert(*old_obj_tail == obj); + if (globallist_next(old_obj_tail) != NULL) { + /* We loaded something new. */ + assert(globallist_next(old_obj_tail) == obj); result = load_needed_objects(obj, lo_flags & (RTLD_LO_DLOPEN | RTLD_LO_EARLY)); init_dag(obj); @@ -2976,7 +3028,7 @@ dlopen_object(const char *name, int fd, */ } else { /* Make list of init functions to call. */ - initlist_add_objects(obj, &obj->next, &initlist); + initlist_add_objects(obj, obj, &initlist); } /* * Process all no_delete or global objects here, given @@ -3084,8 +3136,10 @@ do_dlsym(void *handle, const char *name, } else if (handle == RTLD_NEXT || /* Objects after caller's */ handle == RTLD_SELF) { /* ... caller included */ if (handle == RTLD_NEXT) - obj = obj->next; - for (; obj != NULL; obj = obj->next) { + obj = globallist_next(obj); + TAILQ_FOREACH_FROM(obj, &obj_list, next) { + if (obj->marker) + continue; res = symlook_obj(&req, obj); if (res == 0) { if (def == NULL || @@ -3361,26 +3415,41 @@ rtld_fill_dl_phdr_info(const Obj_Entry * int dl_iterate_phdr(__dl_iterate_hdr_callback callback, void *param) { - struct dl_phdr_info phdr_info; - const Obj_Entry *obj; - RtldLockState bind_lockstate, phdr_lockstate; - int error; - - wlock_acquire(rtld_phdr_lock, &phdr_lockstate); - rlock_acquire(rtld_bind_lock, &bind_lockstate); - - error = 0; + struct dl_phdr_info phdr_info; + Obj_Entry *obj, marker; + RtldLockState bind_lockstate, phdr_lockstate; + int error; - for (obj = obj_list; obj != NULL; obj = obj->next) { - rtld_fill_dl_phdr_info(obj, &phdr_info); - if ((error = callback(&phdr_info, sizeof phdr_info, param)) != 0) - break; + bzero(&marker, sizeof(marker)); + marker.marker = true; + error = 0; - } - lock_release(rtld_bind_lock, &bind_lockstate); - lock_release(rtld_phdr_lock, &phdr_lockstate); + wlock_acquire(rtld_phdr_lock, &phdr_lockstate); + rlock_acquire(rtld_bind_lock, &bind_lockstate); + for (obj = globallist_curr(TAILQ_FIRST(&obj_list)); obj != NULL;) { + TAILQ_INSERT_AFTER(&obj_list, obj, &marker, next); + rtld_fill_dl_phdr_info(obj, &phdr_info); + lock_release(rtld_bind_lock, &bind_lockstate); + + error = callback(&phdr_info, sizeof phdr_info, param); + + rlock_acquire(rtld_bind_lock, &bind_lockstate); + obj = globallist_next(&marker); + TAILQ_REMOVE(&obj_list, &marker, next); + if (error != 0) { + lock_release(rtld_bind_lock, &bind_lockstate); + lock_release(rtld_phdr_lock, &phdr_lockstate); + return (error); + } + } - return (error); + if (error == 0) { + rtld_fill_dl_phdr_info(&obj_rtld, &phdr_info); + lock_release(rtld_bind_lock, &bind_lockstate); + error = callback(&phdr_info, sizeof(phdr_info), param); + } + lock_release(rtld_phdr_lock, &phdr_lockstate); + return (error); } static void * @@ -4100,11 +4169,13 @@ trace_loaded_objects(Obj_Entry *obj) list_containers = getenv(LD_ "TRACE_LOADED_OBJECTS_ALL"); - for (; obj; obj = obj->next) { + TAILQ_FOREACH_FROM(obj, &obj_list, next) { Needed_Entry *needed; char *name, *path; bool is_lib; + if (obj->marker) + continue; if (list_containers && obj->needed != NULL) rtld_printf("%s:\n", obj->path); for (needed = obj->needed; needed; needed = needed->next) { @@ -4187,34 +4258,30 @@ trace_loaded_objects(Obj_Entry *obj) static void unload_object(Obj_Entry *root) { - Obj_Entry *obj; - Obj_Entry **linkp; + Obj_Entry *obj, *obj1; - assert(root->refcount == 0); + assert(root->refcount == 0); - /* - * Pass over the DAG removing unreferenced objects from - * appropriate lists. - */ - unlink_object(root); + /* + * Pass over the DAG removing unreferenced objects from + * appropriate lists. + */ + unlink_object(root); - /* Unmap all objects that are no longer referenced. */ - linkp = &obj_list->next; - while ((obj = *linkp) != NULL) { - if (obj->refcount == 0) { - LD_UTRACE(UTRACE_UNLOAD_OBJECT, obj, obj->mapbase, obj->mapsize, 0, - obj->path); - dbg("unloading \"%s\"", obj->path); - unload_filtees(root); - munmap(obj->mapbase, obj->mapsize); - linkmap_delete(obj); - *linkp = obj->next; - obj_count--; - obj_free(obj); - } else - linkp = &obj->next; - } - obj_tail = linkp; + /* Unmap all objects that are no longer referenced. */ + TAILQ_FOREACH_SAFE(obj, &obj_list, next, obj1) { + if (obj->marker || obj->refcount != 0) + continue; + LD_UTRACE(UTRACE_UNLOAD_OBJECT, obj, obj->mapbase, + obj->mapsize, 0, obj->path); + dbg("unloading \"%s\"", obj->path); + unload_filtees(root); + munmap(obj->mapbase, obj->mapsize); + linkmap_delete(obj); + TAILQ_REMOVE(&obj_list, obj, next); + obj_count--; + obj_free(obj); + } } static void @@ -4346,7 +4413,8 @@ allocate_tls(Obj_Entry *objs, void *oldt dtv[0] = tls_dtv_generation; dtv[1] = tls_max_index; - for (obj = objs; obj; obj = obj->next) { + for (obj = globallist_curr(objs); obj != NULL; + obj = globallist_next(obj)) { if (obj->tlsoffset > 0) { addr = (Elf_Addr)tls + obj->tlsoffset; if (obj->tlsinitsize > 0) @@ -4445,15 +4513,16 @@ allocate_tls(Obj_Entry *objs, void *oldt */ free_tls(oldtls, 2*sizeof(Elf_Addr), sizeof(Elf_Addr)); } else { - for (obj = objs; obj; obj = obj->next) { - if (obj->tlsoffset) { + obj = objs; + TAILQ_FOREACH_FROM(obj, &obj_list, next) { + if (obj->marker || obj->tlsoffset == 0) + continue; addr = segbase - obj->tlsoffset; memset((void*) (addr + obj->tlsinitsize), 0, obj->tlssize - obj->tlsinitsize); if (obj->tlsinit) memcpy((void*) addr, obj->tlsinit, obj->tlsinitsize); dtv[obj->tlsindex + 1] = addr; - } } } @@ -4502,7 +4571,9 @@ allocate_module_tls(int index) Obj_Entry* obj; char* p; - for (obj = obj_list; obj; obj = obj->next) { + TAILQ_FOREACH(obj, &obj_list, next) { + if (obj->marker) + continue; if (obj->tlsindex == index) break; } @@ -4581,7 +4652,8 @@ _rtld_allocate_tls(void *oldtls, size_t RtldLockState lockstate; wlock_acquire(rtld_bind_lock, &lockstate); - ret = allocate_tls(obj_list, oldtls, tcbsize, tcbalign); + ret = allocate_tls(globallist_curr(TAILQ_FIRST(&obj_list)), oldtls, + tcbsize, tcbalign); lock_release(rtld_bind_lock, &lockstate); return (ret); } Modified: stable/10/libexec/rtld-elf/rtld.h ============================================================================== --- stable/10/libexec/rtld-elf/rtld.h Sat Mar 12 17:06:45 2016 (r296726) +++ stable/10/libexec/rtld-elf/rtld.h Sat Mar 12 17:12:00 2016 (r296727) @@ -155,7 +155,7 @@ typedef struct Struct_Obj_Entry { Elf_Size magic; /* Magic number (sanity check) */ Elf_Size version; /* Version number of struct format */ - struct Struct_Obj_Entry *next; + TAILQ_ENTRY(Struct_Obj_Entry) next; char *path; /* Pathname of underlying file (%) */ char *origin_path; /* Directory path of origin file */ int refcount; @@ -277,6 +277,7 @@ typedef struct Struct_Obj_Entry { bool valid_hash_sysv : 1; /* A valid System V hash hash tag is available */ bool valid_hash_gnu : 1; /* A valid GNU hash tag is available */ bool dlopened : 1; /* dlopen()-ed (vs. load statically) */ + bool marker : 1; /* marker on the global obj list */ struct link_map linkmap; /* For GDB and dlinfo() */ Objlist dldags; /* Object belongs to these dlopened DAGs (%) */ @@ -289,6 +290,8 @@ typedef struct Struct_Obj_Entry { #define RTLD_MAGIC 0xd550b87a #define RTLD_VERSION 1 +TAILQ_HEAD(obj_entry_q, Struct_Obj_Entry); + #define RTLD_STATIC_TLS_EXTRA 128 /* Flags to be passed into symlook_ family of functions. */ @@ -380,6 +383,8 @@ const Elf_Sym *find_symdef(unsigned long void init_pltgot(Obj_Entry *); void lockdflt_init(void); void digest_notes(Obj_Entry *, Elf_Addr, Elf_Addr); +Obj_Entry *globallist_curr(const Obj_Entry *obj); +Obj_Entry *globallist_next(const Obj_Entry *obj); void obj_free(Obj_Entry *); Obj_Entry *obj_new(void); void _rtld_bind_start(void); Modified: stable/10/libexec/rtld-elf/sparc64/reloc.c ============================================================================== --- stable/10/libexec/rtld-elf/sparc64/reloc.c Sat Mar 12 17:06:45 2016 (r296726) +++ stable/10/libexec/rtld-elf/sparc64/reloc.c Sat Mar 12 17:12:00 2016 (r296727) @@ -266,8 +266,8 @@ do_copy_relocations(Obj_Entry *dstobj) ELF_R_SYM(rela->r_info)); req.flags = SYMLOOK_EARLY; - for (srcobj = dstobj->next; srcobj != NULL; - srcobj = srcobj->next) { + for (srcobj = globallist_next(dstobj); srcobj != NULL; + srcobj = globallist_next(srcobj)) { res = symlook_obj(&req, srcobj); if (res == 0) { srcsym = req.sym_out; From owner-svn-src-all@freebsd.org Sat Mar 12 17:17:35 2016 Return-Path: Delivered-To: svn-src-all@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 8E78DACEF7B; Sat, 12 Mar 2016 17:17:35 +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 5DEDFAF8; Sat, 12 Mar 2016 17:17:35 +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 u2CHHYtb038351; Sat, 12 Mar 2016 17:17:34 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CHHYfr038350; Sat, 12 Mar 2016 17:17:34 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603121717.u2CHHYfr038350@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 12 Mar 2016 17:17:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296728 - stable/10/sys/kern X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 17:17:35 -0000 Author: kib Date: Sat Mar 12 17:17:34 2016 New Revision: 296728 URL: https://svnweb.freebsd.org/changeset/base/296728 Log: MFC r295488: Finish r173600. There is no need to test a condition if both cases result in the same value. Modified: stable/10/sys/kern/subr_turnstile.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/kern/subr_turnstile.c ============================================================================== --- stable/10/sys/kern/subr_turnstile.c Sat Mar 12 17:12:00 2016 (r296727) +++ stable/10/sys/kern/subr_turnstile.c Sat Mar 12 17:17:34 2016 (r296728) @@ -1027,8 +1027,7 @@ print_thread(struct thread *td, const ch { db_printf("%s%p (tid %d, pid %d, \"%s\")\n", prefix, td, td->td_tid, - td->td_proc->p_pid, td->td_name[0] != '\0' ? td->td_name : - td->td_name); + td->td_proc->p_pid, td->td_name); } static void @@ -1110,8 +1109,7 @@ print_lockchain(struct thread *td, const */ while (!db_pager_quit) { db_printf("%sthread %d (pid %d, %s) ", prefix, td->td_tid, - td->td_proc->p_pid, td->td_name[0] != '\0' ? td->td_name : - td->td_name); + td->td_proc->p_pid, td->td_name); switch (td->td_state) { case TDS_INACTIVE: db_printf("is inactive\n"); @@ -1194,8 +1192,7 @@ print_sleepchain(struct thread *td, cons */ while (!db_pager_quit) { db_printf("%sthread %d (pid %d, %s) ", prefix, td->td_tid, - td->td_proc->p_pid, td->td_name[0] != '\0' ? td->td_name : - td->td_name); + td->td_proc->p_pid, td->td_name); switch (td->td_state) { case TDS_INACTIVE: db_printf("is inactive\n"); From owner-svn-src-all@freebsd.org Sat Mar 12 17:23:17 2016 Return-Path: Delivered-To: svn-src-all@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 63378ACD23F; Sat, 12 Mar 2016 17:23:17 +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 3AD78B0; Sat, 12 Mar 2016 17:23:17 +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 u2CHNGAJ041702; Sat, 12 Mar 2016 17:23:16 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CHNG5A041700; Sat, 12 Mar 2016 17:23:16 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603121723.u2CHNG5A041700@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 12 Mar 2016 17:23:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296729 - stable/10/sys/kern X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 17:23:17 -0000 Author: kib Date: Sat Mar 12 17:23:15 2016 New Revision: 296729 URL: https://svnweb.freebsd.org/changeset/base/296729 Log: MFC r295489: Remove useless checks for NULL before calling free(9), in the kernel elf linkers. Modified: stable/10/sys/kern/link_elf.c stable/10/sys/kern/link_elf_obj.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/kern/link_elf.c ============================================================================== --- stable/10/sys/kern/link_elf.c Sat Mar 12 17:17:34 2016 (r296728) +++ stable/10/sys/kern/link_elf.c Sat Mar 12 17:23:15 2016 (r296729) @@ -1027,10 +1027,8 @@ out: vn_close(nd.ni_vp, FREAD, td->td_ucred, td); if (error != 0 && lf != NULL) linker_file_unload(lf, LINKER_UNLOAD_FORCE); - if (shdr != NULL) - free(shdr, M_LINKER); - if (firstpage != NULL) - free(firstpage, M_LINKER); + free(shdr, M_LINKER); + free(firstpage, M_LINKER); return (error); } @@ -1092,19 +1090,13 @@ link_elf_unload_file(linker_file_t file) + (ef->object->size << PAGE_SHIFT)); } #else - if (ef->address != NULL) - free(ef->address, M_LINKER); + free(ef->address, M_LINKER); #endif - if (ef->symbase != NULL) - free(ef->symbase, M_LINKER); - if (ef->strbase != NULL) - free(ef->strbase, M_LINKER); - if (ef->ctftab != NULL) - free(ef->ctftab, M_LINKER); - if (ef->ctfoff != NULL) - free(ef->ctfoff, M_LINKER); - if (ef->typoff != NULL) - free(ef->typoff, M_LINKER); + free(ef->symbase, M_LINKER); + free(ef->strbase, M_LINKER); + free(ef->ctftab, M_LINKER); + free(ef->ctfoff, M_LINKER); + free(ef->typoff, M_LINKER); } static void Modified: stable/10/sys/kern/link_elf_obj.c ============================================================================== --- stable/10/sys/kern/link_elf_obj.c Sat Mar 12 17:17:34 2016 (r296728) +++ stable/10/sys/kern/link_elf_obj.c Sat Mar 12 17:23:15 2016 (r296729) @@ -896,8 +896,7 @@ out: vn_close(nd.ni_vp, FREAD, td->td_ucred, td); if (error && lf) linker_file_unload(lf, LINKER_UNLOAD_FORCE); - if (hdr) - free(hdr, M_LINKER); + free(hdr, M_LINKER); return error; } @@ -928,18 +927,12 @@ link_elf_unload_file(linker_file_t file) } } if (ef->preloaded) { - if (ef->reltab) - free(ef->reltab, M_LINKER); - if (ef->relatab) - free(ef->relatab, M_LINKER); - if (ef->progtab) - free(ef->progtab, M_LINKER); - if (ef->ctftab) - free(ef->ctftab, M_LINKER); - if (ef->ctfoff) - free(ef->ctfoff, M_LINKER); - if (ef->typoff) - free(ef->typoff, M_LINKER); + free(ef->reltab, M_LINKER); + free(ef->relatab, M_LINKER); + free(ef->progtab, M_LINKER); + free(ef->ctftab, M_LINKER); + free(ef->ctfoff, M_LINKER); + free(ef->typoff, M_LINKER); if (file->filename != NULL) preload_delete_name(file->filename); /* XXX reclaim module memory? */ @@ -947,37 +940,25 @@ link_elf_unload_file(linker_file_t file) } for (i = 0; i < ef->nreltab; i++) - if (ef->reltab[i].rel) - free(ef->reltab[i].rel, M_LINKER); + free(ef->reltab[i].rel, M_LINKER); for (i = 0; i < ef->nrelatab; i++) - if (ef->relatab[i].rela) - free(ef->relatab[i].rela, M_LINKER); - if (ef->reltab) - free(ef->reltab, M_LINKER); - if (ef->relatab) - free(ef->relatab, M_LINKER); - if (ef->progtab) - free(ef->progtab, M_LINKER); + free(ef->relatab[i].rela, M_LINKER); + free(ef->reltab, M_LINKER); + free(ef->relatab, M_LINKER); + free(ef->progtab, M_LINKER); if (ef->object) { vm_map_remove(kernel_map, (vm_offset_t) ef->address, (vm_offset_t) ef->address + (ef->object->size << PAGE_SHIFT)); } - if (ef->e_shdr) - free(ef->e_shdr, M_LINKER); - if (ef->ddbsymtab) - free(ef->ddbsymtab, M_LINKER); - if (ef->ddbstrtab) - free(ef->ddbstrtab, M_LINKER); - if (ef->shstrtab) - free(ef->shstrtab, M_LINKER); - if (ef->ctftab) - free(ef->ctftab, M_LINKER); - if (ef->ctfoff) - free(ef->ctfoff, M_LINKER); - if (ef->typoff) - free(ef->typoff, M_LINKER); + free(ef->e_shdr, M_LINKER); + free(ef->ddbsymtab, M_LINKER); + free(ef->ddbstrtab, M_LINKER); + free(ef->shstrtab, M_LINKER); + free(ef->ctftab, M_LINKER); + free(ef->ctfoff, M_LINKER); + free(ef->typoff, M_LINKER); } static const char * From owner-svn-src-all@freebsd.org Sat Mar 12 17:25:34 2016 Return-Path: Delivered-To: svn-src-all@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 9B2AFACD326; Sat, 12 Mar 2016 17:25:34 +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 6B61526C; Sat, 12 Mar 2016 17:25:34 +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 u2CHPXKp041905; Sat, 12 Mar 2016 17:25:33 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CHPXUI041904; Sat, 12 Mar 2016 17:25:33 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603121725.u2CHPXUI041904@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 12 Mar 2016 17:25:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296730 - stable/10/sys/dev/hwpmc X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 17:25:34 -0000 Author: kib Date: Sat Mar 12 17:25:33 2016 New Revision: 296730 URL: https://svnweb.freebsd.org/changeset/base/296730 Log: MFC r295352: Do not call vn_fullpath(9) (through the pmc_getfilename() wrapper) when its result is immediately ignored, i.e. for kernel processes forked from the user process. Do not test for non-null before freeing string. Modified: stable/10/sys/dev/hwpmc/hwpmc_mod.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/hwpmc/hwpmc_mod.c ============================================================================== --- stable/10/sys/dev/hwpmc/hwpmc_mod.c Sat Mar 12 17:23:15 2016 (r296729) +++ stable/10/sys/dev/hwpmc/hwpmc_mod.c Sat Mar 12 17:25:33 2016 (r296730) @@ -1014,14 +1014,14 @@ pmc_attach_one_process(struct proc *p, s /* issue an attach event to a configured log file */ if (pm->pm_owner->po_flags & PMC_PO_OWNS_LOGFILE) { - pmc_getfilename(p->p_textvp, &fullpath, &freepath); if (p->p_flag & P_KTHREAD) { fullpath = kernelname; freepath = NULL; - } else + } else { + pmc_getfilename(p->p_textvp, &fullpath, &freepath); pmclog_process_pmcattach(pm, p->p_pid, fullpath); - if (freepath) - free(freepath, M_TEMP); + } + free(freepath, M_TEMP); if (PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm))) pmc_log_process_mappings(pm->pm_owner, p); } From owner-svn-src-all@freebsd.org Sat Mar 12 17:28:32 2016 Return-Path: Delivered-To: svn-src-all@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 2D108ACD422; Sat, 12 Mar 2016 17:28:32 +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 F21F6639; Sat, 12 Mar 2016 17:28:31 +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 u2CHSVmm042165; Sat, 12 Mar 2016 17:28:31 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CHSU5f042164; Sat, 12 Mar 2016 17:28:30 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603121728.u2CHSU5f042164@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 12 Mar 2016 17:28:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296731 - stable/10/sys/kern X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 17:28:32 -0000 Author: kib Date: Sat Mar 12 17:28:30 2016 New Revision: 296731 URL: https://svnweb.freebsd.org/changeset/base/296731 Log: MFC r295391: Remove the assert which outlived its usefulness. Modified: stable/10/sys/kern/kern_proc.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/kern/kern_proc.c ============================================================================== --- stable/10/sys/kern/kern_proc.c Sat Mar 12 17:25:33 2016 (r296730) +++ stable/10/sys/kern/kern_proc.c Sat Mar 12 17:28:30 2016 (r296731) @@ -2908,6 +2908,12 @@ static SYSCTL_NODE(_kern_proc, KERN_PROC int allproc_gen; +/* + * stop_all_proc() purpose is to stop all process which have usermode, + * except current process for obvious reasons. This makes it somewhat + * unreliable when invoked from multithreaded process. The service + * must not be user-callable anyway. + */ void stop_all_proc(void) { @@ -2916,17 +2922,6 @@ stop_all_proc(void) bool restart, seen_stopped, seen_exiting, stopped_some; cp = curproc; - /* - * stop_all_proc() assumes that all process which have - * usermode must be stopped, except current process, for - * obvious reasons. Since other threads in the process - * establishing global stop could unstop something, disable - * calls from multithreaded processes as precaution. The - * service must not be user-callable anyway. - */ - KASSERT((cp->p_flag & P_HADTHREADS) == 0 || - (cp->p_flag & P_KTHREAD) != 0, ("mt stop_all_proc")); - allproc_loop: sx_xlock(&allproc_lock); gen = allproc_gen; @@ -3013,7 +3008,7 @@ resume_all_proc(void) sx_xunlock(&allproc_lock); } -#define TOTAL_STOP_DEBUG 1 +/* #define TOTAL_STOP_DEBUG 1 */ #ifdef TOTAL_STOP_DEBUG volatile static int ap_resume; #include From owner-svn-src-all@freebsd.org Sat Mar 12 17:33:43 2016 Return-Path: Delivered-To: svn-src-all@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 0A572ACD743; Sat, 12 Mar 2016 17:33:43 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C2A4AB58; Sat, 12 Mar 2016 17:33:42 +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 u2CHXfBM045134; Sat, 12 Mar 2016 17:33:41 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CHXfOn045126; Sat, 12 Mar 2016 17:33:41 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201603121733.u2CHXfOn045126@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 12 Mar 2016 17:33:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296732 - in stable/10/lib: libc/gen libc/include libc/sys libthr libthr/thread X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 17:33:43 -0000 Author: kib Date: Sat Mar 12 17:33:40 2016 New Revision: 296732 URL: https://svnweb.freebsd.org/changeset/base/296732 Log: MFC r295407: Make libc __pthread_map_stacks_exec() interposed. Modified: stable/10/lib/libc/gen/elf_utils.c stable/10/lib/libc/include/libc_private.h stable/10/lib/libc/sys/interposing_table.c stable/10/lib/libthr/pthread.map stable/10/lib/libthr/thread/thr_private.h stable/10/lib/libthr/thread/thr_stack.c stable/10/lib/libthr/thread/thr_syscalls.c Directory Properties: stable/10/ (props changed) Modified: stable/10/lib/libc/gen/elf_utils.c ============================================================================== --- stable/10/lib/libc/gen/elf_utils.c Sat Mar 12 17:28:30 2016 (r296731) +++ stable/10/lib/libc/gen/elf_utils.c Sat Mar 12 17:33:40 2016 (r296732) @@ -32,6 +32,7 @@ #include #include #include +#include "libc_private.h" int __elf_phdr_match_addr(struct dl_phdr_info *phdr_info, void *addr) @@ -51,9 +52,8 @@ __elf_phdr_match_addr(struct dl_phdr_inf return (i != phdr_info->dlpi_phnum); } -#pragma weak __pthread_map_stacks_exec void -__pthread_map_stacks_exec(void) +__libc_map_stacks_exec(void) { int mib[2]; struct rlimit rlim; @@ -72,3 +72,10 @@ __pthread_map_stacks_exec(void) rlim.rlim_cur, _rtld_get_stack_prot()); } +#pragma weak __pthread_map_stacks_exec +void +__pthread_map_stacks_exec(void) +{ + + ((void (*)(void))__libc_interposing[INTERPOS_map_stacks_exec])(); +} Modified: stable/10/lib/libc/include/libc_private.h ============================================================================== --- stable/10/lib/libc/include/libc_private.h Sat Mar 12 17:28:30 2016 (r296731) +++ stable/10/lib/libc/include/libc_private.h Sat Mar 12 17:33:40 2016 (r296732) @@ -224,6 +224,7 @@ enum { INTERPOS_kevent, INTERPOS_wait6, INTERPOS_ppoll, + INTERPOS_map_stacks_exec, INTERPOS_MAX }; @@ -390,6 +391,7 @@ int _elf_aux_info(int aux, void *buf, in struct dl_phdr_info; int __elf_phdr_match_addr(struct dl_phdr_info *, void *); void __init_elf_aux_vector(void); +void __libc_map_stacks_exec(); void _pthread_cancel_enter(int); void _pthread_cancel_leave(int); Modified: stable/10/lib/libc/sys/interposing_table.c ============================================================================== --- stable/10/lib/libc/sys/interposing_table.c Sat Mar 12 17:28:30 2016 (r296731) +++ stable/10/lib/libc/sys/interposing_table.c Sat Mar 12 17:33:40 2016 (r296732) @@ -78,6 +78,7 @@ interpos_func_t __libc_interposing[INTER SLOT(kevent, __sys_kevent), SLOT(wait6, __sys_wait6), SLOT(ppoll, __sys_ppoll), + SLOT(map_stacks_exec, __libc_map_stacks_exec), }; #undef SLOT Modified: stable/10/lib/libthr/pthread.map ============================================================================== --- stable/10/lib/libthr/pthread.map Sat Mar 12 17:28:30 2016 (r296731) +++ stable/10/lib/libthr/pthread.map Sat Mar 12 17:33:40 2016 (r296732) @@ -295,8 +295,6 @@ FBSDprivate_1.0 { _thread_size_key; _thread_state_running; _thread_state_zoombie; - - __pthread_map_stacks_exec; }; FBSD_1.1 { Modified: stable/10/lib/libthr/thread/thr_private.h ============================================================================== --- stable/10/lib/libthr/thread/thr_private.h Sat Mar 12 17:28:30 2016 (r296731) +++ stable/10/lib/libthr/thread/thr_private.h Sat Mar 12 17:33:40 2016 (r296732) @@ -928,6 +928,8 @@ int __thr_sigwait(const sigset_t *set, i int __thr_sigwaitinfo(const sigset_t *set, siginfo_t *info); int __thr_swapcontext(ucontext_t *oucp, const ucontext_t *ucp); +void __thr_map_stacks_exec(void); + struct _spinlock; void __thr_spinunlock(struct _spinlock *lck); void __thr_spinlock(struct _spinlock *lck); Modified: stable/10/lib/libthr/thread/thr_stack.c ============================================================================== --- stable/10/lib/libthr/thread/thr_stack.c Sat Mar 12 17:28:30 2016 (r296731) +++ stable/10/lib/libthr/thread/thr_stack.c Sat Mar 12 17:33:40 2016 (r296732) @@ -161,9 +161,8 @@ singlethread_map_stacks_exec(void) rlim.rlim_cur, _rtld_get_stack_prot()); } -void __pthread_map_stacks_exec(void); void -__pthread_map_stacks_exec(void) +__thr_map_stacks_exec(void) { struct pthread *curthread, *thrd; struct stack *st; Modified: stable/10/lib/libthr/thread/thr_syscalls.c ============================================================================== --- stable/10/lib/libthr/thread/thr_syscalls.c Sat Mar 12 17:28:30 2016 (r296731) +++ stable/10/lib/libthr/thread/thr_syscalls.c Sat Mar 12 17:33:40 2016 (r296732) @@ -664,6 +664,7 @@ __thr_interpose_libc(void) SLOT(kevent); SLOT(wait6); SLOT(ppoll); + SLOT(map_stacks_exec); #undef SLOT *(__libc_interposing_slot( INTERPOS__pthread_mutex_init_calloc_cb)) = From owner-svn-src-all@freebsd.org Sat Mar 12 18:36:14 2016 Return-Path: Delivered-To: svn-src-all@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 951D5ACEDD8; Sat, 12 Mar 2016 18:36:14 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 62B97B25; Sat, 12 Mar 2016 18:36:14 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CIaDjW063756; Sat, 12 Mar 2016 18:36:13 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CIaDTV063755; Sat, 12 Mar 2016 18:36:13 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603121836.u2CIaDTV063755@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 12 Mar 2016 18:36:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296733 - stable/10/contrib/smbfs/smbutil X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:36:14 -0000 Author: ngie Date: Sat Mar 12 18:36:13 2016 New Revision: 296733 URL: https://svnweb.freebsd.org/changeset/base/296733 Log: MFC r295118: Add #include to mute warning from clang/gcc about implicitly declaring strcmp(3) Modified: stable/10/contrib/smbfs/smbutil/print.c Directory Properties: stable/10/ (props changed) Modified: stable/10/contrib/smbfs/smbutil/print.c ============================================================================== --- stable/10/contrib/smbfs/smbutil/print.c Sat Mar 12 17:33:40 2016 (r296732) +++ stable/10/contrib/smbfs/smbutil/print.c Sat Mar 12 18:36:13 2016 (r296733) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include From owner-svn-src-all@freebsd.org Sat Mar 12 18:38:14 2016 Return-Path: Delivered-To: svn-src-all@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 DADC0ACEE7F; Sat, 12 Mar 2016 18:38:14 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 ACF2BC91; Sat, 12 Mar 2016 18:38:14 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CIcDQZ063885; Sat, 12 Mar 2016 18:38:13 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CIcDmB063884; Sat, 12 Mar 2016 18:38:13 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603121838.u2CIcDmB063884@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 12 Mar 2016 18:38:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296734 - stable/9/contrib/smbfs/smbutil X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:38:15 -0000 Author: ngie Date: Sat Mar 12 18:38:13 2016 New Revision: 296734 URL: https://svnweb.freebsd.org/changeset/base/296734 Log: MFstable/10 r296733: MFC r295118: Add #include to mute warning from clang/gcc about implicitly declaring strcmp(3) Modified: stable/9/contrib/smbfs/smbutil/print.c Directory Properties: stable/9/ (props changed) stable/9/contrib/ (props changed) stable/9/contrib/smbfs/ (props changed) Modified: stable/9/contrib/smbfs/smbutil/print.c ============================================================================== --- stable/9/contrib/smbfs/smbutil/print.c Sat Mar 12 18:36:13 2016 (r296733) +++ stable/9/contrib/smbfs/smbutil/print.c Sat Mar 12 18:38:13 2016 (r296734) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include From owner-svn-src-all@freebsd.org Sat Mar 12 18:38:52 2016 Return-Path: Delivered-To: svn-src-all@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 8A6BBACEEF0; Sat, 12 Mar 2016 18:38:52 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5C279DE2; Sat, 12 Mar 2016 18:38:52 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CIcpgD063965; Sat, 12 Mar 2016 18:38:51 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CIcpIT063964; Sat, 12 Mar 2016 18:38:51 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201603121838.u2CIcpIT063964@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 12 Mar 2016 18:38:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296735 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:38:52 -0000 Author: dim Date: Sat Mar 12 18:38:51 2016 New Revision: 296735 URL: https://svnweb.freebsd.org/changeset/base/296735 Log: Fix the following gcc warnings on sparc64, when TCP_OFFLOAD is not defined: sys/dev/cxgbe/t4_main.c:7474: warning: 'sysctl_tp_tick' defined but not used sys/dev/cxgbe/t4_main.c:7505: warning: 'sysctl_tp_dack_timer' defined but not used sys/dev/cxgbe/t4_main.c:7519: warning: 'sysctl_tp_timer' defined but not used This just adds a bunch of #ifdef TCP_OFFLOAD in the right places. Reviewed by: np Differential Revision: https://reviews.freebsd.org/D5620 Modified: head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Sat Mar 12 18:38:13 2016 (r296734) +++ head/sys/dev/cxgbe/t4_main.c Sat Mar 12 18:38:51 2016 (r296735) @@ -491,9 +491,11 @@ static int sysctl_tx_rate(SYSCTL_HANDLER static int sysctl_ulprx_la(SYSCTL_HANDLER_ARGS); static int sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS); #endif +#ifdef TCP_OFFLOAD static int sysctl_tp_tick(SYSCTL_HANDLER_ARGS); static int sysctl_tp_dack_timer(SYSCTL_HANDLER_ARGS); static int sysctl_tp_timer(SYSCTL_HANDLER_ARGS); +#endif static uint32_t fconf_iconf_to_mode(uint32_t, uint32_t); static uint32_t mode_to_fconf(uint32_t); static uint32_t mode_to_iconf(uint32_t); @@ -7455,6 +7457,7 @@ sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS) } #endif +#ifdef TCP_OFFLOAD static void unit_conv(char *buf, size_t len, u_int val, u_int factor) { @@ -7538,6 +7541,7 @@ sysctl_tp_timer(SYSCTL_HANDLER_ARGS) return (sysctl_handle_long(oidp, &v, 0, req)); } +#endif static uint32_t fconf_iconf_to_mode(uint32_t fconf, uint32_t iconf) From owner-svn-src-all@freebsd.org Sat Mar 12 18:40:53 2016 Return-Path: Delivered-To: svn-src-all@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 284C7ACEFAA; Sat, 12 Mar 2016 18:40:53 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 E9DA2CB; Sat, 12 Mar 2016 18:40:52 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CIepRJ064086; Sat, 12 Mar 2016 18:40:51 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CIepol064085; Sat, 12 Mar 2016 18:40:51 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603121840.u2CIepol064085@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 12 Mar 2016 18:40:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296736 - stable/10/sbin/rcorder X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:40:53 -0000 Author: ngie Date: Sat Mar 12 18:40:51 2016 New Revision: 296736 URL: https://svnweb.freebsd.org/changeset/base/296736 Log: MFC r295119: Remove `r_tmp` to fix a -Wunused-but-set-variable warning with gcc 4.9 Modified: stable/10/sbin/rcorder/rcorder.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sbin/rcorder/rcorder.c ============================================================================== --- stable/10/sbin/rcorder/rcorder.c Sat Mar 12 18:38:51 2016 (r296735) +++ stable/10/sbin/rcorder/rcorder.c Sat Mar 12 18:40:51 2016 (r296736) @@ -701,7 +701,7 @@ keep_ok(filenode *fnode) static void do_file(filenode *fnode) { - f_reqnode *r, *r_tmp; + f_reqnode *r; f_provnode *p, *p_tmp; provnode *pnode; int was_set; @@ -728,13 +728,8 @@ do_file(filenode *fnode) */ r = fnode->req_list; while (r != NULL) { - r_tmp = r; satisfy_req(r, fnode->filename); r = r->next; -#if 0 - if (was_set == 0) - free(r_tmp); -#endif } fnode->req_list = NULL; From owner-svn-src-all@freebsd.org Sat Mar 12 18:41:28 2016 Return-Path: Delivered-To: svn-src-all@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 7E376ACC031; Sat, 12 Mar 2016 18:41:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BF702E5; Sat, 12 Mar 2016 18:41:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CIfRYn066128; Sat, 12 Mar 2016 18:41:27 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CIfRCt066127; Sat, 12 Mar 2016 18:41:27 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121841.u2CIfRCt066127@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 18:41:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296737 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:41:28 -0000 Author: bdrewery Date: Sat Mar 12 18:41:27 2016 New Revision: 296737 URL: https://svnweb.freebsd.org/changeset/base/296737 Log: Follow-up r296709: Fix build32 not properly building all libraries. Pointyhat to: bdrewery Reported by: antoine Modified: head/Makefile.libcompat Modified: head/Makefile.libcompat ============================================================================== --- head/Makefile.libcompat Sat Mar 12 18:40:51 2016 (r296736) +++ head/Makefile.libcompat Sat Mar 12 18:41:27 2016 (r296737) @@ -85,9 +85,9 @@ LIBCOMPATCFLAGS+= --sysroot=${WORLDTMP} .endif _LC_LIBDIRS.yes= lib gnu/lib -_LC_LIBDIRS.${MK_CDDL:tl}= cddl/lib -_LC_LIBDIRS.${MK_CRYPT:tl}= secure/lib -_LC_LIBDIRS.${MK_KERBEROS:tl}= kerberos5/lib +_LC_LIBDIRS.${MK_CDDL:tl}+= cddl/lib +_LC_LIBDIRS.${MK_CRYPT:tl}+= secure/lib +_LC_LIBDIRS.${MK_KERBEROS:tl}+= kerberos5/lib # Shared logic build${libcompat}: .PHONY From owner-svn-src-all@freebsd.org Sat Mar 12 18:47:29 2016 Return-Path: Delivered-To: svn-src-all@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 E2135ACC242; Sat, 12 Mar 2016 18:47:29 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 AF5077B8; Sat, 12 Mar 2016 18:47:29 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CIlSoV067003; Sat, 12 Mar 2016 18:47:28 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CIlSvG067002; Sat, 12 Mar 2016 18:47:28 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603121847.u2CIlSvG067002@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 12 Mar 2016 18:47:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296738 - stable/9/sbin/rcorder X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:47:30 -0000 Author: ngie Date: Sat Mar 12 18:47:28 2016 New Revision: 296738 URL: https://svnweb.freebsd.org/changeset/base/296738 Log: MFstable/10 r296736: MFC r295119: Remove `r_tmp` to fix a -Wunused-but-set-variable warning with gcc 4.9 Modified: stable/9/sbin/rcorder/rcorder.c Directory Properties: stable/9/ (props changed) stable/9/sbin/ (props changed) stable/9/sbin/rcorder/ (props changed) Modified: stable/9/sbin/rcorder/rcorder.c ============================================================================== --- stable/9/sbin/rcorder/rcorder.c Sat Mar 12 18:41:27 2016 (r296737) +++ stable/9/sbin/rcorder/rcorder.c Sat Mar 12 18:47:28 2016 (r296738) @@ -702,7 +702,7 @@ keep_ok(filenode *fnode) void do_file(filenode *fnode) { - f_reqnode *r, *r_tmp; + f_reqnode *r; f_provnode *p, *p_tmp; provnode *pnode; int was_set; @@ -729,13 +729,8 @@ do_file(filenode *fnode) */ r = fnode->req_list; while (r != NULL) { - r_tmp = r; satisfy_req(r, fnode->filename); r = r->next; -#if 0 - if (was_set == 0) - free(r_tmp); -#endif } fnode->req_list = NULL; From owner-svn-src-all@freebsd.org Sat Mar 12 18:49:03 2016 Return-Path: Delivered-To: svn-src-all@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 89011ACC2C6; Sat, 12 Mar 2016 18:49:03 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from mail.made4.biz (mail.made4.biz [IPv6:2001:41d0:2:c018::1:3]) (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 54A3E909; Sat, 12 Mar 2016 18:49:03 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from [176.158.145.63] (helo=magellan.dumbbell.fr) by mail.made4.biz with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86 (FreeBSD)) (envelope-from ) id 1aeoaz-000CWn-9m; Sat, 12 Mar 2016 19:49:01 +0100 Subject: Re: svn commit: r296720 - head/sys/dev/drm2/i915 To: Konstantin Belousov References: <201603121154.u2CBswhx034030@repo.freebsd.org> <20160312142711.GG1741@kib.kiev.ua> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Message-ID: <56E46498.8000208@FreeBSD.org> Date: Sat, 12 Mar 2016 19:48:56 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <20160312142711.GG1741@kib.kiev.ua> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="xWBF23Lh6pG8fCAEcIjcQufqtvGKU2KvB" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:49:03 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --xWBF23Lh6pG8fCAEcIjcQufqtvGKU2KvB Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 12/03/2016 15:27, Konstantin Belousov wrote: > It may be that the time come to remove i915_intr_pf tunable, and always= > take device lock non-interruptible in i915 fault handler. TTM behaves > that way, and I think that situations where I used interruptible page > handlers, AFAIR to kill X or other gem clients in case of OOM, really n= ot > useful to users. Ok, I will follow your advice. Thank you! --=20 Jean-S=E9bastien P=E9dron --xWBF23Lh6pG8fCAEcIjcQufqtvGKU2KvB Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJW5GSdXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NzA4N0ZEMUFFQUUwRTEyREJDNkE2RjAz OUU5OTc2MUE1RkQ5NENDAAoJEDnpl2Gl/ZTMrGwQAL0PIFCjdGeQIuegKNqX8pfr MV05kb78VwW9MROc1SmUyAJHmi/n7yXs0uF0mHu7jMd1WyszCdoGeBFYBLqwxhEt Q8mhQ5X5hc5Xz49HH69/5II4n6uR2JhrhyCbGVIaaJM7TYysXvUtaCZpEEf1t7YL n652+nG/3O0MMUPFhZa95PAJT0DDvAcc56bvAyfWLg20d+r50SHBxm/mEahNjwC7 xxinjpQ2+UQFY/qAjJVi2peNrCs/qwAw2dckzE/C9TV9TeVdERSWJav0X7/uww4I 0CjzMTZ47G2+SV5NFk4PFfEwmGz0JcycZgLDp5qQBojaSZLu+WxPmHeC3GdiuCyj klokXmdAbah34tfLFgi5pkyjIQ/EIDTgwjMzd1XILzCOnBeN636e6zvcF3CW1dej 8g9Gz4+L75Zrs1igXbmcb0lkOVpHSjoeiFJtJ7Zi5otMqXaQmuiGZJNipbFBXAPO GhWs9nnUtrEGKRw1QroYlQG3OxBMBBO9THF1sBBGUaMaRrWg37pSRTjwmoyS9L4Q 5srRPl5Kx3dMn1nk1KXBjhhUUBQUOq6ExqO2nokAWIHfILnT5MhGsk5wQqyNpjZt DD4g5sROhURY9KRh2udshKX+xZGeZOiSKg9O8jfTvIp4Ukwflo6haocPyZ/Nx1yB FqVWtEF6XMKZ2xS+5DMW =MzNL -----END PGP SIGNATURE----- --xWBF23Lh6pG8fCAEcIjcQufqtvGKU2KvB-- From owner-svn-src-all@freebsd.org Sat Mar 12 18:51:39 2016 Return-Path: Delivered-To: svn-src-all@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 B0CC4ACC3C9; Sat, 12 Mar 2016 18:51:39 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7D86AB38; Sat, 12 Mar 2016 18:51:39 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CIpcFe069178; Sat, 12 Mar 2016 18:51:38 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CIpc5t069177; Sat, 12 Mar 2016 18:51:38 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121851.u2CIpc5t069177@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 18:51:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296739 - stable/10/share/mk X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:51:39 -0000 Author: bdrewery Date: Sat Mar 12 18:51:38 2016 New Revision: 296739 URL: https://svnweb.freebsd.org/changeset/base/296739 Log: MFC r295976: PROGS: Only recurse on called targets like done for SUBDIR in r291635. Modified: stable/10/share/mk/bsd.progs.mk Directory Properties: stable/10/ (props changed) Modified: stable/10/share/mk/bsd.progs.mk ============================================================================== --- stable/10/share/mk/bsd.progs.mk Sat Mar 12 18:47:28 2016 (r296738) +++ stable/10/share/mk/bsd.progs.mk Sat Mar 12 18:51:38 2016 (r296739) @@ -144,6 +144,8 @@ $p.$t: .PHONY .MAKE # Depend main pseudo targets on all PROG.pseudo targets too. .for t in ${PROGS_TARGETS:O:u} +.if make(${t}) $t: ${PROGS:%=%.$t} +.endif .endfor .endif # !empty(PROGS) && !defined(_RECURSING_PROGS) && !defined(PROG) From owner-svn-src-all@freebsd.org Sat Mar 12 18:54:03 2016 Return-Path: Delivered-To: svn-src-all@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 BCF16ACC5C9; Sat, 12 Mar 2016 18:54:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 89CA9DFB; Sat, 12 Mar 2016 18:54:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CIs2fH069930; Sat, 12 Mar 2016 18:54:02 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CIs2LI069928; Sat, 12 Mar 2016 18:54:02 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121854.u2CIs2LI069928@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 18:54:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296740 - in stable/10/usr.bin: mkcsmapper_static mkesdb_static X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:54:03 -0000 Author: bdrewery Date: Sat Mar 12 18:54:02 2016 New Revision: 296740 URL: https://svnweb.freebsd.org/changeset/base/296740 Log: MFC r295977: Properly fix these builds by adding NO_WMISSING_VARIABLE_DECLARATIONS from r249657. Modified: stable/10/usr.bin/mkcsmapper_static/Makefile stable/10/usr.bin/mkesdb_static/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.bin/mkcsmapper_static/Makefile ============================================================================== --- stable/10/usr.bin/mkcsmapper_static/Makefile Sat Mar 12 18:51:38 2016 (r296739) +++ stable/10/usr.bin/mkcsmapper_static/Makefile Sat Mar 12 18:54:02 2016 (r296740) @@ -7,6 +7,7 @@ SRCS= citrus_bcs.c citrus_db_factory.c c citrus_lookup_factory.c citrus_pivot_factory.c MAN= NO_SHARED= yes +NO_WMISSING_VARIABLE_DECLARATIONS= build-tools: mkcsmapper_static Modified: stable/10/usr.bin/mkesdb_static/Makefile ============================================================================== --- stable/10/usr.bin/mkesdb_static/Makefile Sat Mar 12 18:51:38 2016 (r296739) +++ stable/10/usr.bin/mkesdb_static/Makefile Sat Mar 12 18:54:02 2016 (r296740) @@ -7,6 +7,7 @@ SRCS= citrus_bcs.c citrus_db_factory.c c citrus_lookup_factory.c MAN= NO_SHARED= yes +NO_WMISSING_VARIABLE_DECLARATIONS= build-tools: mkesdb_static From owner-svn-src-all@freebsd.org Sat Mar 12 18:55:18 2016 Return-Path: Delivered-To: svn-src-all@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 0B39FACC6C1; Sat, 12 Mar 2016 18:55:18 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D04B3F7C; Sat, 12 Mar 2016 18:55:17 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CItGIm070053; Sat, 12 Mar 2016 18:55:16 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CItGVK070052; Sat, 12 Mar 2016 18:55:16 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121855.u2CItGVK070052@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 18:55:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296741 - stable/10 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:55:18 -0000 Author: bdrewery Date: Sat Mar 12 18:55:16 2016 New Revision: 296741 URL: https://svnweb.freebsd.org/changeset/base/296741 Log: MFC r295980: Support a WANT_MAKE_VERSION. Modified: stable/10/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/Makefile ============================================================================== --- stable/10/Makefile Sat Mar 12 18:54:02 2016 (r296740) +++ stable/10/Makefile Sat Mar 12 18:55:16 2016 (r296741) @@ -331,11 +331,9 @@ kernel: buildkernel installkernel # Perform a few tests to determine if the installed tools are adequate # for building the world. # -# Note: if we ever need to care about the version of bmake, simply testing -# MAKE_VERSION against a required version should suffice. -# upgrade_checks: -.if ${HAVE_MAKE} != ${WANT_MAKE} +.if ${HAVE_MAKE} != ${WANT_MAKE} || \ + (defined(WANT_MAKE_VERSION) && ${MAKE_VERSION} < ${WANT_MAKE_VERSION}) @(cd ${.CURDIR} && ${MAKE} ${WANT_MAKE:S,^f,,}) .elif ${WANT_MAKE} == "fmake" @if ! (cd ${.CURDIR}/tools/build/make_check && \ From owner-svn-src-all@freebsd.org Sat Mar 12 18:55:50 2016 Return-Path: Delivered-To: svn-src-all@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 203EAACC75B; Sat, 12 Mar 2016 18:55:50 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 E566C17F; Sat, 12 Mar 2016 18:55:49 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CItmdM070124; Sat, 12 Mar 2016 18:55:48 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CItmrB070123; Sat, 12 Mar 2016 18:55:48 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603121855.u2CItmrB070123@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 12 Mar 2016 18:55:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296742 - stable/10/sbin/swapon X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:55:50 -0000 Author: ngie Date: Sat Mar 12 18:55:48 2016 New Revision: 296742 URL: https://svnweb.freebsd.org/changeset/base/296742 Log: MFC r295121: Delete argsize to fix a -Wunused-but-set-variable warning with gcc 4.9 The variable isn't actually checked -- just the end result which gets returned from the function Modified: stable/10/sbin/swapon/swapon.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sbin/swapon/swapon.c ============================================================================== --- stable/10/sbin/swapon/swapon.c Sat Mar 12 18:55:16 2016 (r296741) +++ stable/10/sbin/swapon/swapon.c Sat Mar 12 18:55:48 2016 (r296742) @@ -315,7 +315,7 @@ swap_on_geli_args(const char *mntops) const char *aalgo, *ealgo, *keylen_str, *sectorsize_str; const char *aflag, *eflag, *lflag, *sflag; char *p, *args, *token, *string, *ops; - int argsize, pagesize; + int pagesize; size_t pagesize_len; u_long ul; @@ -387,7 +387,7 @@ swap_on_geli_args(const char *mntops) sectorsize_str = p; } - argsize = asprintf(&args, "%s%s%s%s%s%s%s%s -d", + (void)asprintf(&args, "%s%s%s%s%s%s%s%s -d", aflag, aalgo, eflag, ealgo, lflag, keylen_str, sflag, sectorsize_str); From owner-svn-src-all@freebsd.org Sat Mar 12 18:57:35 2016 Return-Path: Delivered-To: svn-src-all@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 AD4B7ACC86E; Sat, 12 Mar 2016 18:57:35 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7E03131C; Sat, 12 Mar 2016 18:57:35 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CIvYas070260; Sat, 12 Mar 2016 18:57:34 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CIvYaY070259; Sat, 12 Mar 2016 18:57:34 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121857.u2CIvYaY070259@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 18:57:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296743 - stable/10/share/mk X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:57:35 -0000 Author: bdrewery Date: Sat Mar 12 18:57:34 2016 New Revision: 296743 URL: https://svnweb.freebsd.org/changeset/base/296743 Log: MFC r295994,r296000: r295994: PROGS: Remove the 'build one' optimization since it breaks 'build multiple' r296000: PROGS: Only the main process will install INCS. Modified: stable/10/share/mk/bsd.progs.mk Directory Properties: stable/10/ (props changed) Modified: stable/10/share/mk/bsd.progs.mk ============================================================================== --- stable/10/share/mk/bsd.progs.mk Sat Mar 12 18:55:48 2016 (r296742) +++ stable/10/share/mk/bsd.progs.mk Sat Mar 12 18:57:34 2016 (r296743) @@ -31,18 +31,6 @@ UPDATE_DEPENDFILE_PROG = ${PROGS:[1]} UPDATE_DEPENDFILE_PROG?= no .endif -.ifndef PROG -# They may have asked us to build just one -.for t in ${PROGS} -.if make($t) -.if ${PROGS_CXX:U:M${t}} -PROG_CXX ?= $t -.endif -PROG ?= $t -.endif -.endfor -.endif - .if defined(PROG) # just one of many PROG_OVERRIDE_VARS += BINDIR BINGRP BINOWN BINMODE DPSRCS MAN NO_WERROR \ @@ -82,7 +70,7 @@ UPDATE_DEPENDFILE = NO # These are handled by the main make process. .ifdef _RECURSING_PROGS -_PROGS_GLOBAL_VARS= CLEANFILES CLEANDIRS FILESGROUPS SCRIPTS +_PROGS_GLOBAL_VARS= CLEANFILES CLEANDIRS FILESGROUPS INCSGROUPS SCRIPTS .for v in ${_PROGS_GLOBAL_VARS} $v = .endfor From owner-svn-src-all@freebsd.org Sat Mar 12 18:59:05 2016 Return-Path: Delivered-To: svn-src-all@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 61FC7ACC966; Sat, 12 Mar 2016 18:59:05 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 23C766DD; Sat, 12 Mar 2016 18:59:05 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CIx4Xr070393; Sat, 12 Mar 2016 18:59:04 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CIx4Rr070392; Sat, 12 Mar 2016 18:59:04 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121859.u2CIx4Rr070392@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 18:59:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296744 - stable/10/gnu/lib/libgcc X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:59:05 -0000 Author: bdrewery Date: Sat Mar 12 18:59:03 2016 New Revision: 296744 URL: https://svnweb.freebsd.org/changeset/base/296744 Log: MFC r296002,r296012: r296002: Don't hide AR command as bsd.lib.mk's r283925 changed as well. r296012: OBJS and POBJS have not been used since r215127. Modified: stable/10/gnu/lib/libgcc/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/gnu/lib/libgcc/Makefile ============================================================================== --- stable/10/gnu/lib/libgcc/Makefile Sat Mar 12 18:57:34 2016 (r296743) +++ stable/10/gnu/lib/libgcc/Makefile Sat Mar 12 18:59:03 2016 (r296744) @@ -31,7 +31,7 @@ LDFLAGS+= -nodefaultlibs DPADD+= ${LIBC} LDADD+= -lc -OBJS= # added to below in various ways depending on TARGET_CPUARCH +SOBJS= # added to below in various ways depending on TARGET_CPUARCH #--------------------------------------------------------------------------- # @@ -227,7 +227,7 @@ OBJ_GRPS += FPBIT DPBIT ${T}_OBJS_T = ${${T}_FUNCS:S/$/.o/} ${T}_OBJS_P = ${${T}_FUNCS:S/$/.po/} ${T}_OBJS_S = ${${T}_FUNCS:S/$/.So/} -OBJS += ${${T}_FUNCS:S/$/.o/} +SOBJS += ${${T}_FUNCS:S/$/.So/} ${${T}_OBJS_T}: ${${T}_CFILE} ${COMMONHDRS} ${CC_T} ${${T}_CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} @@ -242,9 +242,7 @@ ${${T}_OBJS_S}: ${${T}_CFILE} ${COMMONHD # Extra objects coming from separate files # .if !empty(LIB2ADD) -OBJS += ${LIB2ADD:R:S/$/.o/} SOBJS += ${LIB2ADD:R:S/$/.So/} -POBJS += ${LIB2ADD:R:S/$/.po/} .endif #----------------------------------------------------------------------- @@ -270,7 +268,7 @@ ASM_T = ${LIB1ASMFUNCS:S/$/.o/} ASM_P = ${LIB1ASMFUNCS:S/$/.po/} ASM_S = ${LIB1ASMFUNCS:S/$/.So/} ASM_V = ${LIB1ASMFUNCS:S/$/.vis/} -OBJS += ${LIB1ASMFUNCS:S/$/.o/} +SOBJS += ${LIB1ASMFUNCS:S/$/.So/} ${ASM_T}: ${LIB1ASMSRC} ${.PREFIX}.vis ${CC} -x assembler-with-cpp -c ${CFLAGS} -DL${.PREFIX} \ @@ -335,7 +333,7 @@ SHLIB_MAPFILES += ${GCCDIR}/config/arm/ .endif VERSION_MAP = libgcc.map -libgcc.map: ${SHLIB_MKMAP} ${SHLIB_MAPFILES} ${SOBJS} ${OBJS:R:S/$/.So/} +libgcc.map: ${SHLIB_MKMAP} ${SHLIB_MAPFILES} ${SOBJS} ( ${NM} -pg ${SOBJS};echo %% ; \ cat ${SHLIB_MAPFILES} \ | sed -e '/^[ ]*#/d' \ @@ -352,7 +350,7 @@ CLEANFILES += libgcc.map libgcc_eh.a: ${EH_OBJS_T} @${ECHO} building static gcc_eh library @rm -f ${.TARGET} - @${AR} ${ARFLAGS} ${.TARGET} `lorder ${EH_OBJS_T} | tsort -q` + ${AR} ${ARFLAGS} ${.TARGET} `lorder ${EH_OBJS_T} | tsort -q` ${RANLIB} ${RANLIBFLAGS} ${.TARGET} all: libgcc_eh.a @@ -361,7 +359,7 @@ all: libgcc_eh.a libgcc_eh_p.a: ${EH_OBJS_P} @${ECHO} building profiled gcc_eh library @rm -f ${.TARGET} - @${AR} ${ARFLAGS} ${.TARGET} `lorder ${EH_OBJS_P} | tsort -q` + ${AR} ${ARFLAGS} ${.TARGET} `lorder ${EH_OBJS_P} | tsort -q` ${RANLIB} ${RANLIBFLAGS} ${.TARGET} all: libgcc_eh_p.a .endif From owner-svn-src-all@freebsd.org Sat Mar 12 18:59:58 2016 Return-Path: Delivered-To: svn-src-all@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 4902BACC9C6; Sat, 12 Mar 2016 18:59:58 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0B57989E; Sat, 12 Mar 2016 18:59:57 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CIxvgg070466; Sat, 12 Mar 2016 18:59:57 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CIxvtD070465; Sat, 12 Mar 2016 18:59:57 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121859.u2CIxvtD070465@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 18:59:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296745 - stable/9/gnu/lib/libgcc X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 18:59:58 -0000 Author: bdrewery Date: Sat Mar 12 18:59:56 2016 New Revision: 296745 URL: https://svnweb.freebsd.org/changeset/base/296745 Log: MFC r296002,r296012: r296002: Don't hide AR command as bsd.lib.mk's r283925 changed as well. r296012: OBJS and POBJS have not been used since r215127. Modified: stable/9/gnu/lib/libgcc/Makefile Directory Properties: stable/9/gnu/lib/libgcc/ (props changed) Modified: stable/9/gnu/lib/libgcc/Makefile ============================================================================== --- stable/9/gnu/lib/libgcc/Makefile Sat Mar 12 18:59:03 2016 (r296744) +++ stable/9/gnu/lib/libgcc/Makefile Sat Mar 12 18:59:56 2016 (r296745) @@ -30,7 +30,7 @@ CFLAGS+= -DIN_GCC -DIN_LIBGCC2 -D__GCC_F LDFLAGS+= -nodefaultlibs LDADD+= -lc -OBJS= # added to below in various ways depending on TARGET_CPUARCH +SOBJS= # added to below in various ways depending on TARGET_CPUARCH #--------------------------------------------------------------------------- # @@ -219,7 +219,7 @@ OBJ_GRPS += FPBIT DPBIT ${T}_OBJS_T = ${${T}_FUNCS:S/$/.o/} ${T}_OBJS_P = ${${T}_FUNCS:S/$/.po/} ${T}_OBJS_S = ${${T}_FUNCS:S/$/.So/} -OBJS += ${${T}_FUNCS:S/$/.o/} +SOBJS += ${${T}_FUNCS:S/$/.So/} ${${T}_OBJS_T}: ${${T}_CFILE} ${COMMONHDRS} ${CC_T} ${${T}_CFLAGS} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} @@ -234,9 +234,7 @@ ${${T}_OBJS_S}: ${${T}_CFILE} ${COMMONHD # Extra objects coming from separate files # .if !empty(LIB2ADD) -OBJS += ${LIB2ADD:R:S/$/.o/} SOBJS += ${LIB2ADD:R:S/$/.So/} -POBJS += ${LIB2ADD:R:S/$/.po/} .endif #----------------------------------------------------------------------- @@ -262,7 +260,7 @@ ASM_T = ${LIB1ASMFUNCS:S/$/.o/} ASM_P = ${LIB1ASMFUNCS:S/$/.po/} ASM_S = ${LIB1ASMFUNCS:S/$/.So/} ASM_V = ${LIB1ASMFUNCS:S/$/.vis/} -OBJS += ${LIB1ASMFUNCS:S/$/.o/} +SOBJS += ${LIB1ASMFUNCS:S/$/.So/} ${ASM_T}: ${LIB1ASMSRC} ${.PREFIX}.vis ${CC} -x assembler-with-cpp -c ${CFLAGS} -DL${.PREFIX} \ @@ -324,7 +322,7 @@ SHLIB_MKMAP_OPTS = SHLIB_MAPFILES = ${GCCDIR}/libgcc-std.ver VERSION_MAP = libgcc.map -libgcc.map: ${SHLIB_MKMAP} ${SHLIB_MAPFILES} ${SOBJS} ${OBJS:R:S/$/.So/} +libgcc.map: ${SHLIB_MKMAP} ${SHLIB_MAPFILES} ${SOBJS} ( nm -pg ${SOBJS};echo %% ; \ cat ${SHLIB_MAPFILES} \ | sed -e '/^[ ]*#/d' \ @@ -341,7 +339,7 @@ CLEANFILES += libgcc.map libgcc_eh.a: ${EH_OBJS_T} @${ECHO} building static gcc_eh library @rm -f ${.TARGET} - @${AR} cq ${.TARGET} `lorder ${EH_OBJS_T} | tsort -q` + ${AR} cq ${.TARGET} `lorder ${EH_OBJS_T} | tsort -q` ${RANLIB} ${.TARGET} all: libgcc_eh.a @@ -350,7 +348,7 @@ all: libgcc_eh.a libgcc_eh_p.a: ${EH_OBJS_P} @${ECHO} building profiled gcc_eh library @rm -f ${.TARGET} - @${AR} cq ${.TARGET} `lorder ${EH_OBJS_P} | tsort -q` + ${AR} cq ${.TARGET} `lorder ${EH_OBJS_P} | tsort -q` ${RANLIB} ${.TARGET} all: libgcc_eh_p.a .endif From owner-svn-src-all@freebsd.org Sat Mar 12 19:00:44 2016 Return-Path: Delivered-To: svn-src-all@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 1C054ACCA61; Sat, 12 Mar 2016 19:00:44 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 DD8B3A0C; Sat, 12 Mar 2016 19:00:43 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJ0gpn070576; Sat, 12 Mar 2016 19:00:42 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJ0gif070575; Sat, 12 Mar 2016 19:00:42 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603121900.u2CJ0gif070575@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 12 Mar 2016 19:00:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296746 - stable/10/tests/sys/acl X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:00:44 -0000 Author: ngie Date: Sat Mar 12 19:00:42 2016 New Revision: 296746 URL: https://svnweb.freebsd.org/changeset/base/296746 Log: MFC r295341,r295345: r295341: Require /bin/getfacl and /bin/setfacl when running the acl tests For cases where these utilities aren't installed, the tests would fail today in a non-intuitive manner on sub-testcase #3 in each of the test scripts r295345: Use basenames for getfacl, setfacl, and zpool to work around the fact that Jenkins hardcodes image sizes to 2GB with the FreeBSD_HEAD job This is to stop the unnecessary failure emails because we've gone over the 2GB limit Modified: stable/10/tests/sys/acl/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/tests/sys/acl/Makefile ============================================================================== --- stable/10/tests/sys/acl/Makefile Sat Mar 12 18:59:56 2016 (r296745) +++ stable/10/tests/sys/acl/Makefile Sat Mar 12 19:00:42 2016 (r296746) @@ -22,8 +22,14 @@ TAP_TESTS_SH+= 04 TEST_METADATA.$t+= required_user="root" .endfor +_ACL_PROGS= getfacl setfacl + .for t in 01 03 04 -TEST_METADATA.$t+= required_programs="/sbin/zpool" +TEST_METADATA.$t+= required_programs="zpool ${_ACL_PROGS}" +.endfor + +.for t in 00 02 +TEST_METADATA.$t+= required_programs="${_ACL_PROGS}" .endfor .include From owner-svn-src-all@freebsd.org Sat Mar 12 19:01:46 2016 Return-Path: Delivered-To: svn-src-all@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 80741ACCBF4; Sat, 12 Mar 2016 19:01:46 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 51616CDF; Sat, 12 Mar 2016 19:01:46 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJ1jnP073281; Sat, 12 Mar 2016 19:01:45 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJ1j6K073280; Sat, 12 Mar 2016 19:01:45 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121901.u2CJ1j6K073280@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 19:01:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296747 - stable/9 X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:01:46 -0000 Author: bdrewery Date: Sat Mar 12 19:01:45 2016 New Revision: 296747 URL: https://svnweb.freebsd.org/changeset/base/296747 Log: MFC r295161,r296014: r295161: Add order for installworld/distribution. r296014: Add order for installworld/installkernel. Modified: stable/9/Makefile (contents, props changed) Modified: stable/9/Makefile ============================================================================== --- stable/9/Makefile Sat Mar 12 19:00:42 2016 (r296746) +++ stable/9/Makefile Sat Mar 12 19:01:45 2016 (r296747) @@ -113,6 +113,8 @@ TGTS+= ${BITGTS} .ORDER: buildworld installworld .ORDER: buildworld distributeworld .ORDER: buildworld buildkernel +.ORDER: installworld distribution +.ORDER: installworld installkernel .ORDER: buildkernel installkernel .ORDER: buildkernel installkernel.debug .ORDER: buildkernel reinstallkernel From owner-svn-src-all@freebsd.org Sat Mar 12 19:02:21 2016 Return-Path: Delivered-To: svn-src-all@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 5EDF4ACCC79; Sat, 12 Mar 2016 19:02:21 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2FF43EA6; Sat, 12 Mar 2016 19:02:21 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJ2Keb073342; Sat, 12 Mar 2016 19:02:20 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJ2KPO073341; Sat, 12 Mar 2016 19:02:20 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121902.u2CJ2KPO073341@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 19:02:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296748 - stable/10 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:02:21 -0000 Author: bdrewery Date: Sat Mar 12 19:02:20 2016 New Revision: 296748 URL: https://svnweb.freebsd.org/changeset/base/296748 Log: MFC r295161,r296014: r295161: Add order for installworld/distribution. r296014: Add order for installworld/installkernel. Modified: stable/10/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/Makefile ============================================================================== --- stable/10/Makefile Sat Mar 12 19:01:45 2016 (r296747) +++ stable/10/Makefile Sat Mar 12 19:02:20 2016 (r296748) @@ -123,6 +123,8 @@ TGTS+= ${BITGTS} .ORDER: buildworld installworld .ORDER: buildworld distributeworld .ORDER: buildworld buildkernel +.ORDER: installworld distribution +.ORDER: installworld installkernel .ORDER: buildkernel installkernel .ORDER: buildkernel installkernel.debug .ORDER: buildkernel reinstallkernel From owner-svn-src-all@freebsd.org Sat Mar 12 19:05:43 2016 Return-Path: Delivered-To: svn-src-all@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 040BCACCDA5; Sat, 12 Mar 2016 19:05:43 +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 C61261E9; Sat, 12 Mar 2016 19:05:42 +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 u2CJ5fSL073680; Sat, 12 Mar 2016 19:05:41 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJ5fJ5073679; Sat, 12 Mar 2016 19:05:41 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603121905.u2CJ5fJ5073679@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 12 Mar 2016 19:05:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296749 - head/sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:05:43 -0000 Author: emaste Date: Sat Mar 12 19:05:41 2016 New Revision: 296749 URL: https://svnweb.freebsd.org/changeset/base/296749 Log: Bump __FreeBSD_version for libelf cross-endian fix in r296685 Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Sat Mar 12 19:02:20 2016 (r296748) +++ head/sys/sys/param.h Sat Mar 12 19:05:41 2016 (r296749) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1100101 /* Master, propagated to newvers */ +#define __FreeBSD_version 1100102 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@freebsd.org Sat Mar 12 19:05:50 2016 Return-Path: Delivered-To: svn-src-all@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 BB6DDACCDCE; Sat, 12 Mar 2016 19:05:50 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 95ECA369; Sat, 12 Mar 2016 19:05:50 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJ5nHv073736; Sat, 12 Mar 2016 19:05:49 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJ5nMU073735; Sat, 12 Mar 2016 19:05:49 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603121905.u2CJ5nMU073735@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 12 Mar 2016 19:05:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296750 - stable/10/contrib/netbsd-tests/lib/libc/sys X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:05:50 -0000 Author: ngie Date: Sat Mar 12 19:05:49 2016 New Revision: 296750 URL: https://svnweb.freebsd.org/changeset/base/296750 Log: MFC r294894: Adjust vm.max_wired in order to avoid hitting EAGAIN artificially Set vm.max_wired to INT_MAX in :mlock_err, :mlock_mmap, and :mlock_nested to avoid hitting EAGAIN artificially on the system when running the tests Require root privileges in order to set the sysctl Add allow_sysctl_side_effects to require.config as this test is now adjusting sysctls that can affect the global system state Unlike the version submitted by cem in OneFS, this version uses a scratch file to save/restore the previous value of the sysctl. I _really_, _really_ wish there were better hooks in atf/kyua for per test suite setup/teardown -- using a file is kludgy, but it's the best I can do to avoid situations where (for instance), sysctl(3) may fail and drop a core outside the kyua sandbox. Based on a patch submitted by cem, but modified to take business logic out of ATF_TP_ADD_TCS(3). Modified: stable/10/contrib/netbsd-tests/lib/libc/sys/t_mlock.c Directory Properties: stable/10/ (props changed) Modified: stable/10/contrib/netbsd-tests/lib/libc/sys/t_mlock.c ============================================================================== --- stable/10/contrib/netbsd-tests/lib/libc/sys/t_mlock.c Sat Mar 12 19:05:41 2016 (r296749) +++ stable/10/contrib/netbsd-tests/lib/libc/sys/t_mlock.c Sat Mar 12 19:05:49 2016 (r296750) @@ -47,12 +47,89 @@ __RCSID("$NetBSD: t_mlock.c,v 1.5 2014/0 #include #ifdef __FreeBSD__ +#include #define _KMEMUSER #include #endif static long page = 0; +#ifdef __FreeBSD__ +#define VM_MAX_WIRED "vm.max_wired" + +static void +vm_max_wired_sysctl(int *old_value, int *new_value) +{ + size_t old_len; + size_t new_len = (new_value == NULL ? 0 : sizeof(int)); + + if (old_value == NULL) + printf("Setting the new value to %d\n", *new_value); + else { + ATF_REQUIRE_MSG(sysctlbyname(VM_MAX_WIRED, NULL, &old_len, + new_value, new_len) == 0, + "sysctlbyname(%s) failed: %s", VM_MAX_WIRED, strerror(errno)); + } + + ATF_REQUIRE_MSG(sysctlbyname(VM_MAX_WIRED, old_value, &old_len, + new_value, new_len) == 0, + "sysctlbyname(%s) failed: %s", VM_MAX_WIRED, strerror(errno)); + + if (old_value != NULL) + printf("Saved the old value (%d)\n", *old_value); +} + +static void +set_vm_max_wired(int new_value) +{ + FILE *fp; + int old_value; + + fp = fopen(VM_MAX_WIRED, "w"); + if (fp == NULL) { + atf_tc_skip("could not open %s for writing: %s", + VM_MAX_WIRED, strerror(errno)); + return; + } + + vm_max_wired_sysctl(&old_value, NULL); + + ATF_REQUIRE_MSG(fprintf(fp, "%d", old_value) > 0, + "saving %s failed", VM_MAX_WIRED); + + fclose(fp); + + vm_max_wired_sysctl(NULL, &new_value); +} + +static void +restore_vm_max_wired(void) +{ + FILE *fp; + int saved_max_wired; + + fp = fopen(VM_MAX_WIRED, "r"); + if (fp == NULL) { + perror("fopen failed\n"); + return; + } + + if (fscanf(fp, "%d", &saved_max_wired) != 1) { + perror("fscanf failed\n"); + fclose(fp); + return; + } + + fclose(fp); + printf("old value in %s: %d\n", VM_MAX_WIRED, saved_max_wired); + + if (saved_max_wired == 0) /* This will cripple the test host */ + return; + + vm_max_wired_sysctl(NULL, &saved_max_wired); +} +#endif + ATF_TC(mlock_clip); ATF_TC_HEAD(mlock_clip, tc) { @@ -78,11 +155,19 @@ ATF_TC_BODY(mlock_clip, tc) free(buf); } +#ifdef __FreeBSD__ +ATF_TC_WITH_CLEANUP(mlock_err); +#else ATF_TC(mlock_err); +#endif ATF_TC_HEAD(mlock_err, tc) { atf_tc_set_md_var(tc, "descr", "Test error conditions in mlock(2) and munlock(2)"); +#ifdef __FreeBSD__ + atf_tc_set_md_var(tc, "require.config", "allow_sysctl_side_effects"); + atf_tc_set_md_var(tc, "require.user", "root"); +#endif } ATF_TC_BODY(mlock_err, tc) @@ -99,6 +184,8 @@ ATF_TC_BODY(mlock_err, tc) if ((uintptr_t)VM_MIN_ADDRESS > 0) null_errno = EINVAL; /* NULL is not inside user VM */ #endif + /* Set max_wired really really high to avoid EAGAIN */ + set_vm_max_wired(INT_MAX); #else if (sysctlbyname("vm.minaddress", &vmin, &len, NULL, 0) != 0) atf_tc_fail("failed to read vm.minaddress"); @@ -139,6 +226,14 @@ ATF_TC_BODY(mlock_err, tc) ATF_REQUIRE_ERRNO(ENOMEM, munlock(invalid_ptr, page) == -1); } +#ifdef __FreeBSD__ +ATF_TC_CLEANUP(mlock_err, tc) +{ + + restore_vm_max_wired(); +} +#endif + ATF_TC(mlock_limits); ATF_TC_HEAD(mlock_limits, tc) { @@ -200,10 +295,18 @@ ATF_TC_BODY(mlock_limits, tc) free(buf); } +#ifdef __FreeBSD__ +ATF_TC_WITH_CLEANUP(mlock_mmap); +#else ATF_TC(mlock_mmap); +#endif ATF_TC_HEAD(mlock_mmap, tc) { atf_tc_set_md_var(tc, "descr", "Test mlock(2)-mmap(2) interaction"); +#ifdef __FreeBSD__ + atf_tc_set_md_var(tc, "require.config", "allow_sysctl_side_effects"); + atf_tc_set_md_var(tc, "require.user", "root"); +#endif } ATF_TC_BODY(mlock_mmap, tc) @@ -215,6 +318,11 @@ ATF_TC_BODY(mlock_mmap, tc) #endif void *buf; +#ifdef __FreeBSD__ + /* Set max_wired really really high to avoid EAGAIN */ + set_vm_max_wired(INT_MAX); +#endif + /* * Make a wired RW mapping and check that mlock(2) * does not fail for the (already locked) mapping. @@ -248,11 +356,27 @@ ATF_TC_BODY(mlock_mmap, tc) ATF_REQUIRE(munmap(buf, page) == 0); } +#ifdef __FreeBSD__ +ATF_TC_CLEANUP(mlock_mmap, tc) +{ + + restore_vm_max_wired(); +} +#endif + +#ifdef __FreeBSD__ +ATF_TC_WITH_CLEANUP(mlock_nested); +#else ATF_TC(mlock_nested); +#endif ATF_TC_HEAD(mlock_nested, tc) { atf_tc_set_md_var(tc, "descr", "Test that consecutive mlock(2) calls succeed"); +#ifdef __FreeBSD__ + atf_tc_set_md_var(tc, "require.config", "allow_sysctl_side_effects"); + atf_tc_set_md_var(tc, "require.user", "root"); +#endif } ATF_TC_BODY(mlock_nested, tc) @@ -260,6 +384,11 @@ ATF_TC_BODY(mlock_nested, tc) const size_t maxiter = 100; void *buf; +#ifdef __FreeBSD__ + /* Set max_wired really really high to avoid EAGAIN */ + set_vm_max_wired(INT_MAX); +#endif + buf = malloc(page); ATF_REQUIRE(buf != NULL); @@ -270,6 +399,14 @@ ATF_TC_BODY(mlock_nested, tc) free(buf); } +#ifdef __FreeBSD__ +ATF_TC_CLEANUP(mlock_nested, tc) +{ + + restore_vm_max_wired(); +} +#endif + ATF_TP_ADD_TCS(tp) { From owner-svn-src-all@freebsd.org Sat Mar 12 19:07:09 2016 Return-Path: Delivered-To: svn-src-all@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 C1FEDACCE93; Sat, 12 Mar 2016 19:07:09 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 836E7753; Sat, 12 Mar 2016 19:07:09 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJ78VS073854; Sat, 12 Mar 2016 19:07:08 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJ78tI073850; Sat, 12 Mar 2016 19:07:08 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121907.u2CJ78tI073850@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 19:07:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296751 - in stable/9: share/man/man4 sys/dev/filemon X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:07:10 -0000 Author: bdrewery Date: Sat Mar 12 19:07:08 2016 New Revision: 296751 URL: https://svnweb.freebsd.org/changeset/base/296751 Log: MFC r296286,r296470,r296472,r296473,r296575: r296286: Remove filemon->lock wrappers. r296470: Only call bwillwrite() for logging to vnodes, as other fo_write() calls do. r296472: Require kldunload -f to unload. r296473: Add missing break for r296472. r296575: FILEMON_SET_FD: Disallow changing the fd. Modified: stable/9/share/man/man4/filemon.4 stable/9/sys/dev/filemon/filemon.c stable/9/sys/dev/filemon/filemon_lock.c stable/9/sys/dev/filemon/filemon_wrapper.c Directory Properties: stable/9/share/man/man4/ (props changed) stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/share/man/man4/filemon.4 ============================================================================== --- stable/9/share/man/man4/filemon.4 Sat Mar 12 19:05:49 2016 (r296750) +++ stable/9/share/man/man4/filemon.4 Sat Mar 12 19:07:08 2016 (r296751) @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 28, 2016 +.Dd March 9, 2016 .Dt FILEMON 4 .Os .Sh NAME @@ -124,6 +124,19 @@ function returns the value 0 if successf otherwise the value \-1 is returned and the global variable .Va errno is set to indicate the error. +.Sh ERRORS +The +.Fn ioctl +system call +with +.Dv FILEMON_SET_FD +will fail if: +.Bl -tag -width Er +.It Bq Er EEXIST +The +.Nm +handle is already associated with a file descriptor. +.El .Sh FILES .Bl -tag -width ".Pa /dev/filemon" .It Pa /dev/filemon @@ -195,3 +208,6 @@ Only children of the set process are log Processes can escape being traced by double forking. This is not seen as a problem as the intended use is build monitoring, which does not make sense to have daemons for. +.Pp +Unloading the module may panic the system, thus requires using +.Ic kldunload -f . Modified: stable/9/sys/dev/filemon/filemon.c ============================================================================== --- stable/9/sys/dev/filemon/filemon.c Sat Mar 12 19:05:49 2016 (r296750) +++ stable/9/sys/dev/filemon/filemon.c Sat Mar 12 19:07:08 2016 (r296751) @@ -71,8 +71,6 @@ extern struct sysentvec elf64_freebsd_sy static d_close_t filemon_close; static d_ioctl_t filemon_ioctl; static d_open_t filemon_open; -static int filemon_unload(void); -static void filemon_load(void *); static struct cdevsw filemon_cdevsw = { .d_version = D_VERSION, @@ -130,7 +128,7 @@ filemon_dtr(void *data) /* Follow same locking order as filemon_pid_check. */ filemon_lock_write(); - filemon_filemon_lock(filemon); + sx_xlock(&filemon->lock); /* Remove from the in-use list. */ TAILQ_REMOVE(&filemons_inuse, filemon, link); @@ -143,7 +141,7 @@ filemon_dtr(void *data) TAILQ_INSERT_TAIL(&filemons_free, filemon, link); /* Give up write access. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); filemon_unlock_write(); if (fp != NULL) @@ -162,13 +160,15 @@ filemon_ioctl(struct cdev *dev, u_long c if ((error = devfs_get_cdevpriv((void **) &filemon)) != 0) return (error); - filemon_filemon_lock(filemon); + sx_xlock(&filemon->lock); switch (cmd) { /* Set the output file descriptor. */ case FILEMON_SET_FD: - if (filemon->fp != NULL) - fdrop(filemon->fp, td); + if (filemon->fp != NULL) { + error = EEXIST; + break; + } #if __FreeBSD_version < 900041 #define FGET_WRITE(a1, a2, a3) fget_write((a1), (a2), (a3)) @@ -195,7 +195,7 @@ filemon_ioctl(struct cdev *dev, u_long c break; } - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); return (error); } @@ -305,6 +305,14 @@ filemon_modevent(module_t mod __unused, error = filemon_unload(); break; + case MOD_QUIESCE: + /* + * The wrapper implementation is unsafe for reliable unload. + * Require forcing an unload. + */ + error = EBUSY; + break; + case MOD_SHUTDOWN: break; Modified: stable/9/sys/dev/filemon/filemon_lock.c ============================================================================== --- stable/9/sys/dev/filemon/filemon_lock.c Sat Mar 12 19:05:49 2016 (r296750) +++ stable/9/sys/dev/filemon/filemon_lock.c Sat Mar 12 19:07:08 2016 (r296751) @@ -29,20 +29,6 @@ __FBSDID("$FreeBSD$"); static __inline void -filemon_filemon_lock(struct filemon *filemon) -{ - - sx_xlock(&filemon->lock); -} - -static __inline void -filemon_filemon_unlock(struct filemon *filemon) -{ - - sx_xunlock(&filemon->lock); -} - -static __inline void filemon_lock_read(void) { Modified: stable/9/sys/dev/filemon/filemon_wrapper.c ============================================================================== --- stable/9/sys/dev/filemon/filemon_wrapper.c Sat Mar 12 19:05:49 2016 (r296750) +++ stable/9/sys/dev/filemon/filemon_wrapper.c Sat Mar 12 19:07:08 2016 (r296751) @@ -80,7 +80,8 @@ filemon_output(struct filemon *filemon, auio.uio_td = curthread; auio.uio_offset = (off_t) -1; - bwillwrite(); + if (filemon->fp->f_type == DTYPE_VNODE) + bwillwrite(); fo_write(filemon->fp, &auio, curthread->td_ucred, 0, curthread); } @@ -100,7 +101,7 @@ filemon_pid_check(struct proc *p) TAILQ_FOREACH(filemon, &filemons_inuse, link) { if (p == filemon->p) { sx_sunlock(&proctree_lock); - filemon_filemon_lock(filemon); + sx_xlock(&filemon->lock); filemon_unlock_read(); return (filemon); } @@ -131,8 +132,7 @@ filemon_wrapper_chdir(struct thread *td, filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -160,8 +160,7 @@ filemon_event_process_exec(void *arg __u filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); free(freepath, M_TEMP); } @@ -199,8 +198,7 @@ filemon_wrapper_open(struct thread *td, curproc->p_pid, filemon->fname1); filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -252,8 +250,7 @@ filemon_wrapper_openat(struct thread *td curproc->p_pid, filemon->fname2, filemon->fname1); filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -281,8 +278,7 @@ filemon_wrapper_rename(struct thread *td filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -310,8 +306,7 @@ filemon_wrapper_link(struct thread *td, filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -339,8 +334,7 @@ filemon_wrapper_symlink(struct thread *t filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -369,8 +363,7 @@ filemon_wrapper_linkat(struct thread *td filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -397,8 +390,7 @@ filemon_wrapper_stat(struct thread *td, filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -426,8 +418,7 @@ filemon_wrapper_freebsd32_stat(struct th filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -462,8 +453,7 @@ filemon_event_process_exit(void *arg __u filemon->p = NULL; } - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -486,8 +476,7 @@ filemon_wrapper_unlink(struct thread *td filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -508,8 +497,7 @@ filemon_event_process_fork(void *arg __u filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } From owner-svn-src-all@freebsd.org Sat Mar 12 19:07:23 2016 Return-Path: Delivered-To: svn-src-all@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 0EF8BACCF0F; Sat, 12 Mar 2016 19:07:23 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C66B688B; Sat, 12 Mar 2016 19:07:22 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJ7LVa073908; Sat, 12 Mar 2016 19:07:21 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJ7LcM073904; Sat, 12 Mar 2016 19:07:21 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121907.u2CJ7LcM073904@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 19:07:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296752 - in stable/10: share/man/man4 sys/dev/filemon X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:07:23 -0000 Author: bdrewery Date: Sat Mar 12 19:07:21 2016 New Revision: 296752 URL: https://svnweb.freebsd.org/changeset/base/296752 Log: MFC r296286,r296470,r296472,r296473,r296575: r296286: Remove filemon->lock wrappers. r296470: Only call bwillwrite() for logging to vnodes, as other fo_write() calls do. r296472: Require kldunload -f to unload. r296473: Add missing break for r296472. r296575: FILEMON_SET_FD: Disallow changing the fd. Modified: stable/10/share/man/man4/filemon.4 stable/10/sys/dev/filemon/filemon.c stable/10/sys/dev/filemon/filemon_lock.c stable/10/sys/dev/filemon/filemon_wrapper.c Directory Properties: stable/10/ (props changed) Modified: stable/10/share/man/man4/filemon.4 ============================================================================== --- stable/10/share/man/man4/filemon.4 Sat Mar 12 19:07:08 2016 (r296751) +++ stable/10/share/man/man4/filemon.4 Sat Mar 12 19:07:21 2016 (r296752) @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 28, 2016 +.Dd March 9, 2016 .Dt FILEMON 4 .Os .Sh NAME @@ -125,6 +125,19 @@ function returns the value 0 if successf otherwise the value \-1 is returned and the global variable .Va errno is set to indicate the error. +.Sh ERRORS +The +.Fn ioctl +system call +with +.Dv FILEMON_SET_FD +will fail if: +.Bl -tag -width Er +.It Bq Er EEXIST +The +.Nm +handle is already associated with a file descriptor. +.El .Sh FILES .Bl -tag -width ".Pa /dev/filemon" .It Pa /dev/filemon @@ -193,3 +206,6 @@ Only children of the set process are log Processes can escape being traced by double forking. This is not seen as a problem as the intended use is build monitoring, which does not make sense to have daemons for. +.Pp +Unloading the module may panic the system, thus requires using +.Ic kldunload -f . Modified: stable/10/sys/dev/filemon/filemon.c ============================================================================== --- stable/10/sys/dev/filemon/filemon.c Sat Mar 12 19:07:08 2016 (r296751) +++ stable/10/sys/dev/filemon/filemon.c Sat Mar 12 19:07:21 2016 (r296752) @@ -71,8 +71,6 @@ extern struct sysentvec elf64_freebsd_sy static d_close_t filemon_close; static d_ioctl_t filemon_ioctl; static d_open_t filemon_open; -static int filemon_unload(void); -static void filemon_load(void *); static struct cdevsw filemon_cdevsw = { .d_version = D_VERSION, @@ -130,7 +128,7 @@ filemon_dtr(void *data) /* Follow same locking order as filemon_pid_check. */ filemon_lock_write(); - filemon_filemon_lock(filemon); + sx_xlock(&filemon->lock); /* Remove from the in-use list. */ TAILQ_REMOVE(&filemons_inuse, filemon, link); @@ -143,7 +141,7 @@ filemon_dtr(void *data) TAILQ_INSERT_TAIL(&filemons_free, filemon, link); /* Give up write access. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); filemon_unlock_write(); if (fp != NULL) @@ -165,13 +163,15 @@ filemon_ioctl(struct cdev *dev, u_long c if ((error = devfs_get_cdevpriv((void **) &filemon)) != 0) return (error); - filemon_filemon_lock(filemon); + sx_xlock(&filemon->lock); switch (cmd) { /* Set the output file descriptor. */ case FILEMON_SET_FD: - if (filemon->fp != NULL) - fdrop(filemon->fp, td); + if (filemon->fp != NULL) { + error = EEXIST; + break; + } error = fget_write(td, *(int *)data, #if __FreeBSD_version >= 900041 @@ -198,7 +198,7 @@ filemon_ioctl(struct cdev *dev, u_long c break; } - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); return (error); } @@ -308,6 +308,14 @@ filemon_modevent(module_t mod __unused, error = filemon_unload(); break; + case MOD_QUIESCE: + /* + * The wrapper implementation is unsafe for reliable unload. + * Require forcing an unload. + */ + error = EBUSY; + break; + case MOD_SHUTDOWN: break; Modified: stable/10/sys/dev/filemon/filemon_lock.c ============================================================================== --- stable/10/sys/dev/filemon/filemon_lock.c Sat Mar 12 19:07:08 2016 (r296751) +++ stable/10/sys/dev/filemon/filemon_lock.c Sat Mar 12 19:07:21 2016 (r296752) @@ -29,20 +29,6 @@ __FBSDID("$FreeBSD$"); static __inline void -filemon_filemon_lock(struct filemon *filemon) -{ - - sx_xlock(&filemon->lock); -} - -static __inline void -filemon_filemon_unlock(struct filemon *filemon) -{ - - sx_xunlock(&filemon->lock); -} - -static __inline void filemon_lock_read(void) { Modified: stable/10/sys/dev/filemon/filemon_wrapper.c ============================================================================== --- stable/10/sys/dev/filemon/filemon_wrapper.c Sat Mar 12 19:07:08 2016 (r296751) +++ stable/10/sys/dev/filemon/filemon_wrapper.c Sat Mar 12 19:07:21 2016 (r296752) @@ -80,7 +80,8 @@ filemon_output(struct filemon *filemon, auio.uio_td = curthread; auio.uio_offset = (off_t) -1; - bwillwrite(); + if (filemon->fp->f_type == DTYPE_VNODE) + bwillwrite(); fo_write(filemon->fp, &auio, curthread->td_ucred, 0, curthread); } @@ -100,7 +101,7 @@ filemon_pid_check(struct proc *p) TAILQ_FOREACH(filemon, &filemons_inuse, link) { if (p == filemon->p) { sx_sunlock(&proctree_lock); - filemon_filemon_lock(filemon); + sx_xlock(&filemon->lock); filemon_unlock_read(); return (filemon); } @@ -131,8 +132,7 @@ filemon_wrapper_chdir(struct thread *td, filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -160,8 +160,7 @@ filemon_event_process_exec(void *arg __u filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); free(freepath, M_TEMP); } @@ -199,8 +198,7 @@ filemon_wrapper_open(struct thread *td, curproc->p_pid, filemon->fname1); filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -252,8 +250,7 @@ filemon_wrapper_openat(struct thread *td curproc->p_pid, filemon->fname2, filemon->fname1); filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -281,8 +278,7 @@ filemon_wrapper_rename(struct thread *td filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -310,8 +306,7 @@ filemon_wrapper_link(struct thread *td, filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -339,8 +334,7 @@ filemon_wrapper_symlink(struct thread *t filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -369,8 +363,7 @@ filemon_wrapper_linkat(struct thread *td filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -397,8 +390,7 @@ filemon_wrapper_stat(struct thread *td, filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -426,8 +418,7 @@ filemon_wrapper_freebsd32_stat(struct th filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -462,8 +453,7 @@ filemon_event_process_exit(void *arg __u filemon->p = NULL; } - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -486,8 +476,7 @@ filemon_wrapper_unlink(struct thread *td filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } @@ -508,8 +497,7 @@ filemon_event_process_fork(void *arg __u filemon_output(filemon, filemon->msgbufr, len); - /* Unlock the found filemon structure. */ - filemon_filemon_unlock(filemon); + sx_xunlock(&filemon->lock); } } From owner-svn-src-all@freebsd.org Sat Mar 12 19:08:14 2016 Return-Path: Delivered-To: svn-src-all@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 A28D0ACD000; Sat, 12 Mar 2016 19:08:14 +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 752639F6; Sat, 12 Mar 2016 19:08:14 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJ8DYF073985; Sat, 12 Mar 2016 19:08:13 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJ8Drd073984; Sat, 12 Mar 2016 19:08:13 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603121908.u2CJ8Drd073984@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 12 Mar 2016 19:08:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296753 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:08:14 -0000 Author: emaste Date: Sat Mar 12 19:08:13 2016 New Revision: 296753 URL: https://svnweb.freebsd.org/changeset/base/296753 Log: Bump BOOTSTRAPPING test for libelf after cross-endian fix in r296685 Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Sat Mar 12 19:07:21 2016 (r296752) +++ head/Makefile.inc1 Sat Mar 12 19:08:13 2016 (r296753) @@ -1272,7 +1272,8 @@ update: # # ELF Tool Chain libraries are needed for ELF tools and dtrace tools. -.if ${BOOTSTRAPPING} < 1100006 +# r296685 fix cross-endian objcopy +.if ${BOOTSTRAPPING} < 1100102 _elftoolchain_libs= lib/libelf lib/libdwarf .endif From owner-svn-src-all@freebsd.org Sat Mar 12 19:08:48 2016 Return-Path: Delivered-To: svn-src-all@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 272D1ACD04E; Sat, 12 Mar 2016 19:08:48 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ECA71B64; Sat, 12 Mar 2016 19:08:47 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJ8kvu074043; Sat, 12 Mar 2016 19:08:46 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJ8kxk074042; Sat, 12 Mar 2016 19:08:46 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121908.u2CJ8kxk074042@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 19:08:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296754 - stable/9/share/man/man9 X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:08:48 -0000 Author: bdrewery Date: Sat Mar 12 19:08:46 2016 New Revision: 296754 URL: https://svnweb.freebsd.org/changeset/base/296754 Log: MFC r296322: Remove self-reference to destroy_dev_drain(9). Modified: stable/9/share/man/man9/make_dev.9 Directory Properties: stable/9/share/man/man9/ (props changed) Modified: stable/9/share/man/man9/make_dev.9 ============================================================================== --- stable/9/share/man/man9/make_dev.9 Sat Mar 12 19:08:13 2016 (r296753) +++ stable/9/share/man/man9/make_dev.9 Sat Mar 12 19:08:46 2016 (r296754) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 3, 2011 +.Dd March 2, 2016 .Dt MAKE_DEV 9 .Os .Sh NAME @@ -372,7 +372,6 @@ flag was specified and the provided devi .Sh SEE ALSO .Xr devctl 4 , .Xr devfs 5 , -.Xr destroy_dev_drain 9 , .Xr dev_clone 9 .Sh HISTORY The From owner-svn-src-all@freebsd.org Sat Mar 12 19:09:00 2016 Return-Path: Delivered-To: svn-src-all@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 5BD95ACD0B3; Sat, 12 Mar 2016 19:09:00 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2D54BCA5; Sat, 12 Mar 2016 19:09:00 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJ8xjZ074092; Sat, 12 Mar 2016 19:08:59 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJ8xC4074091; Sat, 12 Mar 2016 19:08:59 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121908.u2CJ8xC4074091@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 19:08:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296755 - stable/10/share/man/man9 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:09:00 -0000 Author: bdrewery Date: Sat Mar 12 19:08:58 2016 New Revision: 296755 URL: https://svnweb.freebsd.org/changeset/base/296755 Log: MFC r296322: Remove self-reference to destroy_dev_drain(9). Modified: stable/10/share/man/man9/make_dev.9 Directory Properties: stable/10/ (props changed) Modified: stable/10/share/man/man9/make_dev.9 ============================================================================== --- stable/10/share/man/man9/make_dev.9 Sat Mar 12 19:08:46 2016 (r296754) +++ stable/10/share/man/man9/make_dev.9 Sat Mar 12 19:08:58 2016 (r296755) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd Jan 3, 2016 +.Dd March 2, 2016 .Dt MAKE_DEV 9 .Os .Sh NAME @@ -460,7 +460,6 @@ flag was specified and the provided devi .Sh SEE ALSO .Xr devctl 4 , .Xr devfs 5 , -.Xr destroy_dev_drain 9 , .Xr dev_clone 9 .Sh HISTORY The From owner-svn-src-all@freebsd.org Sat Mar 12 19:09:53 2016 Return-Path: Delivered-To: svn-src-all@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 3BCB5ACD17D; Sat, 12 Mar 2016 19:09:53 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 099E0EEA; Sat, 12 Mar 2016 19:09:52 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJ9pqm074299; Sat, 12 Mar 2016 19:09:51 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJ9pBM074298; Sat, 12 Mar 2016 19:09:51 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603121909.u2CJ9pBM074298@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 12 Mar 2016 19:09:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296756 - stable/10/libexec/atrun X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:09:53 -0000 Author: ngie Date: Sat Mar 12 19:09:51 2016 New Revision: 296756 URL: https://svnweb.freebsd.org/changeset/base/296756 Log: MFC r295079: Fix the type for hw.ncpu, so sysctlbyname doesn't consistently fail on 64-bit architectures where sizeof(int) != sizeof(size_t). PR: 206758 Modified: stable/10/libexec/atrun/atrun.c Directory Properties: stable/10/ (props changed) Modified: stable/10/libexec/atrun/atrun.c ============================================================================== --- stable/10/libexec/atrun/atrun.c Sat Mar 12 19:08:58 2016 (r296755) +++ stable/10/libexec/atrun/atrun.c Sat Mar 12 19:09:51 2016 (r296756) @@ -459,8 +459,9 @@ main(int argc, char *argv[]) int c; int run_batch; #ifdef __FreeBSD__ - size_t ncpu, ncpusz; + size_t ncpusz; double load_avg = -1; + int ncpu; #else double load_avg = LOADAVG_MX; #endif From owner-svn-src-all@freebsd.org Sat Mar 12 19:11:46 2016 Return-Path: Delivered-To: svn-src-all@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 660DBACD36A; Sat, 12 Mar 2016 19:11:46 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 3442E11E4; Sat, 12 Mar 2016 19:11:46 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJBjDe074488; Sat, 12 Mar 2016 19:11:45 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJBjCD074487; Sat, 12 Mar 2016 19:11:45 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603121911.u2CJBjCD074487@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 12 Mar 2016 19:11:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296757 - stable/9/libexec/atrun X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:11:46 -0000 Author: ngie Date: Sat Mar 12 19:11:45 2016 New Revision: 296757 URL: https://svnweb.freebsd.org/changeset/base/296757 Log: MFstable/10 r296756: MFC r295079: Fix the type for hw.ncpu, so sysctlbyname doesn't consistently fail on 64-bit architectures where sizeof(int) != sizeof(size_t). PR: 206758 Modified: stable/9/libexec/atrun/atrun.c Directory Properties: stable/9/ (props changed) stable/9/libexec/atrun/ (props changed) Modified: stable/9/libexec/atrun/atrun.c ============================================================================== --- stable/9/libexec/atrun/atrun.c Sat Mar 12 19:09:51 2016 (r296756) +++ stable/9/libexec/atrun/atrun.c Sat Mar 12 19:11:45 2016 (r296757) @@ -458,8 +458,9 @@ main(int argc, char *argv[]) int c; int run_batch; #ifdef __FreeBSD__ - size_t ncpu, ncpusz; + size_t ncpusz; double load_avg = -1; + int ncpu; #else double load_avg = LOADAVG_MX; #endif From owner-svn-src-all@freebsd.org Sat Mar 12 19:12:54 2016 Return-Path: Delivered-To: svn-src-all@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 0F7CDACD448; Sat, 12 Mar 2016 19:12:54 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D4CC513E4; Sat, 12 Mar 2016 19:12:53 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJCq6r077295; Sat, 12 Mar 2016 19:12:52 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJCq9J077294; Sat, 12 Mar 2016 19:12:52 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121912.u2CJCq9J077294@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 19:12:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296758 - stable/10/share/mk X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:12:54 -0000 Author: bdrewery Date: Sat Mar 12 19:12:52 2016 New Revision: 296758 URL: https://svnweb.freebsd.org/changeset/base/296758 Log: MFC r296122: (partial) Move PROGS logic to proper place and remove redundant and unneeded logic. Modified: stable/10/share/mk/bsd.test.mk Directory Properties: stable/10/ (props changed) Modified: stable/10/share/mk/bsd.test.mk ============================================================================== --- stable/10/share/mk/bsd.test.mk Sat Mar 12 19:11:45 2016 (r296757) +++ stable/10/share/mk/bsd.test.mk Sat Mar 12 19:12:52 2016 (r296758) @@ -101,9 +101,4 @@ test: beforetest realtest test: aftertest .endif -.if !empty(PROGS) || !empty(PROGS_CXX) || !empty(SCRIPTS) .include -.endif -.include - -.include From owner-svn-src-all@freebsd.org Sat Mar 12 19:14:23 2016 Return-Path: Delivered-To: svn-src-all@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 45F42ACD55B; Sat, 12 Mar 2016 19:14:23 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 17587162E; Sat, 12 Mar 2016 19:14:23 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJEMtg077387; Sat, 12 Mar 2016 19:14:22 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJEMFt077386; Sat, 12 Mar 2016 19:14:22 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121914.u2CJEMFt077386@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 19:14:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296759 - stable/10/share/mk X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:14:23 -0000 Author: bdrewery Date: Sat Mar 12 19:14:21 2016 New Revision: 296759 URL: https://svnweb.freebsd.org/changeset/base/296759 Log: MFC r296554: Remove things set already by bsd.progs.mk. Modified: stable/10/share/mk/bsd.test.mk Directory Properties: stable/10/ (props changed) Modified: stable/10/share/mk/bsd.test.mk ============================================================================== --- stable/10/share/mk/bsd.test.mk Sat Mar 12 19:12:52 2016 (r296758) +++ stable/10/share/mk/bsd.test.mk Sat Mar 12 19:14:21 2016 (r296759) @@ -79,10 +79,6 @@ SUBDIR+= ${ts} MAN= .endif -# tell progs.mk we might want to install things -PROG_VARS+= BINDIR -PROGS_TARGETS+= install - .if !defined(NOT_FOR_TEST_SUITE) .include .endif From owner-svn-src-all@freebsd.org Sat Mar 12 19:15:11 2016 Return-Path: Delivered-To: svn-src-all@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 52141ACD5F2; Sat, 12 Mar 2016 19:15:11 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 23BD218B0; Sat, 12 Mar 2016 19:15:11 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJFAqf077473; Sat, 12 Mar 2016 19:15:10 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJFAV5077472; Sat, 12 Mar 2016 19:15:10 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603121915.u2CJFAV5077472@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 12 Mar 2016 19:15:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296760 - stable/10/contrib/netbsd-tests/lib/libc/sys X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:15:11 -0000 Author: ngie Date: Sat Mar 12 19:15:09 2016 New Revision: 296760 URL: https://svnweb.freebsd.org/changeset/base/296760 Log: MFC r294899: Add debug output via ATF_REQUIRE_MSG when the first call to mlock(2) fails This helps identify the problem with running this test on my VM hosts (ENOMEM) Modified: stable/10/contrib/netbsd-tests/lib/libc/sys/t_mincore.c Directory Properties: stable/10/ (props changed) Modified: stable/10/contrib/netbsd-tests/lib/libc/sys/t_mincore.c ============================================================================== --- stable/10/contrib/netbsd-tests/lib/libc/sys/t_mincore.c Sat Mar 12 19:14:21 2016 (r296759) +++ stable/10/contrib/netbsd-tests/lib/libc/sys/t_mincore.c Sat Mar 12 19:15:09 2016 (r296760) @@ -206,7 +206,8 @@ ATF_TC_BODY(mincore_resid, tc) "might be low on memory"); #ifdef __FreeBSD__ - ATF_REQUIRE(mlock(addr, npgs * page) == 0); + ATF_REQUIRE_MSG(mlock(addr, npgs * page) == 0, "mlock failed: %s", + strerror(errno)); #endif ATF_REQUIRE(check_residency(addr, npgs) == npgs); ATF_REQUIRE(munmap(addr, npgs * page) == 0); From owner-svn-src-all@freebsd.org Sat Mar 12 19:18:29 2016 Return-Path: Delivered-To: svn-src-all@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 938E8ACD786; Sat, 12 Mar 2016 19:18:29 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 517C71BCA; Sat, 12 Mar 2016 19:18:29 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJISJp077792; Sat, 12 Mar 2016 19:18:28 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJISXm077790; Sat, 12 Mar 2016 19:18:28 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121918.u2CJISXm077790@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 19:18:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296761 - stable/10/sys/dev/filemon X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:18:29 -0000 Author: bdrewery Date: Sat Mar 12 19:18:27 2016 New Revision: 296761 URL: https://svnweb.freebsd.org/changeset/base/296761 Log: MFC r296148: Remove old compatibility checks. Modified: stable/10/sys/dev/filemon/filemon.c stable/10/sys/dev/filemon/filemon_wrapper.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/filemon/filemon.c ============================================================================== --- stable/10/sys/dev/filemon/filemon.c Sat Mar 12 19:15:09 2016 (r296760) +++ stable/10/sys/dev/filemon/filemon.c Sat Mar 12 19:18:27 2016 (r296761) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -52,10 +53,6 @@ __FBSDID("$FreeBSD$"); #include #include -#if __FreeBSD_version >= 900041 -#include -#endif - #include "filemon.h" #if defined(COMPAT_IA32) || defined(COMPAT_FREEBSD32) || defined(COMPAT_ARCH32) @@ -156,9 +153,7 @@ filemon_ioctl(struct cdev *dev, u_long c int error = 0; struct filemon *filemon; struct proc *p; -#if __FreeBSD_version >= 900041 cap_rights_t rights; -#endif if ((error = devfs_get_cdevpriv((void **) &filemon)) != 0) return (error); @@ -174,9 +169,7 @@ filemon_ioctl(struct cdev *dev, u_long c } error = fget_write(td, *(int *)data, -#if __FreeBSD_version >= 900041 cap_rights_init(&rights, CAP_PWRITE), -#endif &filemon->fp); if (error == 0) /* Write the file header. */ Modified: stable/10/sys/dev/filemon/filemon_wrapper.c ============================================================================== --- stable/10/sys/dev/filemon/filemon_wrapper.c Sat Mar 12 19:15:09 2016 (r296760) +++ stable/10/sys/dev/filemon/filemon_wrapper.c Sat Mar 12 19:18:27 2016 (r296761) @@ -36,27 +36,6 @@ __FBSDID("$FreeBSD$"); #include "opt_compat.h" -#if __FreeBSD_version > 800032 -#define FILEMON_HAS_LINKAT -#endif - -#if __FreeBSD_version < 900044 /* r225617 (2011-09-16) failed to bump - __FreeBSD_version. This really should - be based on "900045". "900044" is r225469 - (2011-09-10) so this code is broken for - 9-CURRENT September 10th-16th. */ -#define sys_chdir chdir -#define sys_link link -#define sys_open open -#define sys_rename rename -#define sys_stat stat -#define sys_symlink symlink -#define sys_unlink unlink -#ifdef FILEMON_HAS_LINKAT -#define sys_linkat linkat -#endif -#endif /* __FreeBSD_version */ - static eventhandler_tag filemon_exec_tag; static eventhandler_tag filemon_exit_tag; static eventhandler_tag filemon_fork_tag; @@ -341,7 +320,6 @@ filemon_wrapper_symlink(struct thread *t return (ret); } -#ifdef FILEMON_HAS_LINKAT static int filemon_wrapper_linkat(struct thread *td, struct linkat_args *uap) { @@ -369,7 +347,6 @@ filemon_wrapper_linkat(struct thread *td return (ret); } -#endif static int filemon_wrapper_stat(struct thread *td, struct stat_args *uap) @@ -518,9 +495,7 @@ filemon_wrapper_install(void) sv_table[SYS_unlink].sy_call = (sy_call_t *) filemon_wrapper_unlink; sv_table[SYS_link].sy_call = (sy_call_t *) filemon_wrapper_link; sv_table[SYS_symlink].sy_call = (sy_call_t *) filemon_wrapper_symlink; -#ifdef FILEMON_HAS_LINKAT sv_table[SYS_linkat].sy_call = (sy_call_t *) filemon_wrapper_linkat; -#endif #if defined(COMPAT_IA32) || defined(COMPAT_FREEBSD32) || defined(COMPAT_ARCH32) sv_table = ia32_freebsd_sysvec.sv_table; @@ -533,9 +508,7 @@ filemon_wrapper_install(void) sv_table[FREEBSD32_SYS_unlink].sy_call = (sy_call_t *) filemon_wrapper_unlink; sv_table[FREEBSD32_SYS_link].sy_call = (sy_call_t *) filemon_wrapper_link; sv_table[FREEBSD32_SYS_symlink].sy_call = (sy_call_t *) filemon_wrapper_symlink; -#ifdef FILEMON_HAS_LINKAT sv_table[FREEBSD32_SYS_linkat].sy_call = (sy_call_t *) filemon_wrapper_linkat; -#endif #endif /* COMPAT_ARCH32 */ filemon_exec_tag = EVENTHANDLER_REGISTER(process_exec, @@ -563,9 +536,7 @@ filemon_wrapper_deinstall(void) sv_table[SYS_unlink].sy_call = (sy_call_t *)sys_unlink; sv_table[SYS_link].sy_call = (sy_call_t *)sys_link; sv_table[SYS_symlink].sy_call = (sy_call_t *)sys_symlink; -#ifdef FILEMON_HAS_LINKAT sv_table[SYS_linkat].sy_call = (sy_call_t *)sys_linkat; -#endif #if defined(COMPAT_IA32) || defined(COMPAT_FREEBSD32) || defined(COMPAT_ARCH32) sv_table = ia32_freebsd_sysvec.sv_table; @@ -578,9 +549,7 @@ filemon_wrapper_deinstall(void) sv_table[FREEBSD32_SYS_unlink].sy_call = (sy_call_t *)sys_unlink; sv_table[FREEBSD32_SYS_link].sy_call = (sy_call_t *)sys_link; sv_table[FREEBSD32_SYS_symlink].sy_call = (sy_call_t *)sys_symlink; -#ifdef FILEMON_HAS_LINKAT sv_table[FREEBSD32_SYS_linkat].sy_call = (sy_call_t *)sys_linkat; -#endif #endif /* COMPAT_ARCH32 */ EVENTHANDLER_DEREGISTER(process_exec, filemon_exec_tag); From owner-svn-src-all@freebsd.org Sat Mar 12 19:18:55 2016 Return-Path: Delivered-To: svn-src-all@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 7CE7FACD7DE; Sat, 12 Mar 2016 19:18:55 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3CA091D1C; Sat, 12 Mar 2016 19:18:55 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJIsAX077847; Sat, 12 Mar 2016 19:18:54 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJIsdS077845; Sat, 12 Mar 2016 19:18:54 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121918.u2CJIsdS077845@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 19:18:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296762 - stable/9/sys/dev/filemon X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:18:55 -0000 Author: bdrewery Date: Sat Mar 12 19:18:53 2016 New Revision: 296762 URL: https://svnweb.freebsd.org/changeset/base/296762 Log: MFC r296148: Remove old compatibility checks. Modified: stable/9/sys/dev/filemon/filemon.c stable/9/sys/dev/filemon/filemon_wrapper.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/filemon/filemon.c ============================================================================== --- stable/9/sys/dev/filemon/filemon.c Sat Mar 12 19:18:27 2016 (r296761) +++ stable/9/sys/dev/filemon/filemon.c Sat Mar 12 19:18:53 2016 (r296762) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -52,10 +53,6 @@ __FBSDID("$FreeBSD$"); #include #include -#if __FreeBSD_version >= 900041 -#include -#endif - #include "filemon.h" #if defined(COMPAT_IA32) || defined(COMPAT_FREEBSD32) || defined(COMPAT_ARCH32) @@ -170,11 +167,7 @@ filemon_ioctl(struct cdev *dev, u_long c break; } -#if __FreeBSD_version < 900041 -#define FGET_WRITE(a1, a2, a3) fget_write((a1), (a2), (a3)) -#else #define FGET_WRITE(a1, a2, a3) fget_write((a1), (a2), CAP_WRITE | CAP_SEEK, (a3)) -#endif if ((error = FGET_WRITE(td, *(int *)data, &filemon->fp)) == 0) /* Write the file header. */ filemon_comment(filemon); Modified: stable/9/sys/dev/filemon/filemon_wrapper.c ============================================================================== --- stable/9/sys/dev/filemon/filemon_wrapper.c Sat Mar 12 19:18:27 2016 (r296761) +++ stable/9/sys/dev/filemon/filemon_wrapper.c Sat Mar 12 19:18:53 2016 (r296762) @@ -36,27 +36,6 @@ __FBSDID("$FreeBSD$"); #include "opt_compat.h" -#if __FreeBSD_version > 800032 -#define FILEMON_HAS_LINKAT -#endif - -#if __FreeBSD_version < 900044 /* r225617 (2011-09-16) failed to bump - __FreeBSD_version. This really should - be based on "900045". "900044" is r225469 - (2011-09-10) so this code is broken for - 9-CURRENT September 10th-16th. */ -#define sys_chdir chdir -#define sys_link link -#define sys_open open -#define sys_rename rename -#define sys_stat stat -#define sys_symlink symlink -#define sys_unlink unlink -#ifdef FILEMON_HAS_LINKAT -#define sys_linkat linkat -#endif -#endif /* __FreeBSD_version */ - static eventhandler_tag filemon_exec_tag; static eventhandler_tag filemon_exit_tag; static eventhandler_tag filemon_fork_tag; @@ -341,7 +320,6 @@ filemon_wrapper_symlink(struct thread *t return (ret); } -#ifdef FILEMON_HAS_LINKAT static int filemon_wrapper_linkat(struct thread *td, struct linkat_args *uap) { @@ -369,7 +347,6 @@ filemon_wrapper_linkat(struct thread *td return (ret); } -#endif static int filemon_wrapper_stat(struct thread *td, struct stat_args *uap) @@ -520,9 +497,7 @@ filemon_wrapper_install(void) sv_table[SYS_unlink].sy_call = (sy_call_t *) filemon_wrapper_unlink; sv_table[SYS_link].sy_call = (sy_call_t *) filemon_wrapper_link; sv_table[SYS_symlink].sy_call = (sy_call_t *) filemon_wrapper_symlink; -#ifdef FILEMON_HAS_LINKAT sv_table[SYS_linkat].sy_call = (sy_call_t *) filemon_wrapper_linkat; -#endif #if defined(COMPAT_IA32) || defined(COMPAT_FREEBSD32) || defined(COMPAT_ARCH32) sv_table = ia32_freebsd_sysvec.sv_table; @@ -535,9 +510,7 @@ filemon_wrapper_install(void) sv_table[FREEBSD32_SYS_unlink].sy_call = (sy_call_t *) filemon_wrapper_unlink; sv_table[FREEBSD32_SYS_link].sy_call = (sy_call_t *) filemon_wrapper_link; sv_table[FREEBSD32_SYS_symlink].sy_call = (sy_call_t *) filemon_wrapper_symlink; -#ifdef FILEMON_HAS_LINKAT sv_table[FREEBSD32_SYS_linkat].sy_call = (sy_call_t *) filemon_wrapper_linkat; -#endif #endif /* COMPAT_ARCH32 */ filemon_exec_tag = EVENTHANDLER_REGISTER(process_exec, @@ -567,9 +540,7 @@ filemon_wrapper_deinstall(void) sv_table[SYS_unlink].sy_call = (sy_call_t *)sys_unlink; sv_table[SYS_link].sy_call = (sy_call_t *)sys_link; sv_table[SYS_symlink].sy_call = (sy_call_t *)sys_symlink; -#ifdef FILEMON_HAS_LINKAT sv_table[SYS_linkat].sy_call = (sy_call_t *)sys_linkat; -#endif #if defined(COMPAT_IA32) || defined(COMPAT_FREEBSD32) || defined(COMPAT_ARCH32) sv_table = ia32_freebsd_sysvec.sv_table; @@ -582,9 +553,7 @@ filemon_wrapper_deinstall(void) sv_table[FREEBSD32_SYS_unlink].sy_call = (sy_call_t *)sys_unlink; sv_table[FREEBSD32_SYS_link].sy_call = (sy_call_t *)sys_link; sv_table[FREEBSD32_SYS_symlink].sy_call = (sy_call_t *)sys_symlink; -#ifdef FILEMON_HAS_LINKAT sv_table[FREEBSD32_SYS_linkat].sy_call = (sy_call_t *)sys_linkat; -#endif #endif /* COMPAT_ARCH32 */ EVENTHANDLER_DEREGISTER(process_exec, filemon_exec_tag); From owner-svn-src-all@freebsd.org Sat Mar 12 19:20:50 2016 Return-Path: Delivered-To: svn-src-all@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 0A089ACD8A4; Sat, 12 Mar 2016 19:20:50 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CF60D1E9D; Sat, 12 Mar 2016 19:20:49 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJKmMS080104; Sat, 12 Mar 2016 19:20:48 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJKm4H080103; Sat, 12 Mar 2016 19:20:48 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121920.u2CJKm4H080103@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 19:20:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296763 - stable/10/share/mk X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:20:50 -0000 Author: bdrewery Date: Sat Mar 12 19:20:48 2016 New Revision: 296763 URL: https://svnweb.freebsd.org/changeset/base/296763 Log: MFC r294878: Revert yacc dependency back to pre-r241298. Modified: stable/10/share/mk/bsd.dep.mk Directory Properties: stable/10/ (props changed) Modified: stable/10/share/mk/bsd.dep.mk ============================================================================== --- stable/10/share/mk/bsd.dep.mk Sat Mar 12 19:18:53 2016 (r296762) +++ stable/10/share/mk/bsd.dep.mk Sat Mar 12 19:20:48 2016 (r296763) @@ -104,8 +104,8 @@ ${_YC} y.tab.h: ${_YSRC} CLEANFILES+= y.tab.c y.tab.h .elif !empty(YFLAGS:M-d) .for _YH in ${_YC:R}.h -${_YH}: ${_YC} -${_YC}: ${_YSRC} +.ORDER: ${_YC} ${_YH} +${_YC} ${_YH}: ${_YSRC} ${YACC} ${YFLAGS} -o ${_YC} ${.ALLSRC} SRCS+= ${_YH} CLEANFILES+= ${_YH} From owner-svn-src-all@freebsd.org Sat Mar 12 19:22:20 2016 Return-Path: Delivered-To: svn-src-all@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 EC3B2ACDA84; Sat, 12 Mar 2016 19:22:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BC8D22E0; Sat, 12 Mar 2016 19:22:20 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJMJp2080890; Sat, 12 Mar 2016 19:22:19 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJMJMq080889; Sat, 12 Mar 2016 19:22:19 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121922.u2CJMJMq080889@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 19:22:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296764 - stable/10/share/mk X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:22:21 -0000 Author: bdrewery Date: Sat Mar 12 19:22:19 2016 New Revision: 296764 URL: https://svnweb.freebsd.org/changeset/base/296764 Log: MFC r294873: Set a value for _RECURSING_PROGS for debugging. Modified: stable/10/share/mk/bsd.progs.mk Directory Properties: stable/10/ (props changed) Modified: stable/10/share/mk/bsd.progs.mk ============================================================================== --- stable/10/share/mk/bsd.progs.mk Sat Mar 12 19:20:48 2016 (r296763) +++ stable/10/share/mk/bsd.progs.mk Sat Mar 12 19:22:19 2016 (r296764) @@ -114,7 +114,7 @@ x.$p= PROG_CXX=$p # Main PROG target $p ${p}_p: .PHONY .MAKE (cd ${.CURDIR} && \ - NO_SUBDIR=1 ${MAKE} -f ${MAKEFILE} _RECURSING_PROGS= \ + NO_SUBDIR=1 ${MAKE} -f ${MAKEFILE} _RECURSING_PROGS=t \ PROG=$p \ DEPENDFILE=.depend.$p .MAKE.DEPENDFILE=.depend.$p \ ${x.$p}) @@ -123,7 +123,7 @@ $p ${p}_p: .PHONY .MAKE .for t in ${PROGS_TARGETS:O:u} $p.$t: .PHONY .MAKE (cd ${.CURDIR} && \ - NO_SUBDIR=1 ${MAKE} -f ${MAKEFILE} _RECURSING_PROGS= \ + NO_SUBDIR=1 ${MAKE} -f ${MAKEFILE} _RECURSING_PROGS=t \ PROG=$p \ DEPENDFILE=.depend.$p .MAKE.DEPENDFILE=.depend.$p \ ${x.$p} ${@:E}) From owner-svn-src-all@freebsd.org Sat Mar 12 19:26:22 2016 Return-Path: Delivered-To: svn-src-all@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 76226ACDBBF; Sat, 12 Mar 2016 19:26:22 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 436B077E; Sat, 12 Mar 2016 19:26:22 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJQL0N081114; Sat, 12 Mar 2016 19:26:21 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJQLUd081113; Sat, 12 Mar 2016 19:26:21 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121926.u2CJQLUd081113@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 19:26:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296765 - stable/10/lib/libc/net X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:26:22 -0000 Author: bdrewery Date: Sat Mar 12 19:26:21 2016 New Revision: 296765 URL: https://svnweb.freebsd.org/changeset/base/296765 Log: MFC r268620,r294876,r294877: r268620: Make generation of nslexer.c more robust. r294876: nslexer.c does not depend on nsparser.h. r294877: Replace nslexer.l->nslexer.c custom rule with a -D CFLAG. Modified: stable/10/lib/libc/net/Makefile.inc Directory Properties: stable/10/ (props changed) Modified: stable/10/lib/libc/net/Makefile.inc ============================================================================== --- stable/10/lib/libc/net/Makefile.inc Sat Mar 12 19:22:19 2016 (r296764) +++ stable/10/lib/libc/net/Makefile.inc Sat Mar 12 19:26:21 2016 (r296765) @@ -12,7 +12,7 @@ SRCS+= base64.c ether_addr.c eui64.c \ getproto.c getprotoent.c getprotoname.c getservent.c \ if_indextoname.c if_nameindex.c if_nametoindex.c \ ip6opt.c linkaddr.c map_v4v6.c name6.c ntoh.c \ - nsdispatch.c nslexer.c nsparser.y nss_compat.c \ + nsdispatch.c nslexer.l nsparser.y nss_compat.c \ rcmd.c rcmdsh.c recv.c rthdr.c sctp_sys_calls.c send.c \ sockatmark.c sourcefilter.c vars.c @@ -34,11 +34,8 @@ CFLAGS+=-I${.CURDIR}/resolv YFLAGS+=-p_nsyy LFLAGS+=-P_nsyy -CLEANFILES+=nslexer.c - -nslexer.c: nslexer.l nsparser.h - ${LEX} ${LFLAGS} -o/dev/stdout ${.IMPSRC} | \ - sed -e '/YY_BUF_SIZE/s/16384/1024/' >${.TARGET} +CFLAGS.nslexer.c= -DYY_BUF_SIZE=1024 +CFLAGS+= ${CFLAGS.${.IMPSRC:T}} MAN+= byteorder.3 ethers.3 eui64.3 \ getaddrinfo.3 gai_strerror.3 gethostbyname.3 \ From owner-svn-src-all@freebsd.org Sat Mar 12 19:41:40 2016 Return-Path: Delivered-To: svn-src-all@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 80F15ACE123; Sat, 12 Mar 2016 19:41:40 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 41621EA8; Sat, 12 Mar 2016 19:41:40 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJfdOi087113; Sat, 12 Mar 2016 19:41:39 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJfclE087108; Sat, 12 Mar 2016 19:41:38 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603121941.u2CJfclE087108@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 12 Mar 2016 19:41:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296766 - in head/contrib/pjdfstest/tests: . ftruncate open truncate X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:41:40 -0000 Author: ngie Date: Sat Mar 12 19:41:38 2016 New Revision: 296766 URL: https://svnweb.freebsd.org/changeset/base/296766 Log: Better handle filesystems mounted with -o noexec ftruncate/11, open/20, and truncate/11 copy sleep(1) to a temporary file on the target filesystem, execute the binary, then expect a result. This doesn't work with scenarios where the target binary cannot be executed, e.g. the filesystem was mounted with -o noexec. Ensure the filesystem hasn't been mounted with -o noexec for the testcases before executing them. Differential Revision: https://reviews.freebsd.org/D5622 MFC after: 1 week Reviewed by: markj Sponsored by: EMC / Isilon Storage Division Modified: head/contrib/pjdfstest/tests/ftruncate/11.t head/contrib/pjdfstest/tests/misc.sh head/contrib/pjdfstest/tests/open/20.t head/contrib/pjdfstest/tests/truncate/11.t Modified: head/contrib/pjdfstest/tests/ftruncate/11.t ============================================================================== --- head/contrib/pjdfstest/tests/ftruncate/11.t Sat Mar 12 19:26:21 2016 (r296765) +++ head/contrib/pjdfstest/tests/ftruncate/11.t Sat Mar 12 19:41:38 2016 (r296766) @@ -8,6 +8,8 @@ dir=`dirname $0` [ "${os}" = "FreeBSD" ] || quick_exit +requires_exec + echo "1..2" n0=`namegen` Modified: head/contrib/pjdfstest/tests/misc.sh ============================================================================== --- head/contrib/pjdfstest/tests/misc.sh Sat Mar 12 19:26:21 2016 (r296765) +++ head/contrib/pjdfstest/tests/misc.sh Sat Mar 12 19:41:38 2016 (r296766) @@ -219,3 +219,37 @@ create_file() { expect 0 lchmod ${name} ${3} fi } + +# Tests for whether or not a filesystem is mounted with a particular option +# with -o, e.g. `mount -o noexec`. +# +# Parameters: +# - mount_option - noatime, noexec, etc. +# +# Returns: +# - 0 if mounted with the option. +# - 1 otherwise. +has_mount_option() +{ + local IFS=, + local mount_opt + + local mount_option_search=$1 + + # XXX: mountpoint is defined in .../tests/sys/pjdfstest/tests/conf + for mount_opt in $(mount -d -p | awk '$2 == "'$mountpoint'" { print $4 }'); do + if [ "$mount_opt" = "$mount_option_search" ]; then + return 0 + fi + done + return 1 +} + +# Filesystem must be mounted with -o exec +requires_exec() +{ + if has_mount_option noexec; then + echo "1..0 # SKIP filesystem mounted with -o noexec" + exit 0 + fi +} Modified: head/contrib/pjdfstest/tests/open/20.t ============================================================================== --- head/contrib/pjdfstest/tests/open/20.t Sat Mar 12 19:26:21 2016 (r296765) +++ head/contrib/pjdfstest/tests/open/20.t Sat Mar 12 19:41:38 2016 (r296766) @@ -8,6 +8,8 @@ dir=`dirname $0` [ "${os}:${fs}" = "FreeBSD:UFS" ] || quick_exit +requires_exec + echo "1..4" n0=`namegen` Modified: head/contrib/pjdfstest/tests/truncate/11.t ============================================================================== --- head/contrib/pjdfstest/tests/truncate/11.t Sat Mar 12 19:26:21 2016 (r296765) +++ head/contrib/pjdfstest/tests/truncate/11.t Sat Mar 12 19:41:38 2016 (r296766) @@ -8,6 +8,8 @@ dir=`dirname $0` [ "${os}" = "FreeBSD" ] || quick_exit +requires_exec + echo "1..2" n0=`namegen` From owner-svn-src-all@freebsd.org Sat Mar 12 19:55:23 2016 Return-Path: Delivered-To: svn-src-all@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 85157ACE571; Sat, 12 Mar 2016 19:55:23 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 528FD1491; Sat, 12 Mar 2016 19:55:23 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CJtMWc090327; Sat, 12 Mar 2016 19:55:22 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CJtMdp090326; Sat, 12 Mar 2016 19:55:22 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603121955.u2CJtMdp090326@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 19:55:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296767 - stable/10/lib/libc/include X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 19:55:23 -0000 Author: bdrewery Date: Sat Mar 12 19:55:22 2016 New Revision: 296767 URL: https://svnweb.freebsd.org/changeset/base/296767 Log: MFC r295416: Fix the gcc build after r295407. Modified: stable/10/lib/libc/include/libc_private.h Directory Properties: stable/10/ (props changed) Modified: stable/10/lib/libc/include/libc_private.h ============================================================================== --- stable/10/lib/libc/include/libc_private.h Sat Mar 12 19:41:38 2016 (r296766) +++ stable/10/lib/libc/include/libc_private.h Sat Mar 12 19:55:22 2016 (r296767) @@ -391,7 +391,7 @@ int _elf_aux_info(int aux, void *buf, in struct dl_phdr_info; int __elf_phdr_match_addr(struct dl_phdr_info *, void *); void __init_elf_aux_vector(void); -void __libc_map_stacks_exec(); +void __libc_map_stacks_exec(void); void _pthread_cancel_enter(int); void _pthread_cancel_leave(int); From owner-svn-src-all@freebsd.org Sat Mar 12 20:05:24 2016 Return-Path: Delivered-To: svn-src-all@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 8CF12ACE8DC; Sat, 12 Mar 2016 20:05:24 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 464371B1C; Sat, 12 Mar 2016 20:05:24 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CK5NYA093368; Sat, 12 Mar 2016 20:05:23 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CK5NUm093367; Sat, 12 Mar 2016 20:05:23 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201603122005.u2CK5NUm093367@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Sat, 12 Mar 2016 20:05:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296768 - head/sys/dev/drm2/i915 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 20:05:24 -0000 Author: dumbbell Date: Sat Mar 12 20:05:23 2016 New Revision: 296768 URL: https://svnweb.freebsd.org/changeset/base/296768 Log: drm/i915: Import Linux commit 168f83660211b9e059e3bc0638daaa01e9ea0b71 This makes sure the default context of each ring is cleaned up with the ring itself and fixes a memory leak. Author: Mika Kuoppala Date: Fri May 3 16:29:08 2013 +0300 drm/i915: unreference default context on module unload Before module unload is called, gpu_idle() will switch to default context. This will increment ref count of base object as the default context is 'running' on module unload time. Unreference the drm object so that when context is freed, base object is freed as well. v2: added comment to explain the refcounts (Ben Widawsky) Signed-off-by: Mika Kuoppala Reviewed-by: Ben Widawsky Signed-off-by: Daniel Vetter Obtained from: Linux Modified: head/sys/dev/drm2/i915/i915_gem_context.c Modified: head/sys/dev/drm2/i915/i915_gem_context.c ============================================================================== --- head/sys/dev/drm2/i915/i915_gem_context.c Sat Mar 12 19:55:22 2016 (r296767) +++ head/sys/dev/drm2/i915/i915_gem_context.c Sat Mar 12 20:05:23 2016 (r296768) @@ -297,6 +297,14 @@ void i915_gem_context_fini(struct drm_de i915_gem_object_unpin(dev_priv->ring[RCS].default_context->obj); + /* When default context is created and switched to, base object refcount + * will be 2 (+1 from object creation and +1 from do_switch()). + * i915_gem_context_fini() will be called after gpu_idle() has switched + * to default context. So we need to unreference the base object once + * to offset the do_switch part, so that i915_gem_context_unreference() + * can then free the base object correctly. */ + drm_gem_object_unreference(&dev_priv->ring[RCS].default_context->obj->base); + do_destroy(dev_priv->ring[RCS].default_context); } From owner-svn-src-all@freebsd.org Sat Mar 12 21:44:35 2016 Return-Path: Delivered-To: svn-src-all@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 020CFACEAC2; Sat, 12 Mar 2016 21:44:35 +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 AC17D6A9; Sat, 12 Mar 2016 21:44:34 +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 u2CLiXNv023700; Sat, 12 Mar 2016 21:44:33 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CLiXv5023698; Sat, 12 Mar 2016 21:44:33 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201603122144.u2CLiXv5023698@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 12 Mar 2016 21:44:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296769 - in head/sys/boot/efi: boot1 loader X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 21:44:35 -0000 Author: emaste Date: Sat Mar 12 21:44:33 2016 New Revision: 296769 URL: https://svnweb.freebsd.org/changeset/base/296769 Log: boot/efi: Prefer nm to objdump Both objdump and nm are equally capable of reporting undefined symbols. This gets us a step closer to building without binutils as we have an nm implementation from ELF Tool Chain. Reviewed by: bdrewery MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5613 Modified: head/sys/boot/efi/boot1/Makefile head/sys/boot/efi/loader/Makefile Modified: head/sys/boot/efi/boot1/Makefile ============================================================================== --- head/sys/boot/efi/boot1/Makefile Sat Mar 12 20:05:23 2016 (r296768) +++ head/sys/boot/efi/boot1/Makefile Sat Mar 12 21:44:33 2016 (r296769) @@ -73,8 +73,8 @@ LDADD+= -lstand DPADD+= ${LDSCRIPT} +NM?= nm OBJCOPY?= objcopy -OBJDUMP?= objdump .if ${MACHINE_CPUARCH} == "amd64" EFI_TARGET= efi-app-x86_64 @@ -85,8 +85,8 @@ EFI_TARGET= binary .endif boot1.efi: ${PROG} - if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \ - ${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \ + if ${NM} ${.ALLSRC} | grep ' U '; then \ + echo "Undefined symbols in ${.ALLSRC}"; \ exit 1; \ fi ${OBJCOPY} -j .peheader -j .text -j .sdata -j .data \ Modified: head/sys/boot/efi/loader/Makefile ============================================================================== --- head/sys/boot/efi/loader/Makefile Sat Mar 12 20:05:23 2016 (r296768) +++ head/sys/boot/efi/loader/Makefile Sat Mar 12 21:44:33 2016 (r296769) @@ -98,8 +98,8 @@ NEWVERSWHAT= "EFI loader" ${MACHINE} vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../efi/loader/version sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} +NM?= nm OBJCOPY?= objcopy -OBJDUMP?= objdump .if ${MACHINE_CPUARCH} == "amd64" EFI_TARGET= efi-app-x86_64 @@ -110,8 +110,8 @@ EFI_TARGET= binary .endif loader.efi: ${PROG} - if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \ - ${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \ + if ${NM} ${.ALLSRC} | grep ' U '; then \ + echo "Undefined symbols in ${.ALLSRC}"; \ exit 1; \ fi ${OBJCOPY} -j .peheader -j .text -j .sdata -j .data \ From owner-svn-src-all@freebsd.org Sat Mar 12 22:21:03 2016 Return-Path: Delivered-To: svn-src-all@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 ED63AACD824; Sat, 12 Mar 2016 22:21:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BD6CC884; Sat, 12 Mar 2016 22:21:03 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CML2kE035176; Sat, 12 Mar 2016 22:21:02 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CML2L6035174; Sat, 12 Mar 2016 22:21:02 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603122221.u2CML2L6035174@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 22:21:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296770 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 22:21:04 -0000 Author: bdrewery Date: Sat Mar 12 22:21:02 2016 New Revision: 296770 URL: https://svnweb.freebsd.org/changeset/base/296770 Log: Stop looking up these values in every subdir on install. This was slowing down installkernel since it was rerunning this in every module directory. Sponsored by: EMC / Isilon Storage Division Modified: head/sys/conf/config.mk head/sys/conf/kern.opts.mk Modified: head/sys/conf/config.mk ============================================================================== --- head/sys/conf/config.mk Sat Mar 12 21:44:33 2016 (r296769) +++ head/sys/conf/config.mk Sat Mar 12 22:21:02 2016 (r296770) @@ -49,6 +49,7 @@ KERN_OPTS+= INET6 .if ${MK_EISA} != "no" KERN_OPTS+= DEV_EISA .endif -.else +.elif !defined(KERN_OPTS) KERN_OPTS!=cat ${KERNBUILDDIR}/opt*.h | awk '{print $$2;}' | sort -u +.export KERN_OPTS .endif Modified: head/sys/conf/kern.opts.mk ============================================================================== --- head/sys/conf/kern.opts.mk Sat Mar 12 21:44:33 2016 (r296769) +++ head/sys/conf/kern.opts.mk Sat Mar 12 22:21:02 2016 (r296770) @@ -144,7 +144,10 @@ MK_${var}:= no MK_${var}_SUPPORT:= no .else .if defined(KERNBUILDDIR) # See if there's an opt_foo.h +.if !defined(OPT_${var}) OPT_${var}!= cat ${KERNBUILDDIR}/opt_${var:tl}.h; echo +.export OPT_${var} +.endif .if ${OPT_${var}} == "" # nothing -> no MK_${var}_SUPPORT:= no .else From owner-svn-src-all@freebsd.org Sat Mar 12 22:21:16 2016 Return-Path: Delivered-To: svn-src-all@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 70DB4ACD978; Sat, 12 Mar 2016 22:21:16 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 296D79EC; Sat, 12 Mar 2016 22:21:16 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CMLFC8035229; Sat, 12 Mar 2016 22:21:15 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CMLE95035226; Sat, 12 Mar 2016 22:21:14 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603122221.u2CMLE95035226@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 22:21:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296771 - in head/sys: conf modules X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 22:21:16 -0000 Author: bdrewery Date: Sat Mar 12 22:21:14 2016 New Revision: 296771 URL: https://svnweb.freebsd.org/changeset/base/296771 Log: Reduce duplicated logic from r291744. Sponsored by: EMC / Isilon Storage Division Modified: head/sys/conf/config.mk head/sys/conf/kmod.mk head/sys/modules/Makefile Modified: head/sys/conf/config.mk ============================================================================== --- head/sys/conf/config.mk Sat Mar 12 22:21:02 2016 (r296770) +++ head/sys/conf/config.mk Sat Mar 12 22:21:14 2016 (r296771) @@ -53,3 +53,8 @@ KERN_OPTS+= DEV_EISA KERN_OPTS!=cat ${KERNBUILDDIR}/opt*.h | awk '{print $$2;}' | sort -u .export KERN_OPTS .endif + +.if !defined(__MPATH) +__MPATH!=find ${SYSDIR:tA}/ -name \*_if.m +.export __MPATH +.endif Modified: head/sys/conf/kmod.mk ============================================================================== --- head/sys/conf/kmod.mk Sat Mar 12 22:21:02 2016 (r296770) +++ head/sys/conf/kmod.mk Sat Mar 12 22:21:14 2016 (r296771) @@ -386,11 +386,7 @@ vnode_if_typedef.h: .endif # Build _if.[ch] from _if.m, and clean them when we're done. -# This is duplicated in sys/modules/Makefile. -.if !defined(__MPATH) -__MPATH!=find ${SYSDIR:tA}/ -name \*_if.m -.export __MPATH -.endif +# __MPATH defined in config.mk _MFILES=${__MPATH:T:O} _MPATH=${__MPATH:H:O:u} .PATH.m: ${_MPATH} Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Sat Mar 12 22:21:02 2016 (r296770) +++ head/sys/modules/Makefile Sat Mar 12 22:21:14 2016 (r296771) @@ -775,12 +775,6 @@ afterinstall: .include "${SYSDIR}/conf/config.mk" -# Use sys/conf/kmod.mk's MPATH to avoid redundantly running in every subdir. -.if !defined(__MPATH) -__MPATH!=find ${SYSDIR:tA}/ -name \*_if.m -.export __MPATH -.endif - SUBDIR:= ${SUBDIR:u:O} .include From owner-svn-src-all@freebsd.org Sat Mar 12 22:25:11 2016 Return-Path: Delivered-To: svn-src-all@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 7BED9ACDAE1; Sat, 12 Mar 2016 22:25:11 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4DCCCD1A; Sat, 12 Mar 2016 22:25:11 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CMPAIq036085; Sat, 12 Mar 2016 22:25:10 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CMPAiN036084; Sat, 12 Mar 2016 22:25:10 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201603122225.u2CMPAiN036084@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sat, 12 Mar 2016 22:25:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296772 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 22:25:11 -0000 Author: bdrewery Date: Sat Mar 12 22:25:10 2016 New Revision: 296772 URL: https://svnweb.freebsd.org/changeset/base/296772 Log: Enable FAST_DEPEND by default. Missed in r296668. Discussed on: arch Sponsored by: EMC / Isilon Storage Division Modified: head/sys/conf/kern.opts.mk Modified: head/sys/conf/kern.opts.mk ============================================================================== --- head/sys/conf/kern.opts.mk Sat Mar 12 22:21:14 2016 (r296771) +++ head/sys/conf/kern.opts.mk Sat Mar 12 22:25:10 2016 (r296772) @@ -30,6 +30,7 @@ __DEFAULT_YES_OPTIONS = \ CDDL \ CRYPT \ CUSE \ + FAST_DEPEND \ FORMAT_EXTENSIONS \ INET \ INET6 \ @@ -45,7 +46,6 @@ __DEFAULT_YES_OPTIONS = \ __DEFAULT_NO_OPTIONS = \ EISA \ - FAST_DEPEND \ NAND \ OFED From owner-svn-src-all@freebsd.org Sat Mar 12 22:53:48 2016 Return-Path: Delivered-To: svn-src-all@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 4BD0BACE51C; Sat, 12 Mar 2016 22:53:48 +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 EB658D6B; Sat, 12 Mar 2016 22:53:47 +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 u2CMrkWI045335; Sat, 12 Mar 2016 22:53:46 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CMrkPm045334; Sat, 12 Mar 2016 22:53:46 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603122253.u2CMrkPm045334@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Sat, 12 Mar 2016 22:53:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296773 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 22:53:48 -0000 Author: jhb Date: Sat Mar 12 22:53:46 2016 New Revision: 296773 URL: https://svnweb.freebsd.org/changeset/base/296773 Log: Do not include system call wrappers in libc for old FreeBSD system calls. The base system libc is only used to run binaries built on FreeBSD 7.0 and later. It does not need to include system call wrappers for system calls only used by FreeBSD binaries built on versions older than 7.0. This was already true for "COMPAT" system calls, but now wrappers for system calls used on FreeBSD 4 and 6 are excluded as well. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D5597 Modified: head/sys/kern/makesyscalls.sh Modified: head/sys/kern/makesyscalls.sh ============================================================================== --- head/sys/kern/makesyscalls.sh Sat Mar 12 22:25:10 2016 (r296772) +++ head/sys/kern/makesyscalls.sh Sat Mar 12 22:53:46 2016 (r296773) @@ -131,7 +131,7 @@ s/\$//g printf "/*\n * System call numbers.\n *\n" > syshdr printf " * DO NOT EDIT-- this file is automatically generated.\n" > syshdr printf " * $%s$\n", "FreeBSD" > syshdr - printf "# FreeBSD system call names.\n" > sysmk + printf "# FreeBSD system call object files.\n" > sysmk printf "# DO NOT EDIT-- this file is automatically generated.\n" > sysmk printf "# $%s$\n", "FreeBSD" > sysmk @@ -559,9 +559,9 @@ s/\$//g printf("/* %d = %s %s */\n", syscall, descr, funcalias) > sysent printf("\t\"%s.%s\",\t\t/* %d = %s %s */\n", wrap, funcalias, syscall, descr, funcalias) > sysnames - if (flag("COMPAT")) { - printf("\t\t\t\t/* %d is old %s */\n", - syscall, funcalias) > syshdr + if (flag("COMPAT") || flag("COMPAT4") || flag("COMPAT6")) { + printf("\t\t\t\t/* %d is %s %s */\n", + syscall, descr, funcalias) > syshdr } else if (!flag("NODEF")) { printf("#define\t%s%s%s\t%d\n", syscallprefix, prefix, funcalias, syscall) > syshdr From owner-svn-src-all@freebsd.org Sat Mar 12 22:55:09 2016 Return-Path: Delivered-To: svn-src-all@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 2E520ACE59E; Sat, 12 Mar 2016 22:55:09 +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 055A9EFD; Sat, 12 Mar 2016 22:55:08 +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 u2CMt7NS045444; Sat, 12 Mar 2016 22:55:07 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CMt7ua045441; Sat, 12 Mar 2016 22:55:07 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201603122255.u2CMt7ua045441@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Sat, 12 Mar 2016 22:55:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296774 - in head/sys: compat/freebsd32 sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 22:55:09 -0000 Author: jhb Date: Sat Mar 12 22:55:07 2016 New Revision: 296774 URL: https://svnweb.freebsd.org/changeset/base/296774 Log: Regen. Modified: head/sys/compat/freebsd32/freebsd32_syscall.h head/sys/sys/syscall.h head/sys/sys/syscall.mk Modified: head/sys/compat/freebsd32/freebsd32_syscall.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32_syscall.h Sat Mar 12 22:53:46 2016 (r296773) +++ head/sys/compat/freebsd32/freebsd32_syscall.h Sat Mar 12 22:55:07 2016 (r296774) @@ -24,7 +24,7 @@ #define FREEBSD32_SYS_chmod 15 #define FREEBSD32_SYS_chown 16 #define FREEBSD32_SYS_break 17 -#define FREEBSD32_SYS_freebsd4_freebsd32_getfsstat 18 + /* 18 is freebsd4 freebsd32_getfsstat */ /* 19 is old freebsd32_lseek */ #define FREEBSD32_SYS_getpid 20 #define FREEBSD32_SYS_mount 21 @@ -155,8 +155,8 @@ /* 149 is obsolete oquota */ /* 150 is obsolete ogetsockname */ /* 156 is old freebsd32_getdirentries */ -#define FREEBSD32_SYS_freebsd4_freebsd32_statfs 157 -#define FREEBSD32_SYS_freebsd4_freebsd32_fstatfs 158 + /* 157 is freebsd4 freebsd32_statfs */ + /* 158 is freebsd4 freebsd32_fstatfs */ #define FREEBSD32_SYS_getfh 161 /* 162 is obsolete getdomainname */ /* 163 is obsolete setdomainname */ @@ -166,8 +166,8 @@ #define FREEBSD32_SYS_freebsd32_semsys 169 #define FREEBSD32_SYS_freebsd32_msgsys 170 #define FREEBSD32_SYS_freebsd32_shmsys 171 -#define FREEBSD32_SYS_freebsd6_freebsd32_pread 173 -#define FREEBSD32_SYS_freebsd6_freebsd32_pwrite 174 + /* 173 is freebsd6 freebsd32_pread */ + /* 174 is freebsd6 freebsd32_pwrite */ #define FREEBSD32_SYS_ntp_adjtime 176 #define FREEBSD32_SYS_setgid 181 #define FREEBSD32_SYS_setegid 182 @@ -180,11 +180,11 @@ #define FREEBSD32_SYS_getrlimit 194 #define FREEBSD32_SYS_setrlimit 195 #define FREEBSD32_SYS_freebsd32_getdirentries 196 -#define FREEBSD32_SYS_freebsd6_freebsd32_mmap 197 + /* 197 is freebsd6 freebsd32_mmap */ #define FREEBSD32_SYS___syscall 198 -#define FREEBSD32_SYS_freebsd6_freebsd32_lseek 199 -#define FREEBSD32_SYS_freebsd6_freebsd32_truncate 200 -#define FREEBSD32_SYS_freebsd6_freebsd32_ftruncate 201 + /* 199 is freebsd6 freebsd32_lseek */ + /* 200 is freebsd6 freebsd32_truncate */ + /* 201 is freebsd6 freebsd32_ftruncate */ #define FREEBSD32_SYS_freebsd32_sysctl 202 #define FREEBSD32_SYS_mlock 203 #define FREEBSD32_SYS_munlock 204 @@ -234,7 +234,7 @@ #define FREEBSD32_SYS_nlstat 280 #define FREEBSD32_SYS_freebsd32_preadv 289 #define FREEBSD32_SYS_freebsd32_pwritev 290 -#define FREEBSD32_SYS_freebsd4_freebsd32_fhstatfs 297 + /* 297 is freebsd4 freebsd32_fhstatfs */ #define FREEBSD32_SYS_fhopen 298 #define FREEBSD32_SYS_fhstat 299 #define FREEBSD32_SYS_modnext 300 @@ -255,9 +255,9 @@ #define FREEBSD32_SYS_freebsd32_aio_suspend 315 #define FREEBSD32_SYS_aio_cancel 316 #define FREEBSD32_SYS_freebsd32_aio_error 317 -#define FREEBSD32_SYS_freebsd6_freebsd32_aio_read 318 -#define FREEBSD32_SYS_freebsd6_freebsd32_aio_write 319 -#define FREEBSD32_SYS_freebsd6_freebsd32_lio_listio 320 + /* 318 is freebsd6 freebsd32_aio_read */ + /* 319 is freebsd6 freebsd32_aio_write */ + /* 320 is freebsd6 freebsd32_lio_listio */ #define FREEBSD32_SYS_yield 321 /* 322 is obsolete thr_sleep */ /* 323 is obsolete thr_wakeup */ @@ -273,14 +273,14 @@ #define FREEBSD32_SYS_sched_get_priority_min 333 #define FREEBSD32_SYS_sched_rr_get_interval 334 #define FREEBSD32_SYS_utrace 335 -#define FREEBSD32_SYS_freebsd4_freebsd32_sendfile 336 + /* 336 is freebsd4 freebsd32_sendfile */ #define FREEBSD32_SYS_kldsym 337 #define FREEBSD32_SYS_freebsd32_jail 338 #define FREEBSD32_SYS_sigprocmask 340 #define FREEBSD32_SYS_sigsuspend 341 -#define FREEBSD32_SYS_freebsd4_freebsd32_sigaction 342 + /* 342 is freebsd4 freebsd32_sigaction */ #define FREEBSD32_SYS_sigpending 343 -#define FREEBSD32_SYS_freebsd4_freebsd32_sigreturn 344 + /* 344 is freebsd4 freebsd32_sigreturn */ #define FREEBSD32_SYS_freebsd32_sigtimedwait 345 #define FREEBSD32_SYS_freebsd32_sigwaitinfo 346 #define FREEBSD32_SYS___acl_get_file 347 Modified: head/sys/sys/syscall.h ============================================================================== --- head/sys/sys/syscall.h Sat Mar 12 22:53:46 2016 (r296773) +++ head/sys/sys/syscall.h Sat Mar 12 22:55:07 2016 (r296774) @@ -24,7 +24,7 @@ #define SYS_chmod 15 #define SYS_chown 16 #define SYS_break 17 -#define SYS_freebsd4_getfsstat 18 + /* 18 is freebsd4 getfsstat */ /* 19 is old lseek */ #define SYS_getpid 20 #define SYS_mount 21 @@ -157,20 +157,20 @@ #define SYS_nlm_syscall 154 #define SYS_nfssvc 155 /* 156 is old getdirentries */ -#define SYS_freebsd4_statfs 157 -#define SYS_freebsd4_fstatfs 158 + /* 157 is freebsd4 statfs */ + /* 158 is freebsd4 fstatfs */ #define SYS_lgetfh 160 #define SYS_getfh 161 -#define SYS_freebsd4_getdomainname 162 -#define SYS_freebsd4_setdomainname 163 -#define SYS_freebsd4_uname 164 + /* 162 is freebsd4 getdomainname */ + /* 163 is freebsd4 setdomainname */ + /* 164 is freebsd4 uname */ #define SYS_sysarch 165 #define SYS_rtprio 166 #define SYS_semsys 169 #define SYS_msgsys 170 #define SYS_shmsys 171 -#define SYS_freebsd6_pread 173 -#define SYS_freebsd6_pwrite 174 + /* 173 is freebsd6 pread */ + /* 174 is freebsd6 pwrite */ #define SYS_setfib 175 #define SYS_ntp_adjtime 176 #define SYS_setgid 181 @@ -184,11 +184,11 @@ #define SYS_getrlimit 194 #define SYS_setrlimit 195 #define SYS_getdirentries 196 -#define SYS_freebsd6_mmap 197 + /* 197 is freebsd6 mmap */ #define SYS___syscall 198 -#define SYS_freebsd6_lseek 199 -#define SYS_freebsd6_truncate 200 -#define SYS_freebsd6_ftruncate 201 + /* 199 is freebsd6 lseek */ + /* 200 is freebsd6 truncate */ + /* 201 is freebsd6 ftruncate */ #define SYS___sysctl 202 #define SYS_mlock 203 #define SYS_munlock 204 @@ -239,7 +239,7 @@ #define SYS_nlstat 280 #define SYS_preadv 289 #define SYS_pwritev 290 -#define SYS_freebsd4_fhstatfs 297 + /* 297 is freebsd4 fhstatfs */ #define SYS_fhopen 298 #define SYS_fhstat 299 #define SYS_modnext 300 @@ -260,9 +260,9 @@ #define SYS_aio_suspend 315 #define SYS_aio_cancel 316 #define SYS_aio_error 317 -#define SYS_freebsd6_aio_read 318 -#define SYS_freebsd6_aio_write 319 -#define SYS_freebsd6_lio_listio 320 + /* 318 is freebsd6 aio_read */ + /* 319 is freebsd6 aio_write */ + /* 320 is freebsd6 lio_listio */ #define SYS_yield 321 /* 322 is obsolete thr_sleep */ /* 323 is obsolete thr_wakeup */ @@ -278,15 +278,15 @@ #define SYS_sched_get_priority_min 333 #define SYS_sched_rr_get_interval 334 #define SYS_utrace 335 -#define SYS_freebsd4_sendfile 336 + /* 336 is freebsd4 sendfile */ #define SYS_kldsym 337 #define SYS_jail 338 #define SYS_nnpfs_syscall 339 #define SYS_sigprocmask 340 #define SYS_sigsuspend 341 -#define SYS_freebsd4_sigaction 342 + /* 342 is freebsd4 sigaction */ #define SYS_sigpending 343 -#define SYS_freebsd4_sigreturn 344 + /* 344 is freebsd4 sigreturn */ #define SYS_sigtimedwait 345 #define SYS_sigwaitinfo 346 #define SYS___acl_get_file 347 Modified: head/sys/sys/syscall.mk ============================================================================== --- head/sys/sys/syscall.mk Sat Mar 12 22:53:46 2016 (r296773) +++ head/sys/sys/syscall.mk Sat Mar 12 22:55:07 2016 (r296774) @@ -1,4 +1,4 @@ -# FreeBSD system call names. +# FreeBSD system call object files. # DO NOT EDIT-- this file is automatically generated. # $FreeBSD$ # created from FreeBSD: head/sys/kern/syscalls.master 296572 2016-03-09 19:05:11Z jhb @@ -19,7 +19,6 @@ MIASM = \ chmod.o \ chown.o \ break.o \ - freebsd4_getfsstat.o \ getpid.o \ mount.o \ unmount.o \ @@ -109,20 +108,13 @@ MIASM = \ quotactl.o \ nlm_syscall.o \ nfssvc.o \ - freebsd4_statfs.o \ - freebsd4_fstatfs.o \ lgetfh.o \ getfh.o \ - freebsd4_getdomainname.o \ - freebsd4_setdomainname.o \ - freebsd4_uname.o \ sysarch.o \ rtprio.o \ semsys.o \ msgsys.o \ shmsys.o \ - freebsd6_pread.o \ - freebsd6_pwrite.o \ setfib.o \ ntp_adjtime.o \ setgid.o \ @@ -136,11 +128,7 @@ MIASM = \ getrlimit.o \ setrlimit.o \ getdirentries.o \ - freebsd6_mmap.o \ __syscall.o \ - freebsd6_lseek.o \ - freebsd6_truncate.o \ - freebsd6_ftruncate.o \ __sysctl.o \ mlock.o \ munlock.o \ @@ -191,7 +179,6 @@ MIASM = \ nlstat.o \ preadv.o \ pwritev.o \ - freebsd4_fhstatfs.o \ fhopen.o \ fhstat.o \ modnext.o \ @@ -211,9 +198,6 @@ MIASM = \ aio_suspend.o \ aio_cancel.o \ aio_error.o \ - freebsd6_aio_read.o \ - freebsd6_aio_write.o \ - freebsd6_lio_listio.o \ yield.o \ mlockall.o \ munlockall.o \ @@ -227,15 +211,12 @@ MIASM = \ sched_get_priority_min.o \ sched_rr_get_interval.o \ utrace.o \ - freebsd4_sendfile.o \ kldsym.o \ jail.o \ nnpfs_syscall.o \ sigprocmask.o \ sigsuspend.o \ - freebsd4_sigaction.o \ sigpending.o \ - freebsd4_sigreturn.o \ sigtimedwait.o \ sigwaitinfo.o \ __acl_get_file.o \ From owner-svn-src-all@freebsd.org Sat Mar 12 23:02:54 2016 Return-Path: Delivered-To: svn-src-all@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 C4922ACE7CA; Sat, 12 Mar 2016 23:02:54 +0000 (UTC) (envelope-from gibbs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 864CD12CF; Sat, 12 Mar 2016 23:02:54 +0000 (UTC) (envelope-from gibbs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CN2rs5048334; Sat, 12 Mar 2016 23:02:53 GMT (envelope-from gibbs@FreeBSD.org) Received: (from gibbs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CN2rVC048333; Sat, 12 Mar 2016 23:02:53 GMT (envelope-from gibbs@FreeBSD.org) Message-Id: <201603122302.u2CN2rVC048333@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gibbs set sender to gibbs@FreeBSD.org using -f From: "Justin T. Gibbs" Date: Sat, 12 Mar 2016 23:02:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296775 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 23:02:55 -0000 Author: gibbs Date: Sat Mar 12 23:02:53 2016 New Revision: 296775 URL: https://svnweb.freebsd.org/changeset/base/296775 Log: Provide high precision conversion from ns,us,ms -> sbintime in kevent In timer2sbintime(), calculate the second and fractional second portions of the sbintime separately. When calculating the the fractional second portion, use a 64bit multiply to prevent excess truncation. This avoids the ~7% error in the original conversion for ns, and smaller errors of the same type for us and ms. PR: 198139 Reviewed by: jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D5397 Modified: head/sys/kern/kern_event.c Modified: head/sys/kern/kern_event.c ============================================================================== --- head/sys/kern/kern_event.c Sat Mar 12 22:55:07 2016 (r296774) +++ head/sys/kern/kern_event.c Sat Mar 12 23:02:53 2016 (r296775) @@ -564,34 +564,59 @@ knote_fork(struct knlist *list, int pid) #define NOTE_TIMER_PRECMASK (NOTE_SECONDS|NOTE_MSECONDS|NOTE_USECONDS| \ NOTE_NSECONDS) -static __inline sbintime_t +static sbintime_t timer2sbintime(intptr_t data, int flags) { - sbintime_t modifier; + /* + * Macros for converting to the fractional second portion of an + * sbintime_t using 64bit multiplication to improve precision. + */ +#define NS_TO_SBT(ns) (((ns) * (((uint64_t)1 << 63) / 500000000)) >> 32) +#define US_TO_SBT(us) (((us) * (((uint64_t)1 << 63) / 500000)) >> 32) +#define MS_TO_SBT(ms) (((ms) * (((uint64_t)1 << 63) / 500)) >> 32) switch (flags & NOTE_TIMER_PRECMASK) { case NOTE_SECONDS: - modifier = SBT_1S; - break; +#ifdef __LP64__ + if (data > (SBT_MAX / SBT_1S)) + return SBT_MAX; +#endif + return ((sbintime_t)data << 32); case NOTE_MSECONDS: /* FALLTHROUGH */ case 0: - modifier = SBT_1MS; - break; + if (data >= 1000) { + int64_t secs = data / 1000; +#ifdef __LP64__ + if (secs > (SBT_MAX / SBT_1S)) + return SBT_MAX; +#endif + return (secs << 32 | MS_TO_SBT(data % 1000)); + } + return MS_TO_SBT(data); case NOTE_USECONDS: - modifier = SBT_1US; - break; + if (data >= 1000000) { + int64_t secs = data / 1000000; +#ifdef __LP64__ + if (secs > (SBT_MAX / SBT_1S)) + return SBT_MAX; +#endif + return (secs << 32 | US_TO_SBT(data % 1000000)); + } + return US_TO_SBT(data); case NOTE_NSECONDS: - modifier = SBT_1NS; - break; - default: - return (-1); - } - + if (data >= 1000000000) { + int64_t secs = data / 1000000000; #ifdef __LP64__ - if (data > SBT_MAX / modifier) - return (SBT_MAX); + if (secs > (SBT_MAX / SBT_1S)) + return SBT_MAX; #endif - return (modifier * data); + return (secs << 32 | US_TO_SBT(data % 1000000000)); + } + return NS_TO_SBT(data); + default: + break; + } + return (-1); } static void From owner-svn-src-all@freebsd.org Sat Mar 12 23:04:11 2016 Return-Path: Delivered-To: svn-src-all@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 929ABACE891; Sat, 12 Mar 2016 23:04:11 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 60044153D; Sat, 12 Mar 2016 23:04:11 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CN4AiY048434; Sat, 12 Mar 2016 23:04:10 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CN4A8e048433; Sat, 12 Mar 2016 23:04:10 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201603122304.u2CN4A8e048433@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sat, 12 Mar 2016 23:04:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296776 - head/usr.sbin/pc-sysinstall/backend X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 23:04:11 -0000 Author: mav Date: Sat Mar 12 23:04:10 2016 New Revision: 296776 URL: https://svnweb.freebsd.org/changeset/base/296776 Log: dd report short write as error, so don't halt on it. Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Modified: head/usr.sbin/pc-sysinstall/backend/functions-disk.sh ============================================================================== --- head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Sat Mar 12 23:02:53 2016 (r296775) +++ head/usr.sbin/pc-sysinstall/backend/functions-disk.sh Sat Mar 12 23:04:10 2016 (r296776) @@ -619,9 +619,9 @@ wipe_metadata() local SIZE="`diskinfo ${1} | awk '{print int($3/(1024*1024)) }'`" if [ "$SIZE" -gt "5" ] ; then rc_halt "dd if=/dev/zero of=${1} bs=1m count=1" - rc_halt "dd if=/dev/zero of=${1} bs=1m oseek=$((SIZE-4))" + rc_nohalt "dd if=/dev/zero of=${1} bs=1m oseek=$((SIZE-4))" else - rc_halt "dd if=/dev/zero of=${1} bs=128k" + rc_nohalt "dd if=/dev/zero of=${1} bs=128k" fi } ; From owner-svn-src-all@freebsd.org Sat Mar 12 23:11:10 2016 Return-Path: Delivered-To: svn-src-all@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 79435ACEAE1; Sat, 12 Mar 2016 23:11:10 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 5199F18AC; Sat, 12 Mar 2016 23:11:10 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CNB97a048736; Sat, 12 Mar 2016 23:11:09 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CNB98K048733; Sat, 12 Mar 2016 23:11:09 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603122311.u2CNB98K048733@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 12 Mar 2016 23:11:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296777 - stable/10/tools/regression/geom_concat X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 23:11:10 -0000 Author: ngie Date: Sat Mar 12 23:11:08 2016 New Revision: 296777 URL: https://svnweb.freebsd.org/changeset/base/296777 Log: MFC r293434: - Use attach_md for memory disks so they can be tracked. - Add a geom_concat specific cleanup function and trap on that function at exit so things are cleaned up properly - Don't hardcode /tmp for temporary files, which violates the kyua sandbox Modified: stable/10/tools/regression/geom_concat/conf.sh stable/10/tools/regression/geom_concat/test-1.t stable/10/tools/regression/geom_concat/test-2.t Directory Properties: stable/10/ (props changed) Modified: stable/10/tools/regression/geom_concat/conf.sh ============================================================================== --- stable/10/tools/regression/geom_concat/conf.sh Sat Mar 12 23:04:10 2016 (r296776) +++ stable/10/tools/regression/geom_concat/conf.sh Sat Mar 12 23:11:08 2016 (r296777) @@ -5,4 +5,11 @@ name="$(mktemp -u concat.XXXXXX)" class="concat" base=`basename $0` +gconcat_test_cleanup() +{ + [ -c /dev/$class/$name ] && gconcat destroy $name + geom_test_cleanup +} +trap gconcat_test_cleanup ABRT EXIT INT TERM + . `dirname $0`/../geom_subr.sh Modified: stable/10/tools/regression/geom_concat/test-1.t ============================================================================== --- stable/10/tools/regression/geom_concat/test-1.t Sat Mar 12 23:04:10 2016 (r296776) +++ stable/10/tools/regression/geom_concat/test-1.t Sat Mar 12 23:11:08 2016 (r296777) @@ -5,13 +5,11 @@ echo '1..1' -us=45 +us0=$(attach_md -t malloc -s 1M) || exit 1 +us1=$(attach_md -t malloc -s 2M) || exit 1 +us2=$(attach_md -t malloc -s 3M) || exit 1 -mdconfig -a -t malloc -s 1M -u $us || exit 1 -mdconfig -a -t malloc -s 2M -u `expr $us + 1` || exit 1 -mdconfig -a -t malloc -s 3M -u `expr $us + 2` || exit 1 - -gconcat create $name /dev/md${us} /dev/md`expr $us + 1` /dev/md`expr $us + 2` || exit 1 +gconcat create $name /dev/$us0 /dev/$us1 /dev/$us2 || exit 1 devwait # Size of created device should be 1MB + 2MB + 3MB. @@ -23,8 +21,3 @@ if [ $size -eq 6291456 ]; then else echo "not ok - Size is 6291456" fi - -gconcat destroy $name -mdconfig -d -u $us -mdconfig -d -u `expr $us + 1` -mdconfig -d -u `expr $us + 2` Modified: stable/10/tools/regression/geom_concat/test-2.t ============================================================================== --- stable/10/tools/regression/geom_concat/test-2.t Sat Mar 12 23:04:10 2016 (r296776) +++ stable/10/tools/regression/geom_concat/test-2.t Sat Mar 12 23:11:08 2016 (r296777) @@ -5,18 +5,17 @@ echo '1..1' -us=45 tsize=6 -src=`mktemp /tmp/$base.XXXXXX` || exit 1 -dst=`mktemp /tmp/$base.XXXXXX` || exit 1 +src=`mktemp $base.XXXXXX` || exit 1 +dst=`mktemp $base.XXXXXX` || exit 1 -dd if=/dev/random of=${src} bs=1m count=$tsize >/dev/null 2>&1 +us0=$(attach_md -t malloc -s 1M) || exit 1 +us1=$(attach_md -t malloc -s 2M) || exit 1 +us2=$(attach_md -t malloc -s 3M) || exit 1 -mdconfig -a -t malloc -s 1M -u $us || exit 1 -mdconfig -a -t malloc -s 2M -u `expr $us + 1` || exit 1 -mdconfig -a -t malloc -s 3M -u `expr $us + 2` || exit 1 +dd if=/dev/random of=${src} bs=1m count=$tsize >/dev/null 2>&1 -gconcat create $name /dev/md${us} /dev/md`expr $us + 1` /dev/md`expr $us + 2` || exit 1 +gconcat create $name /dev/$us0 /dev/$us1 /dev/$us2 || exit 1 devwait dd if=${src} of=/dev/concat/${name} bs=1m count=$tsize >/dev/null 2>&1 @@ -28,8 +27,4 @@ else echo "ok - md5 checksum comparison" fi -gconcat destroy $name -mdconfig -d -u $us -mdconfig -d -u `expr $us + 1` -mdconfig -d -u `expr $us + 2` rm -f ${src} ${dst} From owner-svn-src-all@freebsd.org Sat Mar 12 23:12:25 2016 Return-Path: Delivered-To: svn-src-all@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 DFF32ACEB5A; Sat, 12 Mar 2016 23:12:24 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 B7A9A1BC7; Sat, 12 Mar 2016 23:12:24 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CNCNBk051432; Sat, 12 Mar 2016 23:12:23 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CNCNYB051429; Sat, 12 Mar 2016 23:12:23 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201603122312.u2CNCNYB051429@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 12 Mar 2016 23:12:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296778 - stable/9/tools/regression/geom_concat X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 23:12:25 -0000 Author: ngie Date: Sat Mar 12 23:12:23 2016 New Revision: 296778 URL: https://svnweb.freebsd.org/changeset/base/296778 Log: MFstable/10 r296777: MFC r293434: - Use attach_md for memory disks so they can be tracked. - Add a geom_concat specific cleanup function and trap on that function at exit so things are cleaned up properly - Don't hardcode /tmp for temporary files, which violates the kyua sandbox Modified: stable/9/tools/regression/geom_concat/conf.sh stable/9/tools/regression/geom_concat/test-1.t stable/9/tools/regression/geom_concat/test-2.t Directory Properties: stable/9/ (props changed) stable/9/tools/ (props changed) stable/9/tools/regression/ (props changed) Modified: stable/9/tools/regression/geom_concat/conf.sh ============================================================================== --- stable/9/tools/regression/geom_concat/conf.sh Sat Mar 12 23:11:08 2016 (r296777) +++ stable/9/tools/regression/geom_concat/conf.sh Sat Mar 12 23:12:23 2016 (r296778) @@ -5,4 +5,11 @@ name="$(mktemp -u concat.XXXXXX)" class="concat" base=`basename $0` +gconcat_test_cleanup() +{ + [ -c /dev/$class/$name ] && gconcat destroy $name + geom_test_cleanup +} +trap gconcat_test_cleanup ABRT EXIT INT TERM + . `dirname $0`/../geom_subr.sh Modified: stable/9/tools/regression/geom_concat/test-1.t ============================================================================== --- stable/9/tools/regression/geom_concat/test-1.t Sat Mar 12 23:11:08 2016 (r296777) +++ stable/9/tools/regression/geom_concat/test-1.t Sat Mar 12 23:12:23 2016 (r296778) @@ -5,13 +5,11 @@ echo '1..1' -us=45 +us0=$(attach_md -t malloc -s 1M) || exit 1 +us1=$(attach_md -t malloc -s 2M) || exit 1 +us2=$(attach_md -t malloc -s 3M) || exit 1 -mdconfig -a -t malloc -s 1M -u $us || exit 1 -mdconfig -a -t malloc -s 2M -u `expr $us + 1` || exit 1 -mdconfig -a -t malloc -s 3M -u `expr $us + 2` || exit 1 - -gconcat create $name /dev/md${us} /dev/md`expr $us + 1` /dev/md`expr $us + 2` || exit 1 +gconcat create $name /dev/$us0 /dev/$us1 /dev/$us2 || exit 1 devwait # Size of created device should be 1MB + 2MB + 3MB. @@ -23,8 +21,3 @@ if [ $size -eq 6291456 ]; then else echo "not ok - Size is 6291456" fi - -gconcat destroy $name -mdconfig -d -u $us -mdconfig -d -u `expr $us + 1` -mdconfig -d -u `expr $us + 2` Modified: stable/9/tools/regression/geom_concat/test-2.t ============================================================================== --- stable/9/tools/regression/geom_concat/test-2.t Sat Mar 12 23:11:08 2016 (r296777) +++ stable/9/tools/regression/geom_concat/test-2.t Sat Mar 12 23:12:23 2016 (r296778) @@ -5,18 +5,17 @@ echo '1..1' -us=45 tsize=6 -src=`mktemp /tmp/$base.XXXXXX` || exit 1 -dst=`mktemp /tmp/$base.XXXXXX` || exit 1 +src=`mktemp $base.XXXXXX` || exit 1 +dst=`mktemp $base.XXXXXX` || exit 1 -dd if=/dev/random of=${src} bs=1m count=$tsize >/dev/null 2>&1 +us0=$(attach_md -t malloc -s 1M) || exit 1 +us1=$(attach_md -t malloc -s 2M) || exit 1 +us2=$(attach_md -t malloc -s 3M) || exit 1 -mdconfig -a -t malloc -s 1M -u $us || exit 1 -mdconfig -a -t malloc -s 2M -u `expr $us + 1` || exit 1 -mdconfig -a -t malloc -s 3M -u `expr $us + 2` || exit 1 +dd if=/dev/random of=${src} bs=1m count=$tsize >/dev/null 2>&1 -gconcat create $name /dev/md${us} /dev/md`expr $us + 1` /dev/md`expr $us + 2` || exit 1 +gconcat create $name /dev/$us0 /dev/$us1 /dev/$us2 || exit 1 devwait dd if=${src} of=/dev/concat/${name} bs=1m count=$tsize >/dev/null 2>&1 @@ -28,8 +27,4 @@ else echo "ok - md5 checksum comparison" fi -gconcat destroy $name -mdconfig -d -u $us -mdconfig -d -u `expr $us + 1` -mdconfig -d -u `expr $us + 2` rm -f ${src} ${dst} From owner-svn-src-all@freebsd.org Sat Mar 12 23:25:07 2016 Return-Path: Delivered-To: svn-src-all@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 8CF7CACEF96; Sat, 12 Mar 2016 23:25:07 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 64495A0; Sat, 12 Mar 2016 23:25:07 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CNP6fr054507; Sat, 12 Mar 2016 23:25:06 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CNP6Ta054503; Sat, 12 Mar 2016 23:25:06 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201603122325.u2CNP6Ta054503@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sat, 12 Mar 2016 23:25:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r296779 - in head: . lib X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 23:25:07 -0000 Author: imp Date: Sat Mar 12 23:25:05 2016 New Revision: 296779 URL: https://svnweb.freebsd.org/changeset/base/296779 Log: Use the newly minted Makefile.libcompat to implement libsoft libraries for the armv6 ABI switch. This also make WITH_LIBSOFT functional on the arm platform. As a transition thing, this seems to work even without switching the ABI (we basically build the same libraries twice when MK_LIBSOFT=yes until the ABI cut over next month). MK_LIBSOFT remains default no. Modified: head/Makefile head/Makefile.inc1 head/Makefile.libcompat head/lib/Makefile Modified: head/Makefile ============================================================================== --- head/Makefile Sat Mar 12 23:12:23 2016 (r296778) +++ head/Makefile Sat Mar 12 23:25:05 2016 (r296779) @@ -125,7 +125,8 @@ TGTS= all all-man buildenv buildenvvars obj objlink rerelease showconfig tags toolchain update \ _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ _build-tools _cross-tools _includes _libraries _depend \ - build32 builddtb distribute32 install32 xdev xdev-build xdev-install \ + build32 distribute32 install32 build32 distribute32 install32 \ + builddtb xdev xdev-build xdev-install \ xdev-links native-xtools installconfig \ TGTS+= ${SUBDIR_TARGETS} Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Sat Mar 12 23:12:23 2016 (r296778) +++ head/Makefile.inc1 Sat Mar 12 23:25:05 2016 (r296779) @@ -458,6 +458,9 @@ XCXXFLAGS+= ${BFLAGS} ${TARGET_ARCH} == "powerpc64") LIBCOMPAT= 32 .include "Makefile.libcompat" +.elif ${MK_LIBSOFT} != "no" && ${TARGET_ARCH} == "armv6" +LIBCOMPAT= SOFT +.include "Makefile.libcompat" .endif WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} Modified: head/Makefile.libcompat ============================================================================== --- head/Makefile.libcompat Sat Mar 12 23:12:23 2016 (r296778) +++ head/Makefile.libcompat Sat Mar 12 23:25:05 2016 (r296779) @@ -40,10 +40,19 @@ LIB32DTRACE= ${DTRACE} -32 LIB32WMAKEFLAGS+= -DCOMPAT_32BIT # ------------------------------------------------------------------- +# soft-fp world +.if ${TARGET_ARCH} == "armv6" +LIBSOFTCFLAGS= -DCOMPAT_SOFTFP +LIBSOFTCPUFLAGS= -mfloat-abi=softfp +LIBSOFTWMAKEENV= CPUTYPE=soft MACHINE=arm MACHINE_ARCH=armv6 +LIBSOFTWMAKEFLAGS= -DCOMPAT_SOFTFP +.endif + +# ------------------------------------------------------------------- # Generic code for each type. # Set defaults based on type. libcompat= ${LIBCOMPAT:tl} -_LIBCOMPAT_MAKEVARS= _OBJTREE TMP CFLAGS WMAKEENV WMAKEFLAGS WMAKE +_LIBCOMPAT_MAKEVARS= _OBJTREE TMP CPUFLAGS CFLAGS WMAKEENV WMAKEFLAGS WMAKE .for _var in ${_LIBCOMPAT_MAKEVARS} .if !empty(LIB${LIBCOMPAT}${_var}) LIBCOMPAT${_var}?= ${LIB${LIBCOMPAT}${_var}} Modified: head/lib/Makefile ============================================================================== --- head/lib/Makefile Sat Mar 12 23:12:23 2016 (r296778) +++ head/lib/Makefile Sat Mar 12 23:25:05 2016 (r296779) @@ -172,7 +172,7 @@ _libbsnmp= libbsnmp _libcasper= libcasper .endif -.if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT) +.if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT) && !defined(COMPAT_SOFTFP) _clang= clang .endif From owner-svn-src-all@freebsd.org Sat Mar 12 23:38:28 2016 Return-Path: Delivered-To: svn-src-all@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 6A96FACD83C; Sat, 12 Mar 2016 23:38:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 4D728970; Sat, 12 Mar 2016 23:38:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 45D1719F9; Sat, 12 Mar 2016 23:38:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 088991E645; Sat, 12 Mar 2016 23:38:28 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id SThB9iWYMq_U; Sat, 12 Mar 2016 23:38:25 +0000 (UTC) Subject: Re: svn commit: r296779 - in head: . lib DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 44D521E63F To: Warner Losh , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201603122325.u2CNP6Ta054503@repo.freebsd.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56E4A876.2020906@FreeBSD.org> Date: Sat, 12 Mar 2016 15:38:30 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <201603122325.u2CNP6Ta054503@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="wfXvqISkRrEAnOrJJjl3fHklmarHglexL" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 23:38:28 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --wfXvqISkRrEAnOrJJjl3fHklmarHglexL Content-Type: multipart/mixed; boundary="jgB0dvSljRSNGVVQI0cEuv3aB1TOU9sSF" From: Bryan Drewery To: Warner Losh , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <56E4A876.2020906@FreeBSD.org> Subject: Re: svn commit: r296779 - in head: . lib References: <201603122325.u2CNP6Ta054503@repo.freebsd.org> In-Reply-To: <201603122325.u2CNP6Ta054503@repo.freebsd.org> --jgB0dvSljRSNGVVQI0cEuv3aB1TOU9sSF Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/12/2016 3:25 PM, Warner Losh wrote: > Author: imp > Date: Sat Mar 12 23:25:05 2016 > New Revision: 296779 > URL: https://svnweb.freebsd.org/changeset/base/296779 >=20 > Log: > Use the newly minted Makefile.libcompat to implement libsoft librarie= s > for the armv6 ABI switch. This also make WITH_LIBSOFT functional on > the arm platform. As a transition thing, this seems to work even > without switching the ABI (we basically build the same libraries > twice when MK_LIBSOFT=3Dyes until the ABI cut over next > month). MK_LIBSOFT remains default no. >=20 > Modified: > head/Makefile > head/Makefile.inc1 > head/Makefile.libcompat > head/lib/Makefile >=20 > Modified: head/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/Makefile Sat Mar 12 23:12:23 2016 (r296778) > +++ head/Makefile Sat Mar 12 23:25:05 2016 (r296779) > @@ -125,7 +125,8 @@ TGTS=3D all all-man buildenv buildenvvars=20 > obj objlink rerelease showconfig tags toolchain update \ > _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ > _build-tools _cross-tools _includes _libraries _depend \ > - build32 builddtb distribute32 install32 xdev xdev-build xdev-install = \ > + build32 distribute32 install32 build32 distribute32 install32 \ oops oops --=20 Regards, Bryan Drewery --jgB0dvSljRSNGVVQI0cEuv3aB1TOU9sSF-- --wfXvqISkRrEAnOrJJjl3fHklmarHglexL Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW5Kh2AAoJEDXXcbtuRpfP52UIAMIa36mQkdlAzBfZ1veOl6gX hJ3rtlU2GcQrMifuKPcNKzqkeLTqqEh884jZArmMTju4c78ZD3yOOqdHT4sk3BTT QLPyhZRixHy0f4Ov9weso1e061Wpp9oVOuM6chIE8X0lg4c/fwes1/piudqwLEhP L7/cZIm1W85ry5S3aOsfFwthf26ECn6ZrULRQt/sb3xNfYYCoLnnbRDbqHY3wbk+ BMeill2gHB7FLO2N5el4O3RFlSrpRyA61aQ8n5g2V0IKTHjKGGrkOVmxbsZluf/0 ZfnccJpAdxFPBKuT05iH5h5yrp5yVBtHTrLlbNwrahnq3TCfKLbC06rJkT2Ff1U= =cWLJ -----END PGP SIGNATURE----- --wfXvqISkRrEAnOrJJjl3fHklmarHglexL-- From owner-svn-src-all@freebsd.org Sat Mar 12 23:50:21 2016 Return-Path: Delivered-To: svn-src-all@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 69C0CACDC1A; Sat, 12 Mar 2016 23:50:21 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 20354D62; Sat, 12 Mar 2016 23:50:21 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CNoK9Y060559; Sat, 12 Mar 2016 23:50:20 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CNoKuJ060558; Sat, 12 Mar 2016 23:50:20 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603122350.u2CNoKuJ060558@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Sat, 12 Mar 2016 23:50:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r296780 - stable/9/crypto/openssh X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 23:50:21 -0000 Author: des Date: Sat Mar 12 23:50:19 2016 New Revision: 296780 URL: https://svnweb.freebsd.org/changeset/base/296780 Log: Apply patch from 7.2p2 for xauth command injection bug. Security: CVE-2016-3115 Modified: stable/9/crypto/openssh/session.c Modified: stable/9/crypto/openssh/session.c ============================================================================== --- stable/9/crypto/openssh/session.c Sat Mar 12 23:25:05 2016 (r296779) +++ stable/9/crypto/openssh/session.c Sat Mar 12 23:50:19 2016 (r296780) @@ -48,6 +48,7 @@ __RCSID("$FreeBSD$"); #include +#include #include #include #include @@ -294,6 +295,21 @@ do_authenticated(Authctxt *authctxt) do_cleanup(authctxt); } +/* Check untrusted xauth strings for metacharacters */ +static int +xauth_valid_string(const char *s) +{ + size_t i; + + for (i = 0; s[i] != '\0'; i++) { + if (!isalnum((u_char)s[i]) && + s[i] != '.' && s[i] != ':' && s[i] != '/' && + s[i] != '-' && s[i] != '_') + return 0; + } + return 1; +} + /* * Prepares for an interactive session. This is called after the user has * been successfully authenticated. During this message exchange, pseudo @@ -367,7 +383,13 @@ do_authenticated1(Authctxt *authctxt) s->screen = 0; } packet_check_eom(); - success = session_setup_x11fwd(s); + if (xauth_valid_string(s->auth_proto) && + xauth_valid_string(s->auth_data)) + success = session_setup_x11fwd(s); + else { + success = 0; + error("Invalid X11 forwarding data"); + } if (!success) { free(s->auth_proto); free(s->auth_data); @@ -2199,7 +2221,13 @@ session_x11_req(Session *s) s->screen = packet_get_int(); packet_check_eom(); - success = session_setup_x11fwd(s); + if (xauth_valid_string(s->auth_proto) && + xauth_valid_string(s->auth_data)) + success = session_setup_x11fwd(s); + else { + success = 0; + error("Invalid X11 forwarding data"); + } if (!success) { free(s->auth_proto); free(s->auth_data); From owner-svn-src-all@freebsd.org Sat Mar 12 23:53:21 2016 Return-Path: Delivered-To: svn-src-all@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 A1C2EACDDC9; Sat, 12 Mar 2016 23:53:21 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1: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 5BECC11B; Sat, 12 Mar 2016 23:53:21 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u2CNrKqY063290; Sat, 12 Mar 2016 23:53:20 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u2CNrK3g063288; Sat, 12 Mar 2016 23:53:20 GMT (envelope-from des@FreeBSD.org) Message-Id: <201603122353.u2CNrK3g063288@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Sat, 12 Mar 2016 23:53:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r296781 - in stable/10: crypto/openssh crypto/openssh/contrib crypto/openssh/contrib/redhat crypto/openssh/contrib/suse crypto/openssh/openbsd-compat crypto/openssh/regress crypto/opens... X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Mar 2016 23:53:21 -0000 Author: des Date: Sat Mar 12 23:53:20 2016 New Revision: 296781 URL: https://svnweb.freebsd.org/changeset/base/296781 Log: MFH (r296633): upgrade to 7.2p2 (fixes xauth command injection bug) MFH (r296634): re-add aes-cbc to server-side default cipher list MFH (r296651, r296657): fix gcc build of pam_ssh PR: 207679 Security: CVE-2016-3115 Added: stable/10/crypto/openssh/platform-pledge.c - copied unchanged from r296633, head/crypto/openssh/platform-pledge.c stable/10/crypto/openssh/regress/cert-file.sh - copied unchanged from r296633, head/crypto/openssh/regress/cert-file.sh stable/10/crypto/openssh/regress/check-perm.c - copied unchanged from r296633, head/crypto/openssh/regress/check-perm.c stable/10/crypto/openssh/sandbox-pledge.c - copied unchanged from r296633, head/crypto/openssh/sandbox-pledge.c stable/10/crypto/openssh/sandbox-solaris.c - copied unchanged from r296633, head/crypto/openssh/sandbox-solaris.c Deleted: stable/10/crypto/openssh/roaming_client.c stable/10/crypto/openssh/roaming_common.c stable/10/crypto/openssh/roaming_dummy.c stable/10/crypto/openssh/roaming_serv.c Modified: stable/10/crypto/openssh/ChangeLog stable/10/crypto/openssh/FREEBSD-upgrade stable/10/crypto/openssh/Makefile.in stable/10/crypto/openssh/README stable/10/crypto/openssh/README.platform stable/10/crypto/openssh/auth-bsdauth.c stable/10/crypto/openssh/auth-krb5.c stable/10/crypto/openssh/auth-options.c stable/10/crypto/openssh/auth-pam.c stable/10/crypto/openssh/auth.h stable/10/crypto/openssh/auth2-pubkey.c stable/10/crypto/openssh/authfd.c stable/10/crypto/openssh/authfd.h stable/10/crypto/openssh/authfile.c stable/10/crypto/openssh/channels.c stable/10/crypto/openssh/cipher.c stable/10/crypto/openssh/clientloop.c stable/10/crypto/openssh/clientloop.h stable/10/crypto/openssh/config.h stable/10/crypto/openssh/configure.ac stable/10/crypto/openssh/contrib/redhat/openssh.spec stable/10/crypto/openssh/contrib/ssh-copy-id stable/10/crypto/openssh/contrib/ssh-copy-id.1 stable/10/crypto/openssh/contrib/suse/openssh.spec stable/10/crypto/openssh/defines.h stable/10/crypto/openssh/dh.h stable/10/crypto/openssh/includes.h stable/10/crypto/openssh/kex.c stable/10/crypto/openssh/kex.h stable/10/crypto/openssh/kexc25519s.c stable/10/crypto/openssh/kexdhs.c stable/10/crypto/openssh/kexecdhs.c stable/10/crypto/openssh/kexgexs.c stable/10/crypto/openssh/key.c stable/10/crypto/openssh/key.h stable/10/crypto/openssh/krl.c stable/10/crypto/openssh/krl.h stable/10/crypto/openssh/loginrec.c stable/10/crypto/openssh/misc.c stable/10/crypto/openssh/monitor.c stable/10/crypto/openssh/monitor_wrap.c stable/10/crypto/openssh/monitor_wrap.h stable/10/crypto/openssh/mux.c stable/10/crypto/openssh/myproposal.h stable/10/crypto/openssh/opacket.c stable/10/crypto/openssh/opacket.h stable/10/crypto/openssh/openbsd-compat/bsd-misc.c stable/10/crypto/openssh/openbsd-compat/bsd-misc.h stable/10/crypto/openssh/openbsd-compat/bsd-poll.h stable/10/crypto/openssh/openbsd-compat/glob.c stable/10/crypto/openssh/openbsd-compat/glob.h stable/10/crypto/openssh/openbsd-compat/openbsd-compat.h stable/10/crypto/openssh/openbsd-compat/port-solaris.c stable/10/crypto/openssh/openbsd-compat/port-solaris.h stable/10/crypto/openssh/openbsd-compat/realpath.c stable/10/crypto/openssh/packet.c stable/10/crypto/openssh/packet.h stable/10/crypto/openssh/platform.h stable/10/crypto/openssh/readconf.c stable/10/crypto/openssh/readconf.h stable/10/crypto/openssh/readpass.c stable/10/crypto/openssh/regress/Makefile stable/10/crypto/openssh/regress/agent-ptrace.sh stable/10/crypto/openssh/regress/dhgex.sh stable/10/crypto/openssh/regress/hostkey-rotate.sh stable/10/crypto/openssh/regress/keys-command.sh stable/10/crypto/openssh/regress/keyscan.sh stable/10/crypto/openssh/regress/limit-keytype.sh stable/10/crypto/openssh/regress/principals-command.sh stable/10/crypto/openssh/regress/proxy-connect.sh stable/10/crypto/openssh/regress/rekey.sh stable/10/crypto/openssh/regress/setuid-allowed.c stable/10/crypto/openssh/regress/sftp-chroot.sh stable/10/crypto/openssh/regress/unittests/sshkey/test_file.c stable/10/crypto/openssh/regress/unittests/sshkey/test_fuzz.c stable/10/crypto/openssh/regress/unittests/sshkey/test_sshkey.c stable/10/crypto/openssh/roaming.h stable/10/crypto/openssh/sandbox-seccomp-filter.c stable/10/crypto/openssh/sandbox-systrace.c stable/10/crypto/openssh/scp.1 stable/10/crypto/openssh/scp.c stable/10/crypto/openssh/servconf.c stable/10/crypto/openssh/serverloop.c stable/10/crypto/openssh/session.c stable/10/crypto/openssh/sftp-client.c stable/10/crypto/openssh/sftp-client.h stable/10/crypto/openssh/sftp-server-main.c stable/10/crypto/openssh/sftp-server.c stable/10/crypto/openssh/sftp.1 stable/10/crypto/openssh/sftp.c stable/10/crypto/openssh/ssh-add.c stable/10/crypto/openssh/ssh-agent.1 stable/10/crypto/openssh/ssh-agent.c stable/10/crypto/openssh/ssh-dss.c stable/10/crypto/openssh/ssh-ecdsa.c stable/10/crypto/openssh/ssh-keygen.1 stable/10/crypto/openssh/ssh-keygen.c stable/10/crypto/openssh/ssh-keyscan.1 stable/10/crypto/openssh/ssh-keyscan.c stable/10/crypto/openssh/ssh-keysign.8 stable/10/crypto/openssh/ssh-keysign.c stable/10/crypto/openssh/ssh-pkcs11-client.c stable/10/crypto/openssh/ssh-pkcs11-helper.c stable/10/crypto/openssh/ssh-pkcs11.c stable/10/crypto/openssh/ssh-rsa.c stable/10/crypto/openssh/ssh.1 stable/10/crypto/openssh/ssh.c stable/10/crypto/openssh/ssh.h stable/10/crypto/openssh/ssh2.h stable/10/crypto/openssh/ssh_api.c stable/10/crypto/openssh/ssh_config stable/10/crypto/openssh/ssh_config.5 stable/10/crypto/openssh/ssh_namespace.h stable/10/crypto/openssh/sshbuf-getput-basic.c stable/10/crypto/openssh/sshbuf.c stable/10/crypto/openssh/sshbuf.h stable/10/crypto/openssh/sshconnect.c stable/10/crypto/openssh/sshconnect.h stable/10/crypto/openssh/sshconnect1.c stable/10/crypto/openssh/sshconnect2.c stable/10/crypto/openssh/sshd.8 stable/10/crypto/openssh/sshd.c stable/10/crypto/openssh/sshd_config stable/10/crypto/openssh/sshd_config.5 stable/10/crypto/openssh/ssherr.c stable/10/crypto/openssh/sshkey.c stable/10/crypto/openssh/sshkey.h stable/10/crypto/openssh/sshlogin.c stable/10/crypto/openssh/uidswap.c stable/10/crypto/openssh/version.h stable/10/crypto/openssh/xmalloc.c stable/10/crypto/openssh/xmalloc.h stable/10/lib/libpam/modules/pam_ssh/Makefile stable/10/lib/libpam/modules/pam_ssh/pam_ssh.c stable/10/secure/lib/libssh/Makefile stable/10/secure/libexec/sftp-server/Makefile stable/10/secure/libexec/ssh-keysign/Makefile stable/10/secure/libexec/ssh-pkcs11-helper/Makefile stable/10/secure/usr.bin/scp/Makefile stable/10/secure/usr.bin/sftp/Makefile stable/10/secure/usr.bin/ssh-add/Makefile stable/10/secure/usr.bin/ssh-agent/Makefile stable/10/secure/usr.bin/ssh-keygen/Makefile stable/10/secure/usr.bin/ssh-keyscan/Makefile stable/10/secure/usr.bin/ssh/Makefile stable/10/secure/usr.sbin/sshd/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/crypto/openssh/ChangeLog ============================================================================== --- stable/10/crypto/openssh/ChangeLog Sat Mar 12 23:50:19 2016 (r296780) +++ stable/10/crypto/openssh/ChangeLog Sat Mar 12 23:53:20 2016 (r296781) @@ -1,7615 +1,8905 @@ -commit c88ac102f0eb89f2eaa314cb2e2e0ca3c890c443 +commit 5c35450a0c901d9375fb23343a8dc82397da5f75 Author: Damien Miller -Date: Thu Jan 14 11:08:19 2016 +1100 +Date: Thu Mar 10 05:04:48 2016 +1100 - bump version numbers + update versions for release -commit 302bc21e6fadacb04b665868cd69b625ef69df90 +commit 9d47b8d3f50c3a6282896df8274147e3b9a38c56 Author: Damien Miller -Date: Thu Jan 14 11:04:04 2016 +1100 +Date: Thu Mar 10 05:03:39 2016 +1100 - openssh-7.1p2 + sanitise characters destined for xauth(1) + + reported by github.com/tintinweb -commit 6b33763242c063e4e0593877e835eeb1fd1b60aa -Author: Damien Miller -Date: Thu Jan 14 11:02:58 2016 +1100 +commit 72b061d4ba0f909501c595d709ea76e06b01e5c9 +Author: Darren Tucker +Date: Fri Feb 26 14:40:04 2016 +1100 - forcibly disable roaming support in the client + Add a note about using xlc on AIX. -commit 34d364f0d2e1e30a444009f0e04299bb7c94ba13 -Author: djm@openbsd.org -Date: Mon Oct 5 17:11:21 2015 +0000 +commit fd4e4f2416baa2e6565ea49d52aade296bad3e28 +Author: Darren Tucker +Date: Wed Feb 24 10:44:25 2016 +1100 - upstream commit + Skip PrintLastLog in config dump mode. - some more bzero->explicit_bzero, from Michael McConville - - Upstream-ID: 17f19545685c33327db2efdc357c1c9225ff00d0 + When DISABLE_LASTLOG is set, do not try to include PrintLastLog in the + config dump since it'll be reported as UNKNOWN. -commit 8f5b93026797b9f7fba90d0c717570421ccebbd3 -Author: guenther@openbsd.org -Date: Fri Sep 11 08:50:04 2015 +0000 +commit 99135c764fa250801da5ec3b8d06cbd0111caae8 +Author: Damien Miller +Date: Tue Feb 23 20:17:23 2016 +1100 + + update spec/README versions ahead of release + +commit b86a334aaaa4d1e643eb1fd71f718573d6d948b5 +Author: Damien Miller +Date: Tue Feb 23 20:16:53 2016 +1100 + + put back portable patchlevel to p1 + +commit 555dd35ff176847e3c6bd068ba2e8db4022eb24f +Author: djm@openbsd.org +Date: Tue Feb 23 09:14:34 2016 +0000 upstream commit - Use explicit_bzero() when zeroing before free() - - from Michael McConville (mmcconv1 (at) sccs.swarthmore.edu) - ok millert@ djm@ + openssh-7.2 - Upstream-ID: 2e3337db046c3fe70c7369ee31515ac73ec00f50 + Upstream-ID: 9db776b26014147fc907ece8460ef2bcb0f11e78 -commit d77148e3a3ef6c29b26ec74331455394581aa257 -Author: djm@openbsd.org -Date: Sun Nov 8 21:59:11 2015 +0000 +commit 1acc058d0a7913838c830ed998a1a1fb5b7864bf +Author: Damien Miller +Date: Tue Feb 23 16:12:13 2016 +1100 - upstream commit + Disable tests where fs perms are incorrect - fix OOB read in packet code caused by missing return - statement found by Ben Hawkes; ok markus@ deraadt@ + Some tests have strict requirements on the filesystem permissions + for certain files and directories. This adds a regress/check-perm + tool that copies the relevant logic from sshd to exactly test + the paths in question. This lets us skip tests when the local + filesystem doesn't conform to our expectations rather than + continuing and failing the test run. - Upstream-ID: a3e3a85434ebfa0690d4879091959591f30efc62 + ok dtucker@ -commit 076d849e17ab12603627f87b301e2dca71bae518 +commit 39f303b1f36d934d8410b05625f25c7bcb75db4d Author: Damien Miller -Date: Sat Nov 14 18:44:49 2015 +1100 +Date: Tue Feb 23 12:56:59 2016 +1100 - read back from libcrypto RAND when privdropping + fix sandbox on OSX Lion - makes certain libcrypto implementations cache a /dev/urandom fd - in preparation of sandboxing. Based on patch by Greg Hartman. + sshd was failing with: + + ssh_sandbox_child: sandbox_init: dlopen(/usr/lib/libsandbox.1.dylib, 261):cw + image not found [preauth] + + caused by chroot before sandboxing. Avoid by explicitly linking libsandbox + to sshd. Spotted by Darren. -commit f72adc0150011a28f177617a8456e1f83733099d +commit 0d1451a32c7436e6d3d482351e776bc5e7824ce4 Author: djm@openbsd.org -Date: Sun Dec 13 22:42:23 2015 +0000 +Date: Tue Feb 23 01:34:14 2016 +0000 upstream commit - unbreak connections with peers that set - first_kex_follows; fix from Matt Johnston va bz#2515 + fix spurious error message when incorrect passphrase + entered for keys; reported by espie@ ok deraadt@ - Upstream-ID: decc88ec4fc7515594fdb42b04aa03189a44184b + Upstream-ID: 58b2e46e63ed6912ed1ee780bd3bd8560f9a5899 -commit 04bd8d019ccd906cac1a2b362517b8505f3759e6 -Author: djm@openbsd.org -Date: Tue Jan 12 23:42:54 2016 +0000 +commit 09d87d79741beb85768b5e788d7dfdf4bc3543dc +Author: sobrado@openbsd.org +Date: Sat Feb 20 23:06:23 2016 +0000 upstream commit - use explicit_bzero() more liberally in the buffer code; ok - deraadt + set ssh(1) protocol version to 2 only. - Upstream-ID: 0ece37069fd66bc6e4f55eb1321f93df372b65bf + ok djm@ + + Upstream-ID: e168daf9d27d7e392e3c9923826bd8e87b2b3a10 -commit e91346dc2bbf460246df2ab591b7613908c1b0ad -Author: Damien Miller -Date: Fri Aug 21 14:49:03 2015 +1000 +commit 9262e07826ba5eebf8423f7ac9e47ec488c47869 +Author: sobrado@openbsd.org +Date: Sat Feb 20 23:02:39 2016 +0000 - we don't use Github for issues/pull-requests + upstream commit + + add missing ~/.ssh/id_ecdsa and ~/.ssh/id_ed25519 to + IdentityFile. + + ok djm@ + + Upstream-ID: 6ce99466312e4ae7708017c3665e3edb976f70cf -commit a4f5b507c708cc3dc2c8dd2d02e4416d7514dc23 -Author: Damien Miller -Date: Fri Aug 21 14:43:55 2015 +1000 +commit c12f0fdce8f985fca8d71829fd64c5b89dc777f5 +Author: sobrado@openbsd.org +Date: Sat Feb 20 23:01:46 2016 +0000 - fix URL for connect.c + upstream commit + + AddressFamily defaults to any. + + ok djm@ + + Upstream-ID: 0d94aa06a4b889bf57a7f631c45ba36d24c13e0c -commit d026a8d3da0f8186598442997c7d0a28e7275414 -Author: Damien Miller -Date: Fri Aug 21 13:47:10 2015 +1000 +commit 907091acb188b1057d50c2158f74c3ecf1c2302b +Author: Darren Tucker +Date: Fri Feb 19 09:05:39 2016 +1100 - update version numbers for 7.1 + Make Solaris privs code build on older systems. + + Not all systems with Solaris privs have priv_basicset so factor that + out and provide backward compatibility code. Similarly, not all have + PRIV_NET_ACCESS so wrap that in #ifdef. Based on code from + alex at cooperi.net and djm@ with help from carson at taltos.org and + wieland at purdue.edu. -commit 78f8f589f0ca1c9f41e5a9bae3cda5ce8a6b42ed +commit 292a8dee14e5e67dcd1b49ba5c7b9023e8420d59 Author: djm@openbsd.org -Date: Fri Aug 21 03:45:26 2015 +0000 +Date: Wed Feb 17 22:20:14 2016 +0000 upstream commit - openssh-7.1 + rekey refactor broke SSH1; spotted by Tom G. Christensen - Upstream-ID: ff7b1ef4b06caddfb45e08ba998128c88be3d73f + Upstream-ID: 43f0d57928cc077c949af0bfa71ef574dcb58243 -commit 32a181980c62fce94f7f9ffaf6a79d90f0c309cf +commit 3a13cb543df9919aec2fc6b75f3dd3802facaeca Author: djm@openbsd.org -Date: Fri Aug 21 03:42:19 2015 +0000 +Date: Wed Feb 17 08:57:34 2016 +0000 upstream commit - fix inverted logic that broke PermitRootLogin; reported - by Mantas Mikulenas; ok markus@ + rsa-sha2-512,rsa-sha2-256 cannot be selected explicitly + in *KeyTypes options yet. Remove them from the lists of algorithms for now. + committing on behalf of markus@ ok djm@ - Upstream-ID: 260dd6a904c1bb7e43267e394b1c9cf70bdd5ea5 + Upstream-ID: c6e8820eb8e610ac21551832c0c89684a9a51bb7 -commit ce445b0ed927e45bd5bdce8f836eb353998dd65c -Author: deraadt@openbsd.org -Date: Thu Aug 20 22:32:42 2015 +0000 +commit a685ae8d1c24fb7c712c55a4f3280ee76f5f1e4b +Author: jmc@openbsd.org +Date: Wed Feb 17 07:38:19 2016 +0000 upstream commit - Do not cast result of malloc/calloc/realloc* if stdlib.h - is in scope ok krw millert - - Upstream-ID: 5e50ded78cadf3841556649a16cc4b1cb6c58667 - -commit 05291e5288704d1a98bacda269eb5a0153599146 -Author: naddy@openbsd.org -Date: Thu Aug 20 19:20:06 2015 +0000 - - upstream commit + since these pages now clearly tell folks to avoid v1, + normalise the docs from a v2 perspective (i.e. stop pointing out which bits + are v2 only); - In the certificates section, be consistent about using - "host_key" and "user_key" for the respective key types. ok sthen@ deraadt@ + ok/tweaks djm ok markus - Upstream-ID: 9e037ea3b15577b238604c5533e082a3947f13cb + Upstream-ID: eb474f8c36fb6a532dc05c282f7965e38dcfa129 -commit 8543d4ef6f2e9f98c3e6b77c894ceec30c5e4ae4 +commit c5c3f3279a0e4044b8de71b70d3570d692d0f29d Author: djm@openbsd.org -Date: Wed Aug 19 23:21:42 2015 +0000 +Date: Wed Feb 17 05:29:04 2016 +0000 upstream commit - Better compat matching for WinSCP, add compat matching - for FuTTY (fork of PuTTY); ok markus@ deraadt@ + make sandboxed privilege separation the default, not just + for new installs; "absolutely" deraadt@ - Upstream-ID: 24001d1ac115fa3260fbdc329a4b9aeb283c5389 + Upstream-ID: 5221ef3b927d2df044e9aa3f5db74ae91743f69b -commit ec6eda16ebab771aa3dfc90629b41953b999cb1e -Author: djm@openbsd.org -Date: Wed Aug 19 23:19:01 2015 +0000 +commit eb3f7337a651aa01d5dec019025e6cdc124ed081 +Author: jmc@openbsd.org +Date: Tue Feb 16 07:47:54 2016 +0000 upstream commit - fix double-free() in error path of DSA key generation - reported by Mateusz Kocielski; ok markus@ + no need to state that protocol 2 is the default twice; - Upstream-ID: 4735d8f888b10599a935fa1b374787089116713c + Upstream-ID: b1e4c36b0c2e12e338e5b66e2978f2ac953b95eb -commit 45b0eb752c94954a6de046bfaaf129e518ad4b5b +commit e7901efa9b24e5b0c7e74f2c5520d47eead4d005 Author: djm@openbsd.org -Date: Wed Aug 19 23:18:26 2015 +0000 +Date: Tue Feb 16 05:11:04 2016 +0000 upstream commit - fix free() of uninitialised pointer reported by Mateusz - Kocielski; ok markus@ + Replace list of ciphers and MACs adjacent to -1/-2 flag + descriptions in ssh(1) with a strong recommendation not to use protocol 1. + Add a similar warning to the Protocol option descriptions in ssh_config(5) + and sshd_config(5); - Upstream-ID: 519552b050618501a06b7b023de5cb104e2c5663 + prompted by and ok mmcc@ + + Upstream-ID: 961f99e5437d50e636feca023978950a232ead5e -commit c837643b93509a3ef538cb6624b678c5fe32ff79 +commit 5a0fcb77287342e2fc2ba1cee79b6af108973dc2 Author: djm@openbsd.org -Date: Wed Aug 19 23:17:51 2015 +0000 +Date: Tue Feb 16 03:37:48 2016 +0000 upstream commit - fixed unlink([uninitialised memory]) reported by Mateusz - Kocielski; ok markus@ + add a "Close session" log entry (at loglevel=verbose) to + correspond to the existing "Starting session" one. Also include the session + id number to make multiplexed sessions more apparent. - Upstream-ID: 14a0c4e7d891f5a8dabc4b89d4f6b7c0d5a20109 + feedback and ok dtucker@ + + Upstream-ID: e72d2ac080e02774376325136e532cb24c2e617c -commit 1f8d3d629cd553031021068eb9c646a5f1e50994 -Author: jmc@openbsd.org -Date: Fri Aug 14 15:32:41 2015 +0000 +commit 624fd395b559820705171f460dd33d67743d13d6 +Author: djm@openbsd.org +Date: Wed Feb 17 02:24:17 2016 +0000 upstream commit - match myproposal.h order; from brian conway (i snuck in a - tweak while here) - - ok dtucker + include bad $SSH_CONNECTION in failure output - Upstream-ID: 35174a19b5237ea36aa3798f042bf5933b772c67 + Upstream-Regress-ID: b22d72edfde78c403aaec2b9c9753ef633cc0529 -commit 1dc8d93ce69d6565747eb44446ed117187621b26 -Author: deraadt@openbsd.org -Date: Thu Aug 6 14:53:21 2015 +0000 +commit 60d860e54b4f199e5e89963b1c086981309753cb +Author: Darren Tucker +Date: Wed Feb 17 13:37:09 2016 +1100 - upstream commit - - add prohibit-password as a synonymn for without-password, - since the without-password is causing too many questions. Harden it to ban - all but pubkey, hostbased, and GSSAPI auth (when the latter is enabled) from - djm, ok markus + Rollback addition of va_start. - Upstream-ID: d53317d7b28942153e6236d3fd6e12ceb482db7a + va_start was added in 0f754e29dd3760fc0b172c1220f18b753fb0957e, however + it has the wrong number of args and it's not usable in non-variadic + functions anyway so it breaks things (for example Solaris 2.6 as + reported by Tom G. Christensen).i ok djm@ -commit 90a95a4745a531b62b81ce3b025e892bdc434de5 -Author: Damien Miller -Date: Tue Aug 11 13:53:41 2015 +1000 +commit 2fee909c3cee2472a98b26eb82696297b81e0d38 +Author: Darren Tucker +Date: Wed Feb 17 09:48:15 2016 +1100 - update version in README + Look for gethostbyname in libresolv and libnsl. + + Should fix build problem on Solaris 2.6 reported by Tom G. Christensen. -commit 318c37743534b58124f1bab37a8a0087a3a9bd2f +commit 5ac712d81a84396aab441a272ec429af5b738302 Author: Damien Miller -Date: Tue Aug 11 13:53:09 2015 +1000 +Date: Tue Feb 16 10:45:02 2016 +1100 - update versions in *.spec + make existing ssh_malloc_init only for __OpenBSD__ -commit 5e75f5198769056089fb06c4d738ab0e5abc66f7 -Author: Damien Miller -Date: Tue Aug 11 13:34:12 2015 +1000 +commit 24c9bded569d9f2449ded73f92fb6d12db7a9eec +Author: djm@openbsd.org +Date: Mon Feb 15 23:32:37 2016 +0000 - set sshpam_ctxt to NULL after free + upstream commit - Avoids use-after-free in monitor when privsep child is compromised. - Reported by Moritz Jodeit; ok dtucker@ - -commit d4697fe9a28dab7255c60433e4dd23cf7fce8a8b -Author: Damien Miller -Date: Tue Aug 11 13:33:24 2015 +1000 - - Don't resend username to PAM; it already has it. + memleak of algorithm name in mm_answer_sign; reported by + Jakub Jelen - Pointed out by Moritz Jodeit; ok dtucker@ + Upstream-ID: ccd742cd25952240ebd23d7d4d6b605862584d08 -commit 88763a6c893bf3dfe951ba9271bf09715e8d91ca -Author: Darren Tucker -Date: Mon Jul 27 12:14:25 2015 +1000 +commit ffb1e7e896139a42ceb78676f637658f44612411 +Author: dtucker@openbsd.org +Date: Mon Feb 15 09:47:49 2016 +0000 - Import updated moduli file from OpenBSD. + upstream commit + + Add a function to enable security-related malloc_options. + With and ok deraadt@, something similar has been in the snaps for a while. + + Upstream-ID: 43a95523b832b7f3b943d2908662191110c380ed -commit 55b263fb7cfeacb81aaf1c2036e0394c881637da +commit ef39e8c0497ff0564990a4f9e8b7338b3ba3507c Author: Damien Miller -Date: Mon Aug 10 11:13:44 2015 +1000 +Date: Tue Feb 16 10:34:39 2016 +1100 - let principals-command.sh work for noexec /var/run + sync ssh-copy-id with upstream 783ef08b0a75 -commit 2651e34cd11b1aac3a0fe23b86d8c2ff35c07897 -Author: Damien Miller -Date: Thu Aug 6 11:43:42 2015 +1000 +commit d2d772f55b19bb0e8d03c2fe1b9bb176d9779efd +Author: djm@openbsd.org +Date: Fri Feb 12 00:20:30 2016 +0000 - work around echo -n / sed behaviour in tests + upstream commit + + avoid fatal() for PKCS11 tokens that present empty key IDs + bz#1773, ok markus@ + + Upstream-ID: 044a764fee526f2c4a9d530bd10695422d01fc54 -commit d85dad81778c1aa8106acd46930b25fdf0d15b2a +commit e4c918a6c721410792b287c9fd21356a1bed5805 Author: djm@openbsd.org -Date: Wed Aug 5 05:27:33 2015 +0000 +Date: Thu Feb 11 02:56:32 2016 +0000 upstream commit - adjust for RSA minimum modulus switch; ok deraadt@ + sync crypto algorithm lists in ssh_config(5) and + sshd_config(5) with current reality. bz#2527 - Upstream-Regress-ID: 5a72c83431b96224d583c573ca281cd3a3ebfdae + Upstream-ID: d7fd1b6c1ed848d866236bcb1d7049d2bb9b2ff6 -commit 57e8e229bad5fe6056b5f1199665f5f7008192c6 +commit e30cabfa4ab456a30b3224f7f545f1bdfc4a2517 Author: djm@openbsd.org -Date: Tue Aug 4 05:23:06 2015 +0000 +Date: Thu Feb 11 02:21:34 2016 +0000 upstream commit - backout SSH_RSA_MINIMUM_MODULUS_SIZE increase for this - release; problems spotted by sthen@ ok deraadt@ markus@ + fix regression in openssh-6.8 sftp client: existing + destination directories would incorrectly terminate recursive uploads; + bz#2528 - Upstream-ID: d0bd60dde9e8c3cd7030007680371894c1499822 + Upstream-ID: 3306be469f41f26758e3d447987ac6d662623e18 -commit f097d0ea1e0889ca0fa2e53a00214e43ab7fa22a +commit 714e367226ded4dc3897078be48b961637350b05 Author: djm@openbsd.org -Date: Sun Aug 2 09:56:42 2015 +0000 +Date: Tue Feb 9 05:30:04 2016 +0000 upstream commit - openssh 7.0; ok deraadt@ + turn off more old crypto in the client: hmac-md5, ripemd, + truncated HMACs, RC4, blowfish. ok markus@ dtucker@ - Upstream-ID: c63afdef537f57f28ae84145c5a8e29e9250221f + Upstream-ID: 96aa11c2c082be45267a690c12f1d2aae6acd46e -commit 3d5728a0f6874ce4efb16913a12963595070f3a9 -Author: chris@openbsd.org -Date: Fri Jul 31 15:38:09 2015 +0000 +commit 5a622844ff7f78dcb75e223399f9ef0977e8d0a3 +Author: djm@openbsd.org +Date: Mon Feb 8 23:40:12 2016 +0000 upstream commit - Allow PermitRootLogin to be overridden by config - - ok markus@ deeradt@ + don't attempt to percent_expand() already-canonicalised + addresses, avoiding unnecessary failures when attempting to connect to scoped + IPv6 addresses (that naturally contain '%' characters) - Upstream-ID: 5cf3e26ed702888de84e2dc9d0054ccf4d9125b4 + Upstream-ID: f24569cffa1a7cbde5f08dc739a72f4d78aa5c6a -commit 6f941396b6835ad18018845f515b0c4fe20be21a +commit 19bcf2ea2d17413f2d9730dd2a19575ff86b9b6a Author: djm@openbsd.org -Date: Thu Jul 30 23:09:15 2015 +0000 +Date: Mon Feb 8 10:57:07 2016 +0000 upstream commit - fix pty permissions; patch from Nikolay Edigaryev; ok - deraadt + refactor activation of rekeying - Upstream-ID: 40ff076d2878b916fbfd8e4f45dbe5bec019e550 + This makes automatic rekeying internal to the packet code (previously + the server and client loops needed to assist). In doing to it makes + application of rekey limits more accurate by accounting for packets + about to be sent as well as packets queued during rekeying events + themselves. + + Based on a patch from dtucker@ which was in turn based on a patch + Aleksander Adamowski in bz#2521; ok markus@ + + Upstream-ID: a441227fd64f9739850ca97b4cf794202860fcd8 -commit f4373ed1e8fbc7c8ce3fc4ea97d0ba2e0c1d7ef0 -Author: deraadt@openbsd.org -Date: Thu Jul 30 19:23:02 2015 +0000 +commit 603ba41179e4b53951c7b90ee95b6ef3faa3f15d +Author: naddy@openbsd.org +Date: Fri Feb 5 13:28:19 2016 +0000 upstream commit - change default: PermitRootLogin without-password matching - install script changes coming as well ok djm markus + Only check errno if read() has returned an error. EOF is + not an error. This fixes a problem where the mux master would sporadically + fail to notice that the client had exited. ok mikeb@ djm@ - Upstream-ID: 0e2a6c4441daf5498b47a61767382bead5eb8ea6 + Upstream-ID: 3c2dadc21fac6ef64665688aac8a75fffd57ae53 -commit 0c30ba91f87fcda7e975e6ff8a057f624e87ea1c -Author: Damien Miller -Date: Thu Jul 30 12:31:39 2015 +1000 +commit 56d7dac790693ce420d225119283bc355cff9185 +Author: jsg@openbsd.org +Date: Fri Feb 5 04:31:21 2016 +0000 - downgrade OOM adjustment logging: verbose -> debug + upstream commit + + avoid an uninitialised value when NumberOfPasswordPrompts + is 0 ok markus@ djm@ + + Upstream-ID: 11b068d83c2865343aeb46acf1e9eec00f829b6b -commit f9eca249d4961f28ae4b09186d7dc91de74b5895 +commit deae7d52d59c5019c528f977360d87fdda15d20b Author: djm@openbsd.org -Date: Thu Jul 30 00:01:34 2015 +0000 +Date: Fri Feb 5 03:07:06 2016 +0000 upstream commit - Allow ssh_config and sshd_config kex parameters options be - prefixed by a '+' to indicate that the specified items be appended to the - default rather than replacing it. - - approach suggested by dtucker@, feedback dlg@, ok markus@ + mention internal DH-GEX fallback groups; bz#2302 - Upstream-ID: 0f901137298fc17095d5756ff1561a7028e8882a + Upstream-ID: e7b395fcca3122cd825515f45a2e41c9a157e09e -commit 5cefe769105a2a2e3ca7479d28d9a325d5ef0163 +commit cac3b6665f884d46192c0dc98a64112e8b11a766 Author: djm@openbsd.org -Date: Wed Jul 29 08:34:54 2015 +0000 +Date: Fri Feb 5 02:37:56 2016 +0000 upstream commit - fix bug in previous; was printing incorrect string for - failed host key algorithms negotiation + better description for MaxSessions; bz#2531 - Upstream-ID: 22c0dc6bc61930513065d92e11f0753adc4c6e6e + Upstream-ID: e2c0d74ee185cd1a3e9d4ca1f1b939b745b354da -commit f319912b0d0e1675b8bb051ed8213792c788bcb2 +commit 5ef4b0fdcc7a239577a754829b50022b91ab4712 +Author: Damien Miller +Date: Wed Jan 27 17:45:56 2016 +1100 + + avoid FreeBSD RCS Id in comment + + Change old $FreeBSD version string in comment so it doesn't + become an RCS ident downstream; requested by des AT des.no + +commit 696d12683c90d20a0a9c5f4275fc916b7011fb04 Author: djm@openbsd.org -Date: Wed Jul 29 04:43:06 2015 +0000 +Date: Thu Feb 4 23:43:48 2016 +0000 upstream commit - include the peer's offer when logging a failure to - negotiate a mutual set of algorithms (kex, pubkey, ciphers, etc.) ok markus@ + printf argument casts to avoid warnings on strict + compilers - Upstream-ID: bbb8caabf5c01790bb845f5ce135565248d7c796 + Upstream-ID: 7b9f6712cef01865ad29070262d366cf13587c9c -commit b6ea0e573042eb85d84defb19227c89eb74cf05a -Author: djm@openbsd.org -Date: Tue Jul 28 23:20:42 2015 +0000 +commit 5658ef2501e785fbbdf5de2dc33b1ff7a4dca73a +Author: millert@openbsd.org +Date: Mon Feb 1 21:18:17 2016 +0000 upstream commit - add Cisco to the list of clients that choke on the - hostkeys update extension. Pointed out by Howard Kash + Avoid ugly "DISPLAY "(null)" invalid; disabling X11 + forwarding" message when DISPLAY is not set. This could also result in a + crash on systems with a printf that doesn't handle NULL. OK djm@ - Upstream-ID: c9eadde28ecec056c73d09ee10ba4570dfba7e84 + Upstream-ID: 20ee0cfbda678a247264c20ed75362042b90b412 -commit 3f628c7b537291c1019ce86af90756fb4e66d0fd -Author: guenther@openbsd.org -Date: Mon Jul 27 16:29:23 2015 +0000 +commit 537f88ec7bcf40bd444ac5584c707c5588c55c43 +Author: dtucker@openbsd.org +Date: Fri Jan 29 05:18:15 2016 +0000 upstream commit - Permit kbind(2) use in the sandbox now, to ease testing - of ld.so work using it - - reminded by miod@, ok deraadt@ + Add regression test for RekeyLimit parsing of >32bit values + (4G and 8G). - Upstream-ID: 523922e4d1ba7a091e3824e77a8a3c818ee97413 + Upstream-Regress-ID: 548390350c62747b6234f522a99c319eee401328 -commit ebe27ebe520098bbc0fe58945a87ce8490121edb -Author: millert@openbsd.org -Date: Mon Jul 20 18:44:12 2015 +0000 +commit 4c6cb8330460f94e6c7ae28a364236d4188156a3 +Author: dtucker@openbsd.org +Date: Fri Jan 29 23:04:46 2016 +0000 upstream commit - Move .Pp before .Bl, not after to quiet mandoc -Tlint. - Noticed by jmc@ + Remove leftover roaming dead code. ok djm markus. - Upstream-ID: 59fadbf8407cec4e6931e50c53cfa0214a848e23 + Upstream-ID: 13d1f9c8b65a5109756bcfd3b74df949d53615be -commit d5d91d0da819611167782c66ab629159169d94d4 -Author: millert@openbsd.org -Date: Mon Jul 20 18:42:35 2015 +0000 +commit 28136471809806d6246ef41e4341467a39fe2f91 +Author: djm@openbsd.org +Date: Fri Jan 29 05:46:01 2016 +0000 upstream commit - Sync usage with SYNOPSIS + include packet type of non-data packets in debug3 output; + ok markus dtucker - Upstream-ID: 7a321a170181a54f6450deabaccb6ef60cf3f0b7 + Upstream-ID: 034eaf639acc96459b9c5ce782db9fcd8bd02d41 -commit 79ec2142fbc68dd2ed9688608da355fc0b1ed743 -Author: millert@openbsd.org -Date: Mon Jul 20 15:39:52 2015 +0000 +commit 6fd6e28daccafaa35f02741036abe64534c361a1 +Author: dtucker@openbsd.org +Date: Fri Jan 29 03:31:03 2016 +0000 upstream commit - Better desciption of Unix domain socket forwarding. - bz#2423; ok jmc@ + Revert "account for packets buffered but not yet + processed" change as it breaks for very small RekeyLimit values due to + continuous rekeying. ok djm@ - Upstream-ID: 85e28874726897e3f26ae50dfa2e8d2de683805d - -commit d56fd1828074a4031b18b8faa0bf949669eb18a0 -Author: Damien Miller -Date: Mon Jul 20 11:19:51 2015 +1000 - - make realpath.c compile -Wsign-compare clean + Upstream-ID: 7e03f636cb45ab60db18850236ccf19079182a19 -commit c63c9a691dca26bb7648827f5a13668832948929 -Author: djm@openbsd.org -Date: Mon Jul 20 00:30:01 2015 +0000 +commit 921ff00b0ac429666fb361d2d6cb1c8fff0006cb +Author: dtucker@openbsd.org +Date: Fri Jan 29 02:54:45 2016 +0000 upstream commit - mention that the default of UseDNS=no implies that - hostnames cannot be used for host matching in sshd_config and - authorized_keys; bz#2045, ok dtucker@ + Allow RekeyLimits in excess of 4G up to 2**63 bits + (limited by the return type of scan_scaled). Part of bz#2521, ok djm. - Upstream-ID: 0812705d5f2dfa59aab01f2764ee800b1741c4e1 + Upstream-ID: 13bea82be566b9704821b1ea05bf7804335c7979 -commit 63ebcd0005e9894fcd6871b7b80aeea1fec0ff76 -Author: djm@openbsd.org -Date: Sat Jul 18 08:02:17 2015 +0000 +commit c0060a65296f01d4634f274eee184c0e93ba0f23 +Author: dtucker@openbsd.org +Date: Fri Jan 29 02:42:46 2016 +0000 upstream commit - don't ignore PKCS#11 hosted keys that return empty - CKA_ID; patch by Jakub Jelen via bz#2429; ok markus + Account for packets buffered but not yet processed when + computing whether or not it is time to perform rekeying. bz#2521, based + loosely on a patch from olo at fb.com, ok djm@ - Upstream-ID: 2f7c94744eb0342f8ee8bf97b2351d4e00116485 + Upstream-ID: 67e268b547f990ed220f3cb70a5624d9bda12b8c -commit b15fd989c8c62074397160147a8d5bc34b3f3c63 +commit 44cf930e670488c85c9efeb373fa5f4b455692ac Author: djm@openbsd.org -Date: Sat Jul 18 08:00:21 2015 +0000 +Date: Wed Jan 27 06:44:58 2016 +0000 upstream commit - skip uninitialised PKCS#11 slots; patch from Jakub Jelen - in bz#2427 ok markus@ + change old $FreeBSD version string in comment so it doesn't + become an RCS ident downstream; requested by des AT des.no - Upstream-ID: 744c1e7796e237ad32992d0d02148e8a18f27d29 + Upstream-ID: 8ca558c01f184e596b45e4fc8885534b2c864722 -commit 5b64f85bb811246c59ebab70aed331f26ba37b18 +commit ebacd377769ac07d1bf3c75169644336056b7060 Author: djm@openbsd.org -Date: Sat Jul 18 07:57:14 2015 +0000 +Date: Wed Jan 27 00:53:12 2016 +0000 upstream commit - only query each keyboard-interactive device once per - authentication request regardless of how many times it is listed; ok markus@ + make the debug messages a bit more useful here - Upstream-ID: d73fafba6e86030436ff673656ec1f33d9ffeda1 + Upstream-ID: 478ccd4e897e0af8486b294aa63aa3f90ab78d64 -commit cd7324d0667794eb5c236d8a4e0f236251babc2d -Author: djm@openbsd.org -Date: Fri Jul 17 03:34:27 2015 +0000 +commit 458abc2934e82034c5c281336d8dc0f910aecad3 +Author: jsg@openbsd.org +Date: Sat Jan 23 05:31:35 2016 +0000 upstream commit - remove -u flag to diff (only used for error output) to make - things easier for -portable + Zero a stack buffer with explicit_bzero() instead of + memset() when returning from client_loop() for consistency with + buffer_free()/sshbuf_free(). - Upstream-Regress-ID: a5d6777d2909540d87afec3039d9bb2414ade548 + ok dtucker@ deraadt@ djm@ + + Upstream-ID: bc9975b2095339811c3b954694d7d15ea5c58f66 -commit deb8d99ecba70b67f4af7880b11ca8768df9ec3a -Author: djm@openbsd.org -Date: Fri Jul 17 03:09:19 2015 +0000 +commit 65a3c0dacbc7dbb75ddb6a70ebe22d8de084d0b0 +Author: dtucker@openbsd.org +Date: Wed Jan 20 09:22:39 2016 +0000 upstream commit - direct-streamlocal@openssh.com Unix domain foward - messages do not contain a "reserved for future use" field and in fact, - serverloop.c checks that there isn't one. Remove erroneous mention from - PROTOCOL description. bz#2421 from Daniel Black + Include sys/time.h for gettimeofday. From sortie at + maxsi.org. - Upstream-ID: 3d51a19e64f72f764682f1b08f35a8aa810a43ac + Upstream-ID: 6ed0c33b836d9de0a664cd091e86523ecaa2fb3b -commit 356b61f365405b5257f5b2ab446e5d7bd33a7b52 -Author: djm@openbsd.org -Date: Fri Jul 17 03:04:27 2015 +0000 +commit fc77ccdc2ce6d5d06628b8da5048a6a5f6ffca5a +Author: markus@openbsd.org +Date: Thu Jan 14 22:56:56 2016 +0000 upstream commit - describe magic for setting up Unix domain socket fowards - via the mux channel; bz#2422 patch from Daniel Black + fd leaks; report Qualys Security Advisory team; ok + deraadt@ - Upstream-ID: 943080fe3864715c423bdeb7c920bb30c4eee861 + Upstream-ID: 4ec0f12b9d8fa202293c9effa115464185aa071d -commit d3e2aee41487d55b8d7d40f538b84ff1db7989bc -Author: Darren Tucker -Date: Fri Jul 17 12:52:34 2015 +1000 +commit a306863831c57ec5fad918687cc5d289ee8e2635 +Author: markus@openbsd.org +Date: Thu Jan 14 16:17:39 2016 +0000 - Check if realpath works on nonexistent files. - - On some platforms the native realpath doesn't work with non-existent - files (this is actually specified in some versions of POSIX), however - the sftp spec says its realpath with "canonicalize any given path name". - On those platforms, use realpath from the compat library. + upstream commit - In addition, when compiling with -DFORTIFY_SOURCE, glibc redefines - the realpath symbol to the checked version, so redefine ours to - something else so we pick up the compat version we want. + remove roaming support; ok djm@ - bz#2428, ok djm@ + Upstream-ID: 2cab8f4b197bc95776fb1c8dc2859dad0c64dc56 -commit 25b14610dab655646a109db5ef8cb4c4bf2a48a0 -Author: djm@openbsd.org -Date: Fri Jul 17 02:47:45 2015 +0000 +commit 6ef49e83e30688504552ac10875feabd5521565f +Author: deraadt@openbsd.org +Date: Thu Jan 14 14:34:34 2016 +0000 upstream commit - fix incorrect test for SSH1 keys when compiled without SSH1 - support + Disable experimental client-side roaming support. Server + side was disabled/gutted for years already, but this aspect was surprisingly + forgotten. Thanks for report from Qualys - Upstream-ID: 6004d720345b8e481c405e8ad05ce2271726e451 + Upstream-ID: 2328004b58f431a554d4c1bf67f5407eae3389df -commit df56a8035d429b2184ee94aaa7e580c1ff67f73a +commit 8d7b523b96d3be180572d9d338cedaafc0570f60 +Author: Damien Miller +Date: Thu Jan 14 11:08:19 2016 +1100 + + bump version numbers + +commit 8c3d512a1fac8b9c83b4d0c9c3f2376290bd84ca +Author: Damien Miller +Date: Thu Jan 14 11:04:04 2016 +1100 + + openssh-7.1p2 + +commit e6c85f8889c5c9eb04796fdb76d2807636b9eef5 +Author: Damien Miller +Date: Fri Jan 15 01:30:36 2016 +1100 + + forcibly disable roaming support in the client + +commit ed4ce82dbfa8a3a3c8ea6fa0db113c71e234416c Author: djm@openbsd.org -Date: Wed Jul 15 08:00:11 2015 +0000 +Date: Wed Jan 13 23:04:47 2016 +0000 upstream commit - fix NULL-deref when SSH1 reenabled + eliminate fallback from untrusted X11 forwarding to trusted + forwarding when the X server disables the SECURITY extension; Reported by + Thomas Hoger; ok deraadt@ - Upstream-ID: f22fd805288c92b3e9646782d15b48894b2d5295 + Upstream-ID: f76195bd2064615a63ef9674a0e4096b0713f938 -commit 41e38c4d49dd60908484e6703316651333f16b93 +commit 9a728cc918fad67c8a9a71201088b1e150340ba4 Author: djm@openbsd.org -Date: Wed Jul 15 07:19:50 2015 +0000 +Date: Tue Jan 12 23:42:54 2016 +0000 upstream commit - regen RSA1 test keys; the last batch was missing their - private parts + use explicit_bzero() more liberally in the buffer code; ok + deraadt - Upstream-Regress-ID: 7ccf437305dd63ff0b48dd50c5fd0f4d4230c10a + Upstream-ID: 0ece37069fd66bc6e4f55eb1321f93df372b65bf -commit 5bf0933184cb622ca3f96d224bf3299fd2285acc -Author: markus@openbsd.org -Date: Fri Jul 10 06:23:25 2015 +0000 +commit 4626cbaf78767fc8e9c86dd04785386c59ae0839 +Author: Damien Miller +Date: Fri Jan 8 14:24:56 2016 +1100 - upstream commit + Support Illumos/Solaris fine-grained privileges - Adapt tests, now that DSA if off by default; use - PubkeyAcceptedKeyTypes and PubkeyAcceptedKeyTypes to test DSA. + Includes a pre-auth privsep sandbox and several pledge() + emulations. bz#2511, patch by Alex Wilson. - Upstream-Regress-ID: 0ff2a3ff5ac1ce5f92321d27aa07b98656efcc5c + ok dtucker@ -commit 7a6e3fd7b41dbd3756b6bf9acd67954c0b1564cc -Author: markus@openbsd.org -Date: Tue Jul 7 14:54:16 2015 +0000 +commit 422d1b3ee977ff4c724b597fb2e437d38fc8de9d +Author: djm@openbsd.org +Date: Thu Dec 31 00:33:52 2015 +0000 upstream commit - regen test data after mktestdata.sh changes + fix three bugs in KRL code related to (unused) signature + support: verification length was being incorrectly calculated, multiple + signatures were being incorrectly processed and a NULL dereference that + occurred when signatures were verified. Reported by Carl Jackson - Upstream-Regress-ID: 3495ecb082b9a7c048a2d7c5c845d3bf181d25a4 + Upstream-ID: e705e97ad3ccce84291eaa651708dd1b9692576b -commit 7c8c174c69f681d4910fa41c37646763692b28e2 -Author: markus@openbsd.org -Date: Tue Jul 7 14:53:30 2015 +0000 +commit 6074c84bf95d00f29cc7d5d3cd3798737851aa1a +Author: djm@openbsd.org +Date: Wed Dec 30 23:46:14 2015 +0000 upstream commit - adapt tests to new minimum RSA size and default FP format + unused prototype - Upstream-Regress-ID: a4b30afd174ce82b96df14eb49fb0b81398ffd0e + Upstream-ID: f3eef4389d53ed6c0d5c77dcdcca3060c745da97 -commit 6a977a4b68747ade189e43d302f33403fd4a47ac -Author: djm@openbsd.org -Date: Fri Jul 3 04:39:23 2015 +0000 *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***