svn commit: r340314 - head/lib/libjail
Author: asomers Date: Sat Nov 10 03:10:22 2018 New Revision: 340314 URL: https://svnweb.freebsd.org/changeset/base/340314 Log: libjail: fix handling of allow.mount.fusefs in jailparam_init fusefs is inconsistently named. The kernel module is named "fuse", but the mount helper is named "mount_fusefs" and the jail(8) parameter is named "allow.mount.fusefs". Special case it in libjail. Reviewed by: jamie MFC after:2 weeks Differential Revision:https://reviews.freebsd.org/D17929 Modified: head/lib/libjail/jail.c Modified: head/lib/libjail/jail.c == --- head/lib/libjail/jail.c Sat Nov 10 03:00:36 2018(r340313) +++ head/lib/libjail/jail.c Sat Nov 10 03:10:22 2018(r340314) @@ -1050,10 +1050,18 @@ kldload_param(const char *name) kl = kldload(name); else if (strncmp(name, "allow.mount.", 12) == 0) { /* Load the matching filesystem */ - kl = kldload(name + 12); + const char *modname; + + if (strcmp("fusefs", name + 12) == 0 || + strcmp("nofusefs", name + 12) == 0) { + modname = "fuse"; + } else { + modname = name + 12; + } + kl = kldload(modname); if (kl < 0 && errno == ENOENT && - strncmp(name + 12, "no", 2) == 0) - kl = kldload(name + 14); + strncmp(modname, "no", 2) == 0) + kl = kldload(modname + 2); } else { errno = ENOENT; return (-1); ___ 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-unsubscr...@freebsd.org"
svn commit: r340313 - head/sys/netinet
Author: markj Date: Sat Nov 10 03:00:36 2018 New Revision: 340313 URL: https://svnweb.freebsd.org/changeset/base/340313 Log: Ensure that IP fragments do not extend beyond IP_MAXPACKET. Such fragments are obviously invalid, and when processed may end up violating the sort order (by offset) of fragments of a given packet. This doesn't appear to be exploitable, however. Reviewed by: emaste Discussed with: jtl MFC after:3 days Sponsored by: The FreeBSD Foundation Differential Revision:https://reviews.freebsd.org/D17914 Modified: head/sys/netinet/ip_reass.c Modified: head/sys/netinet/ip_reass.c == --- head/sys/netinet/ip_reass.c Sat Nov 10 02:37:56 2018(r340312) +++ head/sys/netinet/ip_reass.c Sat Nov 10 03:00:36 2018(r340313) @@ -228,6 +228,16 @@ ip_reass(struct mbuf *m) ip->ip_off = htons(ntohs(ip->ip_off) << 3); /* +* Make sure the fragment lies within a packet of valid size. +*/ + if (ntohs(ip->ip_len) + ntohs(ip->ip_off) > IP_MAXPACKET) { + IPSTAT_INC(ips_toolong); + IPSTAT_INC(ips_fragdropped); + m_freem(m); + return (NULL); + } + + /* * Attempt reassembly; if it succeeds, proceed. * ip_reass() will return a different mbuf. */ ___ 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-unsubscr...@freebsd.org"
svn commit: r340312 - head/sys/powerpc/aim
Author: jhibbits Date: Sat Nov 10 02:37:56 2018 New Revision: 340312 URL: https://svnweb.freebsd.org/changeset/base/340312 Log: powerpc: Use MAX() macro instead of max() inline function to calculate Maxmem Maxmem is the highest address for physical memory in the system. It's measured in pages which, since max() returns a u_int, should allow for up to 2^44 bytes of memory addressable by the system. However, on POWER9 systems at least, memory addressed by additional socketed CPUs begins at addresses far above the 2^44 mark, causing issues with memory accesses and DMA, when memory is addressed on the auxiliary CPUs. Use the MAX() macro instead, which doesn't convert arguments, so retains Maxmem and all calculations as its defined long type (64-bit on powerpc64), keeping the maximum address correct. Submitted by: mmacy Modified: head/sys/powerpc/aim/mmu_oea64.c Modified: head/sys/powerpc/aim/mmu_oea64.c == --- head/sys/powerpc/aim/mmu_oea64.cSat Nov 10 01:58:37 2018 (r340311) +++ head/sys/powerpc/aim/mmu_oea64.cSat Nov 10 02:37:56 2018 (r340312) @@ -939,7 +939,7 @@ moea64_late_bootstrap(mmu_t mmup, vm_offset_t kernelst */ Maxmem = 0; for (i = 0; phys_avail[i + 2] != 0; i += 2) - Maxmem = max(Maxmem, powerpc_btop(phys_avail[i + 1])); + Maxmem = MAX(Maxmem, powerpc_btop(phys_avail[i + 1])); /* * Initialize MMU. ___ 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-unsubscr...@freebsd.org"
svn commit: r340311 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Author: mav Date: Sat Nov 10 01:58:37 2018 New Revision: 340311 URL: https://svnweb.freebsd.org/changeset/base/340311 Log: Do not ignore arc_adjust() return value. This covers scenario when ARC may not shrink as fast as it could: 1. arc_size < arc_c and arc_adjust() does not evict anything, returning zero to arc_reclaim_thread(); 2. arc_available_memory() reports memory pressure, which can not be satisfied by arc_kmem_reap_now(); 3. arc_shrink() reduces arc_c and calls arc_adjust(), return of which is ignored; 4. even if the last arc_adjust() could not satisfy arc_size < arc_c, arc_reclaim_thread() will still go to sleep, since the first one returned zero. Reviewed by: allanjude, markj, sef MFC after:2 weeks Sponsored by: iXsystems, Inc. Differential Revision:https://reviews.freebsd.org/D17927 Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Fri Nov 9 22:18:43 2018(r340310) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Sat Nov 10 01:58:37 2018(r340311) @@ -4565,7 +4565,7 @@ arc_flush(spa_t *spa, boolean_t retry) (void) arc_flush_state(arc_mfu_ghost, guid, ARC_BUFC_METADATA, retry); } -void +uint64_t arc_shrink(int64_t to_free) { uint64_t asize = aggsum_value(_size); @@ -4593,8 +4593,9 @@ arc_shrink(int64_t to_free) if (asize > arc_c) { DTRACE_PROBE2(arc__shrink_adjust, uint64_t, asize, uint64_t, arc_c); - (void) arc_adjust(); + return (arc_adjust()); } + return (0); } typedef enum free_memory_reason_t { @@ -4917,7 +4918,7 @@ arc_reclaim_thread(void *unused __unused) to_free = MAX(to_free, ptob(needfree)); #endif #endif - arc_shrink(to_free); + evicted += arc_shrink(to_free); } } else if (free_memory < arc_c >> arc_no_grow_shift) { arc_no_grow = B_TRUE; ___ 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-unsubscr...@freebsd.org"
svn commit: r340310 - head/sys/dev/e1000
Author: shurd Date: Fri Nov 9 22:18:43 2018 New Revision: 340310 URL: https://svnweb.freebsd.org/changeset/base/340310 Log: Fix first-packet completion The first packet after the ring is initialized was never completed as isc_txd_credits_update() would not include it in the count of completed packets. This caused netmap to never complete a batch. See PR 233022 for more details. PR: 233022 Reported by: lev Reviewed by: lev MFC after:3 days Sponsored by: Limelight Networks Differential Revision:https://reviews.freebsd.org/D17931 Modified: head/sys/dev/e1000/em_txrx.c head/sys/dev/e1000/igb_txrx.c Modified: head/sys/dev/e1000/em_txrx.c == --- head/sys/dev/e1000/em_txrx.cFri Nov 9 21:45:42 2018 (r340309) +++ head/sys/dev/e1000/em_txrx.cFri Nov 9 22:18:43 2018 (r340310) @@ -458,7 +458,13 @@ em_isc_txd_credits_update(void *arg, uint16_t txqid, b ntxd = scctx->isc_ntxd[0]; do { delta = (int32_t)cur - (int32_t)prev; + /* +* XXX This appears to be a hack for first-packet. +* A correct fix would prevent prev == cur in the first place. +*/ MPASS(prev == 0 || delta != 0); + if (prev == 0 && cur == 0) + delta += 1; if (delta < 0) delta += ntxd; DPRINTF(iflib_get_dev(adapter->ctx), Modified: head/sys/dev/e1000/igb_txrx.c == --- head/sys/dev/e1000/igb_txrx.c Fri Nov 9 21:45:42 2018 (r340309) +++ head/sys/dev/e1000/igb_txrx.c Fri Nov 9 22:18:43 2018 (r340310) @@ -333,7 +333,13 @@ igb_isc_txd_credits_update(void *arg, uint16_t txqid, ntxd = scctx->isc_ntxd[0]; do { delta = (int32_t)cur - (int32_t)prev; + /* +* XXX This appears to be a hack for first-packet. +* A correct fix would prevent prev == cur in the first place. +*/ MPASS(prev == 0 || delta != 0); + if (prev == 0 && cur == 0) + delta += 1; if (delta < 0) delta += ntxd; ___ 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-unsubscr...@freebsd.org"
svn commit: r340304 - head/sys/dev/cxgbe/tom
Author: jhb Date: Fri Nov 9 21:16:45 2018 New Revision: 340304 URL: https://svnweb.freebsd.org/changeset/base/340304 Log: Use tcp_state_change() in the cxgbe(4) TOE module. r254889 added tcp_state_change() as a centralized place to log state changes in TCP connections for DTrace. r294869 and r296881 took advantage of this central location to manage per-state counters. However, TOE sockets were still performing some (but not all) state change updates via direct assignments to t_state. This resulted in state counters underflowing when TOE was in use. Fix by using tcp_state_change() when changing a TOE connection's state. Reviewed by: np, markj MFC after:1 month Sponsored by: Chelsio Communications Differential Revision:https://reviews.freebsd.org/D17915 Modified: head/sys/dev/cxgbe/tom/t4_cpl_io.c Modified: head/sys/dev/cxgbe/tom/t4_cpl_io.c == --- head/sys/dev/cxgbe/tom/t4_cpl_io.c Fri Nov 9 21:02:07 2018 (r340303) +++ head/sys/dev/cxgbe/tom/t4_cpl_io.c Fri Nov 9 21:16:45 2018 (r340304) @@ -396,7 +396,7 @@ make_established(struct toepcb *toep, uint32_t snd_isn CTR6(KTR_CXGBE, "%s: tid %d, so %p, inp %p, tp %p, toep %p", __func__, toep->tid, so, inp, tp, toep); - tp->t_state = TCPS_ESTABLISHED; + tcp_state_change(tp, TCPS_ESTABLISHED); tp->t_starttime = ticks; TCPSTAT_INC(tcps_connects); @@ -1303,11 +1303,11 @@ do_peer_close(struct sge_iq *iq, const struct rss_head /* FALLTHROUGH */ case TCPS_ESTABLISHED: - tp->t_state = TCPS_CLOSE_WAIT; + tcp_state_change(tp, TCPS_CLOSE_WAIT); break; case TCPS_FIN_WAIT_1: - tp->t_state = TCPS_CLOSING; + tcp_state_change(tp, TCPS_CLOSING); break; case TCPS_FIN_WAIT_2: @@ -1389,7 +1389,7 @@ release: case TCPS_FIN_WAIT_1: if (so->so_rcv.sb_state & SBS_CANTRCVMORE) soisdisconnected(so); - tp->t_state = TCPS_FIN_WAIT_2; + tcp_state_change(tp, TCPS_FIN_WAIT_2); break; default: ___ 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-unsubscr...@freebsd.org"
svn commit: r340303 - in head/sys: compat/freebsd32 sys
Author: brooks Date: Fri Nov 9 21:02:07 2018 New Revision: 340303 URL: https://svnweb.freebsd.org/changeset/base/340303 Log: Regen after r340302: Fix freebsd32 mknod(at). Sponsored by: DARPA, AFRL Differential Revision:https://reviews.freebsd.org/D17928 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/sys/sysproto.h Modified: head/sys/compat/freebsd32/freebsd32_proto.h == --- head/sys/compat/freebsd32/freebsd32_proto.h Fri Nov 9 21:01:16 2018 (r340302) +++ head/sys/compat/freebsd32/freebsd32_proto.h Fri Nov 9 21:02:07 2018 (r340303) @@ -684,6 +684,24 @@ struct freebsd32_fhstat_args { char u_fhp_l_[PADL_(const struct fhandle *)]; const struct fhandle * u_fhp; char u_fhp_r_[PADR_(const struct fhandle *)]; char sb_l_[PADL_(struct stat32 *)]; struct stat32 * sb; char sb_r_[PADR_(struct stat32 *)]; }; +#ifdef PAD64_REQUIRED +struct freebsd32_mknodat_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)]; + char mode_l_[PADL_(mode_t)]; mode_t mode; char mode_r_[PADR_(mode_t)]; + char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)]; + char dev1_l_[PADL_(uint32_t)]; uint32_t dev1; char dev1_r_[PADR_(uint32_t)]; + char dev2_l_[PADL_(uint32_t)]; uint32_t dev2; char dev2_r_[PADR_(uint32_t)]; +}; +#else +struct freebsd32_mknodat_args { + char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; + char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)]; + char mode_l_[PADL_(mode_t)]; mode_t mode; char mode_r_[PADR_(mode_t)]; + char dev1_l_[PADL_(uint32_t)]; uint32_t dev1; char dev1_r_[PADR_(uint32_t)]; + char dev2_l_[PADL_(uint32_t)]; uint32_t dev2; char dev2_r_[PADR_(uint32_t)]; +}; +#endif struct freebsd32_kevent_args { char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)]; char changelist_l_[PADL_(const struct kevent32 *)]; const struct kevent32 * changelist; char changelist_r_[PADR_(const struct kevent32 *)]; @@ -839,6 +857,11 @@ intfreebsd32_utimensat(struct thread *, struct freebs intfreebsd32_fstat(struct thread *, struct freebsd32_fstat_args *); intfreebsd32_fstatat(struct thread *, struct freebsd32_fstatat_args *); intfreebsd32_fhstat(struct thread *, struct freebsd32_fhstat_args *); +#ifdef PAD64_REQUIRED +intfreebsd32_mknodat(struct thread *, struct freebsd32_mknodat_args *); +#else +intfreebsd32_mknodat(struct thread *, struct freebsd32_mknodat_args *); +#endif intfreebsd32_kevent(struct thread *, struct freebsd32_kevent_args *); intfreebsd32_cpuset_getdomain(struct thread *, struct freebsd32_cpuset_getdomain_args *); intfreebsd32_cpuset_setdomain(struct thread *, struct freebsd32_cpuset_setdomain_args *); @@ -916,6 +939,9 @@ struct ofreebsd32_getdirentries_args { #ifdef PAD64_REQUIRED #else #endif +#ifdef PAD64_REQUIRED +#else +#endif intofreebsd32_lseek(struct thread *, struct ofreebsd32_lseek_args *); intofreebsd32_stat(struct thread *, struct ofreebsd32_stat_args *); intofreebsd32_lstat(struct thread *, struct ofreebsd32_lstat_args *); @@ -987,6 +1013,9 @@ struct freebsd4_freebsd32_sigreturn_args { #ifdef PAD64_REQUIRED #else #endif +#ifdef PAD64_REQUIRED +#else +#endif intfreebsd4_freebsd32_getfsstat(struct thread *, struct freebsd4_freebsd32_getfsstat_args *); intfreebsd4_freebsd32_statfs(struct thread *, struct freebsd4_freebsd32_statfs_args *); intfreebsd4_freebsd32_fstatfs(struct thread *, struct freebsd4_freebsd32_fstatfs_args *); @@ -1072,6 +1101,9 @@ struct freebsd6_freebsd32_lio_listio_args { #ifdef PAD64_REQUIRED #else #endif +#ifdef PAD64_REQUIRED +#else +#endif intfreebsd6_freebsd32_pread(struct thread *, struct freebsd6_freebsd32_pread_args *); intfreebsd6_freebsd32_pwrite(struct thread *, struct freebsd6_freebsd32_pwrite_args *); intfreebsd6_freebsd32_mmap(struct thread *, struct freebsd6_freebsd32_mmap_args *); @@ -1118,6 +1150,9 @@ struct freebsd7_freebsd32_shmctl_args { #ifdef PAD64_REQUIRED #else #endif +#ifdef PAD64_REQUIRED +#else +#endif intfreebsd7_freebsd32_semctl(struct thread *, struct freebsd7_freebsd32_semctl_args *); intfreebsd7_freebsd32_msgctl(struct thread *, struct freebsd7_freebsd32_msgctl_args *); intfreebsd7_freebsd32_shmctl(struct thread *, struct freebsd7_freebsd32_shmctl_args *); @@ -1142,6 +1177,9 @@ int freebsd7_freebsd32_shmctl(struct thread *, struct #ifdef PAD64_REQUIRED #else #endif +#ifdef PAD64_REQUIRED +#else +#endif int
svn commit: r340302 - in head/sys: compat/freebsd32 kern
Author: brooks Date: Fri Nov 9 21:01:16 2018 New Revision: 340302 URL: https://svnweb.freebsd.org/changeset/base/340302 Log: Fix freebsd32 mknod(at). As dev_t is now a 64-bit integer, it requires special handling as a system call argument. 64-bit arguments are split between two 64-bit integers due to the way arguments are promoted to allow reuse of most system call implementations. They must be reassembled before use. Further, 64-bit arguments at an odd offset (counting from zero) are padded and slid to the next slot on powerpc and mips. Fix the non-COMPAT11 system call by adding a freebsd32_mknodat() and appropriately padded declerations. The COMPAT11 system calls are fully compatible with the 64-bit implementations so remove the freebsd32_ versions. Use uint32_t consistently as the type of the old dev_t. This matches the old definition. Reviewed by: kib MFC after:3 days Sponsored by: DARPA, AFRL Differential Revision:https://reviews.freebsd.org/D17928 Modified: head/sys/compat/freebsd32/freebsd32_misc.c head/sys/compat/freebsd32/syscalls.master head/sys/kern/syscalls.master Modified: head/sys/compat/freebsd32/freebsd32_misc.c == --- head/sys/compat/freebsd32/freebsd32_misc.c Fri Nov 9 20:33:38 2018 (r340301) +++ head/sys/compat/freebsd32/freebsd32_misc.c Fri Nov 9 21:01:16 2018 (r340302) @@ -463,25 +463,14 @@ freebsd32_fexecve(struct thread *td, struct freebsd32_ return (error); } -#if defined(COMPAT_FREEBSD11) -int -freebsd11_freebsd32_mknod(struct thread *td, -struct freebsd11_freebsd32_mknod_args *uap) -{ - return (kern_mknodat(td, AT_FDCWD, uap->path, UIO_USERSPACE, uap->mode, - uap->dev)); -} - int -freebsd11_freebsd32_mknodat(struct thread *td, -struct freebsd11_freebsd32_mknodat_args *uap) +freebsd32_mknodat(struct thread *td, struct freebsd32_mknodat_args *uap) { - return (kern_mknodat(td, uap->fd, uap->path, UIO_USERSPACE, uap->mode, - uap->dev)); + return (kern_mknodat(td, uap->fd, uap->path, UIO_USERSPACE, + uap->mode, PAIR32TO64(dev_t, uap->dev))); } -#endif /* COMPAT_FREEBSD11 */ int freebsd32_mprotect(struct thread *td, struct freebsd32_mprotect_args *uap) Modified: head/sys/compat/freebsd32/syscalls.master == --- head/sys/compat/freebsd32/syscalls.master Fri Nov 9 20:33:38 2018 (r340301) +++ head/sys/compat/freebsd32/syscalls.master Fri Nov 9 21:01:16 2018 (r340302) @@ -84,8 +84,8 @@ 11 AUE_NULLOBSOL execv 12 AUE_CHDIR NOPROTO { int chdir(const char *path); } 13 AUE_FCHDIR NOPROTO { int fchdir(int fd); } -14 AUE_MKNOD COMPAT11 { int freebsd32_mknod(const char *path, \ - int mode, int dev); } +14 AUE_MKNOD COMPAT11|NOPROTO { int mknod(const char *path, \ + int mode, uint32_t dev); } 15 AUE_CHMOD NOPROTO { int chmod(const char *path, mode_t mode); } 16 AUE_CHOWN NOPROTO { int chown(const char *path, int uid, int gid); } 17 AUE_NULLNOPROTO { void *break(char *nsize); } @@ -958,7 +958,7 @@ mode_t mode); } 497AUE_MKFIFOATNOPROTO { int mkfifoat(int fd, const char *path, \ mode_t mode); } -498AUE_MKNODAT COMPAT11 { int freebsd32_mknodat(int fd, \ +498AUE_MKNODAT COMPAT11|NOPROTO { int mknodat(int fd, \ const char *path, mode_t mode, \ uint32_t dev); } 499AUE_OPENAT_RWTC NOPROTO { int openat(int fd, const char *path, \ @@ -1113,8 +1113,15 @@ long bufsize, int mode); } 558AUE_FHSTATFSNOPROTO { int fhstatfs(const struct fhandle *u_fhp, \ struct statfs32 *buf); } -559AUE_MKNODAT NOPROTO { int mknodat(int fd, const char *path, \ - mode_t mode, dev_t dev); } +#ifdef PAD64_REQUIRED +559AUE_MKNODAT STD { int freebsd32_mknodat(int fd, \ + const char *path, mode_t mode, \ + int pad, uint32_t dev1, uint32_t dev2); } +#else +559AUE_MKNODAT STD { int freebsd32_mknodat(int fd, \ + const char *path, mode_t mode, \ + uint32_t dev1, uint32_t dev2); } +#endif 560AUE_KEVENT STD { int freebsd32_kevent(int fd, \ const struct kevent32 *changelist, \ int nchanges, \ Modified: head/sys/kern/syscalls.master
svn commit: r340301 - head/sys/conf
Author: emaste Date: Fri Nov 9 20:33:38 2018 New Revision: 340301 URL: https://svnweb.freebsd.org/changeset/base/340301 Log: Add comment to explain kernel ldscript 0x20 constant Reported by: linimon Modified: head/sys/conf/ldscript.amd64 Modified: head/sys/conf/ldscript.amd64 == --- head/sys/conf/ldscript.amd64Fri Nov 9 19:51:26 2018 (r340300) +++ head/sys/conf/ldscript.amd64Fri Nov 9 20:33:38 2018 (r340301) @@ -6,7 +6,7 @@ SEARCH_DIR("/usr/lib"); SECTIONS { /* Read-only sections, merged into text segment: */ - kernphys = 0x20; + kernphys = 0x20; /* 2MB superpage size */ . = kernbase + kernphys + SIZEOF_HEADERS; /* * Use the AT keyword in order to set the right LMA that contains ___ 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-unsubscr...@freebsd.org"
svn commit: r340300 - head/lib/clang/libllvm
Author: emaste Date: Fri Nov 9 19:51:26 2018 New Revision: 340300 URL: https://svnweb.freebsd.org/changeset/base/340300 Log: libllvm: Move SampleProfWriter to SRCS_MIN It is required by llvm-profdata, now built by default under the LLVM_COV knob. The additional complexity that would come from avoiding building it if CLANG_EXTRAS and LLVM_COV are both disabled is not worth the small savings in build time. Sponsored by: The FreeBSD Foundation Modified: head/lib/clang/libllvm/Makefile Modified: head/lib/clang/libllvm/Makefile == --- head/lib/clang/libllvm/Makefile Fri Nov 9 19:17:25 2018 (r340299) +++ head/lib/clang/libllvm/Makefile Fri Nov 9 19:51:26 2018 (r340300) @@ -683,7 +683,7 @@ SRCS_MIN+= ProfileData/InstrProfWriter.cpp SRCS_MIN+= ProfileData/ProfileSummaryBuilder.cpp SRCS_MIN+= ProfileData/SampleProf.cpp SRCS_MIN+= ProfileData/SampleProfReader.cpp -SRCS_EXT+= ProfileData/SampleProfWriter.cpp +SRCS_MIN+= ProfileData/SampleProfWriter.cpp SRCS_MIN+= Support/APFloat.cpp SRCS_MIN+= Support/APInt.cpp SRCS_MIN+= Support/APSInt.cpp ___ 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-unsubscr...@freebsd.org"
svn commit: r340299 - head/sys/contrib/octeon-sdk
Author: emaste Date: Fri Nov 9 19:17:25 2018 New Revision: 340299 URL: https://svnweb.freebsd.org/changeset/base/340299 Log: Octeon SDK: avoid use of uninitialized variable Reported by: Clang MFC after:1 week Sponsored by: The FreeBSD Foundation Modified: head/sys/contrib/octeon-sdk/cvmx-pip.h Modified: head/sys/contrib/octeon-sdk/cvmx-pip.h == --- head/sys/contrib/octeon-sdk/cvmx-pip.h Fri Nov 9 19:16:01 2018 (r340298) +++ head/sys/contrib/octeon-sdk/cvmx-pip.h Fri Nov 9 19:17:25 2018 (r340299) @@ -684,6 +684,7 @@ static inline int cvmx_pip_get_bsel_table_index(cvmx_w bsel_cfg.u64 = cvmx_read_csr(CVMX_PIP_BSEL_EXT_CFGX(bit)); bsel_pos.u64 = cvmx_read_csr(CVMX_PIP_BSEL_EXT_POSX(bit)); +index = 0; for (y = 0; y < 8; y++) { char *ptr = (char *)cvmx_phys_to_ptr(work->packet_ptr.s.addr); ___ 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-unsubscr...@freebsd.org"
svn commit: r340298 - head/sys/arm/freescale/imx
Author: emaste Date: Fri Nov 9 19:16:01 2018 New Revision: 340298 URL: https://svnweb.freebsd.org/changeset/base/340298 Log: use -m ${LD_EMULATION} for binary->elf link invocation r306041 changed ld invocations for converting binary files to kernel ELF objects to pass -m, but missed bespoke ld invocations in a pair of arm file configs (one of which has since been removed). This is needed to support some external toolchains and lld. Sponsored by: The FreeBSD Foundation Modified: head/sys/arm/freescale/imx/files.imx6 Modified: head/sys/arm/freescale/imx/files.imx6 == --- head/sys/arm/freescale/imx/files.imx6 Fri Nov 9 18:56:40 2018 (r340297) +++ head/sys/arm/freescale/imx/files.imx6 Fri Nov 9 19:16:01 2018 (r340298) @@ -64,7 +64,7 @@ sdma_fw.c optional sdma_fw \ clean "sdma_fw.c" sdma-imx6q-to1.fwo optional sdma_fw\ dependency "sdma-imx6q-to1.bin"\ - compile-with"${LD} -b binary -d -warn-common -r -d -o ${.TARGET} sdma-imx6q-to1.bin" \ + compile-with"${LD} -m ${LD_EMULATION} -b binary -d -warn-common -r -d -o ${.TARGET} sdma-imx6q-to1.bin" \ no-implicit-rule\ clean "sdma-imx6q-to1.fwo" sdma-imx6q-to1.bin optional sdma_fw\ ___ 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-unsubscr...@freebsd.org"
svn commit: r340297 - in head/sys: conf tools/fdt
Author: kevans Date: Fri Nov 9 18:56:40 2018 New Revision: 340297 URL: https://svnweb.freebsd.org/changeset/base/340297 Log: Use ${ECHO} in dtb/dtbo build, pass in from dtb.mk for -s Reported by: sbruno MFC after:3 days Modified: head/sys/conf/dtb.mk head/sys/tools/fdt/make_dtb.sh head/sys/tools/fdt/make_dtbo.sh Modified: head/sys/conf/dtb.mk == --- head/sys/conf/dtb.mkFri Nov 9 18:35:09 2018(r340296) +++ head/sys/conf/dtb.mkFri Nov 9 18:56:40 2018(r340297) @@ -58,8 +58,8 @@ all: ${DTB} ${DTBO} .export DTC .for _dts in ${DTS} ${_dts:R:S/$/.dtb/}: ${_dts} ${OP_META} - @echo Generating ${.TARGET} from ${_dts} - @${SYSDIR}/tools/fdt/make_dtb.sh ${SYSDIR} ${_dts} ${.OBJDIR} + @${ECHO} Generating ${.TARGET} from ${_dts} + @env ECHO=${ECHO} ${SYSDIR}/tools/fdt/make_dtb.sh ${SYSDIR} ${_dts} ${.OBJDIR} CLEANFILES+=${_dts:R:S/$/.dtb/} .endfor .endif @@ -68,8 +68,8 @@ CLEANFILES+=${_dts:R:S/$/.dtb/} .export DTC .for _dtso in ${DTSO} ${_dtso:R:S/$/.dtbo/}: ${_dtso} ${OP_META} - @echo Generating ${.TARGET} from ${_dtso} - @${SYSDIR}/tools/fdt/make_dtbo.sh ${SYSDIR} overlays/${_dtso} ${.OBJDIR} + @${ECHO} Generating ${.TARGET} from ${_dtso} + @env ECHO=${ECHO} ${SYSDIR}/tools/fdt/make_dtbo.sh ${SYSDIR} overlays/${_dtso} ${.OBJDIR} CLEANFILES+=${_dtso:R:S/$/.dtbo/} .endfor .endif Modified: head/sys/tools/fdt/make_dtb.sh == --- head/sys/tools/fdt/make_dtb.sh Fri Nov 9 18:35:09 2018 (r340296) +++ head/sys/tools/fdt/make_dtb.sh Fri Nov 9 18:56:40 2018 (r340297) @@ -17,10 +17,11 @@ if [ -z "${MACHINE}" ]; then fi : ${DTC:=dtc} +: ${ECHO:=echo} for d in ${dts}; do dtb=${dtb_path}/`basename $d .dts`.dtb -echo "converting $d -> $dtb" +${ECHO} "converting $d -> $dtb" cpp -P -x assembler-with-cpp -I $S/gnu/dts/include -I $S/dts/${MACHINE} -I $S/gnu/dts/${MACHINE} -I $S/gnu/dts/ -include $d /dev/null | ${DTC} -@ -O dtb -o $dtb -b 0 -p 1024 -i $S/dts/${MACHINE} -i $S/gnu/dts/${MACHINE} -i $S/gnu/dts/ done Modified: head/sys/tools/fdt/make_dtbo.sh == --- head/sys/tools/fdt/make_dtbo.sh Fri Nov 9 18:35:09 2018 (r340296) +++ head/sys/tools/fdt/make_dtbo.sh Fri Nov 9 18:56:40 2018 (r340297) @@ -17,10 +17,11 @@ if [ -z "${MACHINE}" ]; then fi : ${DTC:=dtc} +: ${ECHO:=echo} for d in ${dtso}; do dtb=${dtbo_path}/`basename $d .dtso`.dtbo -echo "converting $d -> $dtb" +${ECHO} "converting $d -> $dtb" cpp -P -x assembler-with-cpp -I $S/gnu/dts/include -I $S/dts/${MACHINE} -I $S/gnu/dts/${MACHINE} -include $d /dev/null | ${DTC} -@ -O dtb -o $dtb -i $S/dts/${MACHINE} -i $S/gnu/dts/${MACHINE} done ___ 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-unsubscr...@freebsd.org"
svn commit: r340296 - in head: tools/build/mk usr.bin/clang
Author: emaste Date: Fri Nov 9 18:35:09 2018 New Revision: 340296 URL: https://svnweb.freebsd.org/changeset/base/340296 Log: Move llvm-profdata build into MK_LLVM_COV block llvm-profdata is used with llvm-cov for code coverage (although llvm-cov can also operate independently in a gcov-compatible mode). Although llvm-profdata can be used independently of llvm-cov it makes sense to group these under one option. Also handle these in OptionalObsoleteFiles.inc while here. Sponsored by: The FreeBSD Foundation Modified: head/tools/build/mk/OptionalObsoleteFiles.inc head/usr.bin/clang/Makefile Modified: head/tools/build/mk/OptionalObsoleteFiles.inc == --- head/tools/build/mk/OptionalObsoleteFiles.inc Fri Nov 9 18:06:25 2018(r340295) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Fri Nov 9 18:35:09 2018(r340296) @@ -2466,6 +2466,12 @@ OLD_FILES+=usr/bin/gcov OLD_FILES+=usr/share/man/man1/gcov.1.gz .endif +.if ${MK_LLVM_COV} == no +OLD_FILES+=usr/bin/llvm-cov +OLD_FILES+=usr/bin/llvm-profdata +OLD_FILES+=usr/share/man/man1/llvm-cov.1.gz +.endif + .if ${MK_GDB} == no || ${MK_GDB_LIBEXEC} == yes OLD_FILES+=usr/bin/gdb OLD_FILES+=usr/bin/gdbserver Modified: head/usr.bin/clang/Makefile == --- head/usr.bin/clang/Makefile Fri Nov 9 18:06:25 2018(r340295) +++ head/usr.bin/clang/Makefile Fri Nov 9 18:35:09 2018(r340296) @@ -31,7 +31,6 @@ SUBDIR+= llvm-modextract SUBDIR+= llvm-nm SUBDIR+= llvm-objcopy SUBDIR+= llvm-pdbutil -SUBDIR+= llvm-profdata SUBDIR+= llvm-rtdyld SUBDIR+= llvm-symbolizer SUBDIR+= llvm-xray @@ -46,6 +45,7 @@ SUBDIR+= lldb .endif .if ${MK_LLVM_COV} != "no" SUBDIR+= llvm-cov +SUBDIR+= llvm-profdata .endif .endif # TOOLS_PREFIX ___ 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-unsubscr...@freebsd.org"
Re: svn commit: r340294 - head/sys/compat/freebsd32
On Fri, Nov 09, 2018 at 06:03:01PM +, Brooks Davis wrote: > Author: brooks > Date: Fri Nov 9 18:03:01 2018 > New Revision: 340294 > URL: https://svnweb.freebsd.org/changeset/base/340294 > > Log: > Fix a number of bugs in freebsd32's capabilities.conf. > > Bugs range from failure to update after changing syscall implementaion > names to using the wrong name. Somewhat confusingly, the name in > capabilities.conf is exactly the string that appears in syscalls.master, > not the name with a COMPAT* prefix which is the actual function name. > > Found while making a change to use the default capabilities.conf. > > Fixes: r335177, r336980, r340272, r340274, others > Reviewed by:kib, emaste > Sponsored by: DARPA, AFRL > Differential Revision: https://reviews.freebsd.org/D17925 Arg, I forgot: MFC After: 3 days signature.asc Description: PGP signature
svn commit: r340295 - head/sys/compat/freebsd32
Author: brooks Date: Fri Nov 9 18:06:25 2018 New Revision: 340295 URL: https://svnweb.freebsd.org/changeset/base/340295 Log: Regen after r340294: Fix a number of bugs in freebsd32's capabilities.conf. Sponsored by: DARPA, AFRL Differential Revision:https://reviews.freebsd.org/D17925 Modified: head/sys/compat/freebsd32/freebsd32_sysent.c Modified: head/sys/compat/freebsd32/freebsd32_sysent.c == --- head/sys/compat/freebsd32/freebsd32_sysent.cFri Nov 9 18:03:01 2018(r340294) +++ head/sys/compat/freebsd32/freebsd32_sysent.cFri Nov 9 18:06:25 2018(r340295) @@ -73,7 +73,7 @@ struct sysent freebsd32_sysent[] = { { compat11(AS(freebsd11_freebsd32_mknod_args),freebsd32_mknod), AUE_MKNOD, NULL, 0, 0, 0, SY_THR_STATIC }, /* 14 = freebsd11 freebsd32_mknod */ { AS(chmod_args), (sy_call_t *)sys_chmod, AUE_CHMOD, NULL, 0, 0, 0, SY_THR_STATIC },/* 15 = chmod */ { AS(chown_args), (sy_call_t *)sys_chown, AUE_CHOWN, NULL, 0, 0, 0, SY_THR_STATIC },/* 16 = chown */ - { AS(break_args), (sy_call_t *)sys_break, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 17 = break */ + { AS(break_args), (sy_call_t *)sys_break, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },/* 17 = break */ { compat4(AS(freebsd4_freebsd32_getfsstat_args),freebsd32_getfsstat), AUE_GETFSSTAT, NULL, 0, 0, 0, SY_THR_STATIC },/* 18 = freebsd4 freebsd32_getfsstat */ { compat(AS(ofreebsd32_lseek_args),freebsd32_lseek), AUE_LSEEK, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },/* 19 = old freebsd32_lseek */ { 0, (sy_call_t *)sys_getpid, AUE_GETPID, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 20 = getpid */ @@ -104,7 +104,7 @@ struct sysent freebsd32_sysent[] = { { AS(ktrace_args), (sy_call_t *)sys_ktrace, AUE_KTRACE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 45 = ktrace */ { compat(AS(ofreebsd32_sigaction_args),freebsd32_sigaction), AUE_SIGACTION, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },/* 46 = old freebsd32_sigaction */ { 0, (sy_call_t *)sys_getgid, AUE_GETGID, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 47 = getgid */ - { compat(AS(ofreebsd32_sigprocmask_args),freebsd32_sigprocmask), AUE_SIGPROCMASK, NULL, 0, 0, 0, SY_THR_STATIC }, /* 48 = old freebsd32_sigprocmask */ + { compat(AS(ofreebsd32_sigprocmask_args),freebsd32_sigprocmask), AUE_SIGPROCMASK, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 48 = old freebsd32_sigprocmask */ { AS(getlogin_args), (sy_call_t *)sys_getlogin, AUE_GETLOGIN, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 49 = getlogin */ { AS(setlogin_args), (sy_call_t *)sys_setlogin, AUE_SETLOGIN, NULL, 0, 0, 0, SY_THR_STATIC }, /* 50 = setlogin */ { AS(acct_args), (sy_call_t *)sys_acct, AUE_ACCT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 51 = acct */ @@ -127,7 +127,7 @@ struct sysent freebsd32_sysent[] = { { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 68 = obsolete vwrite */ { AS(sbrk_args), (sy_call_t *)sys_sbrk, AUE_SBRK, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 69 = sbrk */ { AS(sstk_args), (sy_call_t *)sys_sstk, AUE_SSTK, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 70 = sstk */ - { compat(AS(ommap_args),mmap), AUE_MMAP, NULL, 0, 0, 0, SY_THR_STATIC },/* 71 = old mmap */ + { compat(AS(ommap_args),mmap), AUE_MMAP, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 71 = old mmap */ { compat11(AS(freebsd11_vadvise_args),vadvise), AUE_O_VADVISE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 72 = freebsd11 vadvise */ { AS(munmap_args), (sy_call_t *)sys_munmap, AUE_MUNMAP, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },/* 73 = munmap */ { AS(freebsd32_mprotect_args), (sy_call_t *)freebsd32_mprotect, AUE_MPROTECT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 74 = freebsd32_mprotect */ @@ -167,8 +167,8 @@ struct sysent freebsd32_sysent[] = { { compat(AS(ofreebsd32_sigvec_args),freebsd32_sigvec), AUE_O_SIGVEC, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 108 = old freebsd32_sigvec */ { compat(AS(ofreebsd32_sigblock_args),freebsd32_sigblock), AUE_O_SIGBLOCK, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 109 = old freebsd32_sigblock */ { compat(AS(ofreebsd32_sigsetmask_args),freebsd32_sigsetmask), AUE_O_SIGSETMASK, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 110 = old freebsd32_sigsetmask */ - { compat(AS(ofreebsd32_sigsuspend_args),freebsd32_sigsuspend), AUE_SIGSUSPEND, NULL, 0, 0, 0, SY_THR_STATIC }, /* 111 = old freebsd32_sigsuspend */ - { compat(AS(ofreebsd32_sigstack_args),freebsd32_sigstack), AUE_O_SIGSTACK, NULL, 0, 0, 0, SY_THR_STATIC }, /* 112 = old freebsd32_sigstack */ + {
svn commit: r340294 - head/sys/compat/freebsd32
Author: brooks Date: Fri Nov 9 18:03:01 2018 New Revision: 340294 URL: https://svnweb.freebsd.org/changeset/base/340294 Log: Fix a number of bugs in freebsd32's capabilities.conf. Bugs range from failure to update after changing syscall implementaion names to using the wrong name. Somewhat confusingly, the name in capabilities.conf is exactly the string that appears in syscalls.master, not the name with a COMPAT* prefix which is the actual function name. Found while making a change to use the default capabilities.conf. Fixes:r335177, r336980, r340272, r340274, others Reviewed by: kib, emaste Sponsored by: DARPA, AFRL Differential Revision:https://reviews.freebsd.org/D17925 Modified: head/sys/compat/freebsd32/capabilities.conf Modified: head/sys/compat/freebsd32/capabilities.conf == --- head/sys/compat/freebsd32/capabilities.conf Fri Nov 9 18:02:39 2018 (r340293) +++ head/sys/compat/freebsd32/capabilities.conf Fri Nov 9 18:03:01 2018 (r340294) @@ -47,14 +47,14 @@ __mac_get_fd __mac_get_proc __mac_set_fd __mac_set_proc -freebsd32_sysctl -freebsd32_umtx_op +freebsd32___sysctl +freebsd32__umtx_op abort2 accept accept4 aio_cancel freebsd32_aio_error -aio_fsync +freebsd32_aio_fsync freebsd32_aio_read freebsd32_aio_return freebsd32_aio_suspend @@ -94,17 +94,18 @@ freebsd32_fexecve flock fork fpathconf -freebsd11_freebsd32_fstat -freebsd11_freebsd32_fstatat -freebsd11_freebsd32_getdirentries -freebsd11_freebsd32_fstatfs -freebsd11_freebsd32_mknodat -freebsd6_freebsd32_ftruncate -freebsd6_freebsd32_lseek -freebsd6_freebsd32_mmap -freebsd6_freebsd32_pread -freebsd6_freebsd32_pwrite freebsd32_fstat +freebsd32_fstatat +freebsd32_getdirentries +freebsd32_fstatfs +freebsd32_mknodat +freebsd32_ftruncate +freebsd32_lseek +freebsd32_mmap +mmap +freebsd32_pread +freebsd32_pwrite +freebsd32_fstat fstatfs fsync ftruncate @@ -115,7 +116,7 @@ getaudit getaudit_addr getauid freebsd32_getcontext -getdents +freebsd32_getdents freebsd32_getdirentries getdirentries getdomainname @@ -178,7 +179,7 @@ freebsd32_nanosleep ntp_gettime freebsd6_freebsd32_aio_read freebsd6_freebsd32_aio_write -obreak +break freebsd6_freebsd32_lio_listio chflagsat faccessat @@ -223,7 +224,7 @@ sched_get_priority_max sched_get_priority_min sched_getparam sched_getscheduler -sched_rr_get_interval +freebsd32_sched_rr_get_interval sched_setparam sched_setscheduler sched_yield @@ -260,11 +261,15 @@ freebsd32_sigaction freebsd32_sigaltstack freebsd32_sigblock freebsd32_sigpending +sigpending +freebsd32_sigprocmask sigprocmask +freebsd32_sigqueue sigqueue freebsd32_sigreturn freebsd32_sigsetmask -ofreebsd32_sigstack +freebsd32_sigstack +freebsd32_sigsuspend sigsuspend freebsd32_sigtimedwait freebsd32_sigvec ___ 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-unsubscr...@freebsd.org"
svn commit: r340289 - in head: tools/build/mk usr.bin/clang/llvm-cov
Author: emaste Date: Fri Nov 9 17:43:19 2018 New Revision: 340289 URL: https://svnweb.freebsd.org/changeset/base/340289 Log: llvm-cov: also install as gcov (if GNU gcov is disabled) llvm-cov provides a gcov-compatible interface when invoked as gcov. Reviewed by: dim, markj MFC after:1 month Sponsored by: The FreeBSD Foundation Differential Revision:https://reviews.freebsd.org/D17923 Modified: head/tools/build/mk/OptionalObsoleteFiles.inc head/usr.bin/clang/llvm-cov/Makefile Modified: head/tools/build/mk/OptionalObsoleteFiles.inc == --- head/tools/build/mk/OptionalObsoleteFiles.inc Fri Nov 9 17:39:57 2018(r340288) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Fri Nov 9 17:43:19 2018(r340289) @@ -2461,7 +2461,7 @@ OLD_FILES+=usr/share/man/man1/gperf.1.gz OLD_FILES+=usr/share/man/man1/gperf.7.gz .endif -.if ${MK_GCC} == no || ${MK_GCOV} == no +.if (${MK_GCOV} == no || ${MK_GCC} == no) && ${MK_LLVM_COV} == no OLD_FILES+=usr/bin/gcov OLD_FILES+=usr/share/man/man1/gcov.1.gz .endif Modified: head/usr.bin/clang/llvm-cov/Makefile == --- head/usr.bin/clang/llvm-cov/MakefileFri Nov 9 17:39:57 2018 (r340288) +++ head/usr.bin/clang/llvm-cov/MakefileFri Nov 9 17:43:19 2018 (r340289) @@ -1,6 +1,12 @@ # $FreeBSD$ +.include + PROG_CXX= llvm-cov +.if ${MK_GCOV} == "no" +LINKS= ${BINDIR}/llvm-cov ${BINDIR}/gcov +MLINKS=llvm-cov.1 gcov.1 +.endif SRCDIR=tools/llvm-cov SRCS+= CodeCoverage.cpp ___ 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-unsubscr...@freebsd.org"
svn commit: r340288 - head/contrib/nvi/vi
Author: emaste Date: Fri Nov 9 17:39:57 2018 New Revision: 340288 URL: https://svnweb.freebsd.org/changeset/base/340288 Log: nvi: remove superfluous space before ^\ This fixes alignment in vi's 'viusage' command and has been fixed upstream and in OpenBSD. Submitted by: Raf Czlonka (github:rjc) MFC after:1 week Pull Request: https://github.com/freebsd/freebsd/pull/122 Modified: head/contrib/nvi/vi/v_cmd.c Modified: head/contrib/nvi/vi/v_cmd.c == --- head/contrib/nvi/vi/v_cmd.c Fri Nov 9 15:27:41 2018(r340287) +++ head/contrib/nvi/vi/v_cmd.c Fri Nov 9 17:39:57 2018(r340288) @@ -130,7 +130,7 @@ VIKEYS const vikeys [MAXVIKEY + 1] = { /* 034 ^\ */ {v_exmode, 0, "^\\", - " ^\\ switch to ex mode"}, + "^\\ switch to ex mode"}, /* 035 ^] */ {v_tagpush, V_ABS|V_KEYW|VM_RCM_SET, "^]", ___ 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-unsubscr...@freebsd.org"
svn commit: r340287 - head/tools/build/mk
Author: emaste Date: Fri Nov 9 15:27:41 2018 New Revision: 340287 URL: https://svnweb.freebsd.org/changeset/base/340287 Log: Consolidate gcov entries in OptionalObsoleteFiles Sponsored by: The FreeBSD Foundation Modified: head/tools/build/mk/OptionalObsoleteFiles.inc Modified: head/tools/build/mk/OptionalObsoleteFiles.inc == --- head/tools/build/mk/OptionalObsoleteFiles.inc Fri Nov 9 15:24:24 2018(r340286) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Fri Nov 9 15:27:41 2018(r340287) @@ -2420,7 +2420,6 @@ OLD_FILES+=usr/share/man/man8/unstr.8.gz .if ${MK_GCC} == no OLD_FILES+=usr/bin/g++ OLD_FILES+=usr/bin/gcc -OLD_FILES+=usr/bin/gcov OLD_FILES+=usr/bin/gcpp OLD_FILES+=usr/bin/gperf .if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386" @@ -2457,13 +2456,12 @@ OLD_FILES+=usr/libexec/cc1 OLD_FILES+=usr/libexec/cc1plus OLD_FILES+=usr/share/man/man1/g++.1.gz OLD_FILES+=usr/share/man/man1/gcc.1.gz -OLD_FILES+=usr/share/man/man1/gcov.1.gz OLD_FILES+=usr/share/man/man1/gcpp.1.gz OLD_FILES+=usr/share/man/man1/gperf.1.gz OLD_FILES+=usr/share/man/man1/gperf.7.gz .endif -.if ${MK_GCOV} == no +.if ${MK_GCC} == no || ${MK_GCOV} == no OLD_FILES+=usr/bin/gcov OLD_FILES+=usr/share/man/man1/gcov.1.gz .endif ___ 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-unsubscr...@freebsd.org"
svn commit: r340286 - head/tests/sys/netpfil/pf
Author: lwhsu Date: Fri Nov 9 15:24:24 2018 New Revision: 340286 URL: https://svnweb.freebsd.org/changeset/base/340286 Log: Fix test: sys.netpfil.pf.pass_block.noalias Replace hard-coded epair0b with the variable holds the real epair interface used for testing. Reviewed by: kp Approved by: emaste, markj (mentors) MFC with: r339836 Sponsored by: The FreeBSD Foundation Modified: head/tests/sys/netpfil/pf/pass_block.sh Modified: head/tests/sys/netpfil/pf/pass_block.sh == --- head/tests/sys/netpfil/pf/pass_block.sh Fri Nov 9 15:02:53 2018 (r340285) +++ head/tests/sys/netpfil/pf/pass_block.sh Fri Nov 9 15:24:24 2018 (r340286) @@ -111,14 +111,14 @@ noalias_body() atf_check -s exit:0 -o ignore ping6 -c 1 -x 1 ${linklocaladdr}%${epair}a jexec alcatraz pfctl -e - pft_set_rules alcatraz "block out inet6 from (epair0b:0) to any" + pft_set_rules alcatraz "block out inet6 from (${epair}b:0) to any" atf_check -s exit:2 -o ignore ping6 -c 1 -x 1 2001:db8:42::2 # We should still be able to ping the link-local address atf_check -s exit:0 -o ignore ping6 -c 1 -x 1 ${linklocaladdr}%${epair}a - pft_set_rules alcatraz "block out inet6 from (epair0b) to any" + pft_set_rules alcatraz "block out inet6 from (${epair}b) to any" # We cannot ping to the link-local address atf_check -s exit:2 -o ignore ping6 -c 1 -x 1 ${linklocaladdr}%${epair}a ___ 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-unsubscr...@freebsd.org"
svn commit: r340285 - head/usr.sbin/kldxref
Author: emaste Date: Fri Nov 9 15:02:53 2018 New Revision: 340285 URL: https://svnweb.freebsd.org/changeset/base/340285 Log: kldxref: use appropriate Elf_Off type for offsets Submitted by: Mitchell Horne Reviewed by: kib MFC after:1 week Sponsored by: The FreeBSD Foundation Differential Revision:https://reviews.freebsd.org/D13957 Modified: head/usr.sbin/kldxref/ef.c Modified: head/usr.sbin/kldxref/ef.c == --- head/usr.sbin/kldxref/ef.c Fri Nov 9 14:58:24 2018(r340284) +++ head/usr.sbin/kldxref/ef.c Fri Nov 9 15:02:53 2018(r340285) @@ -80,7 +80,7 @@ struct ef_file { }; static voidef_print_phdr(Elf_Phdr *); -static u_long ef_get_offset(elf_file_t, Elf_Off); +static Elf_Off ef_get_offset(elf_file_t, Elf_Off); static int ef_parse_dynamic(elf_file_t); static int ef_get_type(elf_file_t ef); @@ -126,16 +126,17 @@ ef_print_phdr(Elf_Phdr *phdr) { if ((phdr->p_flags & PF_W) == 0) { - printf("text=0x%lx ", (long)phdr->p_filesz); + printf("text=0x%jx ", (uintmax_t)phdr->p_filesz); } else { - printf("data=0x%lx", (long)phdr->p_filesz); + printf("data=0x%jx", (uintmax_t)phdr->p_filesz); if (phdr->p_filesz < phdr->p_memsz) - printf("+0x%lx", (long)(phdr->p_memsz - phdr->p_filesz)); + printf("+0x%jx", + (uintmax_t)(phdr->p_memsz - phdr->p_filesz)); printf(" "); } } -static u_long +static Elf_Off ef_get_offset(elf_file_t ef, Elf_Off off) { Elf_Phdr *ph; @@ -292,8 +293,8 @@ ef_parse_dynamic(elf_file_t ef) error = ef_read(ef, ef_get_offset(ef, dp->d_un.d_ptr), sizeof(hashhdr), hashhdr); if (error != 0) { - warnx("can't read hash header (%lx)", - ef_get_offset(ef, dp->d_un.d_ptr)); + warnx("can't read hash header (%jx)", + (uintmax_t)ef_get_offset(ef, dp->d_un.d_ptr)); return (error); } ef->ef_nbuckets = hashhdr[0]; @@ -365,8 +366,8 @@ ef_parse_dynamic(elf_file_t ef) ef->ef_nchains * sizeof(Elf_Sym), (void **)>ef_symtab) != 0) { if (ef->ef_verbose) - warnx("%s: can't load .dynsym section (0x%lx)", - ef->ef_name, (long)ef->ef_symoff); + warnx("%s: can't load .dynsym section (0x%jx)", + ef->ef_name, (uintmax_t)ef->ef_symoff); return (EIO); } if (ef_read_entry(ef, ef_get_offset(ef, ef->ef_stroff), ef->ef_strsz, @@ -461,13 +462,13 @@ ef_read_entry(elf_file_t ef, Elf_Off offset, size_t le static int ef_seg_read(elf_file_t ef, Elf_Off offset, size_t len, void *dest) { - u_long ofs; + Elf_Off ofs; ofs = ef_get_offset(ef, offset); if (ofs == 0) { if (ef->ef_verbose) - warnx("ef_seg_read(%s): zero offset (%lx:%ld)", - ef->ef_name, (long)offset, ofs); + warnx("ef_seg_read(%s): zero offset (%jx:%ju)", + ef->ef_name, (uintmax_t)offset, (uintmax_t)ofs); return (EFAULT); } return (ef_read(ef, ofs, len, dest)); @@ -476,7 +477,7 @@ ef_seg_read(elf_file_t ef, Elf_Off offset, size_t len, static int ef_seg_read_rel(elf_file_t ef, Elf_Off offset, size_t len, void *dest) { - u_long ofs; + Elf_Off ofs; const Elf_Rela *a; const Elf_Rel *r; int error; @@ -484,8 +485,8 @@ ef_seg_read_rel(elf_file_t ef, Elf_Off offset, size_t ofs = ef_get_offset(ef, offset); if (ofs == 0) { if (ef->ef_verbose) - warnx("ef_seg_read_rel(%s): zero offset (%lx:%ld)", - ef->ef_name, (long)offset, ofs); + warnx("ef_seg_read_rel(%s): zero offset (%jx:%ju)", + ef->ef_name, (uintmax_t)offset, (uintmax_t)ofs); return (EFAULT); } if ((error = ef_read(ef, ofs, len, dest)) != 0) @@ -509,14 +510,14 @@ ef_seg_read_rel(elf_file_t ef, Elf_Off offset, size_t static int ef_seg_read_string(elf_file_t ef, Elf_Off offset, size_t len, char *dest) { - u_long ofs; + Elf_Off ofs; ssize_t r; ofs = ef_get_offset(ef, offset); if (ofs == 0 || ofs == (Elf_Off)-1) { if (ef->ef_verbose) - warnx("ef_seg_read_string(%s): bad offset (%lx:%ld)", - ef->ef_name, (long)offset, ofs); + warnx("ef_seg_read_string(%s): bad
svn commit: r340284 - head/bin/sh
Author: jilles Date: Fri Nov 9 14:58:24 2018 New Revision: 340284 URL: https://svnweb.freebsd.org/changeset/base/340284 Log: sh: Unify EXERROR and EXEXEC The difference between EXERROR and EXEXEC was that EXEXEC passed along exitstatus and EXERROR set exitstatus to 2 in the handling code. By changing the places that raised EXERROR to set exitstatus to 2, the handling of EXERROR and EXEXEC becomes the same. Modified: head/bin/sh/TOUR head/bin/sh/error.c head/bin/sh/error.h head/bin/sh/eval.c head/bin/sh/exec.c head/bin/sh/jobs.c head/bin/sh/main.c Modified: head/bin/sh/TOUR == --- head/bin/sh/TOURFri Nov 9 13:47:06 2018(r340283) +++ head/bin/sh/TOURFri Nov 9 14:58:24 2018(r340284) @@ -35,7 +35,7 @@ EXCEPTIONS: Code for dealing with exceptions appears exceptions.c. The C language doesn't include exception handling, so I implement it using setjmp and longjmp. The global variable exception contains the type of exception. EXERROR is raised by -calling error. EXINT is an interrupt. +calling error or errorwithstatus. EXINT is an interrupt. INTERRUPTS: In an interactive shell, an interrupt will cause an EXINT exception to return to the main command loop. (Exception: Modified: head/bin/sh/error.c == --- head/bin/sh/error.c Fri Nov 9 13:47:06 2018(r340283) +++ head/bin/sh/error.c Fri Nov 9 14:58:24 2018(r340284) @@ -67,7 +67,7 @@ volatile sig_atomic_t suppressint; volatile sig_atomic_t intpending; -static void exverror(int, const char *, va_list) __printf0like(2, 0) __dead2; +static void verrorwithstatus(int, const char *, va_list) __printf0like(2, 0) __dead2; /* * Called to raise an exception. Since C doesn't include exceptions, we @@ -154,7 +154,7 @@ warning(const char *msg, ...) * formatting. It then raises the error exception. */ static void -exverror(int cond, const char *msg, va_list ap) +verrorwithstatus(int status, const char *msg, va_list ap) { /* * An interrupt trumps an error. Certain places catch error @@ -168,14 +168,17 @@ exverror(int cond, const char *msg, va_list ap) #ifdef DEBUG if (msg) - TRACE(("exverror(%d, \"%s\") pid=%d\n", cond, msg, getpid())); + TRACE(("verrorwithstatus(%d, \"%s\") pid=%d\n", + status, msg, getpid())); else - TRACE(("exverror(%d, NULL) pid=%d\n", cond, getpid())); + TRACE(("verrorwithstatus(%d, NULL) pid=%d\n", + status, getpid())); #endif if (msg) vwarning(msg, ap); flushall(); - exraise(cond); + exitstatus = status; + exraise(EXERROR); } @@ -184,16 +187,16 @@ error(const char *msg, ...) { va_list ap; va_start(ap, msg); - exverror(EXERROR, msg, ap); + verrorwithstatus(2, msg, ap); va_end(ap); } void -exerror(int cond, const char *msg, ...) +errorwithstatus(int status, const char *msg, ...) { va_list ap; va_start(ap, msg); - exverror(cond, msg, ap); + verrorwithstatus(status, msg, ap); va_end(ap); } Modified: head/bin/sh/error.h == --- head/bin/sh/error.h Fri Nov 9 13:47:06 2018(r340283) +++ head/bin/sh/error.h Fri Nov 9 14:58:24 2018(r340284) @@ -55,9 +55,8 @@ extern volatile sig_atomic_t exception; /* exceptions */ #define EXINT 0/* SIGINT received */ -#define EXERROR 1 /* a generic error */ -#define EXEXEC 2 /* command execution failed */ -#define EXEXIT 3 /* call exitshell(exitstatus) */ +#define EXERROR 1 /* a generic error with exitstatus */ +#define EXEXIT 2 /* call exitshell(exitstatus) */ /* @@ -83,7 +82,7 @@ void exraise(int) __dead2; void onint(void) __dead2; void warning(const char *, ...) __printflike(1, 2); void error(const char *, ...) __printf0like(1, 2) __dead2; -void exerror(int, const char *, ...) __printf0like(2, 3) __dead2; +void errorwithstatus(int, const char *, ...) __printf0like(2, 3) __dead2; /* Modified: head/bin/sh/eval.c == --- head/bin/sh/eval.c Fri Nov 9 13:47:06 2018(r340283) +++ head/bin/sh/eval.c Fri Nov 9 14:58:24 2018(r340284) @@ -466,13 +466,9 @@ evalredir(union node *n, int flags) handler = savehandler; e = exception; popredir(); - if (e == EXERROR || e == EXEXEC) { - if (in_redirect) { - if (e == EXERROR) - exitstatus = 2; - FORCEINTON; - return; -
svn commit: r340283 - in head: usr.bin/nohup usr.sbin/daemon
Author: 0mp (ports committer) Date: Fri Nov 9 13:47:06 2018 New Revision: 340283 URL: https://svnweb.freebsd.org/changeset/base/340283 Log: Cross-reference nohup(1) and daemon(8). Reviewed by: bcr Approved by: krion (mentor, implicit), mat (mentor, implicit) Differential Revision:https://reviews.freebsd.org/D17920 Modified: head/usr.bin/nohup/nohup.1 head/usr.sbin/daemon/daemon.8 Modified: head/usr.bin/nohup/nohup.1 == --- head/usr.bin/nohup/nohup.1 Fri Nov 9 09:26:10 2018(r340282) +++ head/usr.bin/nohup/nohup.1 Fri Nov 9 13:47:06 2018(r340283) @@ -31,7 +31,7 @@ .\"@(#)nohup.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd July 19, 2001 +.Dd November 9, 2018 .Dt NOHUP 1 .Os .Sh NAME @@ -107,7 +107,8 @@ will be that of .Sh SEE ALSO .Xr builtin 1 , .Xr csh 1 , -.Xr signal 3 +.Xr signal 3 , +.Xr daemon 8 .Sh STANDARDS The .Nm Modified: head/usr.sbin/daemon/daemon.8 == --- head/usr.sbin/daemon/daemon.8 Fri Nov 9 09:26:10 2018 (r340282) +++ head/usr.sbin/daemon/daemon.8 Fri Nov 9 13:47:06 2018 (r340283) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 15, 2018 +.Dd November 9, 2018 .Dt DAEMON 8 .Os .Sh NAME @@ -212,6 +212,7 @@ The exact behavior depends on the logging parameters a .Fl f flag. .Sh SEE ALSO +.Xr nohup 1 , .Xr setregid 2 , .Xr setreuid 2 , .Xr daemon 3 , ___ 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-unsubscr...@freebsd.org"
svn commit: r340279 - in head: share/man/man4 tools/tools/netmap
Author: vmaffione Date: Fri Nov 9 08:43:40 2018 New Revision: 340279 URL: https://svnweb.freebsd.org/changeset/base/340279 Log: netmap: add load balancer program Add the lb program, which is able to load-balance input traffic received from a netmap port over M groups, with N netmap pipes in each group. Each received packet is forwarded to one of the pipes chosen from each group (using an L3/L4 connection-consistent hash function). This also adds a man page for lb and some cross-references in related man pages. Reviewed by: bcr, 0mp Approved by: gnn (mentor) Differential Revision:https://reviews.freebsd.org/D17735 Added: head/tools/tools/netmap/lb.8 (contents, props changed) head/tools/tools/netmap/lb.c (contents, props changed) head/tools/tools/netmap/pkt_hash.c (contents, props changed) head/tools/tools/netmap/pkt_hash.h (contents, props changed) Modified: head/share/man/man4/netmap.4 head/tools/tools/netmap/Makefile head/tools/tools/netmap/README head/tools/tools/netmap/bridge.8 head/tools/tools/netmap/ctrs.h Modified: head/share/man/man4/netmap.4 == --- head/share/man/man4/netmap.4Fri Nov 9 08:15:58 2018 (r340278) +++ head/share/man/man4/netmap.4Fri Nov 9 08:43:40 2018 (r340279) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 23, 2018 +.Dd October 28, 2018 .Dt NETMAP 4 .Os .Sh NAME @@ -1073,8 +1073,11 @@ Other clients attached to the same switch can now communicate with the network card or the host. .Sh SEE ALSO -.Xr pkt-gen 8 , -.Xr bridge 8 +.Xr vale 4 , +.Xr vale-ctl 4 , +.Xr bridge 8 , +.Xr lb 8 , +.Xr pkt-gen 8 .Pp .Pa http://info.iet.unipi.it/~luigi/netmap/ .Pp Modified: head/tools/tools/netmap/Makefile == --- head/tools/tools/netmap/MakefileFri Nov 9 08:15:58 2018 (r340278) +++ head/tools/tools/netmap/MakefileFri Nov 9 08:43:40 2018 (r340279) @@ -3,7 +3,7 @@ # # For multiple programs using a single source file each, # we can just define 'progs' and create custom targets. -PROGS = pkt-gen nmreplay bridge vale-ctl +PROGS = pkt-gen nmreplay bridge vale-ctl lb CLEANFILES = $(PROGS) *.o MAN= @@ -34,3 +34,6 @@ nmreplay: nmreplay.o vale-ctl: vale-ctl.o $(CC) $(CFLAGS) -o vale-ctl vale-ctl.o + +lb: lb.o pkt_hash.o + $(CC) $(CFLAGS) -o lb lb.o pkt_hash.o $(LDFLAGS) Modified: head/tools/tools/netmap/README == --- head/tools/tools/netmap/README Fri Nov 9 08:15:58 2018 (r340278) +++ head/tools/tools/netmap/README Fri Nov 9 08:43:40 2018 (r340279) @@ -1,9 +1,13 @@ $FreeBSD$ -This directory contains examples that use netmap +This directory contains applications that use the netmap API - pkt-gen a packet sink/source using the netmap API + pkt-gen a multi-function packet generator and traffic sink - bridge a two-port jumper wire, also using the native API + bridge a two-port jumper wire, also using the netmap API - vale-ctlthe program to control VALE bridges + vale-ctlthe program to control and inspect VALE switches + + lb an L3/L4 load balancer + + nmreplaya tool to playback a pcap file to a netmap port Modified: head/tools/tools/netmap/bridge.8 == --- head/tools/tools/netmap/bridge.8Fri Nov 9 08:15:58 2018 (r340278) +++ head/tools/tools/netmap/bridge.8Fri Nov 9 08:43:40 2018 (r340279) @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 23, 2018 +.Dd October 28, 2018 .Dt BRIDGE 8 .Os .Sh NAME @@ -71,7 +71,8 @@ Disable zero-copy mode. .El .Sh SEE ALSO .Xr netmap 4 , -.Xr pkt-gen 8 +.Xr pkt-gen 8 , +.Xr lb 8 .Sh AUTHORS .An -nosplit .Nm Modified: head/tools/tools/netmap/ctrs.h == --- head/tools/tools/netmap/ctrs.h Fri Nov 9 08:15:58 2018 (r340278) +++ head/tools/tools/netmap/ctrs.h Fri Nov 9 08:43:40 2018 (r340279) @@ -7,30 +7,37 @@ /* counters to accumulate statistics */ struct my_ctrs { - uint64_t pkts, bytes, events, drop; + uint64_t pkts, bytes, events; + uint64_t drop, drop_bytes; uint64_t min_space; struct timeval t; + uint32_t oq_n; /* number of elements in overflow queue (used in lb) */ }; /* very crude code to print a number in normalized form. * Caller has to make sure that the buffer is large enough. */ static const char * -norm2(char *buf, double val, char *fmt) +norm2(char *buf, double val, char *fmt, int normalize) { char *units[] = { "", "K", "M", "G", "T" };