Re: svn commit: r281517 - head/usr.bin/ipcs
On Tue, 14 Apr 2015, Eitan Adler wrote: Log: ipcs: fix builds that use gcc gcc gets annoyed by duplicate declarations You mean "Fix builds that use a working compiler. Working compilers report redundant declarations when requested to do so by the -Wredundant-decls flag which I recently enabled by raising WARNS to 6." clang apparently silently ignores the request. gcc48 still has the following bugs in -Wredundant-decls: - it redundantly says that redundant declarations are redeclarations. Only a very magic type or variable could redundant if it is only declared once by the program (including in headers included by the program). Perhaps some predefined type or variable is magic enough. But then the warning should be different. E.g., main() and exit() are known to the compiler except in freestanding environments. gcc already has special handling for main(), to allow it to be declared as either "int main(void);" or "int main(int argc, char **argv);", as required to allow the program to use either of these. Declaring one of these in either or a compiler predeclaration would break use of the other one unless the first declaration is magic. I think gcc skips the warning for its builtin predeclaration but wouldn't skip if for a declaration in a header. I think standards don't allow main() to be declared in any standard header since they don't require compilers to have magic to support this. exit() is simpler since it has only 1 correct declaration in hosted environments. It should have a predeclaration in the compiler and another one in . The one in is redundant, but the compiler must not warn about it. The compiler should warn about it for any declaration of it outside of standard headers. The correct practice is to include to get the declaration. That gives at least a doubly-redundant declaration if the application declares it again, and no magic is needed to get the warning. If the application doesn't include , then the warning should change to one about improper practice when certain warnings are enabled. I think gcc only warns about inconsistent uses and the C standard only requires this. So you should be able to non-redundantly declare exit() iff you are careful to not include and use the same declaration as . - it incorrectly says that non-redundant non-redeclarations are redundant redeclarations. C allows building up types by supplying additional information in each step. E.g.: void myfunc(); void myfunc(int); gcc48 still warns that the second declaration is a redundant redeclaration when it is actually a non-redundant non-redeclaration. The first declaration is redundant in some cases (especially when there is nothing between the declarations. Nested incomplete function declarations allow arbitrarily long chains of non-redundant non-redeclarations to build up a single top-level declaration: typedef void ifv(); /* incomplete type for func returning void */ typedef void cfv(int); /* complete type for func returning void */ void myfunc(); void myfunc(ifv *, ifv *); /* parameters incomplete */ void myfunc(cfv *, ifv *); /* complete only first parameter */ void myfunc(ifv *, cfv *); /* complete only first parameter */ /* * All non-redundant so far. The type of myfunc is now complete in * Standard C although not in GNC C, so any further declarations of * all or parts of it are redundant. */ C also allows building up declarations by adding linkage info. This is even more confusing. GNUC also allows building up declarations by adding attribute info one or several but not all attributes at a time. This is less confusing, at least for the 1-at-a-time case. E.g.: void panic(const char *, ...); #ifdef __MUMBLE >= 99 void panic(const char * restrict, ...); /* add C99 feature */ #endif void panic(const char *, ...) __dead2; /* add old GNU feature */ void panic(const char *, ...) __printflike(1, 2); /* newer GNU feature */ void panic(const char *, ...) __nonnull(1); /* even newer GNU feature */ Building up types is very confusing so you should rarely do it, but the above is almost reasonable. Adding the restrict qualifier only for C99 and later is obfuscated in a different way using ifdefs for __restrict. The bugs in "gcc -Wredundant-decls" accidentally detect the style bug of using the building-up-types feature. This should be detected under a different warning. panic(9) is still missing both 'restrict' and __nonnull(1), though it needs __nonull() even more than printf([39]) because a null panicstr is magic (used for recursion detection). Bruce ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r281522 - head/usr.bin
Author: andrew Date: Tue Apr 14 10:15:58 2015 New Revision: 281522 URL: https://svnweb.freebsd.org/changeset/base/281522 Log: Disable truss, gprof, and lint on arm64, they don't build. Sponsored by: The FreeBSD Foundation Modified: head/usr.bin/Makefile Modified: head/usr.bin/Makefile == --- head/usr.bin/Makefile Tue Apr 14 09:58:58 2015(r281521) +++ head/usr.bin/Makefile Tue Apr 14 10:15:58 2015(r281522) @@ -284,8 +284,10 @@ SUBDIR+= iscsictl .if ${MK_KDUMP} != "no" SUBDIR+=kdump +.if ${MACHINE_ARCH} != "aarch64" # ARM64TODO truss does not build SUBDIR+=truss .endif +.endif .if ${MK_KERBEROS_SUPPORT} != "no" SUBDIR+= compile_et @@ -382,13 +384,17 @@ SUBDIR+= c89 SUBDIR+= c99 SUBDIR+= ctags SUBDIR+= file2c +.if ${MACHINE_ARCH} != "aarch64" # ARM64TODO gprof does not build SUBDIR+= gprof +.endif SUBDIR+= indent SUBDIR+= lex SUBDIR+= mkstr SUBDIR+= rpcgen SUBDIR+= unifdef +.if ${MACHINE_ARCH} != "aarch64" # ARM64TODO xlint does not build SUBDIR+= xlint +.endif SUBDIR+= xstr SUBDIR+= yacc .endif ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r281524 - in head/sys/boot/efi: boot1 fdt libefi loader
Author: andrew Date: Tue Apr 14 10:40:37 2015 New Revision: 281524 URL: https://svnweb.freebsd.org/changeset/base/281524 Log: Use MACHINE in the efi loader when it is what we mean, it may not be the same as MACHINE_CPUARCH, it just happened to be the case the architectures this code currently supports. Sponsored by: The FreeBSD Foundation Modified: head/sys/boot/efi/boot1/Makefile head/sys/boot/efi/fdt/Makefile head/sys/boot/efi/libefi/Makefile head/sys/boot/efi/loader/Makefile Modified: head/sys/boot/efi/boot1/Makefile == --- head/sys/boot/efi/boot1/MakefileTue Apr 14 10:20:02 2015 (r281523) +++ head/sys/boot/efi/boot1/MakefileTue Apr 14 10:40:37 2015 (r281524) @@ -17,12 +17,12 @@ SRCS= boot1.c reloc.c start.S CFLAGS+= -I. CFLAGS+= -I${.CURDIR}/../include -CFLAGS+= -I${.CURDIR}/../include/${MACHINE_CPUARCH} +CFLAGS+= -I${.CURDIR}/../include/${MACHINE} CFLAGS+= -I${.CURDIR}/../../../contrib/dev/acpica/include CFLAGS+= -I${.CURDIR}/../../.. # Always add MI sources and REGULAR efi loader bits -.PATH: ${.CURDIR}/../loader/arch/${MACHINE_CPUARCH} +.PATH: ${.CURDIR}/../loader/arch/${MACHINE} .PATH: ${.CURDIR}/../loader .PATH: ${.CURDIR}/../../common CFLAGS+= -I${.CURDIR}/../../common @@ -30,7 +30,7 @@ CFLAGS+= -I${.CURDIR}/../../common FILES= boot1.efi boot1.efifat FILESMODE_boot1.efi= ${BINMODE} -LDSCRIPT= ${.CURDIR}/../loader/arch/${MACHINE_CPUARCH}/ldscript.${MACHINE_CPUARCH} +LDSCRIPT= ${.CURDIR}/../loader/arch/${MACHINE}/ldscript.${MACHINE} LDFLAGS= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" @@ -79,8 +79,8 @@ boot1.o: ${.CURDIR}/../../common/ufsread boot1.efifat: boot1.efi echo ${.OBJDIR} - uudecode ${.CURDIR}/fat-${MACHINE_CPUARCH}.tmpl.bz2.uu - mv fat-${MACHINE_CPUARCH}.tmpl.bz2 ${.TARGET}.bz2 + uudecode ${.CURDIR}/fat-${MACHINE}.tmpl.bz2.uu + mv fat-${MACHINE}.tmpl.bz2 ${.TARGET}.bz2 bzip2 -f -d ${.TARGET}.bz2 dd if=boot1.efi of=${.TARGET} seek=${BOOT1_OFFSET} conv=notrunc Modified: head/sys/boot/efi/fdt/Makefile == --- head/sys/boot/efi/fdt/Makefile Tue Apr 14 10:20:02 2015 (r281523) +++ head/sys/boot/efi/fdt/Makefile Tue Apr 14 10:40:37 2015 (r281524) @@ -18,7 +18,7 @@ CFLAGS+= -I${.CURDIR}/../../../../lib/li # EFI library headers CFLAGS+= -I${.CURDIR}/../include -CFLAGS+= -I${.CURDIR}/../include/${MACHINE_CPUARCH} +CFLAGS+= -I${.CURDIR}/../include/${MACHINE} # libfdt headers CFLAGS+= -I${.CURDIR}/../../fdt @@ -27,7 +27,7 @@ CFLAGS+= -I${.CURDIR}/../../fdt CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}/../../.. -I. machine: - ln -sf ${.CURDIR}/../../../${MACHINE_CPUARCH}/include machine + ln -sf ${.CURDIR}/../../../${MACHINE}/include machine CLEANFILES+= machine Modified: head/sys/boot/efi/libefi/Makefile == --- head/sys/boot/efi/libefi/Makefile Tue Apr 14 10:20:02 2015 (r281523) +++ head/sys/boot/efi/libefi/Makefile Tue Apr 14 10:40:37 2015 (r281524) @@ -10,7 +10,7 @@ SRCS= delay.c efi_console.c efinet.c efi CFLAGS+= -fPIC -mno-red-zone .endif CFLAGS+= -I${.CURDIR}/../include -CFLAGS+= -I${.CURDIR}/../include/${MACHINE_CPUARCH} +CFLAGS+= -I${.CURDIR}/../include/${MACHINE} CFLAGS+= -I${.CURDIR}/../../../../lib/libstand # Pick up the bootstrap header for some interface items Modified: head/sys/boot/efi/loader/Makefile == --- head/sys/boot/efi/loader/Makefile Tue Apr 14 10:20:02 2015 (r281523) +++ head/sys/boot/efi/loader/Makefile Tue Apr 14 10:40:37 2015 (r281524) @@ -24,15 +24,15 @@ SRCS= autoload.c \ smbios.c \ vers.c -.PATH: ${.CURDIR}/arch/${MACHINE_CPUARCH} +.PATH: ${.CURDIR}/arch/${MACHINE} # For smbios.c .PATH: ${.CURDIR}/../../i386/libi386 -.include "${.CURDIR}/arch/${MACHINE_CPUARCH}/Makefile.inc" +.include "${.CURDIR}/arch/${MACHINE}/Makefile.inc" CFLAGS+= -I${.CURDIR} -CFLAGS+= -I${.CURDIR}/arch/${MACHINE_CPUARCH} +CFLAGS+= -I${.CURDIR}/arch/${MACHINE} CFLAGS+= -I${.CURDIR}/../include -CFLAGS+= -I${.CURDIR}/../include/${MACHINE_CPUARCH} +CFLAGS+= -I${.CURDIR}/../include/${MACHINE} CFLAGS+= -I${.CURDIR}/../../../contrib/dev/acpica/include CFLAGS+= -I${.CURDIR}/../../.. CFLAGS+= -I${.CURDIR}/../../i386/libi386 @@ -42,7 +42,7 @@ CFLAGS+= -DNO_PCI -DEFI BOOT_FORTH=yes CFLAGS+= -DBOOT_FORTH CFLAGS+= -I${.CURDIR}/../../ficl -CFLAGS+= -I${.CURDIR}/../../ficl/
svn commit: r281525 - head/sys/boot/efi/fdt
Author: andrew Date: Tue Apr 14 10:41:57 2015 New Revision: 281525 URL: https://svnweb.freebsd.org/changeset/base/281525 Log: Fix the arm64 MACHINE_CPUARCH value in the efi fdt glue code. Sponsored by: The FreeBSD Foundation Modified: head/sys/boot/efi/fdt/Makefile Modified: head/sys/boot/efi/fdt/Makefile == --- head/sys/boot/efi/fdt/Makefile Tue Apr 14 10:40:37 2015 (r281524) +++ head/sys/boot/efi/fdt/Makefile Tue Apr 14 10:41:57 2015 (r281525) @@ -10,7 +10,7 @@ INTERNALLIB= SRCS= efi_fdt.c CFLAGS+= -ffreestanding -msoft-float -.if ${MACHINE_CPUARCH} == "arm64" +.if ${MACHINE_CPUARCH} == "aarch64" CFLAGS+= -mgeneral-regs-only .endif ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r281526 - in head/sys: arm64/include boot boot/arm64 boot/arm64/libarm64 boot/common boot/efi boot/efi/boot1 boot/efi/include/arm64 boot/efi/loader boot/efi/loader/arch/arm64
Author: andrew Date: Tue Apr 14 13:55:01 2015 New Revision: 281526 URL: https://svnweb.freebsd.org/changeset/base/281526 Log: Add support for arm64 to loader.efi and boot1.efi Reviewed by: emaste Sponsored by: The FreeBSD Foundation Added: head/sys/arm64/include/psl.h (contents, props changed) head/sys/boot/Makefile.arm64 (contents, props changed) head/sys/boot/arm64/ head/sys/boot/arm64/Makefile (contents, props changed) head/sys/boot/arm64/libarm64/ head/sys/boot/arm64/libarm64/cache.c (contents, props changed) head/sys/boot/arm64/libarm64/cache.h (contents, props changed) head/sys/boot/efi/boot1/fat-arm64.tmpl.bz2.uu (contents, props changed) head/sys/boot/efi/include/arm64/ head/sys/boot/efi/include/arm64/efibind.h (contents, props changed) head/sys/boot/efi/loader/arch/arm64/ head/sys/boot/efi/loader/arch/arm64/Makefile.inc (contents, props changed) head/sys/boot/efi/loader/arch/arm64/exec.c (contents, props changed) head/sys/boot/efi/loader/arch/arm64/ldscript.arm64 (contents, props changed) head/sys/boot/efi/loader/arch/arm64/start.S (contents, props changed) Modified: head/sys/boot/common/Makefile.inc head/sys/boot/efi/Makefile head/sys/boot/efi/boot1/generate-fat.sh head/sys/boot/efi/loader/Makefile head/sys/boot/efi/loader/copy.c Added: head/sys/arm64/include/psl.h == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/arm64/include/psl.hTue Apr 14 13:55:01 2015 (r281526) @@ -0,0 +1 @@ +/* $FreeBSD$ */ Added: head/sys/boot/Makefile.arm64 == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/boot/Makefile.arm64Tue Apr 14 13:55:01 2015 (r281526) @@ -0,0 +1,7 @@ +# $FreeBSD$ + +.if ${MK_FDT} != "no" +SUBDIR+= fdt +.endif + +SUBDIR+= efi Added: head/sys/boot/arm64/Makefile == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/boot/arm64/MakefileTue Apr 14 13:55:01 2015 (r281526) @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include Added: head/sys/boot/arm64/libarm64/cache.c == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/boot/arm64/libarm64/cache.cTue Apr 14 13:55:01 2015 (r281526) @@ -0,0 +1,95 @@ +/*- + * Copyright (c) 2014 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 "cache.h" + +static unsigned int +get_dcache_line_size(void) +{ + uint64_t ctr; + unsigned int dcl_size; + + /* Accessible from all security levels */ + ctr = READ_SPECIALREG(ctr_el0); + + /* +* Relevant field [19:16] is LOG2 +* of the number of words in DCache line +*/ + dcl_size = CTR_DLINE_SIZE(ctr); + + /* Size of word shifted by cache line size */ + return (sizeof(int) << dcl_size); +} + +void +cpu_flush_dcache(const void *ptr, size_t len) +{ + + uint64_t cl_size; + vm_offset_t addr, end; + + cl_size = get_dcache_line_size(); + + /* Calculate end address to clean */ + end = (vm_offset_t)(ptr + len); + /* Align start address to cache line */ + addr = (vm_offset_t)pt
Re: svn commit: r281526 - in head/sys: arm64/include boot boot/arm64 boot/arm64/libarm64 boot/common boot/efi boot/efi/boot1 boot/efi/include/arm64 boot/efi/loader boot/efi/loader/arch/arm64
On Tue, 14 Apr 2015 13:55:02 + (UTC) Andrew Turner wrote: > Author: andrew > Date: Tue Apr 14 13:55:01 2015 > New Revision: 281526 > URL: https://svnweb.freebsd.org/changeset/base/281526 > > Log: > Add support for arm64 to loader.efi and boot1.efi > > Reviewed by:emaste > Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D2288 Andrew ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r281527 - in head/sys/boot: . efi/loader/arch/arm
Author: andrew Date: Tue Apr 14 14:15:14 2015 New Revision: 281527 URL: https://svnweb.freebsd.org/changeset/base/281527 Log: * Remove the wfi when the efi loader returns, it's unneeded and is not available on older designs. * Enable the efi loader on arm Modified: head/sys/boot/Makefile.arm head/sys/boot/efi/loader/arch/arm/start.S Modified: head/sys/boot/Makefile.arm == --- head/sys/boot/Makefile.arm Tue Apr 14 13:55:01 2015(r281526) +++ head/sys/boot/Makefile.arm Tue Apr 14 14:15:14 2015(r281527) @@ -4,4 +4,4 @@ SUBDIR+= fdt .endif -SUBDIR+= uboot +SUBDIR+= efi uboot Modified: head/sys/boot/efi/loader/arch/arm/start.S == --- head/sys/boot/efi/loader/arch/arm/start.S Tue Apr 14 13:55:01 2015 (r281526) +++ head/sys/boot/efi/loader/arch/arm/start.S Tue Apr 14 14:15:14 2015 (r281527) @@ -169,8 +169,7 @@ _start: pop {r0, r1} bl _C_LABEL(efi_main) -1: WFI - b 1b +1: b 1b .Lbase: .word . ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r281528 - head/sys/kern
Author: gnn Date: Tue Apr 14 14:22:34 2015 New Revision: 281528 URL: https://svnweb.freebsd.org/changeset/base/281528 Log: When a kernel has DEVICE_POLLING turned on but no drivers have the capability do not try to take the mutex at all. Replaces misbegotten attempt from reverted commit 281276 Pointed out by: glebius Sponsored by: Rubicon Communications (Netgate) Differential Revision:https://reviews.freebsd.org/D2262 Modified: head/sys/kern/kern_poll.c Modified: head/sys/kern/kern_poll.c == --- head/sys/kern/kern_poll.c Tue Apr 14 14:15:14 2015(r281527) +++ head/sys/kern/kern_poll.c Tue Apr 14 14:22:34 2015(r281528) @@ -367,6 +367,9 @@ netisr_pollmore() struct timeval t; int kern_load; + if (poll_handlers == 0) + return; + mtx_lock(&poll_mtx); if (!netisr_pollmore_scheduled) { mtx_unlock(&poll_mtx); @@ -424,6 +427,9 @@ netisr_poll(void) int i, cycles; enum poll_cmd arg = POLL_ONLY; + if (poll_handlers == 0) + return; + mtx_lock(&poll_mtx); if (!netisr_poll_scheduled) { mtx_unlock(&poll_mtx); ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r281529 - head/sys/netpfil/pf
Author: gnn Date: Tue Apr 14 14:43:42 2015 New Revision: 281529 URL: https://svnweb.freebsd.org/changeset/base/281529 Log: I can find no reason to allow packets with both SYN and FIN bits set past this point in the code. The packet should be dropped and not massaged as it is here. Differential Revision: https://reviews.freebsd.org/D2266 Submitted by: eri Sponsored by: Rubicon Communications (Netgate) Modified: head/sys/netpfil/pf/pf_norm.c Modified: head/sys/netpfil/pf/pf_norm.c == --- head/sys/netpfil/pf/pf_norm.c Tue Apr 14 14:22:34 2015 (r281528) +++ head/sys/netpfil/pf/pf_norm.c Tue Apr 14 14:43:42 2015 (r281529) @@ -1643,7 +1643,7 @@ pf_normalize_tcp(int dir, struct pfi_kif goto tcp_drop; if (flags & TH_FIN) - flags &= ~TH_FIN; + goto tcp_drop; } else { /* Illegal packet */ if (!(flags & (TH_ACK|TH_RST))) ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r281530 - head/sys/net
Author: gnn Date: Tue Apr 14 15:21:20 2015 New Revision: 281530 URL: https://svnweb.freebsd.org/changeset/base/281530 Log: Document internal interface types which are specific to FreeBSD. Modified: head/sys/net/if_types.h Modified: head/sys/net/if_types.h == --- head/sys/net/if_types.h Tue Apr 14 14:43:42 2015(r281529) +++ head/sys/net/if_types.h Tue Apr 14 15:21:20 2015(r281530) @@ -243,10 +243,10 @@ #defineIFT_STF0xd7 /* 6to4 interface */ -/* not based on IANA assignments */ -#defineIFT_GIF 0xf0 -#defineIFT_PVC 0xf1 -#defineIFT_ENC 0xf4 -#defineIFT_PFLOG 0xf6 -#defineIFT_PFSYNC 0xf7 +/* FreeBSD specific, not based on IANA assignments */ +#defineIFT_GIF 0xf0 /* Generic tunnel interface */ +#defineIFT_PVC 0xf1 /* Unused */ +#defineIFT_ENC 0xf4 /* Encapsulating interface */ +#defineIFT_PFLOG 0xf6 /* PF packet filter logging */ +#defineIFT_PFSYNC 0xf7 /* PF packet filter synchronization */ #endif /* !_NET_IF_TYPES_H_ */ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r281531 - head/sys/cam
Author: asomers Date: Tue Apr 14 16:33:33 2015 New Revision: 281531 URL: https://svnweb.freebsd.org/changeset/base/281531 Log: Initialize async_arg_ptr in xpt_async when called with async_code AC_ADVINFO_CHANGED. Without this change, newly inserted hard disks won't always have their physical path device nodes created. The problem reproduces most readily when attaching a large number of disks at once. Differential Revision:https://reviews.freebsd.org/D2290 Reviewed by: mav, imp MFC after:2 weeks Sponsored by: Spectra Logic Modified: head/sys/cam/cam_xpt.c Modified: head/sys/cam/cam_xpt.c == --- head/sys/cam/cam_xpt.c Tue Apr 14 15:21:20 2015(r281530) +++ head/sys/cam/cam_xpt.c Tue Apr 14 16:33:33 2015(r281531) @@ -4264,8 +4264,10 @@ xpt_async(u_int32_t async_code, struct c } memcpy(ccb->casync.async_arg_ptr, async_arg, size); ccb->casync.async_arg_size = size; - } else if (size < 0) + } else if (size < 0) { + ccb->casync.async_arg_ptr = async_arg; ccb->casync.async_arg_size = size; + } if (path->device != NULL && path->device->lun_id != CAM_LUN_WILDCARD) xpt_freeze_devq(path, 1); else ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r281532 - head/usr.sbin/ctld
Author: delphij Date: Tue Apr 14 18:13:55 2015 New Revision: 281532 URL: https://svnweb.freebsd.org/changeset/base/281532 Log: Eliminate unused headers. Modified: head/usr.sbin/ctld/discovery.c head/usr.sbin/ctld/isns.c head/usr.sbin/ctld/keys.c head/usr.sbin/ctld/login.c head/usr.sbin/ctld/parse.y head/usr.sbin/ctld/pdu.c head/usr.sbin/ctld/token.l Modified: head/usr.sbin/ctld/discovery.c == --- head/usr.sbin/ctld/discovery.c Tue Apr 14 16:33:33 2015 (r281531) +++ head/usr.sbin/ctld/discovery.c Tue Apr 14 18:13:55 2015 (r281532) @@ -32,7 +32,6 @@ __FBSDID("$FreeBSD$"); #include -#include #include #include #include Modified: head/usr.sbin/ctld/isns.c == --- head/usr.sbin/ctld/isns.c Tue Apr 14 16:33:33 2015(r281531) +++ head/usr.sbin/ctld/isns.c Tue Apr 14 18:13:55 2015(r281532) @@ -35,14 +35,8 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include -#include #include -#include #include -#include -#include #include #include #include Modified: head/usr.sbin/ctld/keys.c == --- head/usr.sbin/ctld/keys.c Tue Apr 14 16:33:33 2015(r281531) +++ head/usr.sbin/ctld/keys.c Tue Apr 14 18:13:55 2015(r281532) @@ -32,7 +32,6 @@ __FBSDID("$FreeBSD$"); #include -#include #include #include #include Modified: head/usr.sbin/ctld/login.c == --- head/usr.sbin/ctld/login.c Tue Apr 14 16:33:33 2015(r281531) +++ head/usr.sbin/ctld/login.c Tue Apr 14 18:13:55 2015(r281532) @@ -33,8 +33,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include -#include #include #include #include Modified: head/usr.sbin/ctld/parse.y == --- head/usr.sbin/ctld/parse.y Tue Apr 14 16:33:33 2015(r281531) +++ head/usr.sbin/ctld/parse.y Tue Apr 14 18:13:55 2015(r281532) @@ -35,7 +35,6 @@ #include #include #include -#include #include #include Modified: head/usr.sbin/ctld/pdu.c == --- head/usr.sbin/ctld/pdu.cTue Apr 14 16:33:33 2015(r281531) +++ head/usr.sbin/ctld/pdu.cTue Apr 14 18:13:55 2015(r281532) @@ -34,8 +34,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include #include #include Modified: head/usr.sbin/ctld/token.l == --- head/usr.sbin/ctld/token.l Tue Apr 14 16:33:33 2015(r281531) +++ head/usr.sbin/ctld/token.l Tue Apr 14 18:13:55 2015(r281532) @@ -34,7 +34,6 @@ #include #include -#include "ctld.h" #include "y.tab.h" int lineno; ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r281536 - head/sys/netpfil/pf
Author: kp Date: Tue Apr 14 19:07:37 2015 New Revision: 281536 URL: https://svnweb.freebsd.org/changeset/base/281536 Log: pf: Fix forwarding detection If the direction is not PF_OUT we can never be forwarding. Some input packets have rcvif != ifp (looped back packets), which lead us to ip6_forward() inbound packets, causing panics. Equally, we need to ensure that packets were really received and not locally generated before trying to ip6_forward() them. Differential Revision:https://reviews.freebsd.org/D2286 Approved by: gnn(mentor) Modified: head/sys/netpfil/pf/pf.c Modified: head/sys/netpfil/pf/pf.c == --- head/sys/netpfil/pf/pf.cTue Apr 14 18:57:50 2015(r281535) +++ head/sys/netpfil/pf/pf.cTue Apr 14 19:07:37 2015(r281536) @@ -6070,7 +6070,7 @@ pf_test6(int dir, struct ifnet *ifp, str M_ASSERTPKTHDR(m); - if (ifp != m->m_pkthdr.rcvif) + if (dir == PF_OUT && m->m_pkthdr.rcvif && ifp != m->m_pkthdr.rcvif) fwdir = PF_FWD; if (!V_pf_status.running) ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r281537 - head/sys/dev/vt
Author: emaste Date: Tue Apr 14 19:18:34 2015 New Revision: 281537 URL: https://svnweb.freebsd.org/changeset/base/281537 Log: Increase vt font limits to allow use of GNU Unifont PR: 199438 Submitted by: Ting-Wei Lan MFC after:1 week Sponsored by: The FreeBSD Foundation Modified: head/sys/dev/vt/vt_font.c Modified: head/sys/dev/vt/vt_font.c == --- head/sys/dev/vt/vt_font.c Tue Apr 14 19:07:37 2015(r281536) +++ head/sys/dev/vt/vt_font.c Tue Apr 14 19:18:34 2015(r281537) @@ -41,8 +41,8 @@ __FBSDID("$FreeBSD$"); static MALLOC_DEFINE(M_VTFONT, "vtfont", "vt font"); /* Some limits to prevent abnormal fonts from being loaded. */ -#defineVTFONT_MAXMAPPINGS 8192 -#defineVTFONT_MAXGLYPHSIZE 1048576 +#defineVTFONT_MAXMAPPINGS 65536 +#defineVTFONT_MAXGLYPHSIZE 2097152 #defineVTFONT_MAXDIMENSION 128 static uint16_t ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r281540 - head/usr.bin/gzip
Author: delphij Date: Wed Apr 15 00:07:21 2015 New Revision: 281540 URL: https://svnweb.freebsd.org/changeset/base/281540 Log: When reading in the original file name from gzip header, we read in PATH_MAX + 1 bytes from the file. In r281500, strrchr() is used to strip possible path portion of the file name to mitigate a possible attack. Unfortunately, strrchr() expects a buffer that is NUL-terminated, and since we are processing potentially untrusted data, we can not assert that be always true. Solve this by reading in one less byte (now PATH_MAX) and explicitly terminate the buffer after the read size with NUL. Reported by: Coverity CID: 1264915 X-MFC-with: 281500 MFC after:13 days Modified: head/usr.bin/gzip/gzip.c Modified: head/usr.bin/gzip/gzip.c == --- head/usr.bin/gzip/gzip.cTue Apr 14 20:08:37 2015(r281539) +++ head/usr.bin/gzip/gzip.cWed Apr 15 00:07:21 2015(r281540) @@ -1409,14 +1409,17 @@ file_uncompress(char *file, char *outfil timestamp = ts[3] << 24 | ts[2] << 16 | ts[1] << 8 | ts[0]; if (header1[3] & ORIG_NAME) { - rbytes = pread(fd, name, sizeof name, GZIP_ORIGNAME); + rbytes = pread(fd, name, sizeof(name) - 1, GZIP_ORIGNAME); if (rbytes < 0) { maybe_warn("can't read %s", file); goto lose; } - if (name[0] != 0) { + if (name[0] != '\0') { char *dp, *nf; + /* Make sure that name is NUL-terminated */ + name[rbytes] = '\0'; + /* strip saved directory name */ nf = strrchr(name, '/'); if (nf == NULL) ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r281541 - head/sys/netinet
Author: adrian Date: Wed Apr 15 00:57:21 2015 New Revision: 281541 URL: https://svnweb.freebsd.org/changeset/base/281541 Log: Fix RSS build - netisr input / NETISR_IP_DIRECT is used here. Modified: head/sys/netinet/ip_reass.c Modified: head/sys/netinet/ip_reass.c == --- head/sys/netinet/ip_reass.c Wed Apr 15 00:07:21 2015(r281540) +++ head/sys/netinet/ip_reass.c Wed Apr 15 00:57:21 2015(r281541) @@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r281542 - head/usr.sbin/bhyvectl
Author: neel Date: Wed Apr 15 05:04:42 2015 New Revision: 281542 URL: https://svnweb.freebsd.org/changeset/base/281542 Log: Initialize 'error' before use. Reported by: Coverity Scan CID: 1249748, 1249747, 1249751, 1249749 MFC after:1 week Modified: head/usr.sbin/bhyvectl/bhyvectl.c Modified: head/usr.sbin/bhyvectl/bhyvectl.c == --- head/usr.sbin/bhyvectl/bhyvectl.c Wed Apr 15 00:57:21 2015 (r281541) +++ head/usr.sbin/bhyvectl/bhyvectl.c Wed Apr 15 05:04:42 2015 (r281542) @@ -640,9 +640,9 @@ get_all_registers(struct vmctx *ctx, int uint64_t cr0, cr3, cr4, dr7, rsp, rip, rflags, efer; uint64_t rax, rbx, rcx, rdx, rsi, rdi, rbp; uint64_t r8, r9, r10, r11, r12, r13, r14, r15; - int error; + int error = 0; - if (get_efer || get_all) { + if (!error && (get_efer || get_all)) { error = vm_get_register(ctx, vcpu, VM_REG_GUEST_EFER, &efer); if (error == 0) printf("efer[%d]\t\t0x%016lx\n", vcpu, efer); @@ -787,10 +787,10 @@ get_all_registers(struct vmctx *ctx, int static int get_all_segments(struct vmctx *ctx, int vcpu) { - int error; uint64_t cs, ds, es, fs, gs, ss, tr, ldtr; + int error = 0; - if (get_desc_ds || get_all) { + if (!error && (get_desc_ds || get_all)) { error = vm_get_desc(ctx, vcpu, VM_REG_GUEST_DS, &desc_base, &desc_limit, &desc_access); if (error == 0) { @@ -935,9 +935,9 @@ static int get_misc_vmcs(struct vmctx *ctx, int vcpu) { uint64_t ctl, cr0, cr3, cr4, rsp, rip, pat, addr, u64; - int error; - - if (get_cr0_mask || get_all) { + int error = 0; + + if (!error && (get_cr0_mask || get_all)) { uint64_t cr0mask; error = vm_get_vmcs_field(ctx, vcpu, VMCS_CR0_MASK, &cr0mask); if (error == 0) @@ -1161,9 +1161,9 @@ static int get_misc_vmcb(struct vmctx *ctx, int vcpu) { uint64_t ctl, addr; - int error; + int error = 0; - if (get_vmcb_intercept || get_all) { + if (!error && (get_vmcb_intercept || get_all)) { error = vm_get_vmcb_field(ctx, vcpu, VMCB_OFF_CR_INTERCEPT, 4, &ctl); if (error == 0) ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r281544 - head/sys/dev/sound/pci/hda
Author: rpaulo Date: Wed Apr 15 05:24:39 2015 New Revision: 281544 URL: https://svnweb.freebsd.org/changeset/base/281544 Log: snd_hda: add support for the Lenovo X1 20BS model. This requires a patch to redirect the output to a separate DAC when the headphones are used. While there, add device strings for Intel Broadwell HDA controllers and Realtek ALC292 codecs. MFC after:1 week Modified: head/sys/dev/sound/pci/hda/hdaa_patches.c head/sys/dev/sound/pci/hda/hdac.c head/sys/dev/sound/pci/hda/hdac.h head/sys/dev/sound/pci/hda/hdacc.c Modified: head/sys/dev/sound/pci/hda/hdaa_patches.c == --- head/sys/dev/sound/pci/hda/hdaa_patches.c Wed Apr 15 05:13:41 2015 (r281543) +++ head/sys/dev/sound/pci/hda/hdaa_patches.c Wed Apr 15 05:24:39 2015 (r281544) @@ -401,6 +401,13 @@ hdac_pin_patch(struct hdaa_widget *w) patch = "as=1 seq=15"; break; } + } else if (id == HDA_CODEC_ALC292 && + subid == LENOVO_X120BS_SUBVENDOR) { + switch (nid) { + case 21: + patch = "as=1 seq=15"; + break; + } } if (patch != NULL) Modified: head/sys/dev/sound/pci/hda/hdac.c == --- head/sys/dev/sound/pci/hda/hdac.c Wed Apr 15 05:13:41 2015 (r281543) +++ head/sys/dev/sound/pci/hda/hdac.c Wed Apr 15 05:24:39 2015 (r281544) @@ -81,6 +81,8 @@ static const struct { { HDA_INTEL_HSW1,"Intel Haswell", 0, 0 }, { HDA_INTEL_HSW2,"Intel Haswell", 0, 0 }, { HDA_INTEL_HSW3,"Intel Haswell", 0, 0 }, + { HDA_INTEL_BDW1,"Intel Broadwell", 0, 0 }, + { HDA_INTEL_BDW2,"Intel Broadwell", 0, 0 }, { HDA_INTEL_CPT, "Intel Cougar Point", 0, 0 }, { HDA_INTEL_PATSBURG,"Intel Patsburg", 0, 0 }, { HDA_INTEL_PPT1,"Intel Panther Point", 0, 0 }, Modified: head/sys/dev/sound/pci/hda/hdac.h == --- head/sys/dev/sound/pci/hda/hdac.h Wed Apr 15 05:13:41 2015 (r281543) +++ head/sys/dev/sound/pci/hda/hdac.h Wed Apr 15 05:24:39 2015 (r281544) @@ -46,6 +46,7 @@ #define HDA_INTEL_HSW1 HDA_MODEL_CONSTRUCT(INTEL, 0x0a0c) #define HDA_INTEL_HSW2 HDA_MODEL_CONSTRUCT(INTEL, 0x0c0c) #define HDA_INTEL_HSW3 HDA_MODEL_CONSTRUCT(INTEL, 0x0d0c) +#define HDA_INTEL_BDW1 HDA_MODEL_CONSTRUCT(INTEL, 0x160c) #define HDA_INTEL_CPT HDA_MODEL_CONSTRUCT(INTEL, 0x1c20) #define HDA_INTEL_PATSBURG HDA_MODEL_CONSTRUCT(INTEL, 0x1d20) #define HDA_INTEL_PPT1 HDA_MODEL_CONSTRUCT(INTEL, 0x1e20) @@ -67,6 +68,7 @@ #define HDA_INTEL_WELLS2 HDA_MODEL_CONSTRUCT(INTEL, 0x8d21) #define HDA_INTEL_LPTLP1 HDA_MODEL_CONSTRUCT(INTEL, 0x9c20) #define HDA_INTEL_LPTLP2 HDA_MODEL_CONSTRUCT(INTEL, 0x9c21) +#define HDA_INTEL_BDW2 HDA_MODEL_CONSTRUCT(INTEL, 0x9ca0) #define HDA_INTEL_ALL HDA_MODEL_CONSTRUCT(INTEL, 0x) /* Nvidia */ @@ -235,6 +237,7 @@ #define LENOVO_TCA55_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x1015) #defineLENOVO_X1_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21e8) #defineLENOVO_X1CRBN_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f9) +#defineLENOVO_X120BS_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2227) #define LENOVO_X220_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21da) #define LENOVO_X300_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac) #defineLENOVO_T400_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20f2) @@ -338,6 +341,7 @@ #define HDA_CODEC_ALC273 HDA_CODEC_CONSTRUCT(REALTEK, 0x0273) #define HDA_CODEC_ALC275 HDA_CODEC_CONSTRUCT(REALTEK, 0x0275) #define HDA_CODEC_ALC276 HDA_CODEC_CONSTRUCT(REALTEK, 0x0276) +#define HDA_CODEC_ALC292 HDA_CODEC_CONSTRUCT(REALTEK, 0x0292) #define HDA_CODEC_ALC660 HDA_CODEC_CONSTRUCT(REALTEK, 0x0660) #define HDA_CODEC_ALC662 HDA_CODEC_CONSTRUCT(REALTEK, 0x0662) #define HDA_CODEC_ALC663 HDA_CODEC_CONSTRUCT(REALTEK, 0x0663) @@ -622,6 +626,7 @@ #define HDA_CODEC_INTELCPT HDA_CODEC_CONSTRUCT(INTEL, 0x2805) #define HDA_CODEC_INTELPPT HDA_CODEC_CONSTRUCT(INTEL, 0x2806) #define HDA_CODEC_INTELHSW HDA_CODEC_CONSTRUCT(INTEL, 0x2807) +#define HDA_CODEC_INTELBDW HDA_CODEC_CONSTRUCT(INTEL, 0x2808) #define HDA_CODEC_INTELCL HDA_CODEC_CONSTRUCT(INTEL, 0x29fb) #define HDA_CODEC_INTELHDA_CODEC_CONSTRUCT(INTEL, 0x) Modified: head/sys/dev/sound/pci/hda/hdacc.c == --- head/sys/dev/sound/pci/hda/hdacc.c Wed Apr 15 05:13:41 2015 (r281543) +++ head/sys/dev/sound/pci/hda/hdacc.c Wed Apr 15 05:24:39 2015 (r
Re: svn commit: r281131 - head/etc
Baptiste Daroussin writes: > Log: > Enforce LC_COLLATE="C" until we do support proper UTF-8 collation [...] > - :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\ > + :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:LC_COLLATE=C:\ Did you mean to append value to :setenv instead of defining a separate capability? Index: etc/login.conf === --- etc/login.conf (revision 281134) +++ etc/login.conf (working copy) @@ -26,7 +26,7 @@ default:\ :passwd_format=sha512:\ :copyright=/etc/COPYRIGHT:\ :welcome=/etc/motd:\ - :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:LC_COLLATE=C:\ + :setenv=MAIL=/var/mail/$,BLOCKSIZE=K,LC_COLLATE=C:\ :path=/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin ~/bin:\ :nologin=/var/run/nologin:\ :cputime=unlimited:\ signature.asc Description: PGP signature
Re: svn commit: r281131 - head/etc
On Wed, Apr 15, 2015 at 07:33:24AM +0200, Jan Beich wrote: > Baptiste Daroussin writes: > > > Log: > > Enforce LC_COLLATE="C" until we do support proper UTF-8 collation > [...] > > - :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\ > > + :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:LC_COLLATE=C:\ > > Did you mean to append value to :setenv instead of defining > a separate capability? Oups fixed, thanks. Bapt pgpppAh_u9PPW.pgp Description: PGP signature
svn commit: r281546 - head/etc
Author: bapt Date: Wed Apr 15 06:57:47 2015 New Revision: 281546 URL: https://svnweb.freebsd.org/changeset/base/281546 Log: Correctly set LC_COLLATE into setenv Submitted by: jbeich Modified: head/etc/login.conf Modified: head/etc/login.conf == --- head/etc/login.conf Wed Apr 15 06:56:51 2015(r281545) +++ head/etc/login.conf Wed Apr 15 06:57:47 2015(r281546) @@ -26,7 +26,7 @@ default:\ :passwd_format=sha512:\ :copyright=/etc/COPYRIGHT:\ :welcome=/etc/motd:\ - :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:LC_COLLATE=C:\ + :setenv=MAIL=/var/mail/$,BLOCKSIZE=K,LC_COLLATE=C:\ :path=/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin ~/bin:\ :nologin=/var/run/nologin:\ :cputime=unlimited:\ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"