From owner-svn-src-head@freebsd.org Sun Jun 25 01:41:09 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 66BE7DA9ECF; Sun, 25 Jun 2017 01:41:09 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 396367F312; Sun, 25 Jun 2017 01:41:09 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5P1f8UJ032155; Sun, 25 Jun 2017 01:41:08 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5P1f80Q032152; Sun, 25 Jun 2017 01:41:08 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201706250141.v5P1f80Q032152@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Sun, 25 Jun 2017 01:41:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320324 - in head/sys: kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 01:41:09 -0000 Author: glebius Date: Sun Jun 25 01:41:07 2017 New Revision: 320324 URL: https://svnweb.freebsd.org/changeset/base/320324 Log: Provide sbsetopt() that handles socket buffer related socket options. It distinguishes between data flow sockets and listening sockets, and in case of the latter doesn't change resource limits, since listening sockets don't hold any buffers, they only carry values to be inherited by their children. Modified: head/sys/kern/uipc_sockbuf.c head/sys/kern/uipc_socket.c head/sys/sys/sockbuf.h Modified: head/sys/kern/uipc_sockbuf.c ============================================================================== --- head/sys/kern/uipc_sockbuf.c Sat Jun 24 20:09:23 2017 (r320323) +++ head/sys/kern/uipc_sockbuf.c Sun Jun 25 01:41:07 2017 (r320324) @@ -451,14 +451,78 @@ sbreserve_locked(struct sockbuf *sb, u_long cc, struct } int -sbreserve(struct sockbuf *sb, u_long cc, struct socket *so, - struct thread *td) +sbsetopt(struct socket *so, int cmd, u_long cc) { + struct sockbuf *sb; + short *flags; + u_int *hiwat, *lowat; int error; - SOCKBUF_LOCK(sb); - error = sbreserve_locked(sb, cc, so, td); - SOCKBUF_UNLOCK(sb); + SOCK_LOCK(so); + if (SOLISTENING(so)) { + switch (cmd) { + case SO_SNDLOWAT: + case SO_SNDBUF: + lowat = &so->sol_sbsnd_lowat; + hiwat = &so->sol_sbsnd_hiwat; + flags = &so->sol_sbsnd_flags; + break; + case SO_RCVLOWAT: + case SO_RCVBUF: + lowat = &so->sol_sbrcv_lowat; + hiwat = &so->sol_sbrcv_hiwat; + flags = &so->sol_sbrcv_flags; + break; + } + } else { + switch (cmd) { + case SO_SNDLOWAT: + case SO_SNDBUF: + sb = &so->so_snd; + break; + case SO_RCVLOWAT: + case SO_RCVBUF: + sb = &so->so_rcv; + break; + } + flags = &sb->sb_flags; + hiwat = &sb->sb_hiwat; + lowat = &sb->sb_lowat; + SOCKBUF_LOCK(sb); + } + + error = 0; + switch (cmd) { + case SO_SNDBUF: + case SO_RCVBUF: + if (SOLISTENING(so)) { + if (cc > sb_max_adj) { + error = ENOBUFS; + break; + } + *hiwat = cc; + if (*lowat > *hiwat) + *lowat = *hiwat; + } else { + if (!sbreserve_locked(sb, cc, so, curthread)) + error = ENOBUFS; + } + if (error == 0) + *flags &= ~SB_AUTOSIZE; + break; + case SO_SNDLOWAT: + case SO_RCVLOWAT: + /* + * Make sure the low-water is never greater than the + * high-water. + */ + *lowat = (cc > *hiwat) ? *hiwat : cc; + break; + } + + if (!SOLISTENING(so)) + SOCKBUF_UNLOCK(sb); + SOCK_UNLOCK(so); return (error); } Modified: head/sys/kern/uipc_socket.c ============================================================================== --- head/sys/kern/uipc_socket.c Sat Jun 24 20:09:23 2017 (r320323) +++ head/sys/kern/uipc_socket.c Sun Jun 25 01:41:07 2017 (r320324) @@ -461,12 +461,6 @@ sodealloc(struct socket *so) so->so_vnet->vnet_sockcnt--; #endif mtx_unlock(&so_global_mtx); - if (so->so_rcv.sb_hiwat) - (void)chgsbsize(so->so_cred->cr_uidinfo, - &so->so_rcv.sb_hiwat, 0, RLIM_INFINITY); - if (so->so_snd.sb_hiwat) - (void)chgsbsize(so->so_cred->cr_uidinfo, - &so->so_snd.sb_hiwat, 0, RLIM_INFINITY); #ifdef MAC mac_socket_destroy(so); #endif @@ -478,6 +472,12 @@ sodealloc(struct socket *so) if (so->sol_accept_filter != NULL) accept_filt_setopt(so, NULL); } else { + if (so->so_rcv.sb_hiwat) + (void)chgsbsize(so->so_cred->cr_uidinfo, + &so->so_rcv.sb_hiwat, 0, RLIM_INFINITY); + if (so->so_snd.sb_hiwat) + (void)chgsbsize(so->so_cred->cr_uidinfo, + &so->so_snd.sb_hiwat, 0, RLIM_INFINITY); sx_destroy(&so->so_snd.sb_sx); sx_destroy(&so->so_rcv.sb_sx); SOCKBUF_LOCK_DESTROY(&so->so_snd); @@ -2834,38 +2834,7 @@ sosetopt(struct socket *so, struct sockopt *sopt) goto bad; } - switch (sopt->sopt_name) { - case SO_SNDBUF: - case SO_RCVBUF: - if (sbreserve(sopt->sopt_name == SO_SNDBUF ? - &so->so_snd : &so->so_rcv, (u_long)optval, - so, curthread) == 0) { - error = ENOBUFS; - goto bad; - } - (sopt->sopt_name == SO_SNDBUF ? &so->so_snd : - &so->so_rcv)->sb_flags &= ~SB_AUTOSIZE; - break; - - /* - * Make sure the low-water is never greater than the - * high-water. - */ - case SO_SNDLOWAT: - SOCKBUF_LOCK(&so->so_snd); - so->so_snd.sb_lowat = - (optval > so->so_snd.sb_hiwat) ? - so->so_snd.sb_hiwat : optval; - SOCKBUF_UNLOCK(&so->so_snd); - break; - case SO_RCVLOWAT: - SOCKBUF_LOCK(&so->so_rcv); - so->so_rcv.sb_lowat = - (optval > so->so_rcv.sb_hiwat) ? - so->so_rcv.sb_hiwat : optval; - SOCKBUF_UNLOCK(&so->so_rcv); - break; - } + error = sbsetopt(so, sopt->sopt_name, optval); break; case SO_SNDTIMEO: Modified: head/sys/sys/sockbuf.h ============================================================================== --- head/sys/sys/sockbuf.h Sat Jun 24 20:09:23 2017 (r320323) +++ head/sys/sys/sockbuf.h Sun Jun 25 01:41:07 2017 (r320324) @@ -167,8 +167,7 @@ void sbflush_locked(struct sockbuf *sb); void sbrelease(struct sockbuf *sb, struct socket *so); void sbrelease_internal(struct sockbuf *sb, struct socket *so); void sbrelease_locked(struct sockbuf *sb, struct socket *so); -int sbreserve(struct sockbuf *sb, u_long cc, struct socket *so, - struct thread *td); +int sbsetopt(struct socket *so, int cmd, u_long cc); int sbreserve_locked(struct sockbuf *sb, u_long cc, struct socket *so, struct thread *td); struct mbuf * From owner-svn-src-head@freebsd.org Sun Jun 25 07:49:16 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 73F4AD8BAFA; Sun, 25 Jun 2017 07:49:16 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebi.us (glebi.us [96.95.210.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "cell.glebi.us", Issuer "cell.glebi.us" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 529062B59; Sun, 25 Jun 2017 07:49:15 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebi.us (localhost [127.0.0.1]) by cell.glebi.us (8.15.2/8.15.2) with ESMTPS id v5P7nENB044747 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sun, 25 Jun 2017 00:49:14 -0700 (PDT) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebi.us (8.15.2/8.15.2/Submit) id v5P7nEct044746; Sun, 25 Jun 2017 00:49:14 -0700 (PDT) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebi.us: glebius set sender to glebius@FreeBSD.org using -f Date: Sun, 25 Jun 2017 00:49:14 -0700 From: Gleb Smirnoff To: Conrad Meyer Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org, Allan Jude Subject: Re: svn commit: r319722 - in head: sys/cam/ctl sys/dev/iscsi sys/kern sys/netgraph sys/netgraph/bluetooth/socket sys/netinet sys/ofed/drivers/infiniband/core sys/ofed/drivers/infiniband/ulp/sdp sys/rpc... Message-ID: <20170625074914.GU50023@FreeBSD.org> References: <201706082130.v58LUY0j095589@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.8.2 (2017-04-18) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 07:49:16 -0000 Conrad, this should be fixed by r320324. Sorry for inconvenience. On Fri, Jun 23, 2017 at 09:48:24PM -0700, Conrad Meyer wrote: C> Hi Gleb, C> C> We suspect this revision has broken setsockopt(SO_SNDBUF), etc., on C> listen sockets, as used by e.g. nginx. C> C> Example backtrace: http://imgur.com/a/fj5JQ C> C> The proposed mechanism is the destroyed snd/rcv sockbufs (and C> associated locks) as part of solisten_proto(). C> C> Best, C> Conrad C> C> C> C> On Thu, Jun 8, 2017 at 2:30 PM, Gleb Smirnoff wrote: C> > Author: glebius C> > Date: Thu Jun 8 21:30:34 2017 C> > New Revision: 319722 C> > URL: https://svnweb.freebsd.org/changeset/base/319722 C> > C> > Log: C> > Listening sockets improvements. C> > C> > o Separate fields of struct socket that belong to listening from C> > fields that belong to normal dataflow, and unionize them. This C> > shrinks the structure a bit. C> > - Take out selinfo's from the socket buffers into the socket. The C> > first reason is to support braindamaged scenario when a socket is C> > added to kevent(2) and then listen(2) is cast on it. The second C> > reason is that there is future plan to make socket buffers pluggable, C> > so that for a dataflow socket a socket buffer can be changed, and C> > in this case we also want to keep same selinfos through the lifetime C> > of a socket. C> > - Remove struct struct so_accf. Since now listening stuff no longer C> > affects struct socket size, just move its fields into listening part C> > of the union. C> > - Provide sol_upcall field and enforce that so_upcall_set() may be called C> > only on a dataflow socket, which has buffers, and for listening sockets C> > provide solisten_upcall_set(). C> > C> > o Remove ACCEPT_LOCK() global. C> > - Add a mutex to socket, to be used instead of socket buffer lock to lock C> > fields of struct socket that don't belong to a socket buffer. C> > - Allow to acquire two socket locks, but the first one must belong to a C> > listening socket. C> > - Make soref()/sorele() to use atomic(9). This allows in some situations C> > to do soref() without owning socket lock. There is place for improvement C> > here, it is possible to make sorele() also to lock optionally. C> > - Most protocols aren't touched by this change, except UNIX local sockets. C> > See below for more information. C> > C> > o Reduce copy-and-paste in kernel modules that accept connections from C> > listening sockets: provide function solisten_dequeue(), and use it in C> > the following modules: ctl(4), iscsi(4), ng_btsocket(4), ng_ksocket(4), C> > infiniband, rpc. C> > C> > o UNIX local sockets. C> > - Removal of ACCEPT_LOCK() global uncovered several races in the UNIX C> > local sockets. Most races exist around spawning a new socket, when we C> > are connecting to a local listening socket. To cover them, we need to C> > hold locks on both PCBs when spawning a third one. This means holding C> > them across sonewconn(). This creates a LOR between pcb locks and C> > unp_list_lock. C> > - To fix the new LOR, abandon the global unp_list_lock in favor of global C> > unp_link_lock. Indeed, separating these two locks didn't provide us any C> > extra parralelism in the UNIX sockets. C> > - Now call into uipc_attach() may happen with unp_link_lock hold if, we C> > are accepting, or without unp_link_lock in case if we are just creating C> > a socket. C> > - Another problem in UNIX sockets is that uipc_close() basicly did nothing C> > for a listening socket. The vnode remained opened for connections. This C> > is fixed by removing vnode in uipc_close(). Maybe the right way would be C> > to do it for all sockets (not only listening), simply move the vnode C> > teardown from uipc_detach() to uipc_close()? C> > C> > Sponsored by: Netflix C> > Differential Revision: https://reviews.freebsd.org/D9770 C> > C> > Modified: C> > head/sys/cam/ctl/ctl_ha.c C> > head/sys/dev/iscsi/icl_soft_proxy.c C> > head/sys/kern/sys_socket.c C> > head/sys/kern/uipc_accf.c C> > head/sys/kern/uipc_debug.c C> > head/sys/kern/uipc_sockbuf.c C> > head/sys/kern/uipc_socket.c C> > head/sys/kern/uipc_syscalls.c C> > head/sys/kern/uipc_usrreq.c C> > head/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c C> > head/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c C> > head/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c C> > head/sys/netgraph/ng_ksocket.c C> > head/sys/netinet/sctp_input.c C> > head/sys/netinet/sctp_syscalls.c C> > head/sys/netinet/sctp_sysctl.c C> > head/sys/netinet/sctp_usrreq.c C> > head/sys/netinet/tcp_subr.c C> > head/sys/netinet/tcp_syncache.c C> > head/sys/netinet/tcp_timewait.c C> > head/sys/ofed/drivers/infiniband/core/iwcm.c C> > head/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c C> > head/sys/rpc/svc_vc.c C> > head/sys/sys/sockbuf.h C> > head/sys/sys/socket.h C> > head/sys/sys/socketvar.h C> > head/usr.bin/netstat/inet.c -- Totus tuus, Glebius. From owner-svn-src-head@freebsd.org Sun Jun 25 09:01:32 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 99211D8CEB0; Sun, 25 Jun 2017 09:01:32 +0000 (UTC) (envelope-from dchagin@mordor.heemeyer.club) Received: from heemeyer.club (heemeyer.club [108.61.204.158]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "heemeyer.club", Issuer "heemeyer.club" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 78898646E0; Sun, 25 Jun 2017 09:01:31 +0000 (UTC) (envelope-from dchagin@mordor.heemeyer.club) Received: from mordor.heemeyer.club (dchagin.static.corbina.ru [78.107.232.239]) by heemeyer.club (8.15.2/8.15.1) with ESMTPS id v5P8f7rK046971 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 25 Jun 2017 08:41:09 GMT (envelope-from dchagin@mordor.heemeyer.club) X-Authentication-Warning: heemeyer.club: Host dchagin.static.corbina.ru [78.107.232.239] claimed to be mordor.heemeyer.club Received: from mordor.heemeyer.club (localhost [127.0.0.1]) by mordor.heemeyer.club (8.15.2/8.15.1) with ESMTPS id v5P8f68l011452 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sun, 25 Jun 2017 11:41:06 +0300 (MSK) (envelope-from dchagin@mordor.heemeyer.club) Received: (from dchagin@localhost) by mordor.heemeyer.club (8.15.2/8.15.2/Submit) id v5P8f6wW011451; Sun, 25 Jun 2017 11:41:06 +0300 (MSK) (envelope-from dchagin) Date: Sun, 25 Jun 2017 11:41:06 +0300 From: Chagin Dmitry To: Mahdi Mokhtari Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320265 - head/sys/compat/linprocfs Message-ID: <20170625084106.GA11387@mordor.heemeyer.club> References: <201706231036.v5NAaSU8061376@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201706231036.v5NAaSU8061376@repo.freebsd.org> User-Agent: Mutt/1.8.2 (2017-04-18) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 09:01:32 -0000 On Fri, Jun 23, 2017 at 10:36:27AM +0000, Mahdi Mokhtari wrote: > Author: mmokhi (ports committer) > Date: Fri Jun 23 10:36:27 2017 > New Revision: 320265 > URL: https://svnweb.freebsd.org/changeset/base/320265 > > Log: hi, /proc/cpuinfo incomplete, at least CPU flags. u /proc/cpuinfo implementation: root@mordor:~ # chroot /compat/lg64 /bin/bash mordor / # uname -a Linux mordor.heemeyer.club 2.6.32 FreeBSD 12.0-CURRENT #38 r320302+5c976b6476(lemul)-dirty: Sat Ju x86_64 Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz GenuineIntel GNU/Linux mordor / # cat /proc/cpuinfo | grep flags flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 b19 b21 mmxext mmx fxsr xmm sse2 b27 b28 b29 3dnow flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 b19 b21 mmxext mmx fxsr xmm sse2 b27 b28 b29 3dnow flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 b19 b21 mmxext mmx fxsr xmm sse2 b27 b28 b29 3dnow flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 b19 b21 mmxext mmx fxsr xmm sse2 b27 b28 b29 3dnow flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 b19 b21 mmxext mmx fxsr xmm sse2 b27 b28 b29 3dnow flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 b19 b21 mmxext mmx fxsr xmm sse2 b27 b28 b29 3dnow flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 b19 b21 mmxext mmx fxsr xmm sse2 b27 b28 b29 3dnow flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 b19 b21 mmxext mmx fxsr xmm sse2 b27 b28 b29 3dnow mordor / # on virtualboxed Ubuntu-17.04: dchagin@ubumor:~$ uname -a Linux ubumor 4.10.0-19-generic #21-Ubuntu SMP Thu Apr 6 17:04:57 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux dchagin@ubumor:~$ dchagin@ubumor:~$ cat /proc/cpuinfo | grep flags flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt aes rdrand hypervisor lahf_lm abm flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt aes rdrand hypervisor lahf_lm abm flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt aes rdrand hypervisor lahf_lm abm flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt aes rdrand hypervisor lahf_lm abm flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt aes rdrand hypervisor lahf_lm abm flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt aes rdrand hypervisor lahf_lm abm flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt aes rdrand hypervisor lahf_lm abm flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt aes rdrand hypervisor lahf_lm abm FreeBSD from the same hardware: dchagin@mordor> uname -a ~ FreeBSD mordor.heemeyer.club 12.0-CURRENT FreeBSD 12.0-CURRENT #38 r320302+5c976b6476(lemul)-dirty: Sat Jun 24 08:56:47 MSK 2017 dchagin@mordor.heemeyer.club:/home/dchagin/obj/home/git/head/sys/YOY amd64 dchagin@mordor> ~ dchagin@mordor> dmesg | grep -A 10 CPU: ~ CPU: Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz (2394.51-MHz K8-class CPU) Origin="GenuineIntel" Id=0x306c3 Family=0x6 Model=0x3c Stepping=3 Features=0xbfebfbff Features2=0x7fdafbbf AMD Features=0x2c100800 AMD Features2=0x21 Structured Extended Features=0x27ab XSAVE Features=0x1 VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID TSC: P-state invariant, performance statistics real memory = 17179869184 (16384 MB) dchagin@mordor> From owner-svn-src-head@freebsd.org Sun Jun 25 11:31:40 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C7B9ED8F64B; Sun, 25 Jun 2017 11:31:40 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7CD346807D; Sun, 25 Jun 2017 11:31:40 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5PBVdcq072917; Sun, 25 Jun 2017 11:31:39 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5PBVdws072916; Sun, 25 Jun 2017 11:31:39 GMT (envelope-from manu@FreeBSD.org) Message-Id: <201706251131.v5PBVdws072916@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Sun, 25 Jun 2017 11:31:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320327 - head/sys/arm/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 11:31:40 -0000 Author: manu Date: Sun Jun 25 11:31:39 2017 New Revision: 320327 URL: https://svnweb.freebsd.org/changeset/base/320327 Log: Remove ALLWINNER kernel config file, all release image for SMP Allwinner board uses GENERIC and it's not updated for newer SoC. Deleted: head/sys/arm/conf/ALLWINNER From owner-svn-src-head@freebsd.org Sun Jun 25 13:22:50 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 78403D9178B; Sun, 25 Jun 2017 13:22:50 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 487876EC8A; Sun, 25 Jun 2017 13:22:50 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5PDMnJg019823; Sun, 25 Jun 2017 13:22:49 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5PDMnmh019822; Sun, 25 Jun 2017 13:22:49 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201706251322.v5PDMnmh019822@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Sun, 25 Jun 2017 13:22:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320328 - head/sys/arm64/arm64 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 13:22:50 -0000 Author: andrew Date: Sun Jun 25 13:22:49 2017 New Revision: 320328 URL: https://svnweb.freebsd.org/changeset/base/320328 Log: Stop calling cpu_dcache_wb_range from PTE_SYNC. We set the shareability attributes in TCR_EL1 on boot. These tell the hardware the pagetables are in cached memory so there is no need to flush the entries from the cache to memory. This has about 4.2% improvement in system time and 2.7% improvement in user time for a buildkernel -j48 on a ThunderX. Keep the old code for now to allow for further comparisons. Modified: head/sys/arm64/arm64/pmap.c Modified: head/sys/arm64/arm64/pmap.c ============================================================================== --- head/sys/arm64/arm64/pmap.c Sun Jun 25 11:31:39 2017 (r320327) +++ head/sys/arm64/arm64/pmap.c Sun Jun 25 13:22:49 2017 (r320328) @@ -504,7 +504,11 @@ pmap_l3_valid(pt_entry_t l3) CTASSERT(L1_BLOCK == L2_BLOCK); +#if 0 #define PTE_SYNC(pte) cpu_dcache_wb_range((vm_offset_t)pte, sizeof(*pte)) +#else +#define PTE_SYNC(pte) (void)0 +#endif /* * Checks if the page is dirty. We currently lack proper tracking of this on From owner-svn-src-head@freebsd.org Sun Jun 25 15:21:53 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 15158D93C62; Sun, 25 Jun 2017 15:21:53 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D447D73496; Sun, 25 Jun 2017 15:21:52 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5PFLpfe071363; Sun, 25 Jun 2017 15:21:51 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5PFLpIl071362; Sun, 25 Jun 2017 15:21:51 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201706251521.v5PFLpIl071362@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 25 Jun 2017 15:21:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320329 - head/sys/fs/pseudofs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 15:21:53 -0000 Author: dchagin Date: Sun Jun 25 15:21:51 2017 New Revision: 320329 URL: https://svnweb.freebsd.org/changeset/base/320329 Log: PFS_DELEN is the sum of the permanent part of the struct dirent and fixed size for the name buffer PFS_NAMELEN. As r318736 was commited (ino64 project) the size of the permanent part of the struct dirent was changed, so calulate PFS_DELEN properly. Modified: head/sys/fs/pseudofs/pseudofs.h Modified: head/sys/fs/pseudofs/pseudofs.h ============================================================================== --- head/sys/fs/pseudofs/pseudofs.h Sun Jun 25 13:22:49 2017 (r320328) +++ head/sys/fs/pseudofs/pseudofs.h Sun Jun 25 15:21:51 2017 (r320329) @@ -52,7 +52,7 @@ struct vnode; */ #define PFS_NAMELEN 24 #define PFS_FSNAMELEN 16 /* equal to MFSNAMELEN */ -#define PFS_DELEN (8 + PFS_NAMELEN) +#define PFS_DELEN (offsetof(struct dirent, d_name) + PFS_NAMELEN) typedef enum { pfstype_none = 0, From owner-svn-src-head@freebsd.org Sun Jun 25 18:41:01 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0BB91D9751F; Sun, 25 Jun 2017 18:41:01 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D031979463; Sun, 25 Jun 2017 18:41:00 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5PIexfn052579; Sun, 25 Jun 2017 18:40:59 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5PIexQ9052578; Sun, 25 Jun 2017 18:40:59 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706251840.v5PIexQ9052578@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 25 Jun 2017 18:40:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320332 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 18:41:01 -0000 Author: kib Date: Sun Jun 25 18:40:59 2017 New Revision: 320332 URL: https://svnweb.freebsd.org/changeset/base/320332 Log: Style. Reviewed by: alc, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Modified: head/sys/vm/vm_map.c Modified: head/sys/vm/vm_map.c ============================================================================== --- head/sys/vm/vm_map.c Sun Jun 25 18:01:27 2017 (r320331) +++ head/sys/vm/vm_map.c Sun Jun 25 18:40:59 2017 (r320332) @@ -2712,9 +2712,9 @@ vm_map_wire(vm_map_t map, vm_offset_t start, vm_offset * If VM_MAP_WIRE_HOLESOK was specified, skip this check. */ next_entry: - if (((flags & VM_MAP_WIRE_HOLESOK) == 0) && - (entry->end < end && (entry->next == &map->header || - entry->next->start > entry->end))) { + if ((flags & VM_MAP_WIRE_HOLESOK) == 0 && + entry->end < end && (entry->next == &map->header || + entry->next->start > entry->end)) { end = entry->end; rv = KERN_INVALID_ADDRESS; goto done; From owner-svn-src-head@freebsd.org Sun Jun 25 19:20:14 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0CFC1D9822E; Sun, 25 Jun 2017 19:20:14 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D09657A8C8; Sun, 25 Jun 2017 19:20:13 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5PJKDYI068170; Sun, 25 Jun 2017 19:20:13 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5PJKDEZ068169; Sun, 25 Jun 2017 19:20:13 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201706251920.v5PJKDEZ068169@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sun, 25 Jun 2017 19:20:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320333 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 19:20:14 -0000 Author: markj Date: Sun Jun 25 19:20:12 2017 New Revision: 320333 URL: https://svnweb.freebsd.org/changeset/base/320333 Log: Add noop_lseek() to the LinuxKPI. MFC after: 1 week Modified: head/sys/compat/linuxkpi/common/include/linux/fs.h Modified: head/sys/compat/linuxkpi/common/include/linux/fs.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/fs.h Sun Jun 25 18:40:59 2017 (r320332) +++ head/sys/compat/linuxkpi/common/include/linux/fs.h Sun Jun 25 19:20:12 2017 (r320333) @@ -261,7 +261,15 @@ iput(struct inode *inode) static inline loff_t no_llseek(struct file *file, loff_t offset, int whence) { - return -ESPIPE; + + return (-ESPIPE); +} + +static inline loff_t +noop_llseek(struct linux_file *file, loff_t offset, int whence) +{ + + return (file->_file->f_offset); } #endif /* _LINUX_FS_H_ */ From owner-svn-src-head@freebsd.org Sun Jun 25 19:22:01 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 22812D9839C; Sun, 25 Jun 2017 19:22:01 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E6E027ABE0; Sun, 25 Jun 2017 19:22:00 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5PJM0QF071982; Sun, 25 Jun 2017 19:22:00 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5PJM0Gd071981; Sun, 25 Jun 2017 19:22:00 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201706251922.v5PJM0Gd071981@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sun, 25 Jun 2017 19:22:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320334 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 19:22:01 -0000 Author: markj Date: Sun Jun 25 19:21:59 2017 New Revision: 320334 URL: https://svnweb.freebsd.org/changeset/base/320334 Log: Add the thaw_early method to struct dev_pm_ops in the LinuxKPI. MFC after: 1 week Modified: head/sys/compat/linuxkpi/common/include/linux/device.h Modified: head/sys/compat/linuxkpi/common/include/linux/device.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/device.h Sun Jun 25 19:20:12 2017 (r320333) +++ head/sys/compat/linuxkpi/common/include/linux/device.h Sun Jun 25 19:21:59 2017 (r320334) @@ -69,6 +69,7 @@ struct dev_pm_ops { int (*freeze)(struct device *dev); int (*freeze_late)(struct device *dev); int (*thaw)(struct device *dev); + int (*thaw_early)(struct device *dev); int (*poweroff)(struct device *dev); int (*poweroff_late)(struct device *dev); int (*restore)(struct device *dev); From owner-svn-src-head@freebsd.org Sun Jun 25 19:23:15 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B038AD985D2; Sun, 25 Jun 2017 19:23:15 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7F0D27AE52; Sun, 25 Jun 2017 19:23:15 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5PJNEUf072062; Sun, 25 Jun 2017 19:23:14 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5PJNEkR072061; Sun, 25 Jun 2017 19:23:14 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201706251923.v5PJNEkR072061@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sun, 25 Jun 2017 19:23:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320335 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 19:23:15 -0000 Author: markj Date: Sun Jun 25 19:23:14 2017 New Revision: 320335 URL: https://svnweb.freebsd.org/changeset/base/320335 Log: Add a couple of macros to lockdep.h in the LinuxKPI. MFC after: 1 week Modified: head/sys/compat/linuxkpi/common/include/linux/lockdep.h Modified: head/sys/compat/linuxkpi/common/include/linux/lockdep.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/lockdep.h Sun Jun 25 19:21:59 2017 (r320334) +++ head/sys/compat/linuxkpi/common/include/linux/lockdep.h Sun Jun 25 19:23:14 2017 (r320335) @@ -39,7 +39,12 @@ struct lock_class_key { #define lockdep_set_class_and_name(lock, key, name) +#define lockdep_assert_held(m) \ + sx_assert(&(m)->sx, SA_XLOCKED) + #define lockdep_assert_held_once(m) \ sx_assert(&(m)->sx, SA_XLOCKED | SA_NOTRECURSED) + +#define lockdep_is_held(m) (sx_xholder(&(m)->sx) == curthread) #endif /* _LINUX_LOCKDEP_H_ */ From owner-svn-src-head@freebsd.org Sun Jun 25 19:28:03 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4A50ED98795; Sun, 25 Jun 2017 19:28:03 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1554C7B01A; Sun, 25 Jun 2017 19:28:03 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5PJS24v072351; Sun, 25 Jun 2017 19:28:02 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5PJS2JC072350; Sun, 25 Jun 2017 19:28:02 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201706251928.v5PJS2JC072350@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sun, 25 Jun 2017 19:28:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320336 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 19:28:03 -0000 Author: markj Date: Sun Jun 25 19:28:01 2017 New Revision: 320336 URL: https://svnweb.freebsd.org/changeset/base/320336 Log: Add ns_to_ktime() to the LinuxKPI. MFC after: 1 week Modified: head/sys/compat/linuxkpi/common/include/linux/ktime.h Modified: head/sys/compat/linuxkpi/common/include/linux/ktime.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/ktime.h Sun Jun 25 19:23:14 2017 (r320335) +++ head/sys/compat/linuxkpi/common/include/linux/ktime.h Sun Jun 25 19:28:01 2017 (r320336) @@ -51,6 +51,15 @@ ktime_to_ns(ktime_t kt) return kt.tv64; } +static inline ktime_t +ns_to_ktime(uint64_t nsec) +{ + ktime_t kt; + + kt.tv64 = nsec; + return (kt); +} + static inline int64_t ktime_divns(const ktime_t kt, int64_t div) { From owner-svn-src-head@freebsd.org Sun Jun 25 19:30:22 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3AF6BD988DB; Sun, 25 Jun 2017 19:30:22 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0B5AD7B278; Sun, 25 Jun 2017 19:30:21 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5PJULM5072634; Sun, 25 Jun 2017 19:30:21 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5PJULlS072633; Sun, 25 Jun 2017 19:30:21 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201706251930.v5PJULlS072633@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sun, 25 Jun 2017 19:30:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320337 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 19:30:22 -0000 Author: markj Date: Sun Jun 25 19:30:20 2017 New Revision: 320337 URL: https://svnweb.freebsd.org/changeset/base/320337 Log: Add u64_to_user_ptr() to the LinuxKPI. MFC after: 1 week Modified: head/sys/compat/linuxkpi/common/include/linux/kernel.h Modified: head/sys/compat/linuxkpi/common/include/linux/kernel.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/kernel.h Sun Jun 25 19:28:01 2017 (r320336) +++ head/sys/compat/linuxkpi/common/include/linux/kernel.h Sun Jun 25 19:30:20 2017 (r320337) @@ -260,6 +260,8 @@ scnprintf(char *buf, size_t size, const char *fmt, ... #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) +#define u64_to_user_ptr(val) ((void *)(uintptr_t)(val)) + static inline unsigned long long simple_strtoull(const char *cp, char **endp, unsigned int base) { From owner-svn-src-head@freebsd.org Sun Jun 25 19:59:40 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E3CAAD98F14; Sun, 25 Jun 2017 19:59:40 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B25D17BEDF; Sun, 25 Jun 2017 19:59:40 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5PJxdqx084671; Sun, 25 Jun 2017 19:59:39 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5PJxdTo084670; Sun, 25 Jun 2017 19:59:39 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706251959.v5PJxdTo084670@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 25 Jun 2017 19:59:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320338 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 19:59:41 -0000 Author: kib Date: Sun Jun 25 19:59:39 2017 New Revision: 320338 URL: https://svnweb.freebsd.org/changeset/base/320338 Log: Remove stale part of the comment. Reviewed by: alc, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Modified: head/sys/vm/vm_map.c Modified: head/sys/vm/vm_map.c ============================================================================== --- head/sys/vm/vm_map.c Sun Jun 25 19:30:20 2017 (r320337) +++ head/sys/vm/vm_map.c Sun Jun 25 19:59:39 2017 (r320338) @@ -3599,12 +3599,6 @@ vm_map_stack_locked(vm_map_t map, vm_offset_t addrbos, /* * If we can't accommodate max_ssize in the current mapping, no go. - * However, we need to be aware that subsequent user mappings might - * map into the space we have reserved for stack, and currently this - * space is not protected. - * - * Hopefully we will at least detect this condition when we try to - * grow the stack. */ if ((prev_entry->next != &map->header) && (prev_entry->next->start < addrbos + max_ssize)) From owner-svn-src-head@freebsd.org Sun Jun 25 20:06:06 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8E94AD99136; Sun, 25 Jun 2017 20:06:06 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5DBBE7C397; Sun, 25 Jun 2017 20:06:06 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5PK65u3088843; Sun, 25 Jun 2017 20:06:05 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5PK65de088842; Sun, 25 Jun 2017 20:06:05 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706252006.v5PK65de088842@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 25 Jun 2017 20:06:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320339 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 20:06:06 -0000 Author: kib Date: Sun Jun 25 20:06:05 2017 New Revision: 320339 URL: https://svnweb.freebsd.org/changeset/base/320339 Log: Correctly handle small MAP_STACK requests. If mmap(2) is called with the MAP_STACK flag and the size which is less or equal to the initial stack mapping size plus guard, calculation of the mapping layout created zero-sized guard. Attempt to create such entry failed in vm_map_insert(), causing the whole mmap(2) call to fail. Fix it by adjusting the initial mapping size to have space for non-empty guard. Reject MAP_STACK requests which are shorter or equal to the configured guard pages size. Reported and tested by: Manfred Antar Reviewed by: alc, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Modified: head/sys/vm/vm_map.c Modified: head/sys/vm/vm_map.c ============================================================================== --- head/sys/vm/vm_map.c Sun Jun 25 19:59:39 2017 (r320338) +++ head/sys/vm/vm_map.c Sun Jun 25 20:06:05 2017 (r320339) @@ -3567,13 +3567,18 @@ out: return (rv); } +static int stack_guard_page = 1; +SYSCTL_INT(_security_bsd, OID_AUTO, stack_guard_page, CTLFLAG_RWTUN, + &stack_guard_page, 0, + "Specifies the number of guard pages for a stack that grows"); + static int vm_map_stack_locked(vm_map_t map, vm_offset_t addrbos, vm_size_t max_ssize, vm_size_t growsize, vm_prot_t prot, vm_prot_t max, int cow) { vm_map_entry_t new_entry, prev_entry; vm_offset_t bot, gap_bot, gap_top, top; - vm_size_t init_ssize; + vm_size_t init_ssize, sgp; int orient, rv; /* @@ -3586,12 +3591,16 @@ vm_map_stack_locked(vm_map_t map, vm_offset_t addrbos, KASSERT(orient != (MAP_STACK_GROWS_DOWN | MAP_STACK_GROWS_UP), ("bi-dir stack")); + sgp = (vm_size_t)stack_guard_page * PAGE_SIZE; if (addrbos < vm_map_min(map) || addrbos > vm_map_max(map) || - addrbos + max_ssize < addrbos) + addrbos + max_ssize < addrbos || + sgp >= max_ssize) return (KERN_NO_SPACE); - init_ssize = (max_ssize < growsize) ? max_ssize : growsize; + init_ssize = growsize; + if (max_ssize < init_ssize + sgp) + init_ssize = max_ssize - sgp; /* If addr is already mapped, no go */ if (vm_map_lookup_entry(map, addrbos, &prev_entry)) @@ -3644,11 +3653,6 @@ vm_map_stack_locked(vm_map_t map, vm_offset_t addrbos, (void)vm_map_delete(map, bot, top); return (rv); } - -static int stack_guard_page = 1; -SYSCTL_INT(_security_bsd, OID_AUTO, stack_guard_page, CTLFLAG_RWTUN, - &stack_guard_page, 0, - "Specifies the number of guard pages for a stack that grows."); /* * Attempts to grow a vm stack entry. Returns KERN_SUCCESS if we From owner-svn-src-head@freebsd.org Sun Jun 25 21:53:10 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 416CFD9B1B5; Sun, 25 Jun 2017 21:53:10 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1B91C7F1B4; Sun, 25 Jun 2017 21:53:10 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5PLr90d035799; Sun, 25 Jun 2017 21:53:09 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5PLr80F035795; Sun, 25 Jun 2017 21:53:08 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201706252153.v5PLr80F035795@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 25 Jun 2017 21:53:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320340 - in head/bin/sh: . tests/builtins X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 21:53:10 -0000 Author: jilles Date: Sun Jun 25 21:53:08 2017 New Revision: 320340 URL: https://svnweb.freebsd.org/changeset/base/320340 Log: sh: Ignore error when cd writes the directory actually switched to. If CDPATH is used non-trivially or the operand is "-", cd writes the directory actually switched to. (We currently do this only in interactive shells, but POSIX requires this in non-interactive shells as well.) As mentioned in Austin group bug #1045, cd shall not return an error while leaving the current directory changed. Therefore, ignore any write error. Added: head/bin/sh/tests/builtins/cd10.0 (contents, props changed) Modified: head/bin/sh/cd.c head/bin/sh/sh.1 head/bin/sh/tests/builtins/Makefile Modified: head/bin/sh/cd.c ============================================================================== --- head/bin/sh/cd.c Sun Jun 25 20:06:05 2017 (r320339) +++ head/bin/sh/cd.c Sun Jun 25 21:53:08 2017 (r320340) @@ -164,8 +164,17 @@ docd(char *dest, int print, int phys) if ((phys || (rc = cdlogical(dest)) < 0) && (rc = cdphysical(dest)) < 0) return (-1); - if (print && iflag && curdir) + if (print && iflag && curdir) { out1fmt("%s\n", curdir); + /* + * Ignore write errors to preserve the invariant that the + * current directory is changed iff the exit status is 0 + * (or 1 if -e was given and the full pathname could not be + * determined). + */ + flushout(out1); + outclearerror(out1); + } return (rc); } Modified: head/bin/sh/sh.1 ============================================================================== --- head/bin/sh/sh.1 Sun Jun 25 20:06:05 2017 (r320339) +++ head/bin/sh/sh.1 Sun Jun 25 21:53:08 2017 (r320340) @@ -2018,6 +2018,11 @@ to return exit status 1 if the full pathname of the ne cannot be determined reliably or at all. Normally this is not considered an error, although a warning is printed. +.Pp +If changing the directory fails, the exit status is greater than 1. +If the directory is changed, the exit status is 0, or also 1 if +.Fl e +was given. .It Ic chdir A synonym for the .Ic cd Modified: head/bin/sh/tests/builtins/Makefile ============================================================================== --- head/bin/sh/tests/builtins/Makefile Sun Jun 25 20:06:05 2017 (r320339) +++ head/bin/sh/tests/builtins/Makefile Sun Jun 25 21:53:08 2017 (r320340) @@ -51,6 +51,7 @@ ${PACKAGE}FILES+= cd6.0 ${PACKAGE}FILES+= cd7.0 ${PACKAGE}FILES+= cd8.0 ${PACKAGE}FILES+= cd9.0 cd9.0.stdout +${PACKAGE}FILES+= cd10.0 ${PACKAGE}FILES+= command1.0 ${PACKAGE}FILES+= command2.0 ${PACKAGE}FILES+= command3.0 Added: head/bin/sh/tests/builtins/cd10.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/sh/tests/builtins/cd10.0 Sun Jun 25 21:53:08 2017 (r320340) @@ -0,0 +1,6 @@ +# $FreeBSD$ + +# Precondition +(cd /bin) || exit +# Verify write error is ignored. +$SH +m -ic 'CDPATH=/:; cd bin 1 Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DD235D9BB93; Sun, 25 Jun 2017 22:39:29 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 89D9780434; Sun, 25 Jun 2017 22:39:29 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5PMdSaJ052167; Sun, 25 Jun 2017 22:39:28 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5PMdS2N052163; Sun, 25 Jun 2017 22:39:28 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201706252239.v5PMdS2N052163@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sun, 25 Jun 2017 22:39:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320343 - in head/contrib/elftoolchain: elfdump libelftc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 22:39:30 -0000 Author: emaste Date: Sun Jun 25 22:39:28 2017 New Revision: 320343 URL: https://svnweb.freebsd.org/changeset/base/320343 Log: Update to ELF Tool Chain snapshot at r3561 This update is primarily bug fixes in C++ symbol demangling, including: - rvalue reference - builtin type auto and decltype(auto) - revamped support for function return types - formatting fixes - omit void when its the only param - ref-qualifiers and others in function types - type qualifiers in pointer-to-member function types - incorrect handling regarding CV-qualifiers in function types - ref-qualifier found in nested-name - properly handle ::= - make sure that nested function name is not a substitute candidate - correctly handle expression in template args - skip unknown substitution abbreviations MFC after: 4 days Modified: head/contrib/elftoolchain/elfdump/elfdump.c head/contrib/elftoolchain/libelftc/_libelftc.h head/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c head/contrib/elftoolchain/libelftc/libelftc_vstr.c Directory Properties: head/contrib/elftoolchain/ (props changed) head/contrib/elftoolchain/elfdump/ (props changed) Modified: head/contrib/elftoolchain/elfdump/elfdump.c ============================================================================== --- head/contrib/elftoolchain/elfdump/elfdump.c Sun Jun 25 22:19:34 2017 (r320342) +++ head/contrib/elftoolchain/elfdump/elfdump.c Sun Jun 25 22:39:28 2017 (r320343) @@ -50,7 +50,7 @@ #include "_elftc.h" -ELFTC_VCSID("$Id: elfdump.c 3497 2016-10-17 20:57:22Z emaste $"); +ELFTC_VCSID("$Id: elfdump.c 3521 2017-06-04 20:07:09Z jkoshy $"); #if defined(ELFTC_NEED_ELF_NOTE_DEFINITION) #include "native-elf-format.h" @@ -2226,8 +2226,8 @@ elf_print_svr4_hash64(struct elfdump *ed, struct secti uint64_t *buf; uint64_t *bucket, *chain; uint64_t nbucket, nchain; - uint64_t *bl, *c, maxl, total; - uint64_t i, j; + uint64_t *bl, *c, j, maxl, total; + size_t i; int elferr, first; char idx[10]; Modified: head/contrib/elftoolchain/libelftc/_libelftc.h ============================================================================== --- head/contrib/elftoolchain/libelftc/_libelftc.h Sun Jun 25 22:19:34 2017 (r320342) +++ head/contrib/elftoolchain/libelftc/_libelftc.h Sun Jun 25 22:39:28 2017 (r320343) @@ -24,7 +24,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: _libelftc.h 3174 2015-03-27 17:13:41Z emaste $ + * $Id: _libelftc.h 3531 2017-06-05 05:08:43Z kaiwang27 $ */ #ifndef __LIBELFTC_H_ @@ -82,6 +82,8 @@ bool vector_str_init(struct vector_str *_vs); bool vector_str_pop(struct vector_str *_vs); bool vector_str_push(struct vector_str *_vs, const char *_str, size_t _len); +bool vector_str_push_vector(struct vector_str *_dst, + struct vector_str *_org); bool vector_str_push_vector_head(struct vector_str *_dst, struct vector_str *_org); char *vector_str_substr(const struct vector_str *_vs, size_t _begin, Modified: head/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c ============================================================================== --- head/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c Sun Jun 25 22:19:34 2017 (r320342) +++ head/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c Sun Jun 25 22:39:28 2017 (r320343) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2007 Hyogeol Lee + * Copyright (c) 2015-2017 Kai Wang * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,7 +37,7 @@ #include "_libelftc.h" -ELFTC_VCSID("$Id: libelftc_dem_gnu3.c 3512 2016-12-29 07:04:19Z kaiwang27 $"); +ELFTC_VCSID("$Id: libelftc_dem_gnu3.c 3560 2017-06-25 00:28:23Z kaiwang27 $"); /** * @file cpp_demangle.c @@ -50,7 +51,7 @@ ELFTC_VCSID("$Id: libelftc_dem_gnu3.c 3512 2016-12-29 enum type_qualifier { TYPE_PTR, TYPE_REF, TYPE_CMX, TYPE_IMG, TYPE_EXT, TYPE_RST, TYPE_VAT, - TYPE_CST, TYPE_VEC + TYPE_CST, TYPE_VEC, TYPE_RREF }; struct vector_type_qualifier { @@ -64,29 +65,49 @@ enum read_cmd { READ_TYPE, READ_FUNC, READ_PTRMEM }; +struct read_cmd_item { + enum read_cmd cmd; + void *data; +}; + struct vector_read_cmd { size_t size, capacity; - enum read_cmd *r_container; + struct read_cmd_item *r_container; }; +enum push_qualifier { + PUSH_ALL_QUALIFIER, + PUSH_CV_QUALIFIER, + PUSH_NON_CV_QUALIFIER, +}; + struct cpp_demangle_data { struct vector_str output; /* output string vector */ - struct vector_str output_tmp; struct vector_str subst; /* substitution string vector */ struct vector_str tmpl; struct vector_str class_type; + struct vector_str *cur_output; /* ptr to current output vec */ struct vector_read_cmd cmd; - bool paren; /* parenthesis opened */ - bool pfirst; /* first element of parameter */ bool mem_rst; /* restrict member function */ bool mem_vat; /* volatile member function */ bool mem_cst; /* const member function */ + bool mem_ref; /* lvalue-ref member func */ + bool mem_rref; /* rvalue-ref member func */ + bool is_tmpl; /* template args */ + bool is_functype; /* function type */ + bool ref_qualifier; /* ref qualifier */ + enum type_qualifier ref_qualifier_type; /* ref qualifier type */ + enum push_qualifier push_qualifier; /* which qualifiers to push */ int func_type; const char *cur; /* current mangled name ptr */ const char *last_sname; /* last source name */ - int push_head; }; +struct type_delimit { + bool paren; + bool firstp; +}; + #define CPP_DEMANGLE_TRY_LIMIT 128 #define FLOAT_SPRINTF_TRY_LIMIT 5 #define FLOAT_QUADRUPLE_BYTES 16 @@ -105,6 +126,7 @@ static int cpp_demangle_push_fp(struct cpp_demangle_da char *(*)(const char *, size_t)); static int cpp_demangle_push_str(struct cpp_demangle_data *, const char *, size_t); +static int cpp_demangle_pop_str(struct cpp_demangle_data *); static int cpp_demangle_push_subst(struct cpp_demangle_data *, const char *, size_t); static int cpp_demangle_push_subst_v(struct cpp_demangle_data *, @@ -137,16 +159,18 @@ static int cpp_demangle_read_number_as_string(struct c static int cpp_demangle_read_nv_offset(struct cpp_demangle_data *); static int cpp_demangle_read_offset(struct cpp_demangle_data *); static int cpp_demangle_read_offset_number(struct cpp_demangle_data *); -static int cpp_demangle_read_pointer_to_member(struct cpp_demangle_data *); +static int cpp_demangle_read_pointer_to_member(struct cpp_demangle_data *, + struct vector_type_qualifier *); static int cpp_demangle_read_sname(struct cpp_demangle_data *); static int cpp_demangle_read_subst(struct cpp_demangle_data *); static int cpp_demangle_read_subst_std(struct cpp_demangle_data *); static int cpp_demangle_read_subst_stdtmpl(struct cpp_demangle_data *, - const char *, size_t); + const char *); static int cpp_demangle_read_tmpl_arg(struct cpp_demangle_data *); static int cpp_demangle_read_tmpl_args(struct cpp_demangle_data *); static int cpp_demangle_read_tmpl_param(struct cpp_demangle_data *); -static int cpp_demangle_read_type(struct cpp_demangle_data *, int); +static int cpp_demangle_read_type(struct cpp_demangle_data *, + struct type_delimit *); static int cpp_demangle_read_type_flat(struct cpp_demangle_data *, char **); static int cpp_demangle_read_uqname(struct cpp_demangle_data *); @@ -158,10 +182,12 @@ static char *decode_fp_to_float80(const char *, size_t static char *decode_fp_to_long_double(const char *, size_t); static int hex_to_dec(char); static void vector_read_cmd_dest(struct vector_read_cmd *); -static int vector_read_cmd_find(struct vector_read_cmd *, enum read_cmd); +static struct read_cmd_item *vector_read_cmd_find(struct vector_read_cmd *, + enum read_cmd); static int vector_read_cmd_init(struct vector_read_cmd *); static int vector_read_cmd_pop(struct vector_read_cmd *); -static int vector_read_cmd_push(struct vector_read_cmd *, enum read_cmd); +static int vector_read_cmd_push(struct vector_read_cmd *, enum read_cmd, + void *); static void vector_type_qualifier_dest(struct vector_type_qualifier *); static int vector_type_qualifier_init(struct vector_type_qualifier *); static int vector_type_qualifier_push(struct vector_type_qualifier *, @@ -178,9 +204,12 @@ char * cpp_demangle_gnu3(const char *org) { struct cpp_demangle_data ddata; + struct vector_str ret_type; + struct type_delimit td; ssize_t org_len; unsigned int limit; char *rtn; + bool has_ret, more_type; if (org == NULL || (org_len = strlen(org)) < 2) return (NULL); @@ -200,26 +229,75 @@ cpp_demangle_gnu3(const char *org) return (NULL); rtn = NULL; + has_ret = more_type = false; if (!cpp_demangle_read_encoding(&ddata)) goto clean; + /* + * Pop function name from substitution candidate list. + */ + if (*ddata.cur != 0 && ddata.subst.size >= 1) { + if (!vector_str_pop(&ddata.subst)) + goto clean; + } + + td.paren = false; + td.firstp = true; limit = 0; + + /* + * The first type is a return type if we just demangled template + * args. (the template args is right next to the function name, + * which means it's a template function) + */ + if (ddata.is_tmpl) { + ddata.is_tmpl = false; + if (!vector_str_init(&ret_type)) + goto clean; + ddata.cur_output = &ret_type; + has_ret = true; + } + while (*ddata.cur != '\0') { /* * Breaking at some gcc info at tail. e.g) @@GLIBCXX_3.4 */ if (*ddata.cur == '@' && *(ddata.cur + 1) == '@') break; - if (!cpp_demangle_read_type(&ddata, 1)) - goto clean; + + if (has_ret) { + /* Read return type */ + if (!cpp_demangle_read_type(&ddata, NULL)) + goto clean; + } else { + /* Read function arg type */ + if (!cpp_demangle_read_type(&ddata, &td)) + goto clean; + } + + if (has_ret) { + /* Push return type to the beginning */ + if (!VEC_PUSH_STR(&ret_type, " ")) + goto clean; + if (!vector_str_push_vector_head(&ddata.output, + &ret_type)) + goto clean; + ddata.cur_output = &ddata.output; + vector_str_dest(&ret_type); + has_ret = false; + more_type = true; + } else if (more_type) + more_type = false; if (limit++ > CPP_DEMANGLE_TRY_LIMIT) goto clean; } + if (more_type) + goto clean; if (ddata.output.size == 0) goto clean; - if (ddata.paren && !VEC_PUSH_STR(&ddata.output, ")")) + if (td.paren && !VEC_PUSH_STR(&ddata.output, ")")) goto clean; if (ddata.mem_vat && !VEC_PUSH_STR(&ddata.output, " volatile")) goto clean; @@ -227,10 +305,17 @@ cpp_demangle_gnu3(const char *org) goto clean; if (ddata.mem_rst && !VEC_PUSH_STR(&ddata.output, " restrict")) goto clean; + if (ddata.mem_ref && !VEC_PUSH_STR(&ddata.output, " &")) + goto clean; + if (ddata.mem_rref && !VEC_PUSH_STR(&ddata.output, " &&")) + goto clean; rtn = vector_str_get_flat(&ddata.output, (size_t *) NULL); clean: + if (has_ret) + vector_str_dest(&ret_type); + cpp_demangle_data_dest(&ddata); return (rtn); @@ -247,7 +332,6 @@ cpp_demangle_data_dest(struct cpp_demangle_data *d) vector_str_dest(&d->class_type); vector_str_dest(&d->tmpl); vector_str_dest(&d->subst); - vector_str_dest(&d->output_tmp); vector_str_dest(&d->output); } @@ -260,43 +344,42 @@ cpp_demangle_data_init(struct cpp_demangle_data *d, co if (!vector_str_init(&d->output)) return (0); - if (!vector_str_init(&d->output_tmp)) - goto clean1; if (!vector_str_init(&d->subst)) - goto clean2; + goto clean1; if (!vector_str_init(&d->tmpl)) - goto clean3; + goto clean2; if (!vector_str_init(&d->class_type)) - goto clean4; + goto clean3; if (!vector_read_cmd_init(&d->cmd)) - goto clean5; + goto clean4; assert(d->output.container != NULL); - assert(d->output_tmp.container != NULL); assert(d->subst.container != NULL); assert(d->tmpl.container != NULL); assert(d->class_type.container != NULL); - d->paren = false; - d->pfirst = false; d->mem_rst = false; d->mem_vat = false; d->mem_cst = false; + d->mem_ref = false; + d->mem_rref = false; + d->is_tmpl = false; + d->is_functype = false; + d->ref_qualifier = false; + d->push_qualifier = PUSH_ALL_QUALIFIER; d->func_type = 0; d->cur = cur; + d->cur_output = &d->output; d->last_sname = NULL; - d->push_head = 0; return (1); -clean5: - vector_str_dest(&d->class_type); clean4: - vector_str_dest(&d->tmpl); + vector_str_dest(&d->class_type); clean3: - vector_str_dest(&d->subst); + vector_str_dest(&d->tmpl); clean2: - vector_str_dest(&d->output_tmp); + vector_str_dest(&d->subst); clean1: vector_str_dest(&d->output); @@ -341,13 +424,27 @@ cpp_demangle_push_str(struct cpp_demangle_data *ddata, if (ddata == NULL || str == NULL || len == 0) return (0); - if (ddata->push_head > 0) - return (vector_str_push(&ddata->output_tmp, str, len)); + /* + * is_tmpl is used to check if the type (function arg) is right next + * to template args, and should always be cleared whenever new string + * pushed. + */ + ddata->is_tmpl = false; - return (vector_str_push(&ddata->output, str, len)); + return (vector_str_push(ddata->cur_output, str, len)); } static int +cpp_demangle_pop_str(struct cpp_demangle_data *ddata) +{ + + if (ddata == NULL) + return (0); + + return (vector_str_pop(ddata->cur_output)); +} + +static int cpp_demangle_push_subst(struct cpp_demangle_data *ddata, const char *str, size_t len) { @@ -386,9 +483,11 @@ cpp_demangle_push_type_qualifier(struct cpp_demangle_d struct vector_type_qualifier *v, const char *type_str) { struct vector_str subst_v; + enum type_qualifier t; size_t idx, e_idx, e_len; - int rtn; char *buf; + int rtn; + bool cv; if (ddata == NULL || v == NULL) return (0); @@ -404,10 +503,14 @@ cpp_demangle_push_type_qualifier(struct cpp_demangle_d goto clean; } + cv = true; e_idx = 0; while (idx > 0) { switch (v->q_container[idx - 1]) { case TYPE_PTR: + cv = false; + if (ddata->push_qualifier == PUSH_CV_QUALIFIER) + break; if (!DEM_PUSH_STR(ddata, "*")) goto clean; if (type_str != NULL) { @@ -420,6 +523,9 @@ cpp_demangle_push_type_qualifier(struct cpp_demangle_d break; case TYPE_REF: + cv = false; + if (ddata->push_qualifier == PUSH_CV_QUALIFIER) + break; if (!DEM_PUSH_STR(ddata, "&")) goto clean; if (type_str != NULL) { @@ -431,7 +537,25 @@ cpp_demangle_push_type_qualifier(struct cpp_demangle_d } break; + case TYPE_RREF: + cv = false; + if (ddata->push_qualifier == PUSH_CV_QUALIFIER) + break; + if (!DEM_PUSH_STR(ddata, "&&")) + goto clean; + if (type_str != NULL) { + if (!VEC_PUSH_STR(&subst_v, "&&")) + goto clean; + if (!cpp_demangle_push_subst_v(ddata, + &subst_v)) + goto clean; + } + break; + case TYPE_CMX: + cv = false; + if (ddata->push_qualifier == PUSH_CV_QUALIFIER) + break; if (!DEM_PUSH_STR(ddata, " complex")) goto clean; if (type_str != NULL) { @@ -444,6 +568,9 @@ cpp_demangle_push_type_qualifier(struct cpp_demangle_d break; case TYPE_IMG: + cv = false; + if (ddata->push_qualifier == PUSH_CV_QUALIFIER) + break; if (!DEM_PUSH_STR(ddata, " imaginary")) goto clean; if (type_str != NULL) { @@ -457,6 +584,9 @@ cpp_demangle_push_type_qualifier(struct cpp_demangle_d break; case TYPE_EXT: + cv = false; + if (ddata->push_qualifier == PUSH_CV_QUALIFIER) + break; if (v->ext_name.size == 0 || e_idx > v->ext_name.size - 1) goto clean; @@ -489,11 +619,22 @@ cpp_demangle_push_type_qualifier(struct cpp_demangle_d break; case TYPE_RST: + if (ddata->push_qualifier == PUSH_NON_CV_QUALIFIER && + cv) + break; + if (ddata->push_qualifier == PUSH_CV_QUALIFIER && !cv) + break; if (!DEM_PUSH_STR(ddata, " restrict")) goto clean; if (type_str != NULL) { if (!VEC_PUSH_STR(&subst_v, " restrict")) goto clean; + if (idx - 1 > 0) { + t = v->q_container[idx - 2]; + if (t == TYPE_RST || t == TYPE_VAT || + t == TYPE_CST) + break; + } if (!cpp_demangle_push_subst_v(ddata, &subst_v)) goto clean; @@ -501,11 +642,22 @@ cpp_demangle_push_type_qualifier(struct cpp_demangle_d break; case TYPE_VAT: + if (ddata->push_qualifier == PUSH_NON_CV_QUALIFIER && + cv) + break; + if (ddata->push_qualifier == PUSH_CV_QUALIFIER && !cv) + break; if (!DEM_PUSH_STR(ddata, " volatile")) goto clean; if (type_str != NULL) { if (!VEC_PUSH_STR(&subst_v, " volatile")) goto clean; + if (idx - 1 > 0) { + t = v->q_container[idx - 2]; + if (t == TYPE_RST || t == TYPE_VAT || + t == TYPE_CST) + break; + } if (!cpp_demangle_push_subst_v(ddata, &subst_v)) goto clean; @@ -513,11 +665,22 @@ cpp_demangle_push_type_qualifier(struct cpp_demangle_d break; case TYPE_CST: + if (ddata->push_qualifier == PUSH_NON_CV_QUALIFIER && + cv) + break; + if (ddata->push_qualifier == PUSH_CV_QUALIFIER && !cv) + break; if (!DEM_PUSH_STR(ddata, " const")) goto clean; if (type_str != NULL) { if (!VEC_PUSH_STR(&subst_v, " const")) goto clean; + if (idx - 1 > 0) { + t = v->q_container[idx - 2]; + if (t == TYPE_RST || t == TYPE_VAT || + t == TYPE_CST) + break; + } if (!cpp_demangle_push_subst_v(ddata, &subst_v)) goto clean; @@ -525,6 +688,9 @@ cpp_demangle_push_type_qualifier(struct cpp_demangle_d break; case TYPE_VEC: + cv = false; + if (ddata->push_qualifier == PUSH_CV_QUALIFIER) + break; if (v->ext_name.size == 0 || e_idx > v->ext_name.size - 1) goto clean; @@ -614,7 +780,7 @@ cpp_demangle_read_array(struct cpp_demangle_data *ddat if (*(++ddata->cur) == '\0') return (0); - if (!cpp_demangle_read_type(ddata, 0)) + if (!cpp_demangle_read_type(ddata, NULL)) return (0); if (!DEM_PUSH_STR(ddata, "[]")) @@ -630,7 +796,7 @@ cpp_demangle_read_array(struct cpp_demangle_data *ddat assert(num_len > 0); if (*(++ddata->cur) == '\0') return (0); - if (!cpp_demangle_read_type(ddata, 0)) + if (!cpp_demangle_read_type(ddata, NULL)) return (0); if (!DEM_PUSH_STR(ddata, "[")) return (0); @@ -660,7 +826,7 @@ cpp_demangle_read_array(struct cpp_demangle_data *ddat free(exp); return (0); } - if (!cpp_demangle_read_type(ddata, 0)) { + if (!cpp_demangle_read_type(ddata, NULL)) { free(exp); return (0); } @@ -777,11 +943,11 @@ cpp_demangle_read_expression(struct cpp_demangle_data switch (SIMPLE_HASH(*ddata->cur, *(ddata->cur + 1))) { case SIMPLE_HASH('s', 't'): ddata->cur += 2; - return (cpp_demangle_read_type(ddata, 0)); + return (cpp_demangle_read_type(ddata, NULL)); case SIMPLE_HASH('s', 'r'): ddata->cur += 2; - if (!cpp_demangle_read_type(ddata, 0)) + if (!cpp_demangle_read_type(ddata, NULL)) return (0); if (!cpp_demangle_read_uqname(ddata)) return (0); @@ -1058,8 +1224,7 @@ cpp_demangle_read_expression_flat(struct cpp_demangle_ size_t i, p_idx, idx, exp_len; char *exp; - output = ddata->push_head > 0 ? &ddata->output_tmp : - &ddata->output; + output = &ddata->output; p_idx = output->size; @@ -1136,8 +1301,12 @@ static int cpp_demangle_read_function(struct cpp_demangle_data *ddata, int *ext_c, struct vector_type_qualifier *v) { + struct type_delimit td; + struct read_cmd_item *rc; size_t class_type_size, class_type_len, limit; const char *class_type; + int i; + bool paren, non_cv_qualifier; if (ddata == NULL || *ddata->cur != 'F' || v == NULL) return (0); @@ -1148,12 +1317,43 @@ cpp_demangle_read_function(struct cpp_demangle_data *d *ext_c = 1; ++ddata->cur; } - if (!cpp_demangle_read_type(ddata, 0)) + + /* Return type */ + if (!cpp_demangle_read_type(ddata, NULL)) return (0); + if (*ddata->cur != 'E') { - if (!DEM_PUSH_STR(ddata, "(")) + if (!DEM_PUSH_STR(ddata, " ")) return (0); - if (vector_read_cmd_find(&ddata->cmd, READ_PTRMEM)) { + + non_cv_qualifier = false; + if (v->size > 0) { + for (i = 0; (size_t) i < v->size; i++) { + if (v->q_container[i] != TYPE_RST && + v->q_container[i] != TYPE_VAT && + v->q_container[i] != TYPE_CST) { + non_cv_qualifier = true; + break; + } + } + } + + paren = false; + rc = vector_read_cmd_find(&ddata->cmd, READ_PTRMEM); + if (non_cv_qualifier || rc != NULL) { + if (!DEM_PUSH_STR(ddata, "(")) + return (0); + paren = true; + } + + /* Push non-cv qualifiers. */ + ddata->push_qualifier = PUSH_NON_CV_QUALIFIER; + if (!cpp_demangle_push_type_qualifier(ddata, v, NULL)) + return (0); + + if (rc) { + if (non_cv_qualifier && !DEM_PUSH_STR(ddata, " ")) + return (0); if ((class_type_size = ddata->class_type.size) == 0) return (0); class_type = @@ -1167,40 +1367,67 @@ cpp_demangle_read_function(struct cpp_demangle_data *d return (0); if (!DEM_PUSH_STR(ddata, "::*")) return (0); + /* Push pointer-to-member qualifiers. */ + ddata->push_qualifier = PUSH_ALL_QUALIFIER; + if (!cpp_demangle_push_type_qualifier(ddata, rc->data, + NULL)) + return (0); ++ddata->func_type; - } else { - if (!cpp_demangle_push_type_qualifier(ddata, v, - (const char *) NULL)) + } + + if (paren) { + if (!DEM_PUSH_STR(ddata, ")")) return (0); - vector_type_qualifier_dest(v); - if (!vector_type_qualifier_init(v)) - return (0); + paren = false; } - if (!DEM_PUSH_STR(ddata, ")(")) - return (0); - + td.paren = false; + td.firstp = true; limit = 0; + ddata->is_functype = true; for (;;) { - if (!cpp_demangle_read_type(ddata, 0)) + if (!cpp_demangle_read_type(ddata, &td)) return (0); if (*ddata->cur == 'E') break; if (limit++ > CPP_DEMANGLE_TRY_LIMIT) return (0); } - - if (vector_read_cmd_find(&ddata->cmd, READ_PTRMEM) == 1) { - if (!cpp_demangle_push_type_qualifier(ddata, v, - (const char *) NULL)) + ddata->is_functype = false; + if (td.paren) { + if (!DEM_PUSH_STR(ddata, ")")) return (0); - vector_type_qualifier_dest(v); - if (!vector_type_qualifier_init(v)) - return (0); + td.paren = false; } - if (!DEM_PUSH_STR(ddata, ")")) + /* Push CV qualifiers. */ + ddata->push_qualifier = PUSH_CV_QUALIFIER; + if (!cpp_demangle_push_type_qualifier(ddata, v, NULL)) return (0); + + ddata->push_qualifier = PUSH_ALL_QUALIFIER; + + /* Release type qualifier vector. */ + vector_type_qualifier_dest(v); + if (!vector_type_qualifier_init(v)) + return (0); + + /* Push ref-qualifiers. */ + if (ddata->ref_qualifier) { + switch (ddata->ref_qualifier_type) { + case TYPE_REF: + if (!DEM_PUSH_STR(ddata, " &")) + return (0); + break; + case TYPE_RREF: + if (!DEM_PUSH_STR(ddata, " &&")) + return (0); + break; + default: + return (0); + } + ddata->ref_qualifier = false; + } } ++ddata->cur; @@ -1306,7 +1533,7 @@ cpp_demangle_read_encoding(struct cpp_demangle_data *d goto clean3; if (*ddata->cur++ != '_') goto clean3; - if (!cpp_demangle_read_type(ddata, 0)) + if (!cpp_demangle_read_type(ddata, NULL)) goto clean3; if (!DEM_PUSH_STR(ddata, "-in-")) goto clean3; @@ -1328,7 +1555,7 @@ cpp_demangle_read_encoding(struct cpp_demangle_data *d ddata->cur += 2; if (*ddata->cur == '\0') return (0); - return (cpp_demangle_read_type(ddata, 0)); + return (cpp_demangle_read_type(ddata, NULL)); case SIMPLE_HASH('T', 'h'): /* virtual function non-virtual override thunk */ @@ -1358,7 +1585,7 @@ cpp_demangle_read_encoding(struct cpp_demangle_data *d ddata->cur += 2; if (*ddata->cur == '\0') return (0); - return (cpp_demangle_read_type(ddata, 0)); + return (cpp_demangle_read_type(ddata, NULL)); case SIMPLE_HASH('T', 'J'): /* java class */ @@ -1367,7 +1594,7 @@ cpp_demangle_read_encoding(struct cpp_demangle_data *d ddata->cur += 2; if (*ddata->cur == '\0') return (0); - return (cpp_demangle_read_type(ddata, 0)); + return (cpp_demangle_read_type(ddata, NULL)); case SIMPLE_HASH('T', 'S'): /* RTTI name (NTBS) */ @@ -1376,7 +1603,7 @@ cpp_demangle_read_encoding(struct cpp_demangle_data *d ddata->cur += 2; if (*ddata->cur == '\0') return (0); - return (cpp_demangle_read_type(ddata, 0)); + return (cpp_demangle_read_type(ddata, NULL)); case SIMPLE_HASH('T', 'T'): /* VTT table */ @@ -1385,7 +1612,7 @@ cpp_demangle_read_encoding(struct cpp_demangle_data *d ddata->cur += 2; if (*ddata->cur == '\0') return (0); - return (cpp_demangle_read_type(ddata, 0)); + return (cpp_demangle_read_type(ddata, NULL)); case SIMPLE_HASH('T', 'v'): /* virtual function virtual override thunk */ @@ -1406,7 +1633,7 @@ cpp_demangle_read_encoding(struct cpp_demangle_data *d ddata->cur += 2; if (*ddata->cur == '\0') return (0); - return (cpp_demangle_read_type(ddata, 0)); + return (cpp_demangle_read_type(ddata, NULL)); case SIMPLE_HASH('T', 'W'): /* TLS wrapper function */ @@ -1424,30 +1651,74 @@ cpp_demangle_read_encoding(struct cpp_demangle_data *d static int cpp_demangle_read_local_name(struct cpp_demangle_data *ddata) { + struct vector_str local_name; + struct type_delimit td; size_t limit; + bool more_type; if (ddata == NULL) return (0); if (*(++ddata->cur) == '\0') return (0); - if (!cpp_demangle_read_encoding(ddata)) + + vector_str_init(&local_name); + ddata->cur_output = &local_name; + + if (!cpp_demangle_read_encoding(ddata)) { + vector_str_dest(&local_name); return (0); + } + ddata->cur_output = &ddata->output; + + td.paren = false; + td.firstp = true; + more_type = false; limit = 0; - for (;;) { - if (!cpp_demangle_read_type(ddata, 1)) + + /* + * The first type is a return type if we just demangled template + * args. (the template args is right next to the function name, + * which means it's a template function) + */ + if (ddata->is_tmpl) { + ddata->is_tmpl = false; + + /* Read return type */ + if (!cpp_demangle_read_type(ddata, NULL)) { + vector_str_dest(&local_name); return (0); + } + + more_type = true; + } + + /* Now we can push the name after possible return type is handled. */ + if (!vector_str_push_vector(&ddata->output, &local_name)) { + vector_str_dest(&local_name); + return (0); + } + vector_str_dest(&local_name); + + while (*ddata->cur != '\0') { + if (!cpp_demangle_read_type(ddata, &td)) + return (0); + if (more_type) + more_type = false; if (*ddata->cur == 'E') break; if (limit++ > CPP_DEMANGLE_TRY_LIMIT) return (0); } + if (more_type) + return (0); + if (*(++ddata->cur) == '\0') return (0); - if (ddata->paren == true) { + if (td.paren == true) { if (!DEM_PUSH_STR(ddata, ")")) return (0); - ddata->paren = false; + td.paren = false; } if (*ddata->cur == 's') ++ddata->cur; @@ -1477,7 +1748,7 @@ cpp_demangle_read_name(struct cpp_demangle_data *ddata if (ddata == NULL || *ddata->cur == '\0') return (0); - output = ddata->push_head > 0 ? &ddata->output_tmp : &ddata->output; + output = ddata->cur_output; subst_str = NULL; @@ -1539,8 +1810,7 @@ cpp_demangle_read_name_flat(struct cpp_demangle_data * size_t i, p_idx, idx, name_len; char *name; - output = ddata->push_head > 0 ? &ddata->output_tmp : - &ddata->output; + output = ddata->cur_output; p_idx = output->size; @@ -1577,8 +1847,7 @@ cpp_demangle_read_nested_name(struct cpp_demangle_data if (*(++ddata->cur) == '\0') return (0); - while (*ddata->cur == 'r' || *ddata->cur == 'V' || - *ddata->cur == 'K') { + do { switch (*ddata->cur) { case 'r': ddata->mem_rst = true; @@ -1589,11 +1858,19 @@ cpp_demangle_read_nested_name(struct cpp_demangle_data case 'K': ddata->mem_cst = true; break; + case 'R': + ddata->mem_ref = true; + break; + case 'O': + ddata->mem_rref = true; + break; + default: + goto next; } - ++ddata->cur; - } + } while (*(++ddata->cur)); - output = ddata->push_head > 0 ? &ddata->output_tmp : &ddata->output; +next: + output = ddata->cur_output; if (!vector_str_init(&v)) return (0); @@ -1619,6 +1896,8 @@ cpp_demangle_read_nested_name(struct cpp_demangle_data goto clean; } + if (p_idx == output->size) + goto next_comp; if ((subst_str = vector_str_substr(output, p_idx, output->size - 1, &subst_str_len)) == NULL) goto clean; @@ -1630,10 +1909,12 @@ cpp_demangle_read_nested_name(struct cpp_demangle_data if (!cpp_demangle_push_subst_v(ddata, &v)) goto clean; + + next_comp: if (*ddata->cur == 'E') break; - else if (*ddata->cur != 'I' && - *ddata->cur != 'C' && *ddata->cur != 'D') { + else if (*ddata->cur != 'I' && *ddata->cur != 'C' && + *ddata->cur != 'D' && p_idx != output->size) { if (!DEM_PUSH_STR(ddata, "::")) goto clean; if (!VEC_PUSH_STR(&v, "::")) @@ -1776,7 +2057,8 @@ cpp_demangle_read_offset_number(struct cpp_demangle_da } static int -cpp_demangle_read_pointer_to_member(struct cpp_demangle_data *ddata) +cpp_demangle_read_pointer_to_member(struct cpp_demangle_data *ddata, + struct vector_type_qualifier *v) { size_t class_type_len, i, idx, p_idx; int p_func_type, rtn; @@ -1786,7 +2068,7 @@ cpp_demangle_read_pointer_to_member(struct cpp_demangl return (0); p_idx = ddata->output.size; - if (!cpp_demangle_read_type(ddata, 0)) + if (!cpp_demangle_read_type(ddata, NULL)) return (0); if ((class_type = vector_str_substr(&ddata->output, p_idx, @@ -1799,14 +2081,14 @@ cpp_demangle_read_pointer_to_member(struct cpp_demangl if (!vector_str_pop(&ddata->output)) goto clean1; - if (!vector_read_cmd_push(&ddata->cmd, READ_PTRMEM)) + if (!vector_read_cmd_push(&ddata->cmd, READ_PTRMEM, v)) goto clean1; if (!vector_str_push(&ddata->class_type, class_type, class_type_len)) goto clean2; p_func_type = ddata->func_type; - if (!cpp_demangle_read_type(ddata, 0)) + if (!cpp_demangle_read_type(ddata, NULL)) goto clean3; if (p_func_type == ddata->func_type) { @@ -1828,6 +2110,10 @@ clean2: clean1: free(class_type); + vector_type_qualifier_dest(v); + if (!vector_type_qualifier_init(v)) + return (0); + return (rtn); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Sun Jun 25 23:16:38 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B24B1D9C426; Sun, 25 Jun 2017 23:16:38 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 706D881339; Sun, 25 Jun 2017 23:16:38 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5PNGbQl068278; Sun, 25 Jun 2017 23:16:37 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5PNGb51068277; Sun, 25 Jun 2017 23:16:37 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706252316.v5PNGb51068277@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 25 Jun 2017 23:16:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320344 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jun 2017 23:16:38 -0000 Author: kib Date: Sun Jun 25 23:16:37 2017 New Revision: 320344 URL: https://svnweb.freebsd.org/changeset/base/320344 Log: For now, allow mprotect(2) over the guards to succeed regardless of the requested protection. The syscall returns success without changing the protection of the guard. This is consistent with the current mprotect(2) behaviour on the unmapped ranges. More important, the calls performed by libc and libthr to allow execution of stacks, if requested by the loaded ELF objects, do the expected change instead of failing on the grow space guard. Reviewed by: alc, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Modified: head/sys/vm/vm_map.c Modified: head/sys/vm/vm_map.c ============================================================================== --- head/sys/vm/vm_map.c Sun Jun 25 22:39:28 2017 (r320343) +++ head/sys/vm/vm_map.c Sun Jun 25 23:16:37 2017 (r320344) @@ -2003,6 +2003,8 @@ vm_map_protect(vm_map_t map, vm_offset_t start, vm_off */ for (current = entry; current != &map->header && current->start < end; current = current->next) { + if ((current->eflags & MAP_ENTRY_GUARD) != 0) + continue; if (current->eflags & MAP_ENTRY_IS_SUB_MAP) { vm_map_unlock(map); return (KERN_INVALID_ARGUMENT); From owner-svn-src-head@freebsd.org Mon Jun 26 00:43:06 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 55329D9DC4A; Mon, 26 Jun 2017 00:43:06 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 30BCF838DA; Mon, 26 Jun 2017 00:43:06 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5Q0h5mf005324; Mon, 26 Jun 2017 00:43:05 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5Q0h4w8005319; Mon, 26 Jun 2017 00:43:04 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201706260043.v5Q0h4w8005319@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Mon, 26 Jun 2017 00:43:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320345 - in head/sys/fs: nfs nfsclient X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 00:43:06 -0000 Author: rmacklem Date: Mon Jun 26 00:43:04 2017 New Revision: 320345 URL: https://svnweb.freebsd.org/changeset/base/320345 Log: Add support to the NFSv4.1/pNFS client for commits through the DS. A NFSv4.1/pNFS server using File Layout can specify that Commit operations are to be done against the DS instead of MDS. Since no extant pNFS server did this, the code was untested and "#ifdef notyet". The FreeBSD pNFS server I am developing does specify that Commits be done through the DS, so the code has been enabled/tested. This patch should only affect the case of a pNFS server that specfies Commits through the DS. PR: 219551 MFC after: 2 weeks Modified: head/sys/fs/nfs/nfs_var.h head/sys/fs/nfsclient/nfs_clnode.c head/sys/fs/nfsclient/nfs_clrpcops.c head/sys/fs/nfsclient/nfs_clvnops.c head/sys/fs/nfsclient/nfsnode.h Modified: head/sys/fs/nfs/nfs_var.h ============================================================================== --- head/sys/fs/nfs/nfs_var.h Sun Jun 25 23:16:37 2017 (r320344) +++ head/sys/fs/nfs/nfs_var.h Mon Jun 26 00:43:04 2017 (r320345) @@ -490,7 +490,7 @@ int nfsrpc_layoutreturn(struct nfsmount *, uint8_t *, int, uint64_t, uint64_t, nfsv4stateid_t *, int, uint32_t *, struct ucred *, NFSPROC_T *, void *); int nfsrpc_reclaimcomplete(struct nfsmount *, struct ucred *, NFSPROC_T *); -int nfscl_doiods(vnode_t, struct uio *, int *, int *, uint32_t, +int nfscl_doiods(vnode_t, struct uio *, int *, int *, uint32_t, int, struct ucred *, NFSPROC_T *); int nfscl_findlayoutforio(struct nfscllayout *, uint64_t, uint32_t, struct nfsclflayout **); Modified: head/sys/fs/nfsclient/nfs_clnode.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clnode.c Sun Jun 25 23:16:37 2017 (r320344) +++ head/sys/fs/nfsclient/nfs_clnode.c Mon Jun 26 00:43:04 2017 (r320345) @@ -259,10 +259,12 @@ ncl_inactive(struct vop_inactive_args *ap) /* * NMODIFIED means that there might be dirty/stale buffers - * associated with the NFS vnode. None of the other flags are - * meaningful after the vnode is unused. + * associated with the NFS vnode. + * NDSCOMMIT means that the file is on a pNFS server and commits + * should be done to the DS. + * None of the other flags are meaningful after the vnode is unused. */ - np->n_flag &= NMODIFIED; + np->n_flag &= (NMODIFIED | NDSCOMMIT); mtx_unlock(&np->n_mtx); return (0); } Modified: head/sys/fs/nfsclient/nfs_clrpcops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clrpcops.c Sun Jun 25 23:16:37 2017 (r320344) +++ head/sys/fs/nfsclient/nfs_clrpcops.c Mon Jun 26 00:43:04 2017 (r320345) @@ -114,7 +114,8 @@ static int nfsrpc_fillsa(struct nfsmount *, struct soc static void nfscl_initsessionslots(struct nfsclsession *); static int nfscl_doflayoutio(vnode_t, struct uio *, int *, int *, int *, nfsv4stateid_t *, int, struct nfscldevinfo *, struct nfscllayout *, - struct nfsclflayout *, uint64_t, uint64_t, struct ucred *, NFSPROC_T *); + struct nfsclflayout *, uint64_t, uint64_t, int, struct ucred *, + NFSPROC_T *); static int nfsrpc_readds(vnode_t, struct uio *, nfsv4stateid_t *, int *, struct nfsclds *, uint64_t, int, struct nfsfh *, struct ucred *, NFSPROC_T *); @@ -123,10 +124,8 @@ static int nfsrpc_writeds(vnode_t, struct uio *, int * struct nfsfh *, int, struct ucred *, NFSPROC_T *); static enum nfsclds_state nfscl_getsameserver(struct nfsmount *, struct nfsclds *, struct nfsclds **); -#ifdef notyet static int nfsrpc_commitds(vnode_t, uint64_t, int, struct nfsclds *, - struct nfsfh *, struct ucred *, NFSPROC_T *, void *); -#endif + struct nfsfh *, struct ucred *, NFSPROC_T *); static void nfsrv_setuplayoutget(struct nfsrv_descript *, int, uint64_t, uint64_t, uint64_t, nfsv4stateid_t *, int, int); static int nfsrv_parselayoutget(struct nfsrv_descript *, nfsv4stateid_t *, @@ -5439,7 +5438,7 @@ nfscl_initsessionslots(struct nfsclsession *sep) */ int nfscl_doiods(vnode_t vp, struct uio *uiop, int *iomode, int *must_commit, - uint32_t rwaccess, struct ucred *cred, NFSPROC_T *p) + uint32_t rwaccess, int docommit, struct ucred *cred, NFSPROC_T *p) { struct nfsnode *np = VTONFS(vp); struct nfsmount *nmp = VFSTONFS(vnode_mount(vp)); @@ -5523,7 +5522,8 @@ nfscl_doiods(vnode_t vp, struct uio *uiop, int *iomode if (dip != NULL) { error = nfscl_doflayoutio(vp, uiop, iomode, must_commit, &eof, &stateid, rwaccess, dip, - layp, rflp, off, xfer, newcred, p); + layp, rflp, off, xfer, docommit, newcred, + p); nfscl_reldevinfo(dip); lastbyte = off + xfer - 1; if (error == 0) { @@ -5599,10 +5599,10 @@ static int nfscl_doflayoutio(vnode_t vp, struct uio *uiop, int *iomode, int *must_commit, int *eofp, nfsv4stateid_t *stateidp, int rwflag, struct nfscldevinfo *dp, struct nfscllayout *lyp, struct nfsclflayout *flp, uint64_t off, - uint64_t len, struct ucred *cred, NFSPROC_T *p) + uint64_t len, int docommit, struct ucred *cred, NFSPROC_T *p) { uint64_t io_off, rel_off, stripe_unit_size, transfer, xfer; - int commit_thru_mds, error = 0, stripe_index, stripe_pos; + int commit_thru_mds, error, stripe_index, stripe_pos; struct nfsnode *np; struct nfsfh *fhp; struct nfsclds **dspp; @@ -5613,12 +5613,13 @@ nfscl_doflayoutio(vnode_t vp, struct uio *uiop, int *i stripe_pos = (rel_off / stripe_unit_size + flp->nfsfl_stripe1) % dp->nfsdi_stripecnt; transfer = stripe_unit_size - (rel_off % stripe_unit_size); + error = 0; /* Loop around, doing I/O for each stripe unit. */ while (len > 0 && error == 0) { stripe_index = nfsfldi_stripeindex(dp, stripe_pos); dspp = nfsfldi_addr(dp, stripe_index); - if (len > transfer) + if (len > transfer && docommit == 0) xfer = transfer; else xfer = len; @@ -5642,11 +5643,33 @@ nfscl_doflayoutio(vnode_t vp, struct uio *uiop, int *i fhp = np->n_fhp; io_off = off; } - if ((flp->nfsfl_util & NFSFLAYUTIL_COMMIT_THRU_MDS) != 0) + if ((flp->nfsfl_util & NFSFLAYUTIL_COMMIT_THRU_MDS) != 0) { commit_thru_mds = 1; - else + if (docommit != 0) + error = EIO; + } else { commit_thru_mds = 0; - if (rwflag == FREAD) + mtx_lock(&np->n_mtx); + np->n_flag |= NDSCOMMIT; + mtx_unlock(&np->n_mtx); + } + if (docommit != 0) { + if (error == 0) + error = nfsrpc_commitds(vp, io_off, xfer, + *dspp, fhp, cred, p); + if (error == 0) { + /* + * Set both eof and uio_resid = 0 to end any + * loops. + */ + *eofp = 1; + uiop->uio_resid = 0; + } else { + mtx_lock(&np->n_mtx); + np->n_flag &= ~NDSCOMMIT; + mtx_unlock(&np->n_mtx); + } + } else if (rwflag == FREAD) error = nfsrpc_readds(vp, uiop, stateidp, eofp, *dspp, io_off, xfer, fhp, cred, p); else { @@ -5882,13 +5905,12 @@ nfscl_getsameserver(struct nfsmount *nmp, struct nfscl return (NFSDSP_NOTFOUND); } -#ifdef notyet /* - * NFS commit rpc to a DS. + * NFS commit rpc to a NFSv4.1 DS. */ static int nfsrpc_commitds(vnode_t vp, uint64_t offset, int cnt, struct nfsclds *dsp, - struct nfsfh *fhp, struct ucred *cred, NFSPROC_T *p, void *stuff) + struct nfsfh *fhp, struct ucred *cred, NFSPROC_T *p) { uint32_t *tl; struct nfsrv_descript nfsd, *nd = &nfsd; @@ -5896,6 +5918,7 @@ nfsrpc_commitds(vnode_t vp, uint64_t offset, int cnt, struct nfssockreq *nrp; int error; + nd->nd_mrep = NULL; nfscl_reqstart(nd, NFSPROC_COMMITDS, nmp, fhp->nfh_fh, fhp->nfh_len, NULL, &dsp->nfsclds_sess); NFSM_BUILD(tl, uint32_t *, NFSX_HYPER + NFSX_UNSIGNED); @@ -5908,7 +5931,7 @@ nfsrpc_commitds(vnode_t vp, uint64_t offset, int cnt, nrp = &nmp->nm_sockreq; error = newnfs_request(nd, nmp, NULL, nrp, vp, p, cred, NFS_PROG, NFS_VER4, NULL, 1, NULL, &dsp->nfsclds_sess); - if (error) + if (error != 0) return (error); if (nd->nd_repstat == 0) { NFSM_DISSECT(tl, u_int32_t *, NFSX_VERF); @@ -5925,7 +5948,6 @@ nfsmout: mbuf_freem(nd->nd_mrep); return (error); } -#endif /* * Set up the XDR arguments for the LayoutGet operation. Modified: head/sys/fs/nfsclient/nfs_clvnops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvnops.c Sun Jun 25 23:16:37 2017 (r320344) +++ head/sys/fs/nfsclient/nfs_clvnops.c Mon Jun 26 00:43:04 2017 (r320345) @@ -1367,7 +1367,7 @@ ncl_readrpc(struct vnode *vp, struct uio *uiop, struct attrflag = 0; if (NFSHASPNFS(nmp)) error = nfscl_doiods(vp, uiop, NULL, NULL, - NFSV4OPEN_ACCESSREAD, cred, uiop->uio_td); + NFSV4OPEN_ACCESSREAD, 0, cred, uiop->uio_td); NFSCL_DEBUG(4, "readrpc: aft doiods=%d\n", error); if (error != 0) error = nfsrpc_read(vp, uiop, cred, uiop->uio_td, &nfsva, @@ -1398,7 +1398,7 @@ ncl_writerpc(struct vnode *vp, struct uio *uiop, struc attrflag = 0; if (NFSHASPNFS(nmp)) error = nfscl_doiods(vp, uiop, iomode, must_commit, - NFSV4OPEN_ACCESSWRITE, cred, uiop->uio_td); + NFSV4OPEN_ACCESSWRITE, 0, cred, uiop->uio_td); NFSCL_DEBUG(4, "writerpc: aft doiods=%d\n", error); if (error != 0) error = nfsrpc_write(vp, uiop, iomode, must_commit, cred, @@ -2555,16 +2555,34 @@ ncl_commit(struct vnode *vp, u_quad_t offset, int cnt, { struct nfsvattr nfsva; struct nfsmount *nmp = VFSTONFS(vp->v_mount); + struct nfsnode *np; + struct uio uio; int error, attrflag; - mtx_lock(&nmp->nm_mtx); - if ((nmp->nm_state & NFSSTA_HASWRITEVERF) == 0) { + np = VTONFS(vp); + error = EIO; + attrflag = 0; + if (NFSHASPNFS(nmp) && (np->n_flag & NDSCOMMIT) != 0) { + uio.uio_offset = offset; + uio.uio_resid = cnt; + error = nfscl_doiods(vp, &uio, NULL, NULL, + NFSV4OPEN_ACCESSWRITE, 1, cred, td); + if (error != 0) { + mtx_lock(&np->n_mtx); + np->n_flag &= ~NDSCOMMIT; + mtx_unlock(&np->n_mtx); + } + } + if (error != 0) { + mtx_lock(&nmp->nm_mtx); + if ((nmp->nm_state & NFSSTA_HASWRITEVERF) == 0) { + mtx_unlock(&nmp->nm_mtx); + return (0); + } mtx_unlock(&nmp->nm_mtx); - return (0); + error = nfsrpc_commit(vp, offset, cnt, cred, td, &nfsva, + &attrflag, NULL); } - mtx_unlock(&nmp->nm_mtx); - error = nfsrpc_commit(vp, offset, cnt, cred, td, &nfsva, - &attrflag, NULL); if (attrflag != 0) (void) nfscl_loadattrcache(&vp, &nfsva, NULL, NULL, 0, 1); Modified: head/sys/fs/nfsclient/nfsnode.h ============================================================================== --- head/sys/fs/nfsclient/nfsnode.h Sun Jun 25 23:16:37 2017 (r320344) +++ head/sys/fs/nfsclient/nfsnode.h Mon Jun 26 00:43:04 2017 (r320345) @@ -158,6 +158,7 @@ struct nfsnode { #define NNOLAYOUT 0x00020000 /* Can't get a layout for this file */ #define NWRITEOPENED 0x00040000 /* Has been opened for writing */ #define NHASBEENLOCKED 0x00080000 /* Has been file locked. */ +#define NDSCOMMIT 0x00100000 /* Commit is done via the DS. */ /* * Convert between nfsnode pointers and vnode pointers From owner-svn-src-head@freebsd.org Mon Jun 26 02:25:21 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 52D63D9F25E; Mon, 26 Jun 2017 02:25:21 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2D5AA1126; Mon, 26 Jun 2017 02:25:21 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5Q2PKXd046123; Mon, 26 Jun 2017 02:25:20 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5Q2PJCT046112; Mon, 26 Jun 2017 02:25:19 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201706260225.v5Q2PJCT046112@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Mon, 26 Jun 2017 02:25:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320347 - in head: . share/man/man7 sys/compat/freebsd32 sys/net sys/powerpc/include sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 02:25:21 -0000 Author: jhibbits Date: Mon Jun 26 02:25:19 2017 New Revision: 320347 URL: https://svnweb.freebsd.org/changeset/base/320347 Log: Solve the y2038 problem for powerpc AKA Make time_t 64 bits on powerpc(32). PowerPC currently (until now) was one of two architectures with a 32-bit time_t on 32-bit archs (the other being i386). This is an ABI breakage, so all ports, and all local binaries, *must* be recompiled. Tested by: andreast, others MFC after: Never Relnotes: Yes Modified: head/UPDATING head/share/man/man7/arch.7 head/sys/compat/freebsd32/freebsd32.h head/sys/compat/freebsd32/freebsd32_misc.c head/sys/net/bpf.c head/sys/powerpc/include/_types.h head/sys/powerpc/include/proc.h head/sys/sys/acct.h head/sys/sys/param.h Modified: head/UPDATING ============================================================================== --- head/UPDATING Mon Jun 26 02:00:22 2017 (r320346) +++ head/UPDATING Mon Jun 26 02:25:19 2017 (r320347) @@ -51,6 +51,15 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: ****************************** SPECIAL WARNING: ****************************** +20170625: + The FreeBSD/powerpc platform now uses a 64-bit type for time_t. This is + a very major ABI incompatible change, so users of FreeBSD/powerpc must + be careful when performing source upgrades. It is best to run + 'make installworld' from an alternate root system, either a live + CD/memory stick, or a temporary root partition. Additionally, all ports + must be recompiled. powerpc64 is largely unaffected, except in the case + of 32-bit compatibility. All 32-bit binaries will be affected. + 20170623: Forward compatibility for the "ino64" project have been committed. This will allow most new binaries to run on older kernels in a limited Modified: head/share/man/man7/arch.7 ============================================================================== --- head/share/man/man7/arch.7 Mon Jun 26 02:00:22 2017 (r320346) +++ head/share/man/man7/arch.7 Mon Jun 26 02:25:19 2017 (r320347) @@ -203,8 +203,8 @@ Machine-dependent type sizes: .It mips64el Ta 8 Ta 8 Ta 8 .It mips64elhf Ta 8 Ta 8 Ta 8 .It mips64hf Ta 8 Ta 8 Ta 8 -.It powerpc Ta 4 Ta 8 Ta 4 -.It powerpcspe Ta 4 Ta 8 Ta 4 +.It powerpc Ta 4 Ta 8 Ta 8 +.It powerpcspe Ta 4 Ta 8 Ta 8 .It powerpc64 Ta 8 Ta 8 Ta 8 .It riscv64 Ta 8 Ta 16 Ta 8 .It riscv64sf Ta 8 Ta 16 Ta 8 Modified: head/sys/compat/freebsd32/freebsd32.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32.h Mon Jun 26 02:00:22 2017 (r320346) +++ head/sys/compat/freebsd32/freebsd32.h Mon Jun 26 02:25:19 2017 (r320347) @@ -45,7 +45,7 @@ /* * Being a newer port, 32-bit FreeBSD/MIPS uses 64-bit time_t. */ -#ifdef __mips__ +#if defined (__mips__) || defined(__powerpc__) typedef int64_t time32_t; #else typedef int32_t time32_t; Modified: head/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_misc.c Mon Jun 26 02:00:22 2017 (r320346) +++ head/sys/compat/freebsd32/freebsd32_misc.c Mon Jun 26 02:25:19 2017 (r320347) @@ -109,13 +109,13 @@ __FBSDID("$FreeBSD$"); FEATURE(compat_freebsd_32bit, "Compatible with 32-bit FreeBSD"); -#ifndef __mips__ +#if !defined(__mips__) && !defined(__powerpc__) CTASSERT(sizeof(struct timeval32) == 8); CTASSERT(sizeof(struct timespec32) == 8); CTASSERT(sizeof(struct itimerval32) == 16); #endif CTASSERT(sizeof(struct statfs32) == 256); -#ifndef __mips__ +#if !defined(__mips__) && !defined(__powerpc__) CTASSERT(sizeof(struct rusage32) == 72); #endif CTASSERT(sizeof(struct sigaltstack32) == 12); @@ -125,7 +125,7 @@ CTASSERT(sizeof(struct msghdr32) == 28); #ifdef __amd64__ CTASSERT(sizeof(struct stat32) == 208); #endif -#ifndef __mips__ +#if !defined(__mips__) && !defined(__powerpc__) CTASSERT(sizeof(struct freebsd11_stat32) == 96); #endif CTASSERT(sizeof(struct sigaction32) == 24); Modified: head/sys/net/bpf.c ============================================================================== --- head/sys/net/bpf.c Mon Jun 26 02:00:22 2017 (r320346) +++ head/sys/net/bpf.c Mon Jun 26 02:25:19 2017 (r320347) @@ -1283,7 +1283,7 @@ bpfioctl(struct cdev *dev, u_long cmd, caddr_t addr, i #endif case BIOCGETIF: case BIOCGRTIMEOUT: -#if defined(COMPAT_FREEBSD32) && !defined(__mips__) +#if defined(COMPAT_FREEBSD32) && !defined(__mips__) && !defined(__powerpc__) case BIOCGRTIMEOUT32: #endif case BIOCGSTATS: @@ -1295,7 +1295,7 @@ bpfioctl(struct cdev *dev, u_long cmd, caddr_t addr, i case FIONREAD: case BIOCLOCK: case BIOCSRTIMEOUT: -#if defined(COMPAT_FREEBSD32) && !defined(__mips__) +#if defined(COMPAT_FREEBSD32) && !defined(__mips__) && !defined(__powerpc__) case BIOCSRTIMEOUT32: #endif case BIOCIMMEDIATE: @@ -1519,7 +1519,7 @@ bpfioctl(struct cdev *dev, u_long cmd, caddr_t addr, i * Set read timeout. */ case BIOCSRTIMEOUT: -#if defined(COMPAT_FREEBSD32) && !defined(__mips__) +#if defined(COMPAT_FREEBSD32) && !defined(__mips__) && !defined(__powerpc__) case BIOCSRTIMEOUT32: #endif { @@ -1550,12 +1550,12 @@ bpfioctl(struct cdev *dev, u_long cmd, caddr_t addr, i * Get read timeout. */ case BIOCGRTIMEOUT: -#if defined(COMPAT_FREEBSD32) && !defined(__mips__) +#if defined(COMPAT_FREEBSD32) && !defined(__mips__) && !defined(__powerpc__) case BIOCGRTIMEOUT32: #endif { struct timeval *tv; -#if defined(COMPAT_FREEBSD32) && !defined(__mips__) +#if defined(COMPAT_FREEBSD32) && !defined(__mips__) && !defined(__powerpc__) struct timeval32 *tv32; struct timeval tv64; @@ -1567,7 +1567,7 @@ bpfioctl(struct cdev *dev, u_long cmd, caddr_t addr, i tv->tv_sec = d->bd_rtout / hz; tv->tv_usec = (d->bd_rtout % hz) * tick; -#if defined(COMPAT_FREEBSD32) && !defined(__mips__) +#if defined(COMPAT_FREEBSD32) && !defined(__mips__) && !defined(__powerpc__) if (cmd == BIOCGRTIMEOUT32) { tv32 = (struct timeval32 *)addr; tv32->tv_sec = tv->tv_sec; Modified: head/sys/powerpc/include/_types.h ============================================================================== --- head/sys/powerpc/include/_types.h Mon Jun 26 02:00:22 2017 (r320346) +++ head/sys/powerpc/include/_types.h Mon Jun 26 02:25:19 2017 (r320347) @@ -98,16 +98,18 @@ typedef __int64_t __register_t; typedef __int64_t __segsz_t; /* segment size (in pages) */ typedef __uint64_t __size_t; /* sizeof() */ typedef __int64_t __ssize_t; /* byte count or error */ -typedef __int64_t __time_t; /* time()... */ -typedef __uint64_t __uintfptr_t; -typedef __uint64_t __uintptr_t; #else typedef __int32_t __ptrdiff_t; /* ptr1 - ptr2 */ typedef __int32_t __register_t; typedef __int32_t __segsz_t; /* segment size (in pages) */ typedef __uint32_t __size_t; /* sizeof() */ typedef __int32_t __ssize_t; /* byte count or error */ -typedef __int32_t __time_t; /* time()... */ +#endif +typedef __int64_t __time_t; /* time()... */ +#ifdef __LP64__ +typedef __uint64_t __uintfptr_t; +typedef __uint64_t __uintptr_t; +#else typedef __uint32_t __uintfptr_t; typedef __uint32_t __uintptr_t; #endif Modified: head/sys/powerpc/include/proc.h ============================================================================== --- head/sys/powerpc/include/proc.h Mon Jun 26 02:00:22 2017 (r320346) +++ head/sys/powerpc/include/proc.h Mon Jun 26 02:25:19 2017 (r320347) @@ -48,9 +48,9 @@ struct mdproc { #ifdef __powerpc64__ #define KINFO_PROC_SIZE 1088 -#define KINFO_PROC32_SIZE 768 +#define KINFO_PROC32_SIZE 816 #else -#define KINFO_PROC_SIZE 768 +#define KINFO_PROC_SIZE 816 #endif struct syscall_args { Modified: head/sys/sys/acct.h ============================================================================== --- head/sys/sys/acct.h Mon Jun 26 02:00:22 2017 (r320346) +++ head/sys/sys/acct.h Mon Jun 26 02:25:19 2017 (r320347) @@ -66,9 +66,6 @@ struct acctv3 { float ac_io; /* count of IO blocks */ __dev_t ac_tty; /* controlling tty */ uint32_t ac_pad0; -#if defined(__powerpc__) && !defined(_LP64) - uint32_t ac_pad1; -#endif uint16_t ac_len2; /* record length */ union { uint32_t ac_align; /* force v1 compatible alignment */ Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Mon Jun 26 02:00:22 2017 (r320346) +++ head/sys/sys/param.h Mon Jun 26 02:25:19 2017 (r320347) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1200035 /* Master, propagated to newvers */ +#define __FreeBSD_version 1200036 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-head@freebsd.org Mon Jun 26 09:10:11 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4B405DA533C; Mon, 26 Jun 2017 09:10:11 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 25CDE70376; Mon, 26 Jun 2017 09:10:11 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5Q9AAfs011177; Mon, 26 Jun 2017 09:10:10 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5Q9AAi5011174; Mon, 26 Jun 2017 09:10:10 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706260910.v5Q9AAi5011174@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Mon, 26 Jun 2017 09:10:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320352 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 09:10:11 -0000 Author: avg Date: Mon Jun 26 09:10:09 2017 New Revision: 320352 URL: https://svnweb.freebsd.org/changeset/base/320352 Log: zfs: port vdev_file part of illumos change 3306 3306 zdb should be able to issue reads in parallel illumos/illumos-gate/31d7e8fa33fae995f558673adb22641b5aa8b6e1 https://www.illumos.org/issues/3306 The upstream change was made before we started to import upstream commits individually. It was imported into the illumos vendor area as r242733. That commit was MFV-ed in r260138, but as the commit message says vdev_file.c was left intact. This commit actually implements the parallel I/O for vdev_file using a taskqueue with multiple thread. This implementation does not depend on the illumos or FreeBSD bio interface at all, but uses zio_t to pass around all the relevent data. So, the code looks a bit different from the upstream. This commit also incorporates ZoL commit zfsonlinux/zfs/bc25c9325b0e5ced897b9820dad239539d561ec9 that fixed https://github.com/zfsonlinux/zfs/issues/2270 We need to use a dedicated taskqueue for exactly the same reason as ZoL as we do not implement TASKQ_DYNAMIC. Obtained from: illumos, ZFS on Linux MFC after: 2 weeks Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_file.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c Mon Jun 26 05:56:49 2017 (r320351) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c Mon Jun 26 09:10:09 2017 (r320352) @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -2020,6 +2021,7 @@ spa_init(int mode) dmu_init(); zil_init(); vdev_cache_stat_init(); + vdev_file_init(); zfs_prop_init(); zpool_prop_init(); zpool_feature_init(); @@ -2039,6 +2041,7 @@ spa_fini(void) spa_evict_all(); + vdev_file_fini(); vdev_cache_stat_fini(); zil_fini(); dmu_fini(); Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_file.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_file.h Mon Jun 26 05:56:49 2017 (r320351) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_file.h Mon Jun 26 09:10:09 2017 (r320352) @@ -39,6 +39,9 @@ typedef struct vdev_file { vnode_t *vf_vnode; } vdev_file_t; +extern void vdev_file_init(void); +extern void vdev_file_fini(void); + #ifdef __cplusplus } #endif Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c Mon Jun 26 05:56:49 2017 (r320351) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c Mon Jun 26 09:10:09 2017 (r320352) @@ -36,6 +36,21 @@ * Virtual device vector for files. */ +static taskq_t *vdev_file_taskq; + +void +vdev_file_init(void) +{ + vdev_file_taskq = taskq_create("z_vdev_file", MAX(max_ncpus, 16), + minclsyspri, max_ncpus, INT_MAX, 0); +} + +void +vdev_file_fini(void) +{ + taskq_destroy(vdev_file_taskq); +} + static void vdev_file_hold(vdev_t *vd) { @@ -157,41 +172,32 @@ vdev_file_close(vdev_t *vd) vd->vdev_tsd = NULL; } +/* + * Implements the interrupt side for file vdev types. This routine will be + * called when the I/O completes allowing us to transfer the I/O to the + * interrupt taskqs. For consistency, the code structure mimics disk vdev + * types. + */ static void -vdev_file_io_start(zio_t *zio) +vdev_file_io_intr(zio_t *zio) { + zio_delay_interrupt(zio); +} + +static void +vdev_file_io_strategy(void *arg) +{ + zio_t *zio = arg; vdev_t *vd = zio->io_vd; vdev_file_t *vf; vnode_t *vp; void *addr; ssize_t resid; - if (!vdev_readable(vd)) { - zio->io_error = SET_ERROR(ENXIO); - zio_interrupt(zio); - return; - } - vf = vd->vdev_tsd; vp = vf->vf_vnode; - if (zio->io_type == ZIO_TYPE_IOCTL) { - switch (zio->io_cmd) { - case DKIOCFLUSHWRITECACHE: - zio->io_error = VOP_FSYNC(vp, FSYNC | FDSYNC, - kcred, NULL); - break; - default: - zio->io_error = SET_ERROR(ENOTSUP); - } - - zio_execute(zio); - return; - } - ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE); - zio->io_target_timestamp = zio_handle_io_delay(zio); - if (zio->io_type == ZIO_TYPE_READ) { addr = abd_borrow_buf(zio->io_abd, zio->io_size); } else { @@ -211,12 +217,41 @@ vdev_file_io_start(zio_t *zio) if (resid != 0 && zio->io_error == 0) zio->io_error = ENOSPC; - zio_delay_interrupt(zio); + vdev_file_io_intr(zio); +} -#ifdef illumos - VERIFY3U(taskq_dispatch(system_taskq, vdev_file_io_strategy, bp, +static void +vdev_file_io_start(zio_t *zio) +{ + vdev_t *vd = zio->io_vd; + vdev_file_t *vf = vd->vdev_tsd; + + if (zio->io_type == ZIO_TYPE_IOCTL) { + /* XXPOLICY */ + if (!vdev_readable(vd)) { + zio->io_error = SET_ERROR(ENXIO); + zio_interrupt(zio); + return; + } + + switch (zio->io_cmd) { + case DKIOCFLUSHWRITECACHE: + zio->io_error = VOP_FSYNC(vf->vf_vnode, FSYNC | FDSYNC, + kcred, NULL); + break; + default: + zio->io_error = SET_ERROR(ENOTSUP); + } + + zio_execute(zio); + return; + } + + ASSERT(zio->io_type == ZIO_TYPE_READ || zio->io_type == ZIO_TYPE_WRITE); + zio->io_target_timestamp = zio_handle_io_delay(zio); + + VERIFY3U(taskq_dispatch(vdev_file_taskq, vdev_file_io_strategy, zio, TQ_SLEEP), !=, 0); -#endif } /* ARGSUSED */ From owner-svn-src-head@freebsd.org Mon Jun 26 09:13:26 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B46C3DA555E; Mon, 26 Jun 2017 09:13:26 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 826D17075F; Mon, 26 Jun 2017 09:13:26 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5Q9DPPX015227; Mon, 26 Jun 2017 09:13:25 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5Q9DPoV015226; Mon, 26 Jun 2017 09:13:25 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706260913.v5Q9DPoV015226@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Mon, 26 Jun 2017 09:13:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320353 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 09:13:26 -0000 Author: avg Date: Mon Jun 26 09:13:25 2017 New Revision: 320353 URL: https://svnweb.freebsd.org/changeset/base/320353 Log: linux_getdents, linux_readdir: fix mismatch between malloc and free tags MFC after: 3 days Modified: head/sys/compat/linux/linux_file.c Modified: head/sys/compat/linux/linux_file.c ============================================================================== --- head/sys/compat/linux/linux_file.c Mon Jun 26 09:10:09 2017 (r320352) +++ head/sys/compat/linux/linux_file.c Mon Jun 26 09:13:25 2017 (r320353) @@ -381,9 +381,9 @@ linux_getdents(struct thread *td, struct linux_getdent td->td_retval[0] = retval; out: - free(lbuf, M_LINUX); + free(lbuf, M_TEMP); out1: - free(buf, M_LINUX); + free(buf, M_TEMP); return (error); } @@ -507,9 +507,9 @@ linux_readdir(struct thread *td, struct linux_readdir_ if (error == 0) td->td_retval[0] = linuxreclen; - free(lbuf, M_LINUX); + free(lbuf, M_TEMP); out: - free(buf, M_LINUX); + free(buf, M_TEMP); return (error); } #endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ From owner-svn-src-head@freebsd.org Mon Jun 26 09:26:06 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 59081DA57B3; Mon, 26 Jun 2017 09:26:06 +0000 (UTC) (envelope-from dchagin@mordor.heemeyer.club) Received: from heemeyer.club (heemeyer.club [108.61.204.158]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "heemeyer.club", Issuer "heemeyer.club" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 23DD870C01; Mon, 26 Jun 2017 09:26:04 +0000 (UTC) (envelope-from dchagin@mordor.heemeyer.club) Received: from mordor.heemeyer.club (dchagin.static.corbina.ru [78.107.232.239]) by heemeyer.club (8.15.2/8.15.1) with ESMTPS id v5Q9PuOX052510 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 26 Jun 2017 09:25:57 GMT (envelope-from dchagin@mordor.heemeyer.club) X-Authentication-Warning: heemeyer.club: Host dchagin.static.corbina.ru [78.107.232.239] claimed to be mordor.heemeyer.club Received: from mordor.heemeyer.club (localhost [127.0.0.1]) by mordor.heemeyer.club (8.15.2/8.15.1) with ESMTPS id v5Q9PtsT002474 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 26 Jun 2017 12:25:55 +0300 (MSK) (envelope-from dchagin@mordor.heemeyer.club) Received: (from dchagin@localhost) by mordor.heemeyer.club (8.15.2/8.15.2/Submit) id v5Q9Ptw8002471; Mon, 26 Jun 2017 12:25:55 +0300 (MSK) (envelope-from dchagin) Date: Mon, 26 Jun 2017 12:25:55 +0300 From: Chagin Dmitry To: Andriy Gapon Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320353 - head/sys/compat/linux Message-ID: <20170626092555.GA2367@mordor.heemeyer.club> References: <201706260913.v5Q9DPoV015226@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201706260913.v5Q9DPoV015226@repo.freebsd.org> User-Agent: Mutt/1.8.2 (2017-04-18) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 09:26:06 -0000 On Mon, Jun 26, 2017 at 09:13:25AM +0000, Andriy Gapon wrote: > Author: avg > Date: Mon Jun 26 09:13:25 2017 > New Revision: 320353 > URL: https://svnweb.freebsd.org/changeset/base/320353 > > Log: > linux_getdents, linux_readdir: fix mismatch between malloc and free tags > > MFC after: 3 days > whoops, thanks From owner-svn-src-head@freebsd.org Mon Jun 26 13:11:23 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 63E71D86942; Mon, 26 Jun 2017 13:11:23 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3515F789EC; Mon, 26 Jun 2017 13:11:23 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5QDBMWc013148; Mon, 26 Jun 2017 13:11:22 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5QDBMBb013146; Mon, 26 Jun 2017 13:11:22 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706261311.v5QDBMBb013146@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Mon, 26 Jun 2017 13:11:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320359 - in head/sys/fs: nfs nfsserver X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 13:11:23 -0000 Author: trasz Date: Mon Jun 26 13:11:21 2017 New Revision: 320359 URL: https://svnweb.freebsd.org/changeset/base/320359 Log: Add vfs.nfsd.nfsd_enable_uidtostring, which works just like vfs.nfsd.nfsd_enable_stringtouid, but in reverse - when set to 1, it forces the NFSv4 server to return numeric UIDs and GIDs instead of "user@domain" strings. This helps with clients that can't translate returned identifiers, eg when rerooting. The same can be achieved by just never running nfsuserd(8), but the sysctl is useful to toggle the behaviour back and forth without rebooting. Reviewed by: rmacklem (earlier version) MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D11326 Modified: head/sys/fs/nfs/nfs_commonsubs.c head/sys/fs/nfsserver/nfs_nfsdport.c Modified: head/sys/fs/nfs/nfs_commonsubs.c ============================================================================== --- head/sys/fs/nfs/nfs_commonsubs.c Mon Jun 26 12:37:11 2017 (r320358) +++ head/sys/fs/nfs/nfs_commonsubs.c Mon Jun 26 13:11:21 2017 (r320359) @@ -68,6 +68,7 @@ gid_t nfsrv_defaultgid = GID_NOGROUP; int nfsrv_lease = NFSRV_LEASE; int ncl_mbuf_mlen = MLEN; int nfsd_enable_stringtouid = 0; +int nfsd_enable_uidtostring = 0; NFSNAMEIDMUTEX; NFSSOCKMUTEX; extern int nfsrv_lughashsize; @@ -2561,7 +2562,7 @@ nfsv4_uidtostr(uid_t uid, u_char **cpp, int *retlenp, cnt = 0; tryagain: - if (nfsrv_dnsnamelen > 0) { + if (nfsrv_dnsnamelen > 0 && !nfsd_enable_uidtostring) { /* * Always map nfsrv_defaultuid to "nobody". */ @@ -2671,7 +2672,7 @@ nfsrv_getgrpscred(struct ucred *oldcred) cnt = 0; uid = oldcred->cr_uid; tryagain: - if (nfsrv_dnsnamelen > 0) { + if (nfsrv_dnsnamelen > 0 && !nfsd_enable_uidtostring) { hp = NFSUSERHASH(uid); mtx_lock(&hp->mtx); TAILQ_FOREACH(usrp, &hp->lughead, lug_numhash) { @@ -2823,7 +2824,7 @@ nfsv4_gidtostr(gid_t gid, u_char **cpp, int *retlenp, cnt = 0; tryagain: - if (nfsrv_dnsnamelen > 0) { + if (nfsrv_dnsnamelen > 0 && !nfsd_enable_uidtostring) { /* * Always map nfsrv_defaultgid to "nogroup". */ Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Mon Jun 26 12:37:11 2017 (r320358) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Mon Jun 26 13:11:21 2017 (r320359) @@ -87,6 +87,7 @@ static int nfs_commit_miss; extern int nfsrv_issuedelegs; extern int nfsrv_dolocallocks; extern int nfsd_enable_stringtouid; +extern int nfsd_enable_uidtostring; SYSCTL_NODE(_vfs, OID_AUTO, nfsd, CTLFLAG_RW, 0, "NFS server"); SYSCTL_INT(_vfs_nfsd, OID_AUTO, mirrormnt, CTLFLAG_RW, @@ -103,6 +104,8 @@ SYSCTL_INT(_vfs_nfsd, OID_AUTO, debuglevel, CTLFLAG_RW 0, "Debug level for NFS server"); SYSCTL_INT(_vfs_nfsd, OID_AUTO, enable_stringtouid, CTLFLAG_RW, &nfsd_enable_stringtouid, 0, "Enable nfsd to accept numeric owner_names"); +SYSCTL_INT(_vfs_nfsd, OID_AUTO, enable_uidtostring, CTLFLAG_RW, + &nfsd_enable_uidtostring, 0, "Make nfsd always send numeric owner_names"); #define MAX_REORDERED_RPC 16 #define NUM_HEURISTIC 1031 From owner-svn-src-head@freebsd.org Mon Jun 26 13:14:42 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EA421D86C5A; Mon, 26 Jun 2017 13:14:42 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BA6B278D5F; Mon, 26 Jun 2017 13:14:42 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5QDEfRf014898; Mon, 26 Jun 2017 13:14:41 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5QDEfHj014897; Mon, 26 Jun 2017 13:14:41 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706261314.v5QDEfHj014897@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Mon, 26 Jun 2017 13:14:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320360 - head/usr.bin/resizewin X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 13:14:43 -0000 Author: trasz Date: Mon Jun 26 13:14:41 2017 New Revision: 320360 URL: https://svnweb.freebsd.org/changeset/base/320360 Log: Make resizewin(1) do flushing by using TCSAFLUSH instead of TCSANOW followed by tcflush(3). This works just as well and is more elegant. Suggested by: bde MFC after: 2 weeks Sponsored by: DARPA, AFRL Modified: head/usr.bin/resizewin/resizewin.c Modified: head/usr.bin/resizewin/resizewin.c ============================================================================== --- head/usr.bin/resizewin/resizewin.c Mon Jun 26 13:11:21 2017 (r320359) +++ head/usr.bin/resizewin/resizewin.c Mon Jun 26 13:14:41 2017 (r320360) @@ -91,20 +91,15 @@ main(int argc, char **argv) exit(0); } - /* Disable echo */ + /* Disable echo, drain the input, and flush the output */ if (tcgetattr(fd, &old) == -1) exit(1); new = old; new.c_cflag |= (CLOCAL | CREAD); new.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); - if (tcsetattr(fd, TCSANOW, &new) == -1) + if (tcsetattr(fd, TCSAFLUSH, &new) == -1) exit(1); - - /* Discard input received so far */ - error = tcflush(fd, TCIOFLUSH); - if (error != 0) - warn("tcflush"); if (write(fd, query, sizeof(query)) != sizeof(query)) { error = 1; From owner-svn-src-head@freebsd.org Mon Jun 26 13:20:18 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B5AA6D86E08 for ; Mon, 26 Jun 2017 13:20:18 +0000 (UTC) (envelope-from ed@nuxi.nl) Received: from mail-yb0-x234.google.com (mail-yb0-x234.google.com [IPv6:2607:f8b0:4002:c09::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7424078FF9 for ; Mon, 26 Jun 2017 13:20:18 +0000 (UTC) (envelope-from ed@nuxi.nl) Received: by mail-yb0-x234.google.com with SMTP id b81so335172yba.2 for ; Mon, 26 Jun 2017 06:20:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuxi-nl.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Mp4aTWP1no6X7UGAtb8KuyWTZlbxIbNvHU2JsUvRgb4=; b=Vaxdju/k+7WuYR08/qe08a1W77tlY3kN5cnxMYGeAaXuQpndXcmihpcsAhX2vAUqT9 BtyiZG2QLxRTV+cGM7tNKKhMlhzPXvX2WBlKbl0w7zUmmKlQbEhMRWqay/LdJD4uIYGR Ypl3dRwOfJ+650Bvc6DD8ILmMg/7MwsB6KMJc8INB/LSgx7rglPvzysbIQ3AZ0eDaqeQ REp1Yg1cxNhLh+9ZoKajWeJlIK4CtrZo79cl8XmPqywuqkyZAKA9PBlDc5Op05yckNmh ssXMa5JZM1EdJtZP54GHaWKAIFEuk0X6VTNH8kRMpidQV3Dk3qNi9iJ9J29+wPQRBHeU 5ixA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Mp4aTWP1no6X7UGAtb8KuyWTZlbxIbNvHU2JsUvRgb4=; b=iWImT0M1aFtujHMbPDA9yp9jHC/CsTPpfFse4VPnvv8v+wBDMcfqIxf+328xkEYpeZ S/nCtFDayvQmFkc/y+HJDd4na0A6z2sB/lt93RroTvzQHI50oY+UVMM8T4ljsQFbz9vK iIK6j2UruYgsK7KdKD9S1BhiOQBNKDc6ewlKXwLdjgRtTj1QYfGUrnbPkSPrna5CBHM9 GzmRDMj5ompfCJeNC08Si5YiSNqs8xw5uidh5G4ptLikhSlY3/MBMQrlsUJruCt2T72W MrNgtMVgfYEnBif0gzAA+2HmV/FbTuf2ZkaFjEFyaGPttnVthSHfAPn4Dt8Ryta6QNhV 4r6Q== X-Gm-Message-State: AKS2vOyijZFtXTxvWi/X/M9wvP7FjFbu3rlViRf0HDoBu/xeQS825jTC 0ca7smW+YQqidUq3mrc9fgN+sm1BTQFU X-Received: by 10.37.37.131 with SMTP id l125mr129887ybl.53.1498483217527; Mon, 26 Jun 2017 06:20:17 -0700 (PDT) MIME-Version: 1.0 Received: by 10.13.216.142 with HTTP; Mon, 26 Jun 2017 06:19:47 -0700 (PDT) In-Reply-To: <201706261314.v5QDEfHj014897@repo.freebsd.org> References: <201706261314.v5QDEfHj014897@repo.freebsd.org> From: Ed Schouten Date: Mon, 26 Jun 2017 15:19:47 +0200 Message-ID: Subject: Re: svn commit: r320360 - head/usr.bin/resizewin To: Edward Tomasz Napierala Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 13:20:18 -0000 2017-06-26 15:14 GMT+02:00 Edward Tomasz Napierala : > + /* Disable echo, drain the input, and flush the output */ > if (tcgetattr(fd, &old) == -1) > exit(1); > + if (tcsetattr(fd, TCSAFLUSH, &new) == -1) > exit(1); Would it make sense to print diagnostics here? -- Ed Schouten Nuxi, 's-Hertogenbosch, the Netherlands KvK-nr.: 62051717 From owner-svn-src-head@freebsd.org Mon Jun 26 14:22:56 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AE0B1D88946 for ; Mon, 26 Jun 2017 14:22:56 +0000 (UTC) (envelope-from stephen.joseph@united-email.info) Received: from mserver.united-email.info (mail.united-email.info [137.59.52.162]) by mx1.freebsd.org (Postfix) with ESMTP id 2E67F7B5F1 for ; Mon, 26 Jun 2017 14:22:54 +0000 (UTC) (envelope-from stephen.joseph@united-email.info) Received: from StephenPC (unknown [202.133.79.30]) by mserver.united-email.info (Postfix) with ESMTPA id CB4FC101B823D for ; Mon, 26 Jun 2017 19:57:46 +0530 (IST) Reply-To: From: "Stephen Joseph" To: Subject: Data processing Date: Mon, 26 Jun 2017 09:20:46 -0500 Message-ID: <0f1301d2ee87$ac6e6f80$054b4e80$@joseph@united-email.info> MIME-Version: 1.0 X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AdLuhRYSNxMOD0lMTpirA1FPniT5xw== Content-Language: en-us Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 14:22:56 -0000 Hi, Good day to you! =20 My name is Stephen Joseph, the Business Development Manager at one of = the leading email database providing companies. =20 Our area of expertise lies specifically in the major industrial lists = like: Agriculture, Business Services, Chambers of Commerce, Cities, Towns & Municipalities, Construction, Consumer Services, Cultural, Education, Energy, Utilities & Waste Treatment, Finance, Government, Healthcare, Hospitality, Insurance, Law Firms & Legal Services, Manufacturing, Media = & Internet, Metals & Mining, Organizations, Real Estate, Retail, Software, Telecommunications, Transportation, etc. Building long term relationships with our clients is something we = strongly believe in and we go to great lengths to ensure our valuable clients = receive first rate service. Some of the most popular services we offer include: =FC List service #1 - B2B & B2C Email Lists =FC List service #2 -Data Processing & Email Appending =FC List service #3 - Email Campaigning =20 We=92d welcome the opportunity to discuss your email list needs.=20 Best Regards, =20 Stephen Joseph | Business Development Associate | T: +1 610 572 4885 Global Business Data =96 Email Append =96 Data Append. =20 If you are not interested in receiving further emails, please reply back with =93LEAVEOUT=94 in the subject line=94. =20 From owner-svn-src-head@freebsd.org Mon Jun 26 14:32:16 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 00BABD88C5C for ; Mon, 26 Jun 2017 14:32:16 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound1b.ore.mailhop.org (outbound1b.ore.mailhop.org [54.200.247.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D9B187B8F2 for ; Mon, 26 Jun 2017 14:32:15 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-User: 3ed2f43a-5a7c-11e7-8dc9-a95799a96e8f X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 73.78.92.27 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [73.78.92.27]) by outbound1.ore.mailhop.org (Halon) with ESMTPSA id 3ed2f43a-5a7c-11e7-8dc9-a95799a96e8f; Mon, 26 Jun 2017 14:32:14 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id v5QEW7X3017552; Mon, 26 Jun 2017 08:32:07 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <1498487527.85102.5.camel@freebsd.org> Subject: Re: svn commit: r320360 - head/usr.bin/resizewin From: Ian Lepore To: Edward Tomasz Napierala , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Date: Mon, 26 Jun 2017 08:32:07 -0600 In-Reply-To: <201706261314.v5QDEfHj014897@repo.freebsd.org> References: <201706261314.v5QDEfHj014897@repo.freebsd.org> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.18.5.1 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 14:32:16 -0000 On Mon, 2017-06-26 at 13:14 +0000, Edward Tomasz Napierala wrote: > Author: trasz > Date: Mon Jun 26 13:14:41 2017 > New Revision: 320360 > URL: https://svnweb.freebsd.org/changeset/base/320360 > > Log: >   Make resizewin(1) do flushing by using TCSAFLUSH instead of TCSANOW >   followed by tcflush(3).  This works just as well and is more > elegant. >    >   Suggested by: bde >   MFC after: 2 weeks >   Sponsored by: DARPA, AFRL > > Modified: >   head/usr.bin/resizewin/resizewin.c > > Modified: head/usr.bin/resizewin/resizewin.c > ===================================================================== > ========= > --- head/usr.bin/resizewin/resizewin.c Mon Jun 26 13:11:21 > 2017 (r320359) > +++ head/usr.bin/resizewin/resizewin.c Mon Jun 26 13:14:41 > 2017 (r320360) > @@ -91,20 +91,15 @@ main(int argc, char **argv) >   exit(0); >   } >   > - /* Disable echo */ > + /* Disable echo, drain the input, and flush the output */ This comment is backwards.  Draining happens to output, and flushing happens to input. -- Ian From owner-svn-src-head@freebsd.org Mon Jun 26 15:40:25 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E530ED8A2E3; Mon, 26 Jun 2017 15:40:25 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B3B4A7DABE; Mon, 26 Jun 2017 15:40:25 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5QFeOvA072842; Mon, 26 Jun 2017 15:40:24 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5QFeOTj072841; Mon, 26 Jun 2017 15:40:24 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706261540.v5QFeOTj072841@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Mon, 26 Jun 2017 15:40:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320362 - head/share/zoneinfo X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 15:40:26 -0000 Author: trasz Date: Mon Jun 26 15:40:24 2017 New Revision: 320362 URL: https://svnweb.freebsd.org/changeset/base/320362 Log: Provide visual feedback when timezone files are installed. After r320003 it wasn't being shown in any way. Submitted by: bdrewery MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D11154 Modified: head/share/zoneinfo/Makefile Modified: head/share/zoneinfo/Makefile ============================================================================== --- head/share/zoneinfo/Makefile Mon Jun 26 15:23:12 2017 (r320361) +++ head/share/zoneinfo/Makefile Mon Jun 26 15:40:24 2017 (r320362) @@ -83,14 +83,19 @@ zoneinfo: yearistype ${TDATA} zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \ ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES} +.if make(*install*) +TZS!= cd ${TZBUILDDIR} && find -s * -type f +.endif + beforeinstall: install-zoneinfo install-zoneinfo: mkdir -p ${DESTDIR}/usr/share/zoneinfo cd ${DESTDIR}/usr/share/zoneinfo; mkdir -p ${TZBUILDSUBDIRS} - cd ${TZBUILDDIR} && \ - find -s * -type f -exec ${INSTALL} ${TAG_ARGS} \ +.for f in ${TZS} + ${INSTALL} ${TAG_ARGS} \ -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ - \{} ${DESTDIR}/usr/share/zoneinfo/\{} \; + ${TZBUILDDIR:C,^${.OBJDIR}/,,}/${f} ${DESTDIR}/usr/share/zoneinfo/${f} +.endfor ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ From owner-svn-src-head@freebsd.org Mon Jun 26 16:08:29 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F1ACFD8AE79; Mon, 26 Jun 2017 16:08:29 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C03DB7E990; Mon, 26 Jun 2017 16:08:29 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5QG8SoE084788; Mon, 26 Jun 2017 16:08:28 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5QG8Ssw084787; Mon, 26 Jun 2017 16:08:28 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706261608.v5QG8Ssw084787@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Mon, 26 Jun 2017 16:08:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320363 - head/usr.bin/resizewin X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 16:08:30 -0000 Author: trasz Date: Mon Jun 26 16:08:28 2017 New Revision: 320363 URL: https://svnweb.freebsd.org/changeset/base/320363 Log: Improve terminology in a comment. Suggested by: ian MFC after: 2 weeks Modified: head/usr.bin/resizewin/resizewin.c Modified: head/usr.bin/resizewin/resizewin.c ============================================================================== --- head/usr.bin/resizewin/resizewin.c Mon Jun 26 15:40:24 2017 (r320362) +++ head/usr.bin/resizewin/resizewin.c Mon Jun 26 16:08:28 2017 (r320363) @@ -91,7 +91,7 @@ main(int argc, char **argv) exit(0); } - /* Disable echo, drain the input, and flush the output */ + /* Disable echo, flush the input, and drain the output */ if (tcgetattr(fd, &old) == -1) exit(1); From owner-svn-src-head@freebsd.org Mon Jun 26 16:28:47 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BBB33D8B711; Mon, 26 Jun 2017 16:28:47 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 948957F49E; Mon, 26 Jun 2017 16:28:47 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5QGSkW8092974; Mon, 26 Jun 2017 16:28:46 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5QGSkts092970; Mon, 26 Jun 2017 16:28:46 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201706261628.v5QGSkts092970@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 26 Jun 2017 16:28:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320364 - in head/sys: compat/linuxkpi/common/include/linux compat/linuxkpi/common/src conf modules/linuxkpi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 16:28:47 -0000 Author: markj Date: Mon Jun 26 16:28:46 2017 New Revision: 320364 URL: https://svnweb.freebsd.org/changeset/base/320364 Log: Implement parts of the hrtimer API in the LinuxKPI. Reviewed by: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D11359 Added: head/sys/compat/linuxkpi/common/include/linux/hrtimer.h (contents, props changed) head/sys/compat/linuxkpi/common/src/linux_hrtimer.c (contents, props changed) Modified: head/sys/conf/files head/sys/modules/linuxkpi/Makefile Added: head/sys/compat/linuxkpi/common/include/linux/hrtimer.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/compat/linuxkpi/common/include/linux/hrtimer.h Mon Jun 26 16:28:46 2017 (r320364) @@ -0,0 +1,79 @@ +/*- + * Copyright (c) 2017 Mark Johnston + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice unmodified, this list of conditions, and the following + * disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _LINUX_HRTIMER_H_ +#define _LINUX_HRTIMER_H_ + +#include +#include + +#include +#include + +enum hrtimer_mode { + HRTIMER_MODE_REL, +}; + +enum hrtimer_restart { + HRTIMER_RESTART, + HRTIMER_NORESTART, +}; + +struct hrtimer { + enum hrtimer_restart (*function)(struct hrtimer *); + struct mtx mtx; + struct callout callout; + uint32_t flags; +}; + +#define hrtimer_active(hrtimer) linux_hrtimer_active(hrtimer) +#define hrtimer_cancel(hrtimer) linux_hrtimer_cancel(hrtimer) +#define hrtimer_init(hrtimer, clock, mode) do { \ + CTASSERT((clock) == CLOCK_MONOTONIC); \ + CTASSERT((mode) == HRTIMER_MODE_REL); \ + linux_hrtimer_init(hrtimer); \ +} while (0) +#define hrtimer_set_expires(hrtimer, time) \ + linux_hrtimer_set_expires(hrtimer, time) +#define hrtimer_start(hrtimer, time, mode) do { \ + CTASSERT((mode) == HRTIMER_MODE_REL); \ + linux_hrtimer_start(hrtimer, time); \ +} while (0) +#define hrtimer_start_range_ns(hrtimer, time, prec, mode) do { \ + CTASSERT((mode) == HRTIMER_MODE_REL); \ + linux_hrtimer_start_range_ns(hrtimer, time, prec); \ +} while (0) + +bool linux_hrtimer_active(struct hrtimer *); +int linux_hrtimer_cancel(struct hrtimer *); +void linux_hrtimer_init(struct hrtimer *); +void linux_hrtimer_set_expires(struct hrtimer *, ktime_t); +void linux_hrtimer_start(struct hrtimer *, ktime_t); +void linux_hrtimer_start_range_ns(struct hrtimer *, ktime_t, int64_t); + +#endif /* _LINUX_HRTIMER_H_ */ Added: head/sys/compat/linuxkpi/common/src/linux_hrtimer.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/compat/linuxkpi/common/src/linux_hrtimer.c Mon Jun 26 16:28:46 2017 (r320364) @@ -0,0 +1,108 @@ +/*- + * Copyright (c) 2017 Mark Johnston + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice unmodified, this list of conditions, and the following + * disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include + +#include + +#include + +/* hrtimer flags */ +#define HRTIMER_ACTIVE 0x01 + +static void +hrtimer_call_handler(void *arg) +{ + struct hrtimer *hrtimer; + enum hrtimer_restart ret; + + hrtimer = arg; + ret = hrtimer->function(hrtimer); + MPASS(ret == HRTIMER_NORESTART); + hrtimer->flags &= ~HRTIMER_ACTIVE; +} + +bool +linux_hrtimer_active(struct hrtimer *hrtimer) +{ + bool ret; + + mtx_lock(&hrtimer->mtx); + ret = (hrtimer->flags & HRTIMER_ACTIVE) != 0; + mtx_unlock(&hrtimer->mtx); + return (ret); +} + +int +linux_hrtimer_cancel(struct hrtimer *hrtimer) +{ + + if (!hrtimer_active(hrtimer)) + return (0); + (void)callout_drain(&hrtimer->callout); + return (1); +} + +void +linux_hrtimer_init(struct hrtimer *hrtimer) +{ + + hrtimer->function = NULL; + hrtimer->flags = 0; + mtx_init(&hrtimer->mtx, "hrtimer", NULL, MTX_DEF | MTX_RECURSE); + callout_init_mtx(&hrtimer->callout, &hrtimer->mtx, 0); +} + +void +linux_hrtimer_set_expires(struct hrtimer *hrtimer __unused, + ktime_t time __unused) +{ +} + +void +linux_hrtimer_start(struct hrtimer *hrtimer, ktime_t time) +{ + + linux_hrtimer_start_range_ns(hrtimer, time, 0); +} + +void +linux_hrtimer_start_range_ns(struct hrtimer *hrtimer, ktime_t time, int64_t nsec) +{ + + mtx_lock(&hrtimer->mtx); + callout_reset_sbt(&hrtimer->callout, time.tv64 * SBT_1NS, + nsec * SBT_1NS, hrtimer_call_handler, hrtimer, 0); + hrtimer->flags |= HRTIMER_ACTIVE; + mtx_unlock(&hrtimer->mtx); +} Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Mon Jun 26 16:08:28 2017 (r320363) +++ head/sys/conf/files Mon Jun 26 16:28:46 2017 (r320364) @@ -4269,6 +4269,8 @@ compat/linuxkpi/common/src/linux_compat.c optional com compile-with "${LINUXKPI_C}" compat/linuxkpi/common/src/linux_current.c optional compat_linuxkpi \ compile-with "${LINUXKPI_C}" +compat/linuxkpi/common/src/linux_hrtimer.c optional compat_linuxkpi \ + compile-with "${LINUXKPI_C}" compat/linuxkpi/common/src/linux_kthread.c optional compat_linuxkpi \ compile-with "${LINUXKPI_C}" compat/linuxkpi/common/src/linux_lock.c optional compat_linuxkpi \ Modified: head/sys/modules/linuxkpi/Makefile ============================================================================== --- head/sys/modules/linuxkpi/Makefile Mon Jun 26 16:08:28 2017 (r320363) +++ head/sys/modules/linuxkpi/Makefile Mon Jun 26 16:28:46 2017 (r320364) @@ -5,6 +5,7 @@ KMOD= linuxkpi SRCS= linux_kmod.c \ linux_compat.c \ linux_current.c \ + linux_hrtimer.c \ linux_kthread.c \ linux_lock.c \ linux_page.c \ From owner-svn-src-head@freebsd.org Mon Jun 26 18:11:50 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 21812D8D873; Mon, 26 Jun 2017 18:11:50 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 52AA8827EA; Mon, 26 Jun 2017 18:11:49 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5QIBm7g036464; Mon, 26 Jun 2017 18:11:48 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5QIBmtr036462; Mon, 26 Jun 2017 18:11:48 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201706261811.v5QIBmtr036462@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 26 Jun 2017 18:11:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320367 - head/share/vt/fonts X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 18:11:50 -0000 Author: emaste Date: Mon Jun 26 18:11:48 2017 New Revision: 320367 URL: https://svnweb.freebsd.org/changeset/base/320367 Log: Add "Terminus BSD Console" size 32 Dimitar Toshkov, Terminus' creator, has made size 32 available under the 2-clause BSD license for use by *BSD consoles. Added: head/share/vt/fonts/terminus-b32.hex (contents, props changed) Modified: head/share/vt/fonts/Makefile Modified: head/share/vt/fonts/Makefile ============================================================================== --- head/share/vt/fonts/Makefile Mon Jun 26 17:33:33 2017 (r320366) +++ head/share/vt/fonts/Makefile Mon Jun 26 18:11:48 2017 (r320367) @@ -1,6 +1,7 @@ # $FreeBSD$ FILES= gallant.fnt \ + terminus-b32.fnt \ vgarom-8x8.fnt \ vgarom-8x14.fnt \ vgarom-8x16.fnt \ Added: head/share/vt/fonts/terminus-b32.hex ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/vt/fonts/terminus-b32.hex Mon Jun 26 18:11:48 2017 (r320367) @@ -0,0 +1,1294 @@ +# $FreeBSD$ +# Height: 32 +# Width: 16 +0000:0000000000000000000000003C3C3C3C300C300C300C000000000000300C300C300C300C000000000000300C300C300C3C3C3C3C000000000000000000000000 +0020:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0021:00000000000000000000000001800180018001800180018001800180018001800180018001800000000000000180018001800180000000000000000000000000 +0022:00000000000000000C300C300C300C300C300C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0023:0000000000000000000000000C300C300C300C300C303FFC3FFC0C300C300C300C300C300C303FFC3FFC0C300C300C300C300C30000000000000000000000000 +0024:00000000000000000180018001800FF01FF8399C318C31803180318039801FF00FF8019C018C018C018C318C399C1FF80FF00180018001800000000000000000 +0025:0000000000000000000000001E183F18333033303F601E6000C000C00180018003000300060006000CF00DF81998199831F830F0000000000000000000000000 +0026:0000000000000000000000000F801FC038E030603060306038E01DC00F800F001F8C39DC70F8607060306030607070F83FDC1F8C000000000000000000000000 +0027:00000000000000000180018001800180018001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0028:000000000000000000000000006000E001C00380030007000600060006000600060006000600060007000300038001C000E00060000000000000000000000000 +0029:00000000000000000000000006000700038001C000C000E00060006000600060006000600060006000E000C001C0038007000600000000000000000000000000 +002A:000000000000000000000000000000000000000038381C700EE007C003807FFC7FFC038007C00EE01C7038380000000000000000000000000000000000000000 +002B:0000000000000000000000000000000000000000018001800180018001803FFC3FFC018001800180018001800000000000000000000000000000000000000000 +002C:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800380030006000000000000000000 +002D:0000000000000000000000000000000000000000000000000000000000003FFC3FFC000000000000000000000000000000000000000000000000000000000000 +002E:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800180000000000000000000000000 +002F:00000000000000000000000000180018003000300060006000C000C00180018003000300060006000C000C001800180030003000000000000000000000000000 +0030:0000000000000000000000000FF01FF8381C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C381C1FF80FF0000000000000000000000000 +0031:0000000000000000000000000180038007800F800D8001800180018001800180018001800180018001800180018001800FF00FF0000000000000000000000000 +0032:0000000000000000000000000FF01FF8381C300C300C300C300C000C001C0038007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000 +0033:0000000000000000000000000FF01FF8381C300C300C000C000C000C001C07F807F8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +0034:000000000000000000000000000C001C003C007C00EC01CC038C070C0E0C1C0C380C300C300C3FFC3FFC000C000C000C000C000C000000000000000000000000 +0035:0000000000000000000000003FFC3FFC3000300030003000300030003FF03FF8001C000C000C000C000C000C300C380C1FF80FF0000000000000000000000000 +0036:0000000000000000000000000FF81FF83800300030003000300030003FF03FF8301C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0037:0000000000000000000000003FFC3FFC300C300C300C30180018003000300060006000C000C00180018001800180018001800180000000000000000000000000 +0038:0000000000000000000000000FF01FF8381C300C300C300C300C300C381C1FF81FF8381C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0039:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000 +003A:00000000000000000000000000000000000000000000000001800180018001800000000000000000000000000180018001800180000000000000000000000000 +003B:00000000000000000000000000000000000000000000000001800180018001800000000000000000000000000180018001800380030006000000000000000000 +003C:000000000000000000000000001C0038007000E001C0038007000E001C00380038001C000E000700038001C000E000700038001C000000000000000000000000 +003D:0000000000000000000000000000000000000000000000003FFC3FFC00000000000000003FFC3FFC000000000000000000000000000000000000000000000000 +003E:00000000000000000000000038001C000E000700038001C000E000700038001C001C0038007000E001C0038007000E001C003800000000000000000000000000 +003F:0000000000000000000000000FF01FF8381C300C300C300C300C001C0038007000E001C001800180000000000180018001800180000000000000000000000000 +0040:0000000000000000000000001FF03FF8701C600C61FC63FC670C660C660C660C660C660C660C671C63FC61EC600070003FFC1FFC000000000000000000000000 +0041:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +0042:0000000000000000000000003FF03FF8301C300C300C300C300C30183FF03FF03038301C300C300C300C300C300C301C3FF83FF0000000000000000000000000 +0043:0000000000000000000000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000 +0044:0000000000000000000000003FC03FF030383018300C300C300C300C300C300C300C300C300C300C300C300C301830383FF03FC0000000000000000000000000 +0045:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0046:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE0300030003000300030003000300030003000000000000000000000000000 +0047:0000000000000000000000000FF01FF8381C300C300C300030003000300030FC30FC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0048:000000000000000000000000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000 +0049:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +004A:000000000000000000000000007E007E00180018001800180018001800180018001800180018001830183018301838381FF00FE0000000000000000000000000 +004B:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000000000000000000 +004C:0000000000000000000000003000300030003000300030003000300030003000300030003000300030003000300030003FFC3FFC000000000000000000000000 +004D:000000000000000000000000600C600C701C783C6C6C6C6C67CC638C638C610C600C600C600C600C600C600C600C600C600C600C000000000000000000000000 +004E:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000 +004F:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0050:0000000000000000000000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF030003000300030003000300030003000000000000000000000000000 +0051:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C31CC38FC1FF80FF8001C000E0000000000000000 +0052:0000000000000000000000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF03700338031C030E030703038301C300C000000000000000000000000 +0053:0000000000000000000000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +0054:0000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000 +0055:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0056:000000000000000000000000300C300C300C300C300C181818181818181818180C300C300C300C3006600660066003C003C003C0000000000000000000000000 +0057:000000000000000000000000600C600C600C600C600C600C600C600C600C600C610C638C638C67CC6C6C6C6C783C701C600C600C000000000000000000000000 +0058:000000000000000000000000300C300C181818180C300C300660066003C003C003C003C0066006600C300C3018181818300C300C000000000000000000000000 +0059:000000000000000000000000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +005A:0000000000000000000000003FFC3FFC000C000C000C001C0038007000E001C0038007000E001C0038003000300030003FFC3FFC000000000000000000000000 +005B:0000000000000000000000000FE00FE00C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000FE00FE0000000000000000000000000 +005C:00000000000000000000000030003000180018000C000C0006000600030003000180018000C000C0006000600030003000180018000000000000000000000000 +005D:0000000000000000000000000FE00FE000600060006000600060006000600060006000600060006000600060006000600FE00FE0000000000000000000000000 +005E:0000000000000000018003C007E00E701C38381C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +005F:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FFC3FFC000000000000 +0060:00000E000700038001C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0061:0000000000000000000000000000000000000000000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +0062:0000000000000000000000003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C301C3FF83FF0000000000000000000000000 +0063:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000 +0064:000000000000000000000000000C000C000C000C000C000C0FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +0065:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +0066:000000000000000000000000007E00FE01C00180018001801FF81FF8018001800180018001800180018001800180018001800180000000000000000000000000 +0067:0000000000000000000000000000000000000000000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0068:0000000000000000000000003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +0069:00000000000000000000000001800180018001800000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +006A:00000000000000000000000000180018001800180000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000 +006B:000000000000000000000000180018001800180018001800181C1838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000 +006C:00000000000000000000000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +006D:0000000000000000000000000000000000000000000000003FF03FF8319C318C318C318C318C318C318C318C318C318C318C318C000000000000000000000000 +006E:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +006F:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0070:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C301C3FF83FF0300030003000300030000000 +0071:0000000000000000000000000000000000000000000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C0000 +0072:00000000000000000000000000000000000000000000000033FC37FC3E003C003800300030003000300030003000300030003000000000000000000000000000 +0073:0000000000000000000000000000000000000000000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000000000000000000000000 +0074:0000000000000000000000000300030003000300030003003FF03FF0030003000300030003000300030003000300038001FC00FC000000000000000000000000 +0075:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +0076:000000000000000000000000000000000000000000000000300C300C300C1818181818180C300C300C300660066003C003C003C0000000000000000000000000 +0077:000000000000000000000000000000000000000000000000300C300C300C300C318C318C318C318C318C318C318C399C1FF80FF0000000000000000000000000 +0078:000000000000000000000000000000000000000000000000300C300C381C1C380E7007E003C003C007E00E701C38381C300C300C000000000000000000000000 +0079:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +007A:0000000000000000000000000000000000000000000000003FFC3FFC001C0038007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000 +007B:00000000000000000000000000F001F003800300030003000300030003001E001E00030003000300030003000300038001F000F0000000000000000000000000 +007C:00000000000000000000000001800180018001800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000 +007D:0000000000000000000000001E001F00038001800180018001800180018000F000F001800180018001800180018003801F001E00000000000000000000000000 +007E:00000000000000000E0C1F0C3B8C31DC30F830700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00A0:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00A1:00000000000000000000000001800180018001800000000001800180018001800180018001800180018001800180018001800180000000000000000000000000 +00A2:0000000000000000000000000000000000000180018001800FF01FF8399C318C318031803180318031803180318C399C1FF80FF0018001800180000000000000 +00A3:00000000000000000000000003E007F00E380C180C000C000C000C000C003FE03FE00C000C000C000C000C000C0C0C0C3FFC3FFC000000000000000000000000 +00A4:000000000000000000000000000000000000381C1C380FF00FF01C3818181818181818181C380FF00FF01C38381C000000000000000000000000000000000000 +00A5:000000000000000000000000300C300C181818180C300C300660066003C003C0018001801FF81FF8018001801FF81FF801800180000000000000000000000000 +00A6:00000000000000000000000001800180018001800180018001800180000000000000000001800180018001800180018001800180000000000000000000000000 +00A7:000000000000000007C00FE01C70183018001C000F800FC018E018701830183018301C300E3007E003E00070003018301C700FE007C000000000000000000000 +00A8:00000C300C300C300C30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00A9:000000000000000000000000000000001FF83FFC700E67E66FF66C366C066C066C066C066C366FF667E6700E3FFC1FF800000000000000000000000000000000 +00AA:000000000FE00FF00038001807F80FF81C1818181C180FF807F8000000001FF81FF8000000000000000000000000000000000000000000000000000000000000 +00AB:00000000000000000000000000000000000000000000000001CE039C07380E701CE039C07380738039C01CE00E700738039C01CE000000000000000000000000 +00AC:0000000000000000000000000000000000000000000000003FFC3FFC000C000C000C000C000C000C000000000000000000000000000000000000000000000000 +00AD:0000000000000000000000000000000000000000000000000000000000001FF81FF8000000000000000000000000000000000000000000000000000000000000 +00AE:000000000000000000000000000000001FF83FFC700E6FE66FF66C366C366C366FE66FC66DC66CE66C76700E3FFC1FF800000000000000000000000000000000 +00AF:000000000FF00FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00B0:000000000000000007E00FF00C300C300C300C300FF007E000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00B1:0000000000000000000000000000000000000000018001800180018001803FFC3FFC01800180018001800180000000003FFC3FFC000000000000000000000000 +00B2:00000000000007E00FF00C300C30007000E001C0038007000FF00FF0000000000000000000000000000000000000000000000000000000000000000000000000 +00B3:00000000000007E00FF00C30003001E001E0003000300C300FF007E0000000000000000000000000000000000000000000000000000000000000000000000000 +00B4:0000007000E001C00380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00B5:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C301C303C307C3FEC3FCC300030003000300030000000 +00B6:0000000000000000000000001FFC3FFC718C618C618C618C618C618C718C3F8C1F8C018C018C018C018C018C018C018C018C018C000000000000000000000000 +00B7:00000000000000000000000000000000000000000000000000000000018001800180018000000000000000000000000000000000000000000000000000000000 +00B8:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018001800380030006000000 +00B9:00000000000001800380078007800180018001800180018007E007E0000000000000000000000000000000000000000000000000000000000000000000000000 +00BA:0000000007E00FF01C38181818181818181818181C380FF007E0000000001FF81FF8000000000000000000000000000000000000000000000000000000000000 +00BB:000000000000000000000000000000000000000000000000738039C01CE00E700738039C01CE01CE039C07380E701CE039C07380000000000000000000000000 +00BC:0000000000000000000000000C001C003C000C000C060C0E0C1C0C380C7000E001C6038E071E0E361C6638C671FE61FE00060006000000000000000000000000 +00BD:000000000000000000000000180038007806180E181C1838187018E019C0038007000E7C1CFE38C670C6600C00180030007E00FE000000000000000000000000 +00BE:0000000000000000000000003F007F8061800F000F000186618E7F9C3F38007000E601CE039E07360E661CC639FE71FE60060006000000000000000000000000 +00BF:000000000000000000000000018001800180018000000000018001800180030006000C001800300C300C300C300C381C1FF80FF0000000000000000000000000 +00C0:00000E000700038001C000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +00C1:0000007000E001C0038000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +00C2:0000018003C007E00E7000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +00C3:00000F181B9819D818F000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +00C4:00000C300C300C300C3000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +00C5:000003C006600660066003C00FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +00C6:0000000000000000000000001FFF3FFF70C060C060C060C060C060C060C07FFE7FFE60C060C060C060C060C060C060C060FF60FF000000000000000000000000 +00C7:0000000000000000000000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0018001800380030006000000 +00C8:00000E000700038001C000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +00C9:0000007000E001C0038000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +00CA:0000018003C007E00E7000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +00CB:00000C300C300C300C3000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +00CC:00000E000700038001C0000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +00CD:0000007000E001C00380000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +00CE:0000018003C007E00E70000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +00CF:00000C300C300C300C30000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +00D0:0000000000000000000000003FC03FF030383018300C300C300C300C300C7F8C7F8C300C300C300C300C300C301830383FF03FC0000000000000000000000000 +00D1:00000F181B9819D818F00000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000 +00D2:00000E000700038001C000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00D3:0000007000E001C0038000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00D4:0000018003C007E00E7000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00D5:00000F181B9819D818F000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00D6:00000C300C300C300C3000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00D7:00000000000000000000000000000000000000000000701C38381C700EE007C0038007C00EE01C703838701C0000000000000000000000000000000000000000 +00D8:0000000000000000000000000FF01FF8381C300E300E301C303C307C30EC31CC338C370C3E0C3C0C380C700C700C381C1FF80FF0000000000000000000000000 +00D9:00000E000700038001C00000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00DA:0000007000E001C003800000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00DB:0000018003C007E00E700000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00DC:00000C300C300C300C300000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00DD:0000007000E001C003800000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +00DE:00000000000000000000000030003000300030003FF03FF8301C300C300C300C300C300C300C301C3FF83FF03000300030003000000000000000000000000000 +00DF:0000000000000000000000001FE03FF03038301830183018301830303FF03FF03038301C300C300C300C300C380C3C1C37F833F0000000000000000000000000 +00E0:0000000000000000000000000E000700038001C0000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +00E1:000000000000000000000000007000E001C00380000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +00E2:000000000000000000000000018003C007E00E70000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +00E3:0000000000000000000000000F181B9819D818F0000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +00E4:0000000000000000000000000C300C300C300C30000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +00E5:00000000000000000000000003C006600660066003C000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +00E6:0000000000000000000000000000000000000000000000003EF83FFC018E018601861F863FFE71FE61806180618071C63FFE1F7C000000000000000000000000 +00E7:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0018001800380030006000000 +00E8:0000000000000000000000000E000700038001C0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +00E9:000000000000000000000000007000E001C00380000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +00EA:000000000000000000000000018003C007E00E70000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +00EB:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +00EC:0000000000000000000000001C000E00070003800000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +00ED:000000000000000000000000007000E001C003800000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +00EE:000000000000000000000000018003C007E00E700000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +00EF:0000000000000000000000000C300C300C300C300000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +00F0:0000000000000000000000001DC00F801F003B8001C000E00FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00F1:0000000000000000000000000F181B9819D818F0000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +00F2:0000000000000000000000000E000700038001C0000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00F3:000000000000000000000000007000E001C00380000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00F4:000000000000000000000000018003C007E00E70000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00F5:0000000000000000000000000F181B9819D818F0000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00F6:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +00F7:0000000000000000000000000000000000000180018001800180000000003FFC3FFC000000000180018001800180000000000000000000000000000000000000 +00F8:0000000000000000000000000000000000000000000000000FF61FFE381C303C307C30EC31CC338C370C3E0C3C0C381C7FF8EFF0000000000000000000000000 +00F9:0000000000000000000000000E000700038001C000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +00FA:000000000000000000000000007000E001C0038000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +00FB:000000000000000000000000018003C007E00E7000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +00FC:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +00FD:000000000000000000000000007000E001C0038000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +00FE:0000000000000000000000003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C301C3FF83FF0300030003000300030000000 +00FF:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0100:000000000FF00FF0000000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +0101:000000000000000000000000000000000FF00FF0000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +0102:00000C300C3007E003C000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +0103:0000000000000000000000000C300C3007E003C0000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +0104:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C003C00700060007C003C0000 +0105:0000000000000000000000000000000000000000000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC003C00700060007C003C0000 +0106:0000007000E001C0038000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000 +0107:000000000000000000000000007000E001C00380000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000 +0108:0000018003C007E00E7000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000 +0109:000000000000000000000000018003C007E00E70000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000 +010A:0000018001800180018000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000 +010B:0000000000000000000000000180018001800180000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000 +010C:00000E7007E003C0018000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000 +010D:0000000000000000000000000E7007E003C00180000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000 +010E:00000E7007E003C0018000003FC03FF030383018300C300C300C300C300C300C300C300C300C300C300C300C301830383FF03FC0000000000000000000000000 +010F:00000E7007E003C001800000000C000C000C000C000C000C0FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +0110:0000000000000000000000003FC03FF030383018300C300C300C300C300C7F8C7F8C300C300C300C300C300C301830383FF03FC0000000000000000000000000 +0111:000000000000000000000000000C000C01FF01FF000C000C0FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +0112:000000000FF00FF0000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0113:000000000000000000000000000000000FF00FF0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +0114:00000C300C3007E003C000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0115:0000000000000000000000000C300C3007E003C0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +0116:0000018001800180018000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0117:0000000000000000000000000180018001800180000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +0118:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC003C00700060007C003C0000 +0119:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF801C00380030003E001E00000 +011A:00000E7007E003C0018000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +011B:0000000000000000000000000E7007E003C00180000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +011C:0000018003C007E00E7000000FF01FF8381C300C300C300030003000300030FC30FC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +011D:000000000000000000000000018003C007E00E70000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +011E:00000C300C3007E003C000000FF01FF8381C300C300C300030003000300030FC30FC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +011F:0000000000000000000000000C300C3007E003C0000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0120:0000018001800180018000000FF01FF8381C300C300C300030003000300030FC30FC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0121:00000000000000000000000000C000C000C000C0000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0122:0000000000000000000000000FF01FF8381C300C300C300030003000300030FC30FC300C300C300C300C300C300C381C1FF80FF0000001800180038003000600 +0123:0000000000000000000000000030006000E000C000C000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0124:0000018003C007E00E700000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000 +0125:0000018003C007E00E7000003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +0126:000000000000000000000000300C300C300C7FFE7FFE300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000 +0127:00000000000000000000000030003000FF80FF80300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +0128:00000F181B9819D818F0000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +0129:0000000000000000000000000F181B9819D818F00000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +012A:000000000FF00FF00000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +012B:000000000000000000000000000000000FF00FF00000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +012C:00000C300C3007E003C0000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +012D:0000000000000000000000000C300C3007E003C00000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +012E:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E001800380030003E001E00000 +012F:00000000000000000000000001800180018001800000000007800780018001800180018001800180018001800180018007E007E001800380030003E001E00000 +0130:00000180018001800180000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +0131:00000000000000000000000000000000000000000000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +0132:000000000000000000000000F01EF01E600C600C600C600C600C600C600C600C600C600C600C600C630C630C630C639CF1F8F0F0000000000000000000000000 +0133:000000000000000000000000300630063006300600000000701E701E3006300630063006300630063006300630063006780678060186018601CE00FC00780000 +0134:00000018003C007E00E70000007E007E00180018001800180018001800180018001800180018001830183018301838381FF00FE0000000000000000000000000 +0135:0000000000000000000000000018003C007E00E70000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000 +0136:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000001800180038003000600 +0137:000000000000000000000000180018001800180018001800181C1838187018E019C01B801F001F001B8019C018E018701838181C000001800180038003000600 +0138:000000000000000000000000000000000000000000000000181C1838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000 +0139:000007000E001C00380000003000300030003000300030003000300030003000300030003000300030003000300030003FFC3FFC000000000000000000000000 +013A:0000007000E001C00380000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +013B:0000000000000000000000003000300030003000300030003000300030003000300030003000300030003000300030003FFC3FFC000001800180038003000600 +013C:00000000000000000000000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000001800180038003000600 +013D:00000E7007E003C0018000003000300030003000300030003000300030003000300030003000300030003000300030003FFC3FFC000000000000000000000000 +013E:00000E7007E003C00180000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +013F:0000000000000000000000003000300030003000300030003000300030303030303030303000300030003000300030003FFC3FFC000000000000000000000000 +0140:00000000000000000000000007800780018001800180018001800180018301830183018301800180018001800180018007E007E0000000000000000000000000 +0141:0000000000000000000000003000300030003000300030003000330036003C0038007000F000300030003000300030003FFC3FFC000000000000000000000000 +0142:000000000000000000000000078007800180018001800180018001B001E001C0038007800D800180018001800180018007E007E0000000000000000000000000 +0143:0000007000E001C003800000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000 +0144:000000000000000000000000007000E001C00380000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +0145:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000001800180038003000600 +0146:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000001800180038003000600 +0147:00000E7007E003C001800000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000 +0148:0000000000000000000000000E7007E003C00180000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +0149:0000000000000000300030003000300060006000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +014A:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000C000C001C00F800F00000 +014B:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000C000C001C00F800F00000 +014C:000000000FF00FF0000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +014D:000000000000000000000000000000000FF00FF0000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +014E:00000C300C3007E003C000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +014F:0000000000000000000000000C300C3007E003C0000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0150:000001CE039C07380E7000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0151:00000000000000000000000001CE039C07380E70000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0152:0000000000000000000000001FFF3FFF70C060C060C060C060C060C060C060FE60FE60C060C060C060C060C060C070C03FFF1FFF000000000000000000000000 +0153:0000000000000000000000000000000000000000000000001FF83FFC718E61866186618661FE61FE61806180618071863FFE1FFC000000000000000000000000 +0154:0000007000E001C0038000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF03700338031C030E030703038301C300C000000000000000000000000 +0155:000000000000000000000000007000E001C003800000000033FC37FC3E003C003800300030003000300030003000300030003000000000000000000000000000 +0156:0000000000000000000000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF03700338031C030E030703038301C300C000001800180038003000600 +0157:00000000000000000000000000000000000000000000000031FC33FC36003C00380030003000300030003000300030003000300000003000300070006000C000 +0158:00000E7007E003C0018000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF03700338031C030E030703038301C300C000000000000000000000000 +0159:0000000000000000000000000E7007E003C001800000000033FC37FC3E003C003800300030003000300030003000300030003000000000000000000000000000 +015A:0000007000E001C0038000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +015B:000000000000000000000000007000E001C00380000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000000000000000000000000 +015C:0000018003C007E00E7000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +015D:000000000000000000000000018003C007E00E70000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000000000000000000000000 +015E:0000000000000000000000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0018001800380030006000000 +015F:0000000000000000000000000000000000000000000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0018001800380030006000000 +0160:00000E7007E003C0018000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +0161:0000000000000000000000000E7007E003C00180000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000000000000000000000000 +0162:0000000000000000000000003FFC3FFC01800180018001800180018001800180018001800180018001800180018001800180018000C000C001C0018003000000 +0163:0000000000000000000000000300030003000300030003003FF03FF0030003000300030003000300030003000300038001FC00FC003000300070006000C00000 +0164:00000E7007E003C0018000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000 +0165:00001CE00FC00780030000000300030003000300030003003FF03FF0030003000300030003000300030003000300038001FC00FC000000000000000000000000 +0166:0000000000000000000000003FFC3FFC01800180018001800180018001800FF00FF0018001800180018001800180018001800180000000000000000000000000 +0167:0000000000000000000000000300030003000300030003003FF03FF0030003000FC00FC003000300030003000300038001FC00FC000000000000000000000000 +0168:00000F181B9819D818F00000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0169:0000000000000000000000000F181B9819D818F000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +016A:000000000FF00FF000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +016B:000000000000000000000000000000000FF00FF000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +016C:00000C300C3007E003C00000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +016D:0000000000000000000000000C300C3007E003C000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +016E:000003C006600660066003C0300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +016F:00000000000000000000000003C006600660066003C00000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +0170:000001CE039C07380E700000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0171:00000000000000000000000001CE039C07380E7000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +0172:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF001C00380030003E001E00000 +0173:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC003C00700060007C003C0000 +0174:0000018003C007E00E700000600C600C600C600C600C600C600C600C600C600C610C638C638C67CC6C6C6C6C783C701C600C600C000000000000000000000000 +0175:000000000000000000000000018003C007E00E7000000000300C300C300C300C318C318C318C318C318C318C318C399C1FF80FF0000000000000000000000000 +0178:00000C300C300C300C300000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +0179:0000007000E001C0038000003FFC3FFC000C000C000C001C0038007000E001C0038007000E001C0038003000300030003FFC3FFC000000000000000000000000 +017A:000000000000000000000000007000E001C00380000000003FFC3FFC001C0038007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000 +017B:0000018001800180018000003FFC3FFC000C000C000C001C0038007000E001C0038007000E001C0038003000300030003FFC3FFC000000000000000000000000 +017C:0000000000000000000000000180018001800180000000003FFC3FFC001C0038007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000 +017D:00000E7007E003C0018000003FFC3FFC000C000C000C001C0038007000E001C0038007000E001C0038003000300030003FFC3FFC000000000000000000000000 +017E:0000000000000000000000000E7007E003C00180000000003FFC3FFC001C0038007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000 +017F:00000000000000000000000000FC01FC038003000300030003000300030003000300030003000300030003000300030003000300000000000000000000000000 +0186:0000000000000000000000000FF01FF8381C300C300C000C000C000C000C000C000C000C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +018E:0000000000000000000000003FFC3FFC000C000C000C000C000C000C000C07FC07FC000C000C000C000C000C000C000C3FFC3FFC000000000000000000000000 +018F:0000000000000000000000000FF01FF8381C300C300C000C000C000C000C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0190:0000000000000000000000000FF01FF8381C300C300C30003000300038001FE01FE03800300030003000300C300C381C1FF80FF0000000000000000000000000 +0192:00000000000000000000000000F801FC018C018C01800180018001800FF00FF00180018001800180018001800180018001800180318031803F801F0000000000 +019D:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C3000300030007000E0000000 +019E:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000C000C000C000C000C0000 +01B7:0000000000000000000000003FFC3FFC001C0038007000E001C0038007F007F8001C000C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +0218:0000000000000000000000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000001800180038003000600 +0219:0000000000000000000000000000000000000000000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000001800180038003000600 +021A:0000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000001800180038003000600 +021B:0000000000000000000000000300030003000300030003003FF03FF0030003000300030003000300030003000300038001FC00FC0000003000300070006000C0 +0232:000000000FF00FF000000000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +0233:000000000000000000000000000000000FF00FF000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0237:00000000000000000000000000000000000000000000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000 +0254:0000000000000000000000000000000000000000000000000FF01FF8381C300C000C000C000C000C000C000C300C381C1FF80FF0000000000000000000000000 +0258:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC000C000C000C301C3FF81FF0000000000000000000000000 +0259:0000000000000000000000000000000000000000000000001FF03FF8301C000C000C000C3FFC3FFC300C300C300C381C1FF80FF0000000000000000000000000 +025B:0000000000000000000000000000000000000000000000000FF01FF8381C300C300038001FC01FC038003000300C381C1FF80FF0000000000000000000000000 +0272:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C3000300030007000E0000000 +0292:0000000000000000000000000000000000000000000000003FFC3FFC001C0038007000E001C0038007F007F8001C000C000C000C000C300C381C1FF80FF00000 +02BB:0000006000C001C00180018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02BC:00000180018003800300060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02BD:00000180018001C000C0006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02C6:0000018003C007E00E70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02C7:00000E7007E003C00180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02D8:00000C300C3007E003C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02D9:00000180018001800180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02DB:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003C00700060007C003C0000 +02DC:00000F181B9819D818F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +02DD:000001CE039C07380E70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0300:00000E000700038001C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0301:0000007000E001C00380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0302:0000018003C007E00E70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0303:00000F181B9819D818F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0304:000000000FF00FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0305:000000003FFC3FFC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0306:00000C300C3007E003C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0307:00000180018001800180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0308:00000C300C300C300C30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +030A:000003C006600660066003C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +030B:000001CE039C07380E70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +030C:00000E7007E003C00180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0329:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800180018001800000 +0384:000000001C0038007000E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0385:0000007000E001C0038000000C300C300C300C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0386:000000001C0038007000E0000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +0387:00000000000000000000000000000000000000000000000001800180018001800000000000000000000000000000000000000000000000000000000000000000 +0388:000000001C0038007000E0003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0389:000000001C0038007000E000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000 +038A:000000001C0038007000E00007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +038C:000000001C0038007000E0000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +038E:000000001C0038007000E0001806180618060C0C0C0C061806180330033001E001E000C000C000C000C000C000C000C000C000C0000000000000000000000000 +038F:000000001C0038007000E0000FF01FF8381C300C300C300C300C300C300C300C300C300C300C381C1C380E70066006603E7C3E7C000000000000000000000000 +0390:000000E001C00380070000001860186018601860000000000F000F00030003000300030003000300030003000300038001F000F0000000000000000000000000 +0391:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +0392:0000000000000000000000003FF03FF8301C300C300C300C300C30183FF03FF03038301C300C300C300C300C300C301C3FF83FF0000000000000000000000000 +0393:0000000000000000000000003FFC3FFC300030003000300030003000300030003000300030003000300030003000300030003000000000000000000000000000 +0394:00000000000000000000000001800180018003C003C003C00660066006600C300C300C30181818181818300C300C300C3FFC3FFC000000000000000000000000 +0395:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0396:0000000000000000000000003FFC3FFC000C000C000C001C0038007000E001C0038007000E001C0038003000300030003FFC3FFC000000000000000000000000 +0397:000000000000000000000000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000 +0398:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C37EC37EC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +0399:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +039A:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000000000000000000 +039B:00000000000000000000000001800180018003C003C003C00660066006600C300C300C301818181818181818300C300C300C300C000000000000000000000000 +039C:000000000000000000000000600C600C701C783C6C6C6C6C67CC638C638C610C600C600C600C600C600C600C600C600C600C600C000000000000000000000000 +039D:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000 +039E:0000000000000000000000003FFC3FFC00000000000000000000000000000FF00FF000000000000000000000000000003FFC3FFC000000000000000000000000 +039F:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03A0:0000000000000000000000003FFC3FFC300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +03A1:0000000000000000000000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF030003000300030003000300030003000000000000000000000000000 +03A3:0000000000000000000000003FFC3FFC38001C000E000700038001C000E00070007000E001C0038007000E001C0038003FFC3FFC000000000000000000000000 +03A4:0000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000 +03A5:000000000000000000000000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +03A6:000000000000000000000000018001800FF01FF8399C318C318C318C318C318C318C318C318C318C318C399C1FF80FF001800180000000000000000000000000 +03A7:000000000000000000000000300C300C181818180C300C300660066003C003C003C003C0066006600C300C3018181818300C300C000000000000000000000000 +03A8:000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C318C318C399C1FF80FF00180018001800180000000000000000000000000 +03A9:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C381C1C380E70066006603E7C3E7C000000000000000000000000 +03AA:00000C300C300C300C30000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +03AB:00000C300C300C300C300000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +03AC:000000000000000000000000007000E001C00380000000001FCC3FFC70386030603060306030603060306030603070383FFC1FCC000000000000000000000000 +03AD:000000000000000000000000007000E001C00380000000000FF01FF8381C300C300038001FC01FC038003000300C381C1FF80FF0000000000000000000000000 +03AE:000000000000000000000000007000E001C00380000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000C000C000C000C000C0000 +03AF:00000000000000000000000000E001C003800700000000000F000F00030003000300030003000300030003000300038001F000F0000000000000000000000000 +03B0:0000007000E001C0038000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03B1:0000000000000000000000000000000000000000000000001FCC3FFC70386030603060306030603060306030603070383FFC1FCC000000000000000000000000 +03B2:0000000000000000000000001FE03FF03038301830183018301830303FF03FF03038301C300C300C300C300C300C301C3FF83FF0300030003000300030000000 +03B3:000000000000000000000000000000000000000000000000300C300C300C1818181818180C300C300660066003C003C001800180018001800180018001800000 +03B4:0000000000000000000000001FF01FF00E000700038001C007E00FF01818300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03B5:0000000000000000000000000000000000000000000000000FF01FF8381C300C300038001FC01FC038003000300C381C1FF80FF0000000000000000000000000 +03B6:0000000000000000000000003FFC3FFC0038007000E001C0038007000E001C00180038003000300030003000300038001FF00FF8001C000C001C007800700000 +03B7:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000C000C000C000C000C0000 +03B8:00000000000000000000000007E00FF01C381818181818181818181818181FF81FF81818181818181818181818181C380FF007E0000000000000000000000000 +03B9:0000000000000000000000000000000000000000000000000F000F00030003000300030003000300030003000300038001F000F0000000000000000000000000 +03BA:000000000000000000000000000000000000000000000000181C1838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000 +03BB:00000000000000000000000006000600030003000180018003C003C00660066006600C300C300C30181818181818300C300C300C000000000000000000000000 +03BC:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C301C303C307C3FEC3FCC300030003000300030000000 +03BD:000000000000000000000000000000000000000000000000300C300C300C1818181818180C300C300C300660066003C003C003C0000000000000000000000000 +03BE:0000000000000000000000000FFC1FFC3800300030003000300018000FF00FF01C0038003000300030003000300038001FF00FF8001C000C001C007800700000 +03BF:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03C0:0000000000000000000000000000000000000000000000003FFC3FFC300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +03C1:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C301C3FF83FF0300030003000300030000000 +03C2:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300038001FF00FF8001C000C001C007800700000 +03C3:0000000000000000000000000000000000000000000000000FFE1FFE38703038301C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03C4:0000000000000000000000000000000000000000000000003FFC3FFC01800180018001800180018001800180018001C000F80078000000000000000000000000 +03C5:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03C6:0000000000000000000000000000000000000000000000000CF01DF8399C318C318C318C318C318C318C318C318C399C1FF80FF0018001800180018001800000 +03C7:000000000000000000000000000000000000000000000000300C300C181818180C300C300660066003C003C003C0066006600C300C3018181818300C300C0000 +03C8:000000000000000000000000000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C399C1FF80FF0018001800180018001800000 +03C9:0000000000000000000000000000000000000000000000000C301C38381C300C318C318C318C318C318C318C318C3BDC1FF80E70000000000000000000000000 +03CA:0000000000000000000000001860186018601860000000000F000F00030003000300030003000300030003000300038001F000F0000000000000000000000000 +03CB:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03CC:000000000000000000000000007000E001C00380000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03CD:000000000000000000000000007000E001C0038000000000300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03CE:000000000000000000000000007000E001C00380000000000C301C38381C300C318C318C318C318C318C318C318C3BDC1FF80E70000000000000000000000000 +03D1:00000000000000000000000007E00FF01C3818181818181818180FFE07FE001800180018781878181818181818181C380FF007E0000000000000000000000000 +03D5:0000000000000000000000000000000000000180018001800FF01FF8399C318C318C318C318C318C318C318C318C399C1FF80FF0018001800180000000000000 +03F0:000000000000000000000000000000000000000000000000780C7C1C0E38067003E003C00380038007800F801CC038E0707C603C000000000000000000000000 +03F1:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C301C3FF83FF03000300038001FF80FF80000 +03F2:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000 +03F3:00000000000000000000000000180018001800180000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000 +03F4:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +03F5:00000000000000000000000000000000000000000000000003FC0FFC1C001800300030003FF03FF03000300018001C000FFC03FC000000000000000000000000 +03F6:0000000000000000000000000000000000000000000000003FC03FF000380018000C000C0FFC0FFC000C000C001800383FF03FC0000000000000000000000000 +0400:00000E000700038001C000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0401:00000C300C300C300C3000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0402:000000000000000000000000FF00FF00180018001800180018001FF01FF8181C180C180C180C180C180C180C180C181C18F818F0000000000000000000000000 +0403:0000007000E001C0038000003FFC3FFC300030003000300030003000300030003000300030003000300030003000300030003000000000000000000000000000 +0404:0000000000000000000000000FF01FF8381C300C300C30003000300030003FE03FE03000300030003000300C300C381C1FF80FF0000000000000000000000000 +0405:0000000000000000000000000FF01FF8381C300C300C30003000300038001FF00FF8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +0406:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +0407:00000C300C300C300C30000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +0408:000000000000000000000000007E007E00180018001800180018001800180018001800180018001830183018301838381FF00FE0000000000000000000000000 +0409:0000000000000000000000001F803F807180618061806180618061F861FC618E6186618661866186618661866186618EE1FCC1F8000000000000000000000000 +040A:000000000000000000000000618061806180618061806180618061F861FC7F8E7F86618661866186618661866186618E61FC61F8000000000000000000000000 +040B:000000000000000000000000FF00FF00180018001800180018001FF01FF8181C180C180C180C180C180C180C180C180C180C180C000000000000000000000000 +040C:0000007000E001C003800000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000000000000000000 +040D:00000E000700038001C00000300C300C300C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C300C300C300C000000000000000000000000 +040E:00000C300C3007E003C00000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000 +040F:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C3FFC3FFC018001800180018001800000 +0410:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +0411:0000000000000000000000003FF83FF8300030003000300030003FF03FF8301C300C300C300C300C300C300C300C301C3FF83FF0000000000000000000000000 +0412:0000000000000000000000003FF03FF8301C300C300C300C300C30183FF03FF03038301C300C300C300C300C300C301C3FF83FF0000000000000000000000000 +0413:0000000000000000000000003FFC3FFC300030003000300030003000300030003000300030003000300030003000300030003000000000000000000000000000 +0414:00000000000000000000000007F80FF81C181818181818181818181818181818181818181818181818181818181818183FFC7FFE600660066006600600000000 +0415:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +0416:000000000000000000000000318C318C318C318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C318C318C318C000000000000000000000000 +0417:0000000000000000000000000FF01FF8381C300C300C000C000C000C001C07F807F8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +0418:000000000000000000000000300C300C300C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C300C300C300C000000000000000000000000 +0419:00000C300C3007E003C00000300C300C300C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C300C300C300C000000000000000000000000 +041A:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000000000000000000 +041B:00000000000000000000000003FC07FC0E0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C1C0C380C000000000000000000000000 +041C:000000000000000000000000600C600C701C783C6C6C6C6C67CC638C638C610C600C600C600C600C600C600C600C600C600C600C000000000000000000000000 +041D:000000000000000000000000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C300C000000000000000000000000 +041E:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +041F:0000000000000000000000003FFC3FFC300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +0420:0000000000000000000000003FF03FF8301C300C300C300C300C300C300C301C3FF83FF030003000300030003000300030003000000000000000000000000000 +0421:0000000000000000000000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0000000000000000000000000 +0422:0000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000 +0423:000000000000000000000000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000 +0424:0000000000000000018001800FF01FF8399C318C318C318C318C318C318C318C318C318C318C318C318C318C318C399C1FF80FF0018001800000000000000000 +0425:000000000000000000000000300C300C181818180C300C300660066003C003C003C003C0066006600C300C3018181818300C300C000000000000000000000000 +0426:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C380E1FFF0FFF000300030003000300030000 +0427:000000000000000000000000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C000C000C000C000000000000000000000000 +0428:000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C398C1FFC0FFC000000000000000000000000 +0429:000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C318C398C1FFE0FFF000300030003000300030000 +042A:000000000000000000000000F000F00030003000300030003FE03FF030383018301830183018301830183018301830383FF03FE0000000000000000000000000 +042B:000000000000000000000000600C600C600C600C600C600C7F0C7F8C61CC60CC60CC60CC60CC60CC60CC60CC60CC61CC7F8C7F0C000000000000000000000000 +042C:0000000000000000000000003000300030003000300030003FE03FF030383018301830183018301830183018301830383FF03FE0000000000000000000000000 +042D:0000000000000000000000000FF01FF8381C300C300C000C000C000C000C07FC07FC000C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +042E:00000000000000000000000060F061F8639C630C630C630C630C630C630C7F0C7F0C630C630C630C630C630C630C639C61F860F0000000000000000000000000 +042F:0000000000000000000000000FFC1FFC380C300C300C300C300C300C300C380C1FFC0FFC00EC01CC038C070C0E0C1C0C380C300C000000000000000000000000 +0430:0000000000000000000000000000000000000000000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +0431:0000000000000000000000000FF01FF0380030003000300030003FF03FF8301C300C300C300C300C300C300C300C301C3FF83FF0000000000000000000000000 +0432:0000000000000000000000001FC03FE03070303030303030303030703FE03FF03038301C300C300C300C300C300C301C3FF83FF0000000000000000000000000 +0433:0000000000000000000000000000000000000000000000003FFC3FFC300030003000300030003000300030003000300030003000000000000000000000000000 +0434:0000000000000000000000000000000000000000000000000FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0435:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +0436:000000000000000000000000000000000000000000000000318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C000000000000000000000000 +0437:0000000000000000000000000000000000000000000000000FF01FF8381C300C000C001C03F803F8001C000C300C381C1FF80FF0000000000000000000000000 +0438:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +0439:0000000000000000000000000C300C3007E003C000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +043A:000000000000000000000000000000000000000000000000181C1838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000 +043B:00000000000000000000000000000000000000000000000003FC07FC0E0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C1C0C380C000000000000000000000000 +043C:000000000000000000000000000000000000000000000000600C701C783C7C7C6EEC67CC638C610C600C600C600C600C600C600C000000000000000000000000 +043D:000000000000000000000000000000000000000000000000300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C000000000000000000000000 +043E:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +043F:0000000000000000000000000000000000000000000000003FFC3FFC300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +0440:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C301C3FF83FF0300030003000300030000000 +0441:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0000000000000000000000000 +0442:0000000000000000000000000000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180000000000000000000000000 +0443:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +0444:0000000000000000000000000000000000000180018001800FF01FF8399C318C318C318C318C318C318C318C318C399C1FF80FF0018001800180000000000000 +0445:000000000000000000000000000000000000000000000000300C300C381C1C380E7007E003C003C007E00E701C38381C300C300C000000000000000000000000 +0446:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFE0FFF000300030003000300030000 +0447:000000000000000000000000000000000000000000000000300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C000C000000000000000000000000 +0448:000000000000000000000000000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C398C1FFC0FFC000000000000000000000000 +0449:000000000000000000000000000000000000000000000000318C318C318C318C318C318C318C318C318C318C318C398C1FFE0FFF000300030003000300030000 +044A:0000000000000000000000000000000000000000000000003C003C000C000C000FF00FF80C1C0C0C0C0C0C0C0C0C0C1C0FF80FF0000000000000000000000000 +044B:000000000000000000000000000000000000000000000000600C600C600C600C7F0C7F8C61CC60CC60CC60CC60CC61CC7F8C7F0C000000000000000000000000 +044C:00000000000000000000000000000000000000000000000018001800180018001FE01FF01838181818181818181818381FF01FE0000000000000000000000000 +044D:0000000000000000000000000000000000000000000000000FF01FF8381C300C000C000C03FC03FC000C000C300C381C1FF80FF0000000000000000000000000 +044E:00000000000000000000000000000000000000000000000060F061F8630C630C630C630C7F0C7F0C630C630C630C630C61F860F0000000000000000000000000 +044F:0000000000000000000000000000000000000000000000000FFC1FFC380C300C300C380C1FFC0FFC00EC01CC038C070C0E0C1C0C000000000000000000000000 +0450:0000000000000000000000000E000700038001C0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +0451:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +0452:00000000000000000000000030003000FF80FF80300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000C000C001C00F800F00000 +0453:000000000000000000000000007000E001C00380000000003FFC3FFC300030003000300030003000300030003000300030003000000000000000000000000000 +0454:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003FC03FC030003000300C381C1FF80FF0000000000000000000000000 +0455:0000000000000000000000000000000000000000000000000FF01FF8381C3000300038001FF00FF8001C000C000C381C1FF80FF0000000000000000000000000 +0456:00000000000000000000000001800180018001800000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +0457:0000000000000000000000000C300C300C300C300000000007800780018001800180018001800180018001800180018007E007E0000000000000000000000000 +0458:00000000000000000000000000180018001800180000000000780078001800180018001800180018001800180018001800180018181818181C380FF007E00000 +0459:0000000000000000000000000000000000000000000000000F801F803980318031F831FC318E3186318631863186318E71FC61F8000000000000000000000000 +045A:000000000000000000000000000000000000000000000000618061806180618061F861FC7F8E7F86618661866186618E61FC61F8000000000000000000000000 +045B:00000000000000000000000030003000FF80FF80300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +045C:000000000000000000000000007000E001C0038000000000181C1838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000 +045D:0000000000000000000000000E000700038001C000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +045E:0000000000000000000000000C300C3007E003C000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +045F:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C3FFC3FFC018001800180018001800000 +0462:00000000000000000000000030003000FF00FF00300030003FE03FF030383018301830183018301830183018301830383FF03FE0000000000000000000000000 +0463:0000000000000000000000000C000C000C000C003FC03FC00C000C000C000C000FF00FF80C1C0C0C0C0C0C0C0C0C0C1C0FF80FF0000000000000000000000000 +046A:0000000000000000000000003FFC3FFC300C181818180C300C30066003C007E00FF01DB8399C318C318C318C318C318C318C318C000000000000000000000000 +046B:0000000000000000000000000000000000000000000000003FFC3FFC300C381C1C380E7007E00FF01DB8399C318C318C318C318C000000000000000000000000 +0490:00000000000C000C000C000C3FFC3FFC300030003000300030003000300030003000300030003000300030003000300030003000000000000000000000000000 +0491:00000000000000000000000000000000000C000C000C000C3FFC3FFC300030003000300030003000300030003000300030003000000000000000000000000000 +0492:0000000000000000000000003FFC3FFC30003000300030003000300030007F807F80300030003000300030003000300030003000000000000000000000000000 +0493:0000000000000000000000000000000000000000000000003FFC3FFC30003000300030007F807F80300030003000300030003000000000000000000000000000 +0494:0000000000000000000000003FFC3FFC300030003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C000C000C0018003000000000 +0495:0000000000000000000000000000000000000000000000003FFC3FFC300030003000300030003FC03FE03070303030303030303000300030006000C000000000 +0496:000000000000000000000000318C318C318C318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C318C318E318F000300030003000300030000 +0497:000000000000000000000000000000000000000000000000318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318E318F000300030003000300030000 +0498:0000000000000000000000000FF01FF8381C300C300C000C000C000C001C07F807F8001C000C000C000C300C300C381C1FF80FF0018001800180018001800000 +0499:0000000000000000000000000000000000000000000000000FF01FF8381C300C000C001C03F803F8001C000C300C381C1FF80FF0018001800180018001800000 +049A:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300E000600060006000600060000 +049B:000000000000000000000000000000000000000000000000181C1838187018E019C01B801F001F001B8019C018E018701838181C000C000C000C000C000C0000 +049C:000000000000000000000000600C600C601C60386C706CE06DC06F806F007E007E006F006F806DC06CE06C706038601C600C600C000000000000000000000000 +049D:000000000000000000000000000000000000000000000000300C301C3638367036E037C03F803F8037C036E036703638301C300C000000000000000000000000 +04A0:000000000000000000000000F00CF01C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000000000000000000 +04A1:000000000000000000000000000000000000000000000000781C7838187018E019C01B801F001F001B8019C018E018701838181C000000000000000000000000 +04A2:000000000000000000000000300C300C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300E300F000300030003000300030000 +04A3:000000000000000000000000000000000000000000000000300C300C300C300C300C300C3FFC3FFC300C300C300C300C300E300F000300030003000300030000 +04A4:000000000000000000000000607F607F60606060606060606060606060607FE07FE0606060606060606060606060606060606060000000000000000000000000 +04A5:000000000000000000000000000000000000000000000000607F607F60606060606060607FE07FE0606060606060606060606060000000000000000000000000 +04AA:0000000000000000000000000FF01FF8381C300C300C3000300030003000300030003000300030003000300C300C381C1FF80FF0018001800180018001800000 +04AB:0000000000000000000000000000000000000000000000000FF01FF8381C300C300030003000300030003000300C381C1FF80FF0018001800180018001800000 +04AE:000000000000000000000000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +04AF:000000000000000000000000000000000000000000000000300C300C300C1818181818180C300C300660066003C003C001800180018001800180018001800000 +04B0:000000000000000000000000300C300C300C181818180C300C300660066003C003C001801FF81FF8018001800180018001800180000000000000000000000000 +04B1:000000000000000000000000000000000000000000000000300C300C300C1818181818180C300C300660066003C003C001801FF81FF801800180018001800000 +04B2:000000000000000000000000300C300C181818180C300C300660066003C003C003C003C0066006600C300C3018181818300E300F000300030003000300030000 +04B3:000000000000000000000000000000000000000000000000300C300C381C1C380E7007E003C003C007E00E701C38381C300E300F000300030003000300030000 +04B6:000000000000000000000000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C000C000E000F000300030003000300030000 +04B7:000000000000000000000000000000000000000000000000300C300C300C300C300C380C1FFC0FFC000C000C000C000C000E000F000300030003000300030000 +04B8:000000000000000000000000300C300C300C300C300C300C318C318C318C398C1FFC0FFC018C018C018C018C000C000C000C000C000000000000000000000000 +04B9:000000000000000000000000000000000000000000000000300C300C300C318C318C398C1FFC0FFC018C018C018C000C000C000C000000000000000000000000 +04BA:000000000000000000000000300030003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C300C000000000000000000000000 +04BB:000000000000000000000000000000000000000000000000300030003000300030003FF03FF8301C300C300C300C300C300C300C000000000000000000000000 +04C0:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +04C1:00000C300C3007E003C00000318C318C318C318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C318C318C318C000000000000000000000000 +04C2:0000000000000000000000000C300C3007E003C000000000318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C000000000000000000000000 +04CF:00000000000000000000000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000000000000000000000000 +04D0:00000C300C3007E003C000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +04D1:0000000000000000000000000C300C3007E003C0000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +04D2:00000C300C300C300C3000000FF01FF8381C300C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C300C300C000000000000000000000000 +04D3:0000000000000000000000000C300C300C300C30000000001FF01FF8001C000C000C0FFC1FFC380C300C300C300C380C1FFC0FFC000000000000000000000000 +04D4:0000000000000000000000001FFF3FFF70C060C060C060C060C060C060C07FFE7FFE60C060C060C060C060C060C060C060FF60FF000000000000000000000000 +04D5:0000000000000000000000000000000000000000000000003EF83FFC018E018601861F863FFE71FE61806180618071C63FFE1F7C000000000000000000000000 +04D6:00000C300C3007E003C000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +04D7:0000000000000000000000000C300C3007E003C0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +04D8:0000000000000000000000000FF01FF8381C300C300C000C000C000C000C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +04D9:0000000000000000000000000000000000000000000000001FF03FF8301C000C000C000C3FFC3FFC300C300C300C381C1FF80FF0000000000000000000000000 +04DA:00000C300C300C300C3000000FF01FF8381C300C300C000C000C000C000C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +04DB:0000000000000000000000000C300C300C300C30000000001FF03FF8301C000C000C000C3FFC3FFC300C300C300C381C1FF80FF0000000000000000000000000 +04DC:00000C300C300C300C300000318C318C318C318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C318C318C318C000000000000000000000000 +04DD:0000000000000000000000000C300C300C300C3000000000318C318C318C399C1DB80FF007E00FF01DB8399C318C318C318C318C000000000000000000000000 +04DE:00000C300C300C300C3000000FF01FF8381C300C300C000C000C000C001C07F807F8001C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +04DF:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C000C001C03F803F8001C000C300C381C1FF80FF0000000000000000000000000 +04E2:000000000FF00FF000000000300C300C300C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C300C300C300C000000000000000000000000 +04E3:000000000000000000000000000000000FF00FF000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +04E4:00000C300C300C300C300000300C300C300C300C300C301C303C307C30EC31CC338C370C3E0C3C0C380C300C300C300C300C300C000000000000000000000000 +04E5:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000000000000000000000 +04E6:00000C300C300C300C3000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +04E7:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +04E8:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +04E9:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC300C300C300C381C1FF80FF0000000000000000000000000 +04EA:00000C300C300C300C3000000FF01FF8381C300C300C300C300C300C300C3FFC3FFC300C300C300C300C300C300C381C1FF80FF0000000000000000000000000 +04EB:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C300C300C3FFC3FFC300C300C300C381C1FF80FF0000000000000000000000000 +04EC:00000C300C300C300C3000000FF01FF8381C300C300C000C000C000C000C07FC07FC000C000C000C000C300C300C381C1FF80FF0000000000000000000000000 +04ED:0000000000000000000000000C300C300C300C30000000000FF01FF8381C300C000C000C03FC03FC000C000C300C381C1FF80FF0000000000000000000000000 +04EE:000000000FF00FF000000000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000 +04EF:000000000000000000000000000000000FF00FF000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +04F0:00000C300C300C300C300000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000 +04F1:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +04F2:000001CE039C07380E700000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C001C1FF81FF0000000000000000000000000 +04F3:00000000000000000000000001CE039C07380E7000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +04F4:00000C300C300C300C300000300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C000C000C000C000000000000000000000000 +04F5:0000000000000000000000000C300C300C300C3000000000300C300C300C300C300C380C1FFC0FFC000C000C000C000C000C000C000000000000000000000000 +04F8:00000C300C300C300C300000600C600C600C600C600C600C7F0C7F8C61CC60CC60CC60CC60CC60CC60CC60CC60CC61CC7F8C7F0C000000000000000000000000 +04F9:0000000000000000000000000C300C300C300C3000000000600C600C600C600C7F0C7F8C61CC60CC60CC60CC60CC61CC7F8C7F0C000000000000000000000000 +1E0C:0000000000000000000000003FC03FF030383018300C300C300C300C300C300C300C300C300C300C300C300C301830383FF03FC0000003000300030003000000 +1E0D:000000000000000000000000000C000C000C000C000C000C0FFC1FFC380C300C300C300C300C300C300C300C300C380C1FFC0FFC000000C000C000C000C00000 +1E34:000000000000000000000000300C301C3038307030E031C0338037003E003C003C003E003700338031C030E030703038301C300C000000000FF00FF000000000 +1E35:000000000000000000000000180018001800180018001800181C1838187018E019C01B801F001F001B8019C018E018701838181C0000000007F007F000000000 +1E36:0000000000000000000000003000300030003000300030003000300030003000300030003000300030003000300030003FFC3FFC000001800180018001800000 +1E37:00000000000000000000000007800780018001800180018001800180018001800180018001800180018001800180018007E007E0000001800180018001800000 +1E40:000001800180018001800000600C600C701C783C6C6C6C6C67CC638C638C610C600C600C600C600C600C600C600C600C600C600C000000000000000000000000 +1E41:0000000000000000000000000180018001800180000000003FF03FF8319C318C318C318C318C318C318C318C318C318C318C318C000000000000000000000000 +1E42:000000000000000000000000600C600C701C783C6C6C6C6C67CC638C638C610C600C600C600C600C600C600C600C600C600C600C000001800180018001800000 +1E43:0000000000000000000000000000000000000000000000003FF03FF8319C318C318C318C318C318C318C318C318C318C318C318C000001800180018001800000 +1E44:000001800180018001800000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000000000000000000000000 +1E45:0000000000000000000000000180018001800180000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +1E46:000000000000000000000000300C300C300C300C300C380C3C0C3E0C370C338C31CC30EC307C303C301C300C300C300C300C300C000001800180018001800000 +1E47:0000000000000000000000000000000000000000000000003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000001800180018001800000 +1E6C:0000000000000000000000003FFC3FFC018001800180018001800180018001800180018001800180018001800180018001800180000001800180018001800000 +1E6D:0000000000000000000000000300030003000300030003003FF03FF0030003000300030003000300030003000300038001FC00FC000000300030003000300000 +1EB8:0000000000000000000000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000001800180018001800000 +1EB9:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000001800180018001800000 +1EBC:00000F181B9819D818F000003FFC3FFC30003000300030003000300030003FE03FE030003000300030003000300030003FFC3FFC000000000000000000000000 +1EBD:0000000000000000000000000F181B9819D818F0000000000FF01FF8381C300C300C300C3FFC3FFC300030003000380C1FFC0FF8000000000000000000000000 +1ECA:00000000000000000000000007E007E0018001800180018001800180018001800180018001800180018001800180018007E007E0000001800180018001800000 +1ECB:00000000000000000000000001800180018001800000000007800780018001800180018001800180018001800180018007E007E0000001800180018001800000 +1ECC:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000001800180018001800000 +1ECD:0000000000000000000000000000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C381C1FF80FF0000001800180018001800000 +1EE4:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C381C1FF80FF0000001800180018001800000 +1EE5:000000000000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000000C000C000C000C00000 +1EF8:00000F181B9819D818F00000300C300C300C181818180C300C300660066003C003C0018001800180018001800180018001800180000000000000000000000000 +1EF9:0000000000000000000000000F181B9819D818F000000000300C300C300C300C300C300C300C300C300C300C300C380C1FFC0FFC000C000C001C1FF81FF00000 +2000:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2001:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2002:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2003:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2004:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2005:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2006:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2007:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2008:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2009:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +200A:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +200B:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +200C:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +200D:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +200E:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +200F:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2010:0000000000000000000000000000000000000000000000000000000000001FF81FF8000000000000000000000000000000000000000000000000000000000000 +2011:0000000000000000000000000000000000000000000000000000000000001FF81FF8000000000000000000000000000000000000000000000000000000000000 +2012:0000000000000000000000000000000000000000000000000000000000003FFC3FFC000000000000000000000000000000000000000000000000000000000000 +2013:0000000000000000000000000000000000000000000000000000000000003FFC3FFC000000000000000000000000000000000000000000000000000000000000 +2014:0000000000000000000000000000000000000000000000000000000000007FFC7FFC000000000000000000000000000000000000000000000000000000000000 +2015:0000000000000000000000000000000000000000000000000000000000007FFC7FFC000000000000000000000000000000000000000000000000000000000000 +2016:00000000000000000000000006600660066006600660066006600660066006600660066006600660066006600660066006600660000000000000000000000000 +2017:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003FFC3FFC000000003FFC3FFC +2018:000000000000000000C000C001800180018001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2019:00000000000000000180018001800180030003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +201A:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800180030003000000000000000000 +201B:0000000000000000018001800180018000C000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +201C:0000000000000000061806180C300C300C300C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +201D:000000000000000006180618061806180C300C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +201E:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C300C300C300C30186018600000000000000000 +201F:000000000000000018601860186018600C300C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2020:00000000000000000000000001800180018001801FF81FF801800180018001800180018001800180018001800180018001800180000000000000000000000000 +2021:00000000000000000000000001800180018001801FF81FF8018001800180018001800180018001801FF81FF80180018001800180000000000000000000000000 +2022:000000000000000000000000000000000000000000000000000003C007E007E007E007E003C00000000000000000000000000000000000000000000000000000 +2026:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000318C318C318C318C000000000000000000000000 +2030:0000000000000000000000001C303E30366036603EC01CC00180018003000300060006000C000C0019DC1BFE3376337663FE61DC000000000000000000000000 +2032:000000000000000001C001C001C00180018001800180018000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2033:00000000000000001C701C701C701860186018601860186000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2039:000000000000000000000000000000000000000000000000007000E001C0038007000E001C001C000E000700038001C000E00070000000000000000000000000 +203A:0000000000000000000000000000000000000000000000001C000E000700038001C000E00070007000E001C0038007000E001C00000000000000000000000000 +203C:0000000000000000000000000C300C300C300C300C300C300C300C300C300C300C300C300C300000000000000C300C300C300C30000000000000000000000000 +203E:000000003FFC3FFC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +2070:00000000000003C007E00C300C300C300C300C300C300C3007E003C0000000000000000000000000000000000000000000000000000000000000000000000000 +2071:01800180018000000780078001800180018001800180018007E007E0000000000000000000000000000000000000000000000000000000000000000000000000 +2074:0000000000000030007000F001F003B007300E300FF00FF000300030000000000000000000000000000000000000000000000000000000000000000000000000 +2075:0000000000000FE00FE00C000C000FE00FF0003000300C300FF007E0000000000000000000000000000000000000000000000000000000000000000000000000 +2076:00000000000003E007E00C000C000FE00FF00C300C300C300FF007E0000000000000000000000000000000000000000000000000000000000000000000000000 +2077:0000000000000FF00FF00C3000300060006000C000C0018001800180000000000000000000000000000000000000000000000000000000000000000000000000 +2078:00000000000007E00FF00C300C300FF007E00C300C300C300FF007E0000000000000000000000000000000000000000000000000000000000000000000000000 +2079:00000000000007E00FF00C300C300C300FF007F00030003007E007C0000000000000000000000000000000000000000000000000000000000000000000000000 +207A:000000000000000000000180018001800FF00FF00180018001800000000000000000000000000000000000000000000000000000000000000000000000000000 +207B:000000000000000000000000000000001FF01FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +207C:000000000000000000001FF01FF00000000000001FF01FF000000000000000000000000000000000000000000000000000000000000000000000000000000000 +207D:00000000000000C001800300030003000300030003000300018000C0000000000000000000000000000000000000000000000000000000000000000000000000 +207E:0000000000000300018000C000C000C000C000C000C000C001800300000000000000000000000000000000000000000000000000000000000000000000000000 +207F:00000000000000001FC01FE018301830183018301830183018301830000000000000000000000000000000000000000000000000000000000000000000000000 +2080:00000000000000000000000000000000000000000000000000000000000000000000000003C007E00C300C300C300C300C300C300C3007E003C0000000000000 +2081:00000000000000000000000000000000000000000000000000000000000000000000000001800380078007800180018001800180018007E007E0000000000000 +2082:00000000000000000000000000000000000000000000000000000000000000000000000007E00FF00C300C30007000E001C0038007000FF00FF0000000000000 +2083:00000000000000000000000000000000000000000000000000000000000000000000000007E00FF00C30003001E001E0003000300C300FF007E0000000000000 +2084:0000000000000000000000000000000000000000000000000000000000000000000000000030007000F001F003B007300E300FF00FF000300030000000000000 +2085:0000000000000000000000000000000000000000000000000000000000000000000000000FE00FE00C000C000FE00FF0003000300C300FF007E0000000000000 +2086:00000000000000000000000000000000000000000000000000000000000000000000000003E007E00C000C000FE00FF00C300C300C300FF007E0000000000000 +2087:0000000000000000000000000000000000000000000000000000000000000000000000000FF00FF00C3000300060006000C000C0018001800180000000000000 +2088:00000000000000000000000000000000000000000000000000000000000000000000000007E00FF00C300C300FF007E00C300C300C300FF007E0000000000000 +2089:00000000000000000000000000000000000000000000000000000000000000000000000007E00FF00C300C300C300FF007F00030003007E007C0000000000000 +208A:000000000000000000000000000000000000000000000000000000000000000000000000000000000180018001800FF00FF00180018001800000000000000000 +208B:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001FF01FF00000000000000000000000000000 +208C:000000000000000000000000000000000000000000000000000000000000000000000000000000001FF01FF00000000000001FF01FF000000000000000000000 +208D:00000000000000000000000000000000000000000000000000000000000000000000000000C001800300030003000300030003000300018000C0000000000000 +208E:0000000000000000000000000000000000000000000000000000000000000000000000000300018000C000C000C000C000C000C000C001800300000000000000 +2090:00000000000000000000000000000000000000000000000000000000000000000000000000000FC00FE0003000300FF01FF0183018301FF00FF0000000000000 +2091:000000000000000000000000000000000000000000000000000000000000000000000000000007C00FE0183018301FF01FF0180018000FF007E0000000000000 +2092:000000000000000000000000000000000000000000000000000000000000000000000000000007C00FE01830183018301830183018300FE007C0000000000000 +2093:000000000000000000000000000000000000000000000000000000000000000000000000000018301C700EE007C00380038007C00EE01C701830000000000000 +2094:00000000000000000000000000000000000000000000000000000000000000000000000000000FC01FE0003000301FF01FF0183018300FE007C0000000000000 +2095:00000000000000000000000000000000000000000000000000000000000018001800180018001FC01FE018301830183018301830183018301830000000000000 +2096:0000000000000000000000000000000000000000000000000000000000000C000C000C000C000C380C700CE00DC00F800F800DC00CE00C700C38000000000000 +2097:00000000000000000000000000000000000000000000000000000000000007800780018001800180018001800180018001800180018007E007E0000000000000 +2098:00000000000000000000000000000000000000000000000000000000000000000000000000003FF03FF8318C318C318C318C318C318C318C318C000000000000 +209A:00000000000000000000000000000000000000000000000000000000000000000000000000001FC01FE01830183018301830183018301FE01FC0180018001800 +20A7:0000000000000000000000007F007F8061C060C060C060C060C060C061C07FB07F30603061FE61FE6030603060306030603E601E000000000000000000000000 +20AC:00000000000000000000000003F007F80E1C1C0E380030003000FFC0FFC030003000FFC0FFC03000300038001C0E0E1C07F803F0000000000000000000000000 +20AE:0000000000000000000000003FFC3FFC0180018001800180018001B801F003C00FB81DF003C00F801D8001800180018001800180000000000000000000000000 +2102:0000000000000000000000000FF01FF83E1C360C360C3600360036003600360036003600360036003600360C360C3E1C1FF80FF0000000000000000000000000 +210E:0000000000000000000000003000300030003000300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +210F:00000000000000000000000030003000FF80FF80300030003FF03FF8301C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +2115:000000000000000000000000300C300C300C300C380C3C0C360C3B0C3D8C36CC336C31BC30DC306C303C301C300C300C300C300C000000000000000000000000 +2116:000000000000000000000000C180C19CC1BEE1B6E1B6F1BEF19CF980D980DD80CD80CF80C780C7BEC3BEC380C1BEC1BEC180C180000000000000000000000000 +211A:0000000000000000000000000FF01FF83E1C360C360C360C360C360C360C360C360C360C360C360C360C360C36CC3EFC1FF80FF8001C000E0000000000000000 +211D:0000000000000000000000003FF03FF8361C360C360C360C360C360C360C361C37F837F036C0376037B036D8366C3636361A3E0E000000000000000000000000 +2122:0000000000000000000000007E827EC618FE18D618C618C618C618C6000000000000000000000000000000000000000000000000000000000000000000000000 +2124:0000000000000000000000003FFC3FFC000C000C001C003C006C00D801B0036006C00D801B0036003C003800300030003FFC3FFC000000000000000000000000 +2126:0000000000000000000000000FF01FF8381C300C300C300C300C300C300C300C300C300C300C381C1C380E70066006603E7C3E7C000000000000000000000000 +2135:00000000000000000000000030303030181818180C0C0C0C06060E0E1F1C3B3871F061E060C060C0606060606030703038181C18000000000000000000000000 +2190:0000000000000000000000000000000000000000030007000E001C0038007FFE7FFE38001C000E00070003000000000000000000000000000000000000000000 +2191:000000000000000000000000018003C007E00FF01DB8399C318C0180018001800180018001800180018001800180018001800180000000000000000000000000 +2192:000000000000000000000000000000000000000000C000E000700038001C7FFE7FFE001C0038007000E000C00000000000000000000000000000000000000000 +2193:0000000000000000000000000180018001800180018001800180018001800180018001800180318C399C1DB80FF007E003C00180000000000000000000000000 +2194:000000000000000000000000000000000000000006600E701C38381C700EFFFFFFFF700E381C1C380E7006600000000000000000000000000000000000000000 +2195:000000000000000000000000018003C007E00FF01DB8399C318C018001800180018001800180318C399C1DB80FF007E003C00180000000000000000000000000 +21A4:0000000000000000000000000000000000000000030607060E061C0638067FFE7FFE38061C060E06070603060000000000000000000000000000000000000000 +21A6:000000000000000000000000000000000000000060C060E060706038601C7FFE7FFE601C6038607060E060C00000000000000000000000000000000000000000 +21A8:000000000000000000000000018003C007E00FF01DB8399C318C0180018001800180318C399C1DB80FF007E003C001803FFC3FFC000000000000000000000000 +21B5:000000000000000000000000000C000C000C000C000C000C000C000C030C070C0E0C1C0C380C7FFC7FFC38001C000E0007000300000000000000000000000000 +21BB:0000000000000000000000000000000000007F007F001F003B183318630C600C600C600C600C301838381FF00FE0000000000000000000000000000000000000 +21CB:0000000000000000000000000000000000000800180038007000FFFEFFFE00000000FFFEFFFE001C003800300020000000000000000000000000000000000000 +21CC:000000000000000000000000000000000000002000300038001CFFFEFFFE00000000FFFEFFFE7000380018000800000000000000000000000000000000000000 +21D0:000000000000000000000000000000000000000006000E001C003FFE7FFEF000F0007FFE3FFE1C000E0006000000000000000000000000000000000000000000 +21D1:000000000000000000000000018003C007E00FF01E783E7C366C0660066006600660066006600660066006600660066006600660000000000000000000000000 +21D2:000000000000000000000000000000000000000000C000E00070FFF8FFFC001E001EFFFCFFF8007000E000C00000000000000000000000000000000000000000 +21D3:0000000000000000000000000660066006600660066006600660066006600660066006600660366C3E7C1E780FF007E003C00180000000000000000000000000 +21D4:000000000000000000000000000000000000000006600E701C383FFC7FFEF00FF00F7FFE3FFC1C380E7006600000000000000000000000000000000000000000 +21D5:000000000000000000000000018003C007E00FF01E783E7C366C066006600660066006600660366C3E7C1E780FF007E003C00180000000000000000000000000 +2200:000000000000000000000000600C600C600C600C301830183FF83FF81830183018300C600C600C6006C006C006C0038003800380000000000000000000000000 +2203:0000000000000000000000003FFC3FFC000C000C000C000C000C000C000C3FFC3FFC000C000C000C000C000C000C000C3FFC3FFC000000000000000000000000 +2204:000000000000000C000C001C3FFC3FFC003C006C006C00CC00CC018C018C3FFC3FFC030C030C060C060C0C0C0C0C180C3FFC3FFC300060006000000000000000 +2205:00000000000000000000000000180018003000300FE01FF030D830D83198319833183318361836181FF00FE01800180030003000000000000000000000000000 +2206:00000000000000000000000001800180018003C003C003C00660066006600C300C300C30181818181818300C300C300C3FFC3FFC000000000000000000000000 +2207:0000000000000000000000003FFC3FFC300C300C300C1818181818180C300C300C3006600660066003C003C003C0018001800180000000000000000000000000 +2208:00000000000000000000000001FC07FC0E001800180030003000300030003FFC3FFC3000300030003000180018000E0007FC01FC000000000000000000000000 +2209:00000000000000060006000C01FC07FC0E18183018303060306030C030C03FFC3FFC318031803300330016001E000E000FFC19FC180030003000000000000000 +220A:00000000000000000000000000000000000003FC0FFC1C001800300030003FFC3FFC3000300018001C000FFC03FC000000000000000000000000000000000000 +220B:0000000000000000000000003F803FE0007000180018000C000C000C000C3FFC3FFC000C000C000C000C0018001800703FE03F80000000000000000000000000 +220C:0000000000006000600030003F803FE018700C180C18060C060C030C030C3FFC3FFC018C018C00CC00CC0068007800703FF03F980018000C000C000000000000 +220D:0000000000000000000000000000000000003FC03FF000380018000C000C3FFC3FFC000C000C001800383FF03FC0000000000000000000000000000000000000 +2212:0000000000000000000000000000000000000000000000000000000000003FFC3FFC000000000000000000000000000000000000000000000000000000000000 +2213:00000000000000000000000000000000000000003FFC3FFC00000000018001800180018001803FFC3FFC01800180018001800180000000000000000000000000 +2214:00000000000000000000000000000000018001800180018000000000018001800180018001803FFC3FFC01800180018001800180000000000000000000000000 +2215:0000000000000000000000000000000000000000000C001C0038007000E001C0038007000E001C00380070006000000000000000000000000000000000000000 +2216:00000000000000000000000000000000000000006000700038001C000E000700038001C000E000700038001C000C000000000000000000000000000000000000 +2219:0000000000000000000000000000000000000000000000000000038007C007C007C0038000000000000000000000000000000000000000000000000000000000 +221A:000000000000001E001E001800180018001800180018001800180018001830183018301838181C180E180718039801D800F80078000000000000000000000000 +221E:000000000000000000000000000000000000000000001E783FFC73CE618661866186618673CE3FFC1E7800000000000000000000000000000000000000000000 +221F:000000000000000000000000000000000000000030003000300030003000300030003000300030003FFC3FFC0000000000000000000000000000000000000000 +2225:00000000000000000000000006600660066006600660066006600660066006600660066006600660066006600660066006600660000000000000000000000000 +2227:0000000000000000000000000000000000000000000000000180018003C003C0066006600C300C300C30181818181818300C300C000000000000000000000000 +2228:000000000000000000000000000000000000000000000000300C300C1818181818180C300C300C300660066003C003C001800180000000000000000000000000 +2229:000000000000000000000000000000000000000007E00FF01C381818300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +222A:0000000000000000000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C18181C380FF007E0000000000000000000000000 +2248:000000000000000000000000000000000000000000001F0C3F9C39FC30F8000000001F0C3F9C39FC30F800000000000000000000000000000000000000000000 +2260:0000000000000000000000000000000000000000001C00387FFC7FFC00E001C0038007007FFC7FFC380070000000000000000000000000000000000000000000 +2261:0000000000000000000000000000000000003FFC3FFC00000000000000003FFC3FFC00000000000000003FFC3FFC000000000000000000000000000000000000 +2264:0000000000000000000000000038007000E001C0038007000E001C001C000E000700038001C000E000700038000000003FFC3FFC000000000000000000000000 +2265:0000000000000000000000001C000E000700038001C000E0007000380038007000E001C0038007000E001C00000000003FFC3FFC000000000000000000000000 +226A:000000000000000000000000000000C301C7038E071C0E381C7038E071C0E380E38071C038E01C700E38071C038E01C700C30000000000000000000000000000 +226B:0000000000000000000000000000C300E38071C038E01C700E38071C038E01C701C7038E071C0E381C7038E071C0E380C3000000000000000000000000000000 +2282:00000000000000000000000000000000000007FC1FFC38007000600060006000600060006000700038001FFC07FC000000000000000000000000000000000000 +2283:0000000000000000000000000000000000007FC07FF00038001C000C000C000C000C000C000C001C00387FF07FC0000000000000000000000000000000000000 +2286:000000000000000000000000000007FC1FFC38007000600060006000600060006000700038001FFC07FC000000007FFC7FFC0000000000000000000000000000 +2287:00000000000000000000000000007FC07FF00038001C000C000C000C000C000C000C001C00387FF07FC0000000007FFC7FFC0000000000000000000000000000 +22A5:0000000000000000000000000000000000000000018001800180018001800180018001800180018001800180018001803FFC3FFC000000000000000000000000 +22C2:00000000000000000000000007E00FF01C381818300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C000000000000000000000000 +22C3:000000000000000000000000300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C300C18181C380FF007E0000000000000000000000000 +2300:00000000000000000000000000180018003000300FE01FF030D830D83198319833183318361836181FF00FE01800180030003000000000000000000000000000 +2302:0000000000000000000000000000000000000000018003C007E00E701C38381C700E60066006600660066006600660067FFE7FFE000000000000000000000000 +2308:0000000000000000000000000FE00FE00C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C00000000000000000000000000 +2309:0000000000000000000000000FE00FE0006000600060006000600060006000600060006000600060006000600060006000600060000000000000000000000000 +230A:0000000000000000000000000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000FE00FE0000000000000000000000000 +230B:0000000000000000000000000060006000600060006000600060006000600060006000600060006000600060006000600FE00FE0000000000000000000000000 +2310:0000000000000000000000000000000000000000000000003FFC3FFC300030003000300030003000000000000000000000000000000000000000000000000000 +2319:0000000000000000000000000000000000000000000000003000300030003000300030003FFC3FFC000000000000000000000000000000000000000000000000 +2320:00000000000000000000000000F801FC018C018C0180018001800180018001800180018001800180018001800180018001800180018001800180018001800180 +2321:0180018001800180018001800180018001800180018001800180018001800180018001800180018001800180318031803F801F00000000000000000000000000 +239B:00180030006000C001800180030003000600060006000C000C000C000C0018001800180018001800180018001800180018001800180018001800180018001800 +239C:18001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800 +239D:180018001800180018001800180018001800180018001800180018001800180018000C000C000C000C00060006000600030003000180018000C0006000300018 +239E:18000C00060003000180018000C000C0006000600060003000300030003000180018001800180018001800180018001800180018001800180018001800180018 +239F:00180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018 +23A0:00180018001800180018001800180018001800180018001800180018001800180018003000300030003000600060006000C000C001800180030006000C001800 +23A1:1FF81FF8180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800 +23A2:18001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800 +23A3:1800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001FF81FF8 +23A4:1FF81FF8001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018 +23A5:00180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018 +23A6:0018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800181FF81FF8 +23A7:007E01FE038003000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600 +23A8:06000600060006000600060006000600060006000600060006000E001C00F800F8001C000E000600060006000600060006000600060006000600060006000600 +23A9:06000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000600060006000300038001FE007E +23AB:FC00FF000380018000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C0 +23AC:00C000C000C000C000C000C000C000C000C000C000C000C000C000C00060003E003E006000C000C000C000C000C000C000C000C000C000C000C000C000C000C0 +23AD:00C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C001800380FF00FC00 +23AE:01800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180 +23AF:000000000000000000000000000000000000000000000000000000000000FFFFFFFF000000000000000000000000000000000000000000000000000000000000 +23BA:FFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +23BB:00000000000000000000000000000000FFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +23BC:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF00000000000000000000000000000000 +23BD:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF +23D0:01800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180 +2409:0000000000000000000000006180618061807F807F8061806180618061800000000003FC03FC0060006000600060006000600060000000000000000000000000 +240A:00000000000000000000000060006000600060006000600060007F807F800000000003FC03FC0300030003F003F0030003000300000000000000000000000000 +240B:00000000000000000000000061806180618061806180618033001E000C000000000003FC03FC0060006000600060006000600060000000000000000000000000 +240C:0000000000000000000000007F807F80600060007E007E006000600060000000000003FC03FC0300030003F003F0030003000300000000000000000000000000 +240D:0000000000000000000000003F007F80618060006000600061807F803F000000000003F803FC030C030C03F803E003700338031C000000000000000000000000 +2424:00000000000000000000000061806180718079806D80678063806180618000000000030003000300030003000300030003FC03FC000000000000000000000000 +2500:000000000000000000000000000000000000000000000000000000000000FFFFFFFF000000000000000000000000000000000000000000000000000000000000 +2501:00000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000 +2502:01800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180018001800180 +2503:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2508:000000000000000000000000000000000000000000000000000000000000F7DEF7DE000000000000000000000000000000000000000000000000000000000000 +2509:00000000000000000000000000000000000000000000000000000000F7DEF7DEF7DEF7DE00000000000000000000000000000000000000000000000000000000 +250A:01800180018001800180018000000000018001800180018001800180000000000180018001800180018001800000000001800180018001800180018000000000 +250B:03C003C003C003C003C003C00000000003C003C003C003C003C003C00000000003C003C003C003C003C003C00000000003C003C003C003C003C003C000000000 +250C:00000000000000000000000000000000000000000000000000000000000001FF01FF018001800180018001800180018001800180018001800180018001800180 +250D:0000000000000000000000000000000000000000000000000000000001FF01FF01FF01FF01800180018001800180018001800180018001800180018001800180 +250E:00000000000000000000000000000000000000000000000000000000000003FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +250F:0000000000000000000000000000000000000000000000000000000003FF03FF03FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2510:000000000000000000000000000000000000000000000000000000000000FF80FF80018001800180018001800180018001800180018001800180018001800180 +2511:00000000000000000000000000000000000000000000000000000000FF80FF80FF80FF8001800180018001800180018001800180018001800180018001800180 +2512:000000000000000000000000000000000000000000000000000000000000FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2513:00000000000000000000000000000000000000000000000000000000FFC0FFC0FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2514:01800180018001800180018001800180018001800180018001800180018001FF01FF000000000000000000000000000000000000000000000000000000000000 +2515:0180018001800180018001800180018001800180018001800180018001FF01FF01FF01FF00000000000000000000000000000000000000000000000000000000 +2516:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF000000000000000000000000000000000000000000000000000000000000 +2517:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF03FF03FF00000000000000000000000000000000000000000000000000000000 +2518:018001800180018001800180018001800180018001800180018001800180FF80FF80000000000000000000000000000000000000000000000000000000000000 +2519:01800180018001800180018001800180018001800180018001800180FF80FF80FF80FF8000000000000000000000000000000000000000000000000000000000 +251A:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC0000000000000000000000000000000000000000000000000000000000000 +251B:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC0FFC0FFC000000000000000000000000000000000000000000000000000000000 +251C:01800180018001800180018001800180018001800180018001800180018001FF01FF018001800180018001800180018001800180018001800180018001800180 +251D:0180018001800180018001800180018001800180018001800180018001FF01FF01FF01FF01800180018001800180018001800180018001800180018001800180 +251E:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF018001800180018001800180018001800180018001800180018001800180 +251F:01800180018001800180018001800180018001800180018001800180018003FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2520:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2521:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF03FF03FF01800180018001800180018001800180018001800180018001800180 +2522:0180018001800180018001800180018001800180018001800180018003FF03FF03FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2523:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FF03FF03FF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2524:018001800180018001800180018001800180018001800180018001800180FF80FF80018001800180018001800180018001800180018001800180018001800180 +2525:01800180018001800180018001800180018001800180018001800180FF80FF80FF80FF8001800180018001800180018001800180018001800180018001800180 +2526:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC0018001800180018001800180018001800180018001800180018001800180 +2527:018001800180018001800180018001800180018001800180018001800180FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2528:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2529:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC0FFC0FFC001800180018001800180018001800180018001800180018001800180 +252A:01800180018001800180018001800180018001800180018001800180FFC0FFC0FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +252B:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFC0FFC0FFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +252C:000000000000000000000000000000000000000000000000000000000000FFFFFFFF018001800180018001800180018001800180018001800180018001800180 +252D:00000000000000000000000000000000000000000000000000000000FF80FFFFFFFFFF8001800180018001800180018001800180018001800180018001800180 +252E:0000000000000000000000000000000000000000000000000000000001FFFFFFFFFF01FF01800180018001800180018001800180018001800180018001800180 +252F:00000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF01800180018001800180018001800180018001800180018001800180 +2530:000000000000000000000000000000000000000000000000000000000000FFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2531:00000000000000000000000000000000000000000000000000000000FFC0FFFFFFFFFFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2532:0000000000000000000000000000000000000000000000000000000003FFFFFFFFFF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2533:00000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2534:018001800180018001800180018001800180018001800180018001800180FFFFFFFF000000000000000000000000000000000000000000000000000000000000 +2535:01800180018001800180018001800180018001800180018001800180FF80FFFFFFFFFF8000000000000000000000000000000000000000000000000000000000 +2536:0180018001800180018001800180018001800180018001800180018001FFFFFFFFFF01FF00000000000000000000000000000000000000000000000000000000 +2537:01800180018001800180018001800180018001800180018001800180FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000 +2538:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFF000000000000000000000000000000000000000000000000000000000000 +2539:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFFFFFFFFFC000000000000000000000000000000000000000000000000000000000 +253A:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FFFFFFFFFF03FF00000000000000000000000000000000000000000000000000000000 +253B:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000 +253C:018001800180018001800180018001800180018001800180018001800180FFFFFFFF018001800180018001800180018001800180018001800180018001800180 +253D:01800180018001800180018001800180018001800180018001800180FF80FFFFFFFFFF8001800180018001800180018001800180018001800180018001800180 +253E:0180018001800180018001800180018001800180018001800180018001FFFFFFFFFF01FF01800180018001800180018001800180018001800180018001800180 +253F:01800180018001800180018001800180018001800180018001800180FFFFFFFFFFFFFFFF01800180018001800180018001800180018001800180018001800180 +2540:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFF018001800180018001800180018001800180018001800180018001800180 +2541:018001800180018001800180018001800180018001800180018001800180FFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2542:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2543:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFFFFFFFFF8001800180018001800180018001800180018001800180018001800180 +2544:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FFFFFFFFFF01FF01800180018001800180018001800180018001800180018001800180 +2545:01800180018001800180018001800180018001800180018001800180FF80FFFFFFFFFFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2546:0180018001800180018001800180018001800180018001800180018001FFFFFFFFFF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2547:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFFFFFFFFFF01800180018001800180018001800180018001800180018001800180 +2548:01800180018001800180018001800180018001800180018001800180FFFFFFFFFFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2549:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFC0FFFFFFFFFFC003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +254A:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003FFFFFFFFFF03FF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +254B:03C003C003C003C003C003C003C003C003C003C003C003C003C003C0FFFFFFFFFFFFFFFF03C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +2550:0000000000000000000000000000000000000000000000000000FFFFFFFF00000000FFFFFFFF0000000000000000000000000000000000000000000000000000 +2551:06600660066006600660066006600660066006600660066006600660066006600660066006600660066006600660066006600660066006600660066006600660 +2552:000000000000000000000000000000000000000000000000000001FF01FF0180018001FF01FF0180018001800180018001800180018001800180018001800180 +2553:00000000000000000000000000000000000000000000000000000000000007FF07FF066006600660066006600660066006600660066006600660066006600660 +2554:000000000000000000000000000000000000000000000000000007FF07FF06000600067F067F0660066006600660066006600660066006600660066006600660 +2555:0000000000000000000000000000000000000000000000000000FF80FF8001800180FF80FF800180018001800180018001800180018001800180018001800180 +2556:000000000000000000000000000000000000000000000000000000000000FFE0FFE0066006600660066006600660066006600660066006600660066006600660 +2557:0000000000000000000000000000000000000000000000000000FFE0FFE000600060FE60FE600660066006600660066006600660066006600660066006600660 +2558:018001800180018001800180018001800180018001800180018001FF01FF0180018001FF01FF0000000000000000000000000000000000000000000000000000 +2559:06600660066006600660066006600660066006600660066006600660066007FF07FF000000000000000000000000000000000000000000000000000000000000 +255A:0660066006600660066006600660066006600660066006600660067F067F0600060007FF07FF0000000000000000000000000000000000000000000000000000 +255B:0180018001800180018001800180018001800180018001800180FF80FF8001800180FF80FF800000000000000000000000000000000000000000000000000000 +255C:066006600660066006600660066006600660066006600660066006600660FFE0FFE0000000000000000000000000000000000000000000000000000000000000 +255D:0660066006600660066006600660066006600660066006600660FE60FE6000600060FFE0FFE00000000000000000000000000000000000000000000000000000 +255E:018001800180018001800180018001800180018001800180018001FF01FF0180018001FF01FF0180018001800180018001800180018001800180018001800180 +255F:066006600660066006600660066006600660066006600660066006600660067F067F066006600660066006600660066006600660066006600660066006600660 +2560:0660066006600660066006600660066006600660066006600660067F067F06000600067F067F0660066006600660066006600660066006600660066006600660 +2561:0180018001800180018001800180018001800180018001800180FF80FF8001800180FF80FF800180018001800180018001800180018001800180018001800180 +2562:066006600660066006600660066006600660066006600660066006600660FE60FE60066006600660066006600660066006600660066006600660066006600660 +2563:0660066006600660066006600660066006600660066006600660FE60FE6000600060FE60FE600660066006600660066006600660066006600660066006600660 +2564:0000000000000000000000000000000000000000000000000000FFFFFFFF00000000FFFFFFFF0180018001800180018001800180018001800180018001800180 +2565:000000000000000000000000000000000000000000000000000000000000FFFFFFFF066006600660066006600660066006600660066006600660066006600660 +2566:0000000000000000000000000000000000000000000000000000FFFFFFFF00000000FE7FFE7F0660066006600660066006600660066006600660066006600660 +2567:0180018001800180018001800180018001800180018001800180FFFFFFFF00000000FFFFFFFF0000000000000000000000000000000000000000000000000000 +2568:066006600660066006600660066006600660066006600660066006600660FFFFFFFF000000000000000000000000000000000000000000000000000000000000 +2569:0660066006600660066006600660066006600660066006600660FE7FFE7F00000000FFFFFFFF0000000000000000000000000000000000000000000000000000 +256A:0180018001800180018001800180018001800180018001800180FFFFFFFF01800180FFFFFFFF0180018001800180018001800180018001800180018001800180 +256B:066006600660066006600660066006600660066006600660066006600660FFFFFFFF066006600660066006600660066006600660066006600660066006600660 +256C:0660066006600660066006600660066006600660066006600660FE7FFE7F00000000FE7FFE7F0660066006600660066006600660066006600660066006600660 +256D:000000000000000000000000000000000000000000000000000000000000000F003F007800E000C001C001800180018001800180018001800180018001800180 +256E:000000000000000000000000000000000000000000000000000000000000F000FC001E0007000300038001800180018001800180018001800180018001800180 +256F:018001800180018001800180018001800180018001800380030007001E00FC00F000000000000000000000000000000000000000000000000000000000000000 +2570:0180018001800180018001800180018001800180018001C000C000E00078003F000F000000000000000000000000000000000000000000000000000000000000 +2571:00010003000300060006000C000C00180018003000300060006000C000C00180018003000300060006000C000C00180018003000300060006000C000C0008000 +2572:8000C000C0006000600030003000180018000C000C0006000600030003000180018000C000C0006000600030003000180018000C000C00060006000300030001 +2573:8001C003C00360066006300C300C181818180C300C300660066003C003C00180018003C003C0066006600C300C3018181818300C300C60066006C003C0038001 +2574:000000000000000000000000000000000000000000000000000000000000FF80FF80000000000000000000000000000000000000000000000000000000000000 +2575:01800180018001800180018001800180018001800180018001800180018001800180000000000000000000000000000000000000000000000000000000000000 +2576:00000000000000000000000000000000000000000000000000000000000001FF01FF000000000000000000000000000000000000000000000000000000000000 +2577:00000000000000000000000000000000000000000000000000000000000001800180018001800180018001800180018001800180018001800180018001800180 +2578:00000000000000000000000000000000000000000000000000000000FF80FF80FF80FF8000000000000000000000000000000000000000000000000000000000 +2579:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0000000000000000000000000000000000000000000000000000000000000 +257A:0000000000000000000000000000000000000000000000000000000001FF01FF01FF01FF00000000000000000000000000000000000000000000000000000000 +257B:00000000000000000000000000000000000000000000000000000000000003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +257C:0000000000000000000000000000000000000000000000000000000001FFFFFFFFFF01FF00000000000000000000000000000000000000000000000000000000 +257D:01800180018001800180018001800180018001800180018001800180018003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0 +257E:00000000000000000000000000000000000000000000000000000000FF80FFFFFFFFFF8000000000000000000000000000000000000000000000000000000000 +257F:03C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C0018001800180018001800180018001800180018001800180018001800180 +2580:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000 +2581:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF +2582:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +2583:00000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +2584:0000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +2585:000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +2586:00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +2587:0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +2588:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +2589:FFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFCFFFC +258A:FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0FFF0 +258B:FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0 +258C:FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 +258D:FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00 +258E:F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000 +258F:C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000C000 +2590:00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF +2591:AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000 +2592:AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555AAAA5555 +2593:FFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAAFFFFAAAA +2596:0000000000000000000000000000000000000000000000000000000000000000FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Mon Jun 26 18:21:22 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4C421D8DF16; Mon, 26 Jun 2017 18:21:22 +0000 (UTC) (envelope-from sbruno@freebsd.org) Received: from mail.ignoranthack.me (ignoranthack.me [199.102.79.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1981182E8F; Mon, 26 Jun 2017 18:21:21 +0000 (UTC) (envelope-from sbruno@freebsd.org) Received: from [192.168.0.6] (75-173-114-235.albq.qwest.net [75.173.114.235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: sbruno@ignoranthack.me) by mail.ignoranthack.me (Postfix) with ESMTPSA id 241A81928AB; Mon, 26 Jun 2017 18:21:19 +0000 (UTC) Subject: Re: svn commit: r320362 - head/share/zoneinfo To: Edward Tomasz Napierala , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201706261540.v5QFeOTj072841@repo.freebsd.org> From: Sean Bruno Message-ID: Date: Mon, 26 Jun 2017 12:21:15 -0600 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: <201706261540.v5QFeOTj072841@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 18:21:22 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f Content-Type: multipart/mixed; boundary="VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ"; protected-headers="v1" From: Sean Bruno To: Edward Tomasz Napierala , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: Subject: Re: svn commit: r320362 - head/share/zoneinfo References: <201706261540.v5QFeOTj072841@repo.freebsd.org> In-Reply-To: <201706261540.v5QFeOTj072841@repo.freebsd.org> --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable Hmmm ... This seems to break 'poudriere jail -c jailname -m src=3D/usr/sr= c -v head" --- realinstall_subdir_share/zoneinfo --- install: builddir/Africa/Abidjan: No such file or directory On 06/26/17 09:40, Edward Tomasz Napierala wrote: > Author: trasz > Date: Mon Jun 26 15:40:24 2017 > New Revision: 320362 > URL: https://svnweb.freebsd.org/changeset/base/320362 >=20 > Log: > Provide visual feedback when timezone files are installed. > After r320003 it wasn't being shown in any way. > =20 > Submitted by: bdrewery > MFC after: 1 month > Differential Revision: https://reviews.freebsd.org/D11154 >=20 > Modified: > head/share/zoneinfo/Makefile >=20 > Modified: head/share/zoneinfo/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/share/zoneinfo/Makefile Mon Jun 26 15:23:12 2017 (r320361) > +++ head/share/zoneinfo/Makefile Mon Jun 26 15:40:24 2017 (r320362) > @@ -83,14 +83,19 @@ zoneinfo: yearistype ${TDATA} > zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \ > ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES} > =20 > +.if make(*install*) > +TZS!=3D cd ${TZBUILDDIR} && find -s * -type f > +.endif > + > beforeinstall: install-zoneinfo > install-zoneinfo: > mkdir -p ${DESTDIR}/usr/share/zoneinfo > cd ${DESTDIR}/usr/share/zoneinfo; mkdir -p ${TZBUILDSUBDIRS} > - cd ${TZBUILDDIR} && \ > - find -s * -type f -exec ${INSTALL} ${TAG_ARGS} \ > +.for f in ${TZS} > + ${INSTALL} ${TAG_ARGS} \ > -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > - \{} ${DESTDIR}/usr/share/zoneinfo/\{} \; > + ${TZBUILDDIR:C,^${.OBJDIR}/,,}/${f} ${DESTDIR}/usr/share/zoneinfo= /${f} > +.endfor > ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ > =20 >=20 >=20 --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ-- --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/LYFAllRUJtfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEU4 QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgkQveT1/om1 /LaIFggAlEX4pLTfDUaRsGoxWbGI0DiirmhR1nW74ESXjGXd4u9WSYKfvxK+oGPJ LRwxcimGw/v+h8piM102ijsmquE0+NlyyMAYjFNLb9tsZuR+kfzRbDwqiu3FNg8R zDnsvo69JHiyoi7r9BJB30Q6P9fZDGBtCrSQ9Up2IUiPHjz+pLUK6jxy29wflPSr qVDHitG2A7l7Sdn3Jsj8MWNw/4ehRNlhxudgg+F8v7tEJH9eNBpP6K6jR6B+aU/P VCPrKO1rRmmJTPxxPwskLLX4/xXrf8hmUFTm0uBbLtKbvzsaO5IZ9HKXJdYFlaRo dCw6yY1xFlMv/OrUWgSxj02fsd7GHg== =9Mia -----END PGP SIGNATURE----- --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f-- From owner-svn-src-head@freebsd.org Mon Jun 26 18:28:01 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ED98BD8E064; Mon, 26 Jun 2017 18:28:01 +0000 (UTC) (envelope-from lidl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BC23783390; Mon, 26 Jun 2017 18:28:01 +0000 (UTC) (envelope-from lidl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5QIS0NM042136; Mon, 26 Jun 2017 18:28:00 GMT (envelope-from lidl@FreeBSD.org) Received: (from lidl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5QIS0a0042135; Mon, 26 Jun 2017 18:28:00 GMT (envelope-from lidl@FreeBSD.org) Message-Id: <201706261828.v5QIS0a0042135@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: lidl set sender to lidl@FreeBSD.org using -f From: Kurt Lidl Date: Mon, 26 Jun 2017 18:28:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320369 - head/sys/mips/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 18:28:02 -0000 Author: lidl Date: Mon Jun 26 18:28:00 2017 New Revision: 320369 URL: https://svnweb.freebsd.org/changeset/base/320369 Log: Add IPSEC support to mips ERL kernel config file Modified: head/sys/mips/conf/ERL Modified: head/sys/mips/conf/ERL ============================================================================== --- head/sys/mips/conf/ERL Mon Jun 26 18:23:40 2017 (r320368) +++ head/sys/mips/conf/ERL Mon Jun 26 18:28:00 2017 (r320369) @@ -53,6 +53,7 @@ options SCHED_ULE # ULE scheduler options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols +options IPSEC # IP (v4/v6) security options TCP_HHOOK # hhook(9) framework for TCP options SCTP # Stream Control Transmission Protocol options FFS # Berkeley Fast Filesystem @@ -201,7 +202,7 @@ device ural # Ralink Technology RT2500USB wireless N device zyd # ZyDAS zd1211/zd1211b wireless NICs # crypto subsystem -device crypto # core crypto support +device crypto # core crypto support (required for IPSEC) device cryptodev # /dev/crypto for access to h/w device cryptocteon # Octeon coprocessor 2 crypto offload From owner-svn-src-head@freebsd.org Mon Jun 26 19:38:01 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D9BDAD8FE99; Mon, 26 Jun 2017 19:38:01 +0000 (UTC) (envelope-from kevans91@ksu.edu) Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0043.outbound.protection.outlook.com [104.47.40.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "Microsoft IT SSL SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5CB801998; Mon, 26 Jun 2017 19:38:00 +0000 (UTC) (envelope-from kevans91@ksu.edu) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ksu.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=/qNUOPo5hmvQHx/E3p8nPgcVdfQV5H3ln+UgGzGo/cY=; b=B98Dj8PRl3MtoRaRm/HS2VPM4ROTQlLEq4fW3paY/Qnc8SV1poEHJQODq5fsfCgbFnaMrswWEL2vY2jbMgILrnsupqBvw9ILlZQeh5ohvgR71uPuL3KCd0vGaxrhDMjkikQqU3ieltHOTwTEW9Bpq3DQqveMVBle6Dt/VjqDeNw= Received: from CY1PR05CA0037.namprd05.prod.outlook.com (10.166.186.175) by CY1PR05MB2281.namprd05.prod.outlook.com (10.166.192.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.5; Mon, 26 Jun 2017 19:37:59 +0000 Received: from BL2NAM02FT003.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::201) by CY1PR05CA0037.outlook.office365.com (2a01:111:e400:c5a4::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.5 via Frontend Transport; Mon, 26 Jun 2017 19:37:59 +0000 Authentication-Results: spf=pass (sender IP is 129.130.18.151) smtp.mailfrom=ksu.edu; freebsd.org; dkim=none (message not signed) header.d=none;freebsd.org; dmarc=bestguesspass action=none header.from=ksu.edu; Received-SPF: Pass (protection.outlook.com: domain of ksu.edu designates 129.130.18.151 as permitted sender) receiver=protection.outlook.com; client-ip=129.130.18.151; helo=ome-vm-smtp2.campus.ksu.edu; Received: from ome-vm-smtp2.campus.ksu.edu (129.130.18.151) by BL2NAM02FT003.mail.protection.outlook.com (10.152.76.204) with Microsoft SMTP Server id 15.1.1199.9 via Frontend Transport; Mon, 26 Jun 2017 19:37:59 +0000 Received: from calypso.engg.ksu.edu (calypso.engg.ksu.edu [129.130.43.181]) by ome-vm-smtp2.campus.ksu.edu (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id v5QJbwEe025286; Mon, 26 Jun 2017 14:37:58 -0500 Received: by calypso.engg.ksu.edu (Postfix, from userid 110) id 492FF3B66; Mon, 26 Jun 2017 14:37:58 -0500 (CDT) Received: from mail-vk0-f51.google.com (mail-vk0-f51.google.com [209.85.213.51]) by calypso.engg.ksu.edu (Postfix) with ESMTPA id 1DDAD2BDD; Mon, 26 Jun 2017 14:37:56 -0500 (CDT) Received: by mail-vk0-f51.google.com with SMTP id y70so5944234vky.3; Mon, 26 Jun 2017 12:37:56 -0700 (PDT) X-Gm-Message-State: AKS2vOyZvRMSJzpI8HZQi7pG6Fi34nsRQvJNV3GxICtX+wW2pQV3OFL6 1iGkzKUZOEKehU8Qf5lhcBD/r2vMrQ== X-Received: by 10.31.82.1 with SMTP id g1mr886378vkb.121.1498505875713; Mon, 26 Jun 2017 12:37:55 -0700 (PDT) MIME-Version: 1.0 Received: by 10.159.51.218 with HTTP; Mon, 26 Jun 2017 12:37:35 -0700 (PDT) In-Reply-To: <201706231826.v5NIQvYa060882@repo.freebsd.org> References: <201706231826.v5NIQvYa060882@repo.freebsd.org> From: Kyle Evans Date: Mon, 26 Jun 2017 14:37:35 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r320284 - head To: Bryan Drewery CC: src-committers , , X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:129.130.18.151; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39450400003)(39860400002)(39400400002)(39410400002)(39850400002)(2980300002)(438002)(377454003)(189002)(24454002)(199003)(13624006)(9896002)(478600001)(45336002)(63696999)(512874002)(46386002)(966005)(8936002)(305945005)(2906002)(54356999)(229853002)(61266001)(53546010)(93516999)(50986999)(189998001)(76176999)(498394004)(5660300001)(606005)(7906003)(75432002)(86362001)(9686003)(8676002)(356003)(236005)(6306002)(88552002)(59536001)(6246003)(54906002)(42186005)(2950100002)(6916009)(8576002)(450100002)(110136004)(98316002)(38730400002)(106466001)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR05MB2281; H:ome-vm-smtp2.campus.ksu.edu; FPR:; SPF:Pass; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT003; 1:yV+7ZbEPaWQIIpjsonNTuKar4DMAYm4yA51LTLXSlYqiQXDf7/fCcBr8ECVCXLAtjXqTg9GUOyQEaKMSKUFnvhAin1+gjB7mcKv+O2O+n4uV+a00H4q6IdMbbGW3Hqk7io/sifNx8Vy2fBd+Um6/zftCRnSEf0M7Z657UC8mZvQRNukORecSk5XRyfq2f83rD2xmvz6WHRU9OIgh5O8YmnC7SAa51YxVeyEDw3c3qpDiiuMnjFduqpKAy+v7rNQyNz4696e9eUUx96UUkVSm/HDrVPrmIQNGlduW29jLGQVWhtXkWaui/Sd0lvNcDcOIZ7jIqyU4ea940pfYA6wDoHa+Q7jzqUQba7tRIdCylZAQmUacCVYOJVhDP1YZUGNR9B9HHQB18vBalWrRsPjrotReOj4VJ6098pvb1rNh8Yz/cC9Er6APYQVskEPE/8tInJHqeiCpUlp2V7JBIPnY322IyXFsnmuRDJuWvFQ4hN1OPzx6+vaanAjRPAf7Mss4lvfH3ZTUYDOgQZB4ROpsUO+ez+xIZanNzgaFpwu+ZAABt7EmytYPHgOvgION9gGomNOKlVOj23VIiR3X9pplgmNAhdb1htniA14CXOq5FyFW69kD+5pmN+5T1kBjQl3StY+DAcjDIazM1j9LmqF+PBjzT95Pdfu5T1IQD9d8LFBKTL7ye2H6MfXLPEYH+AMxqmI8WScttysT+67eis1RnQnlXFqOj14GKkbMeJ4jYpF2i2/gkmPMO/2JzNiqsJ98A8X+rgm/InRagEnGUMFAl9yFeLzdsslYLYI9fEEGSb+7kf/4MX4xEbp+GC5C6h/p5+LAqn/mIBAqRrF5OSNwB67rKS1OtfpK31vlIOcbTnydQlZMDSezPgWJyoYi/tpX X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 34eb69f6-89b5-4880-084e-08d4bccad9f1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(8251501002)(2017030254075)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506067)(300135500095); SRVR:CY1PR05MB2281; X-Microsoft-Exchange-Diagnostics: 1; CY1PR05MB2281; 3:vfHLlIKWSZE0zRZcJz6I7Px1o5MGqJKd4JrWkk3Of4CIjhuJ/LxctlKTkU8quzpv2iHimbvw7QS1QfhNAgsXUBjDy4iiMN4QpW9ImPhEExeSkKKmpZCdNCVYTOW91r4FcdKEUuvV3BpZ0FGSHgm8ANjVL2MOXBNmFgd2yqiymOike9Gxdg53Ue1yjpfqLmIneAEDwoCtsmZPY4vmtwmztDrhIDVE8qwaCD6wLJWIlCG6Mb1R327yYItVaqh/GqEmrcxF8wPYBzsdL2JCRQWvkek42xULbAQTsiLIAiZgy83i5jJKjuaR+iu7Au7eqN2m/gRLegZe8t5nN3YMKWw29znLi9UyC3BapOf/bhNbwumtS8ovn7fsYqI0wu91gBeRM7BCw4bjiGdLMMq3xnWjJBG4HlTsUp3ULGfMUQGsZix9x4c7qL9U1v+ge/fQLqMFqVxnuybzhiDk8udOutPJuRbQRySs65D5h9PyVHbfczGTAeNS5QqYSrvQLYDhquy9mB9AOKaEO4xAJxWOeUZcOxd2s5rJKW2AtB5LNjV++94tGmNsSdwXy5mCKu4s8Kt5pJcYenfUsfleOGPdD3EnTfFLzJweQZgpLIoHUL+YuadQrI0smPEEeTUaM+txpccJ0GItsSm2ScIWMSXbuLmLBveVAdTvj0XM2n7JpolhcIFzN5pUkg/tenQHrdrQKh9TM4iSFiqTz1+ofNwZW0JwjaKavW+x17UycAzfD2EbnixtHbvhdT9Uh5pvCT3+gWBEfE8hVj2VMH3qNK9c/ZEgR6YI9BK66vgOETSulQLDn6DKXdGD7FZgTIJJQ2YDNOtjeKQ0YKcZmVKsemVPeGg6XMx7NnpT6VvmStiJyKzLfj9SVKLPZixaiaFGWLJHmAwTCo+XLl7V74ypOF15YQdNAQ== X-MS-TrafficTypeDiagnostic: CY1PR05MB2281: X-Microsoft-Exchange-Diagnostics: 1; CY1PR05MB2281; 25:KWPt4/QcxHgIvXHStZb/NcLQ3SNIifBdq7wS3f9zWFMn6Ot6b038rkc30yT8TR14LOiZsMwNT53S2XAA5F0aYxF0L49SpUZULQPiOzBuzHuZjRgWLhmF+VwKIeGirQPN8HE7ApRYPE11vDbCWt6o7sBs7p/VzPk/UVtIVafW/6kbo2bQ/Zn3JrngSKqj6sJOkWIM0Vwj9VhiAoCbcvsw3wxF9VCCb57VkKd4UHpgtq3i0Mhqz94H1fj6JFEINimxmmIJJkH5/Nd7nV5RjUw3sIdnKJTzvHK//YBtO+zJfdtAccFD2yTBCJFlCuujB0moMQSAKPmq3pv59iBcynch4od4jXcvn4uM9WwWeQibq2qX+jpa330eo0wK9Zp5+GNH2msfFDVIFRjIQ8Q5CM0CsbdvJl3jVz2yy3LUq+W2apGmy8LLVtzQqS97D5/h8lYdjQ0MXk4BXWQFUWb4gKzWj/niXk2nlPazogPiPzmA5J4HArXs4FhKCjV13McIj8Fz7+JIfscGM7h5MBe03TR7NeqDsJ8xkezkfm3Z7ji2ihIrUKE8a80i2oLOVvvwJE+a5rG9Nt57xY2+s9bzB9RBoOzFARZx1YyhT5EhSxCbsGgr0vLqPTuyOpgpgTh+8E7G2ixaZqJ3eIw9T0DTq6kMHgRusoI486szMDMQbPjXd/E38i8nfdpKPdvmWohUU7DG9aqbsMbhUoHHCJrmEmh0AY5zoj+mwDpe5Wbox/KdrGMvP9NhIybiwewkPSfzdZxOh0PaiJ4orG1+eGIzz/BDdfBbU//J+I1vFug+Uu0KQt6yxeERG3McSe9UR93++l6AGjp3XJqQPORFgv6aOGPFl3KrL6wuqZajPl5TjrRKweBNuHIf158wHf5dww9FqrGnlljFL9BCwWUwI2TvgwPjbKFdQphbYwG+9rK/CwM89No= X-Microsoft-Exchange-Diagnostics: 1; CY1PR05MB2281; 31:AInvQ+5PVCnu/2Bw1zU44ZubTSjXdCLalESAEYxb+kw9kTK8nhyO3cq2BK2z4+/zxHrsEmfs4L421FeelAlHuDoFuCVnBI2SbEPUTUNnL38vs/PpOAE/iQcptKX1se9+ZB6xYOiNM0AmaLB0TQwPUsnOYO3SCr5rOj1DSSngw9aIvBYoSQdFQ0tzMperNrqwxbT2bvTg1vPbs+er6pSW16v8LO5KeK0cypCe7eptr8RbnT79CyUjVsq49Psa8z8sAw0bErgD8p92BcMycx6V1hdPKMM/uPcUIXaX1rdROdXBXaCa7T6kLGhD5hhnXd44uTkS2gps9UtSjSIhyH/stIDQBgXix+Huk9r+luKt33LOo5sQdm1MBYrwcuf5Y0x9zVdpAhKfEu+Cf3ZsKM1CdKviF2xpH/zbTjiBU33KOhoSkbxTvY8QrpGfLXtLuXrlhI8NOjn2gSyrOXiMcFmOOtX0JgR6hSukiyTqvr1yC9w7XDzkxEwYggB+TuN6E9RlhPDloRxTwwa9BKWX5JhErD9ri8AeBYN73XW7R0q+v0vVFojypgk90U4RfoYTYQVKj1gm+3xJNrRL/ljcfIiwU6ifC0gBxzDyD8ZE82N5iSexgNJ1NapK4MzTmGCA6oZh+Vd6brT1uWkGkELacrg13WRSQvXH5ZBF0BjOZvcDdWbj7npTIgrh/HyuHPuZFg90 X-Microsoft-Exchange-Diagnostics: 1; CY1PR05MB2281; 20:3K/inymGrhf+9hdujYlOlSPWKLoDRnssMxJW/EkMgkjnk1IWBTMDiiCDK7sJNdfsju90Nn1FRz2ALccTXTotYTwS4gIVibLbl1eC2RmWO5vLVsZ7PX5Gro3KLYntKwHnjRp1+NWuIAdO/60z2+jajk4U5jUSVaB0nBEAkRmmA686GgIylK3eZ8NdKgogACZrmCODlG2r8iifV9xnkD4P5+zilHllmu+7AW4Vg6IlAL3dv9hCvScAv2REMtEG8S83Yg8jKKfHPVBKNpV2pkGHKnrAAcASLuYZiy95xyMTnSr63UXQsHuRfLBFoyhsdtXiQAs5jJG3F6NpaciX9JngJFnrkqoOPqqqHocMuI/qmAc1QcwLV9dkmHjPq3XbnaVtRl4pk8GMv4XAQNTEOXgGjxvMJ7waNjYkQETv5xffl0/MUk/HHpv/tWcgAD17WptkA0peBHXIxzGDFzsek0vzKroXE5EuQAVFCHfUyI5mR7nJxDt5joI3IhVEO72WvOAk X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(56005881305849)(90097320859284)(148574349560750)(75325880899374); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(13016025)(13018025)(8121501046)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93004095)(6041248)(20161123564025)(20161123560025)(20161123555025)(20161123558100)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR05MB2281; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR05MB2281; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR05MB2281; 4:lfiAU0hdsuK4Nsbdi30++yCszaF1TIUAh2gTC6+sW4?= =?us-ascii?Q?aRQ5KsoB+LzBtSa6ifm7gQbnreR5Ty+E2nCCHx/PNKfx2cE+m/68sKOxLpSS?= =?us-ascii?Q?jkJh1Yr5yFxpgPj8rcOcQQBYVSQah2KJS5Aaa6OcTegsBB1WMQeYndItuodS?= =?us-ascii?Q?UYb5g2ddWYmUFnj5FQLlVDj7oZIWXmTdqfi3dPyx+JkNvW1IJgvU27AHHBiI?= =?us-ascii?Q?v0UEWFtrvID1pmmXfPu8kOChZ9OAaQoPGe0YsvWaFsXdVlY7GGwYcP/SCL5B?= =?us-ascii?Q?/RN+5Zmd2BMu1UOFu2YM0bi43ux/6GnnYjvXKPa3ic2Ob6k39cdEyEWGjBTv?= =?us-ascii?Q?hpo6IkQ1uQUA1o98+Z1la8H4xfMV2bVUXCdmxyHouoq+UC9rwP34T1wTOS6+?= =?us-ascii?Q?7XYR2FXfA1QHiRDt+5BxDvJaqZOE0UAi0rn28c8ul6jQU2XB6sfi928Xn8Uz?= =?us-ascii?Q?wzpZeh1wiBlMQLY7VucirXBSuAQFe/hnr5ogBktC1IrKAzKwNxbmtUu0dabg?= =?us-ascii?Q?DbV+mNGWdVgb9OBaUJr9PnrCkI5L/XhxrYKUpBudLpAq1a86PIAt93U89hoE?= =?us-ascii?Q?U9dlWawFt0m+piN9HjWPchDNj77TgsIvmunGbl1FBHWeJalbDMj/wRD9qEFr?= =?us-ascii?Q?s4fvlYTgKkoj3OtkDieCwkRO97oYuwzfAak0TGJV6hnt8rnWxwAoV0P9XDXt?= =?us-ascii?Q?Y0te5wpuWoWy0O0M/rZ57L9pyHP2d0mFI/UKFd88Qi2sZwHoKhpptxcchLcJ?= =?us-ascii?Q?aEfhPLAGeV1UfVjUaS3+uo1r/m/djblzJPa87whC3CPX4RR6HOe94uAZ/1OB?= =?us-ascii?Q?m5Ws5WlK6FqFGX1n9HPpNffmmxMgAG9fFQfskr5/dhNz8uWWd/R1W2Ggn5d4?= =?us-ascii?Q?5s3BrCyPNRtemT3eDBkZTtcpccOaT8FDdIo8mT3Qmaa6h9HRpXRboX1iKrR1?= =?us-ascii?Q?NUUvr+94wcKpr7igtxqyCU2fAck0EYDoVwTtZPQH4rV901N91ONzUnJndu5i?= =?us-ascii?Q?AjfF31A1UYGxkG1bLAlR5UnecjDFFqMCPPhTBfLRCQk0KDf9Ss1n+kCmnZot?= =?us-ascii?Q?xq7oQRzCU9r3fIstg0HsYAVdyKrlU5LBwoDPIBE/p9S3Uq6izsb9WjNbjwy3?= =?us-ascii?Q?8cv4EXWvmpkjqcCtL+0EnwVH9B18blHs6izkWGn1pwrC52BFucZIN3+TOrfQ?= =?us-ascii?Q?8XFdFBtsg1hU+2BrOE8ArGs/9MsAPSEFYRt1fvJYLP/sfnUdCW2/OgtXF0Nd?= =?us-ascii?Q?CDWBD1l3AWiQIDM8e/crTz9wBXSLV49/kQ+YeckeapdjHRvSR3hHf66Rh+4k?= =?us-ascii?Q?EShUaMDMcMfTQoDNbPpUlHATsKUWqneAa0nxpktnL1QeR5znYyQ52NYQ73SV?= =?us-ascii?Q?sMPg=3D=3D?= X-Forefront-PRVS: 0350D7A55D X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR05MB2281; 23:bYJ+DJDvVL2DXKNjEi0Xm12pi/dzLj0yuDYZz1nic?= =?us-ascii?Q?jFPAtGmPjz2waONe0vICZWXTNXXOZsVCevy+UZVA4PEmQLJfR90I9bCvT6d/?= =?us-ascii?Q?rgn1S9f7GHJBOWKdRviavxeFDI5jDRDGSc7bXHD96EgwX3JdGLn6ZDICMo9F?= =?us-ascii?Q?fLlmG0rVud0CXBYSBOFv6xgKlVdGFnkcuK6cVQI33Tx64k4d25jzQI50cweo?= =?us-ascii?Q?7zqXF9TmntmeeqMq7yzrhai4+lr5EhjjTGh2PpRxyKfS7o+gl3iYWg3HtoYj?= =?us-ascii?Q?J4WBEU6Q94iIreGtewKz4gdUstnyYxYgY9hnGXucr6DM9z8f67j3PhJK9h1i?= =?us-ascii?Q?zogzOngNXi6PGSxR/VR5hGWwXt0YGsi9YNFA9zY3UwkNcEzKPtEbZ11BPws9?= =?us-ascii?Q?UNW4zfRNTtc3Gz4+AUhNA4qnaHPM+NZhWl1RXq61Bm76ubGzoeIo2xRyUOH3?= =?us-ascii?Q?Sxmd9HrNoyHTadtxbPagecC89UjDvGJINOAkiO/Hzsd7di8m4G777/caqxuU?= =?us-ascii?Q?VKrDXFwnoU/yKjPwNwaFUrJUxhJzW6sxYi/g1el/B/r3MELhcFqSb2+qKocR?= =?us-ascii?Q?fW6jbB735qzgGfPEDwPZVAEE8OOmIUm4zdfpgvB5ID8qoQlavKEBfvfMazcn?= =?us-ascii?Q?uv41knPMrwIMjjTUQJzcxs2vUHthTD35ot/81EO54CHkEeIvn+QaT8ms+IEA?= =?us-ascii?Q?VHGNmveco4upy28qwY7ZeAtA7rSsTRQ9P+YDVK8UvaigLIHUltDxUXU1MBwh?= =?us-ascii?Q?36lo9uraF1kyiasnkFinrQhpzijdvJkhtspPuw0pTGIvvysLFSl5iy+PICKu?= =?us-ascii?Q?xoG+1DNfpkyQufOmMDwCH9SVio9Wy9lQI4YrE458BLgenHFH+kRbaW6LXEfd?= =?us-ascii?Q?pnjOWYdnXaah1r/ISoNkJ71DIvmOrjd3CFmkXxs7IyjPGnx9go/pMuIxa+M9?= =?us-ascii?Q?UDN2SkL3G9R9WOw0WcHK7pbuW9uyYnjpSoMdVVIdosKv5nMPc2LKdDw71S9y?= =?us-ascii?Q?0FO0kb/kyjL5J/vlxlUpZNgZBHflnzi2xP3kl0WhIo8FGR5aIwcfuYruJasV?= =?us-ascii?Q?xDkcKSkpCoB2dvwZIOXta3mT0OuDSwmK0UhzIXJTE1mWAvAAJAUBmrJlIv75?= =?us-ascii?Q?Y2Gc/Wif7x/XfHrgy6fYmtRUrKuhEEIYmNSl51teNxY00bJe9XnGZTIOqN/q?= =?us-ascii?Q?jmODioLbnD7JGlMQtmyq2oTz0cNtQoKGpgCB1/CejIuGIeLz11Iz7TyomzXQ?= =?us-ascii?Q?3m9OcFrt3CBBA0u2S3c143QkNHzm9TnCWamvex86tzWz4fWH281eulneQYkS?= =?us-ascii?Q?F4tS8tV4xIoZyaveMBk9HE=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR05MB2281; 6:laQ+eiMWLlJqdL8yEx8cZY6lUZUIl1G0zs9llLaAOS?= =?us-ascii?Q?tFlhUBeCf8sv+FRKcrKFyUgIl83JFP+bLHjxWXenVd2ewkpxUxKoZz5sf5yp?= =?us-ascii?Q?ghULz2g54pakg1E20EYkdfiBc2uCNIoRh2Csm9J33XwhJ1Jhap0rtZHGvS9S?= =?us-ascii?Q?t2lai+RrF13wOhxUTnuw5LkbMJkhBGvEUDKyFJF/mc2YUdJXMwrEOZHvgdSc?= =?us-ascii?Q?KsTTSyNzRjZv4CcaocbDVE9nI1BBXVWtdkocEAu4KOfnJNL9d0X3XAmPy/+l?= =?us-ascii?Q?HS+Ji/toDYVEsFpmmylqMq6XQssMEB/ng9exshO6Y7K0cLsdtujdxe9A3Qox?= =?us-ascii?Q?HxJfxUvHiNVWzwEkCPgtW5FJhcSdvh0crNld0ZW7bRXgY4yepqdypNPCm6tv?= =?us-ascii?Q?XxA7tw1Afs32rryqY8KNn27yzfGKMnme0EiypLprZV4mUh2brAZgOJtkC+t2?= =?us-ascii?Q?Spdkcq0N/EkBxhax3ljInOhMzZ5FSQ4Zj3SV3H9bdO7ffdpE2FHTPGlllnEz?= =?us-ascii?Q?AAx944Ad9GMVp/C+K8mbDaTiBIgnMhY7z/tLz/Dbvw05wsQg7F/2wHRcUile?= =?us-ascii?Q?jNwrZaZ/Q/LwZyPY8uGwGBzhxc87IObFdDwZ9UGtS0j47bOrtvdwdHoqO0qL?= =?us-ascii?Q?G+uViIbL3EcAPuanMNbNY5KM7x1o1kG6mV51eFsq0o34KZW0JmVdfGJb2QDl?= =?us-ascii?Q?95W1tbunmigTU1X43GhgkVhu+NB6WXlmzo1Bqz1Uj/seb2nuhE+gXzPtCKI1?= =?us-ascii?Q?/i1qXE5TBKkLQMgXR31bjEYdhiHkj/1KiCSs6zWxVdch97lHcNXetc+5Fkwz?= =?us-ascii?Q?6cVcZDSNv+YEXK/u2SbtqzC77dk2iX/9s5frxeCHWUVd1Ktr0UocugkMYbpM?= =?us-ascii?Q?Ap/u0e8czYGdJfXaVItT1H0xaGH07QVrfVnnQ89PlsUZk2J5KStIqGLfXBs+?= =?us-ascii?Q?GDZ6B9+kxPKIxACVKBWANlet5TTfBgqb+3QBWUAMCFX68pHR98LrRO8GIE4y?= =?us-ascii?Q?I=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR05MB2281; 5:9bJujw52pVrqp0nIx1Waz9+jAq71JFjhQfkYbyBFvz+IfGxsF8T+lffJ2PiU6ersWdOZdz4JYhm3wz63rvMCimaHxP51Tj5M+h7lUBRC+Nia7qVH+0cyT31OApiaQQZtduct+V3x0tuQbGqFOzoaiSalbQuRfYCMAim4f89o20zm6GKtzFYb/Ry41E+NdzQZeSiHdm1q3jVObDfus5zj8qnDn8gMfGCUjfu2Ap8ORfPq+M/sn09nERo3R0P+xefJksnlo7+IUVKlcB1dkvQ4vQI6jZ+e1yNADms0DK9QcyIJmXgqV6a8Fk9FixirEs0AAKs6RVAzhLXTALuzoVsvEmKvGRJ+ClJ4J7rFDZY0Xv4Wgd8vU6cty2BywC3bVapX/vmTqK/lPiMIS0Vla6GsJXUGlwSD9eEvY6UQUT3SMEquSF34b8BodJX0MaVfXi/JnYl8Ic9ecH9wcu3Mqzbn6bElpRZkQTOIVisMUrXdkRmM2pQd0LKE1fuqHWBvZjZA; 24:g7F7dxNIQsmSrF8bmOh2EsfqX+wWWZ4/Ye78wwXfXIiYrkulEc45b5elGSV/n6OsdqZGmvkCk2dP0/G22tmxDqoofDD1psTFcPp6ymMRZV4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR05MB2281; 7:s++h4NrrYjpIZIna1n57NLE2zhKKT2mQdqdGDYVD7ws1YRao0YoZ9D9pBQ8GzOyCSkOjwGBfdD5WAzYh4w6buXcIqD3qHf6rt7lbZ9OuLWUEQI6clnqkFQFZOJJNorw7k4dpDrcdWwPd2mTjghK+vgpju0YUYqKYCk9mt7S+Nlxj6XK0wZdRlC16jJYbHu5PQwFkBPNrxIhdpYt4mZ9SY1kBbVupc9s3lA8DGGQdCuW97X/RyB5ZqSCtfwrPQaIi2zdWPIyfHONzRDYVcw41h3fC2aZsRA8CIEt4SAyfU4Ccfx/sXCO4K5Vr49r2MiIlwanJbLkHU6Us+cEedg8luQQfWbg+1auZcqeCrWMR9fHiBUdiy0qg8TjeVCjOtHLqatBfscxK3DTM8cSxKXSRJ3588eyOHXF75orLqlpOlk3MIgTehpYxM7PpL6b6VR5WjT6Asl+u0qCQY0K863Um9qz1GpOZWdI7vRFrx9ZEcGcHsncf+syOq5K3UDsnEmwgKRzfZci8cg3gam8BtpFbe1c5Cwi3t6FjHWievwMMhsb/85uFfulQwb8edKg/7e3R31s25G7911cvUd7DEcXlQi4u9y9/hBh7Kk+Vt/o0navwSqTWMlvGJtuRNzgmmuwEYmh3qJm8j9xR5ltlaMa3q4wmasFQ7KlubFeSc4CbvrEWfqYCSegvCgJljfWBnat5kB5TCLA1mznXKQYp70znrW0egIm0Onzsl/Q+h9ZYiOv45j3ufpG+FDBerVjzBh9Z7CMZH1kL9DFSZl4JvYQIUnYIBilrzZW8K6kHgFQlds0= X-Microsoft-Exchange-Diagnostics: 1; CY1PR05MB2281; 20:fbIJdw/753+9DPPVBIlVJWjpTDhHkCvDMLWF/zF5Ktw5dTstNdTmB1VOJYgN1x0o3lZYw4fkVtn51QZjzFgF8lKtBYeh+poKg6KhOuoPjQ8wPbyooFqXsY+17DhV+1hOq9SOA3gM2ZTYPVmDG+8mv4RrE1+mkkesAWwKUcAp17I= X-OriginatorOrg: ksu.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2017 19:37:59.0544 (UTC) X-MS-Exchange-CrossTenant-Id: d9a2fa71-d67d-4cb6-b541-06ccaa8013fb X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d9a2fa71-d67d-4cb6-b541-06ccaa8013fb; Ip=[129.130.18.151]; Helo=[ome-vm-smtp2.campus.ksu.edu] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR05MB2281 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 19:38:02 -0000 Hi, This broke my setup that builds my 7 different kernels due to duplicate target errors. This seems to do what I want: https://files.kyle- evans.net/freebsd/fix-packages.diff =) Thanks, Kyle Evans On Fri, Jun 23, 2017 at 1:26 PM, Bryan Drewery wrote: > Author: bdrewery > Date: Fri Jun 23 18:26:57 2017 > New Revision: 320284 > URL: https://svnweb.freebsd.org/changeset/base/320284 > > Log: > packages: Parallelize individual kernel packaging. > > MFC after: 2 weeks > Sponsored by: Dell EMC Isilon > > Modified: > head/Makefile.inc1 > > Modified: head/Makefile.inc1 > ============================================================ > ================== > --- head/Makefile.inc1 Fri Jun 23 18:26:54 2017 (r320283) > +++ head/Makefile.inc1 Fri Jun 23 18:26:57 2017 (r320284) > @@ -1599,9 +1599,12 @@ create-world-package-${pkgname}: .PHONY > -o ${REPODIR}/$$(${PKG_CMD} -o > ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION} > .endfor > > -create-kernel-packages: _pkgbootstrap .PHONY > +create-kernel-packages: .PHONY > +_default_flavor= -default > .if exists(${KSTAGEDIR}/kernel.meta) > .for flavor in "" -debug > +create-kernel-packages: create-kernel-packages-flavor$ > {flavor:C,^""$,${_default_flavor},} > +create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},}: > _pkgbootstrap .PHONY > @cd ${KSTAGEDIR}/${DISTDIR} ; \ > awk -f ${SRCDIR}/release/scripts/mtree-to-plist.awk \ > -v kernel=yes -v _kernconf=${INSTALLKERNEL} \ > @@ -1631,6 +1634,8 @@ create-kernel-packages: _pkgbootstrap .PHONY > .for _kernel in ${BUILDKERNELS:[2..-1]} > .if exists(${KSTAGEDIR}/kernel.${_kernel}.meta) > .for flavor in "" -debug > +create-kernel-packages: create-kernel-packages-extra-f > lavor${flavor:C,^""$,${_default_flavor},} > +create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}: > _pkgbootstrap .PHONY > @cd ${KSTAGEDIR}/kernel.${_kernel} ; \ > awk -f ${SRCDIR}/release/scripts/mtree-to-plist.awk \ > -v kernel=yes -v _kernconf=${_kernel} \ > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" > From owner-svn-src-head@freebsd.org Mon Jun 26 19:41:16 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 130B5D90049; Mon, 26 Jun 2017 19:41:16 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D24922BB3; Mon, 26 Jun 2017 19:41:15 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5QJfELw076899; Mon, 26 Jun 2017 19:41:14 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5QJfEP8076898; Mon, 26 Jun 2017 19:41:14 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201706261941.v5QJfEP8076898@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 26 Jun 2017 19:41:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320372 - head/sys/cam/scsi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 19:41:16 -0000 Author: markj Date: Mon Jun 26 19:41:14 2017 New Revision: 320372 URL: https://svnweb.freebsd.org/changeset/base/320372 Log: Fix a memory leak in ses_get_elm_devnames(). After r307132 the sbuf buffer is malloc()ed, but corresponding sbuf_delete() call was missing. Fix a nearby whitespace bug. MFC after: 3 days Sponsored by: Dell EMC Isilon Modified: head/sys/cam/scsi/scsi_enc_ses.c Modified: head/sys/cam/scsi/scsi_enc_ses.c ============================================================================== --- head/sys/cam/scsi/scsi_enc_ses.c Mon Jun 26 19:40:10 2017 (r320371) +++ head/sys/cam/scsi/scsi_enc_ses.c Mon Jun 26 19:41:14 2017 (r320372) @@ -2684,10 +2684,11 @@ ses_get_elm_devnames(enc_softc_t *enc, encioc_elm_devn cam_periph_unlock(enc->periph); sbuf_new(&sb, NULL, len, SBUF_FIXEDLEN); ses_paths_iter(enc, &enc->enc_cache.elm_map[elmdn->elm_idx], - ses_elmdevname_callback, &sb); + ses_elmdevname_callback, &sb); sbuf_finish(&sb); elmdn->elm_names_len = sbuf_len(&sb); copyout(sbuf_data(&sb), elmdn->elm_devnames, elmdn->elm_names_len + 1); + sbuf_delete(&sb); cam_periph_lock(enc->periph); return (elmdn->elm_names_len > 0 ? 0 : ENODEV); } From owner-svn-src-head@freebsd.org Mon Jun 26 19:41:18 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DD9BAD90054; Mon, 26 Jun 2017 19:41:18 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B87B12BEE; Mon, 26 Jun 2017 19:41:18 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-2.local (d-24-245-127-120.cpe.metrocast.net [24.245.127.120]) by mail.baldwin.cx (Postfix) with ESMTPSA id 2F19010AF01; Mon, 26 Jun 2017 15:41:17 -0400 (EDT) Subject: Re: svn commit: r320279 - head/usr.bin/truss To: Warner Losh , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201706231806.v5NI6kh4052293@repo.freebsd.org> From: John Baldwin Message-ID: <6d940202-48a1-1c1f-ae36-d9c61def9560@FreeBSD.org> Date: Mon, 26 Jun 2017 15:41:16 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <201706231806.v5NI6kh4052293@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.baldwin.cx); Mon, 26 Jun 2017 15:41:17 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 19:41:19 -0000 On 6/23/17 2:06 PM, Warner Losh wrote: > Author: imp > Date: Fri Jun 23 18:06:46 2017 > New Revision: 320279 > URL: https://svnweb.freebsd.org/changeset/base/320279 > > Log: > Decode FreeBSD 11 compat stat, fstat and lstat calls. > > Modified: > head/usr.bin/truss/syscall.h > head/usr.bin/truss/syscalls.c > > Modified: head/usr.bin/truss/syscall.h > ============================================================================== > --- head/usr.bin/truss/syscall.h Fri Jun 23 18:06:20 2017 (r320278) > +++ head/usr.bin/truss/syscall.h Fri Jun 23 18:06:46 2017 (r320279) > @@ -10,6 +10,7 @@ > * BinString -- pointer to an array of chars, printed via strvisx(). > * Ptr -- pointer to some unspecified structure. Just print as hex for now. > * Stat -- a pointer to a stat buffer. Prints a couple fields. > + * Stat11 -- a pointer to a freebsd 11 stat buffer. Prints a couple fields. > * StatFs -- a pointer to a statfs buffer. Prints a few fields. > * Ioctl -- an ioctl command. Woefully limited. > * Quad -- a double-word value. e.g., lseek(int, offset_t, int) > @@ -38,7 +39,7 @@ > * $FreeBSD$ > */ > > -enum Argtype { None = 1, Hex, Octal, Int, UInt, LongHex, Name, Ptr, Stat, Ioctl, > +enum Argtype { None = 1, Hex, Octal, Int, UInt, LongHex, Name, Ptr, Stat, Stat11, Ioctl, > Quad, Signal, Sockaddr, StringArray, Timespec, Timeval, Itimerval, > Pollfd, Fd_set, Sigaction, Fcntl, Mprot, Mmapflags, Whence, Readlinkres, > Sigset, Sigprocmask, StatFs, Kevent, Sockdomain, Socktype, Open, > > Modified: head/usr.bin/truss/syscalls.c > ============================================================================== > --- head/usr.bin/truss/syscalls.c Fri Jun 23 18:06:20 2017 (r320278) > +++ head/usr.bin/truss/syscalls.c Fri Jun 23 18:06:46 2017 (r320279) > @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); > #include > #include > #include > +#define _WANT_FREEBSD11_STAT > #include > #include > #include > @@ -215,6 +216,14 @@ static struct syscall decoded_syscalls[] = { > .args = { { Int, 0 }, { Fcntl, 1 }, { Fcntlflag, 2 } } }, > { .name = "flock", .ret_type = 1, .nargs = 2, > .args = { { Int, 0 }, { Flockop, 1 } } }, > + { .name = "compat11.fstat", .ret_type = 1, .nargs = 2, > + .args = { { Int, 0 }, { Stat11 | OUT, 1 } } }, > + { .name = "compat11.lstat", .ret_type = 1, .nargs = 2, > + .args = { { Name | IN, 0 }, { Stat11 | OUT, 1 } } }, > + { .name = "compat11.stat", .ret_type = 1, .nargs = 2, > + .args = { { Name | IN, 0 }, { Stat11 | OUT, 1 } } }, > + { .name = "compat11.stat", .ret_type = 1, .nargs = 2, > + .args = { { Name | IN, 0 }, { Stat11 | OUT, 1 } } }, This list is sorted alphabetically by system call name, and compat11.stat is listed twice. -- John Baldwin From owner-svn-src-head@freebsd.org Mon Jun 26 20:17:49 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 75326D90A25; Mon, 26 Jun 2017 20:17:49 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 461643F35; Mon, 26 Jun 2017 20:17:49 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5QKHmeH090581; Mon, 26 Jun 2017 20:17:48 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5QKHmhM090580; Mon, 26 Jun 2017 20:17:48 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706262017.v5QKHmhM090580@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Mon, 26 Jun 2017 20:17:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320373 - head/release/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 20:17:49 -0000 Author: gjb Date: Mon Jun 26 20:17:48 2017 New Revision: 320373 URL: https://svnweb.freebsd.org/changeset/base/320373 Log: Revert r319603, r319608, and r319609. Creating a hard link to the dtb file for the cubieboard2 is no longer needed in 12-CURRENT. Sponsored by: The FreeBSD Foundation Modified: head/release/arm/CUBIEBOARD2.conf Modified: head/release/arm/CUBIEBOARD2.conf ============================================================================== --- head/release/arm/CUBIEBOARD2.conf Mon Jun 26 19:41:14 2017 (r320372) +++ head/release/arm/CUBIEBOARD2.conf Mon Jun 26 20:17:48 2017 (r320373) @@ -30,8 +30,6 @@ arm_install_uboot() { chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr ${FATMOUNT}/ubldr chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr.bin \ ${FATMOUNT}/ubldr.bin - chroot ${CHROOTDIR} ln ${UFSMOUNT}/boot/dtb/cubieboard2.dtb \ - ${UFSMOUNT}/boot/dtb/sun7i-a20-cubieboard2.dtb chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot sync umount_loop ${CHROOTDIR}/${FATMOUNT} From owner-svn-src-head@freebsd.org Mon Jun 26 21:14:34 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5E79FD920A8; Mon, 26 Jun 2017 21:14:34 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 218DB66A6F; Mon, 26 Jun 2017 21:14:34 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5QLEXeg015533; Mon, 26 Jun 2017 21:14:33 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5QLEXTq015532; Mon, 26 Jun 2017 21:14:33 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201706262114.v5QLEXTq015532@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 26 Jun 2017 21:14:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320386 - head/sys/modules/linuxkpi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 21:14:34 -0000 Author: markj Date: Mon Jun 26 21:14:33 2017 New Revision: 320386 URL: https://svnweb.freebsd.org/changeset/base/320386 Log: Sort SRCS. MFC after: 1 week Modified: head/sys/modules/linuxkpi/Makefile Modified: head/sys/modules/linuxkpi/Makefile ============================================================================== --- head/sys/modules/linuxkpi/Makefile Mon Jun 26 20:34:02 2017 (r320385) +++ head/sys/modules/linuxkpi/Makefile Mon Jun 26 21:14:33 2017 (r320386) @@ -2,10 +2,11 @@ .PATH: ${SRCTOP}/sys/compat/linuxkpi/common/src KMOD= linuxkpi -SRCS= linux_kmod.c \ - linux_compat.c \ +SRCS= linux_compat.c \ linux_current.c \ linux_hrtimer.c \ + linux_idr.c \ + linux_kmod.c \ linux_kthread.c \ linux_lock.c \ linux_page.c \ @@ -15,7 +16,6 @@ SRCS= linux_kmod.c \ linux_schedule.c \ linux_slab.c \ linux_tasklet.c \ - linux_idr.c \ linux_usb.c \ linux_work.c From owner-svn-src-head@freebsd.org Mon Jun 26 21:45:34 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 97A26D92876; Mon, 26 Jun 2017 21:45:34 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 629E267783; Mon, 26 Jun 2017 21:45:34 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5QLjXN1027753; Mon, 26 Jun 2017 21:45:33 GMT (envelope-from gonzo@FreeBSD.org) Received: (from gonzo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5QLjXvc027752; Mon, 26 Jun 2017 21:45:33 GMT (envelope-from gonzo@FreeBSD.org) Message-Id: <201706262145.v5QLjXvc027752@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gonzo set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko Date: Mon, 26 Jun 2017 21:45:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320387 - head/sys/arm/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 21:45:34 -0000 Author: gonzo Date: Mon Jun 26 21:45:33 2017 New Revision: 320387 URL: https://svnweb.freebsd.org/changeset/base/320387 Log: [arm] Use correct index value when checking range validity Reviewed by: andrew MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D9145 Modified: head/sys/arm/arm/gic.c Modified: head/sys/arm/arm/gic.c ============================================================================== --- head/sys/arm/arm/gic.c Mon Jun 26 21:14:33 2017 (r320386) +++ head/sys/arm/arm/gic.c Mon Jun 26 21:45:33 2017 (r320387) @@ -1445,11 +1445,11 @@ arm_gicv2m_alloc_msi(device_t dev, device_t child, int break; } - KASSERT((psc->gic_irqs[irq].gi_flags & GI_FLAG_MSI)!= 0, + KASSERT((psc->gic_irqs[end_irq].gi_flags & GI_FLAG_MSI)!= 0, ("%s: Non-MSI interrupt found", __func__)); /* This is already used */ - if ((psc->gic_irqs[irq].gi_flags & GI_FLAG_MSI_USED) == + if ((psc->gic_irqs[end_irq].gi_flags & GI_FLAG_MSI_USED) == GI_FLAG_MSI_USED) { found = false; break; From owner-svn-src-head@freebsd.org Mon Jun 26 22:32:54 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1504AD93185; Mon, 26 Jun 2017 22:32:54 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D47E068D92; Mon, 26 Jun 2017 22:32:53 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5QMWrJw048497; Mon, 26 Jun 2017 22:32:53 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5QMWrBs048496; Mon, 26 Jun 2017 22:32:53 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201706262232.v5QMWrBs048496@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Mon, 26 Jun 2017 22:32:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320388 - head/sys/arm64/include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 22:32:54 -0000 Author: andrew Date: Mon Jun 26 22:32:52 2017 New Revision: 320388 URL: https://svnweb.freebsd.org/changeset/base/320388 Log: In _bswap16 and _bswap32 cast constant values to the appropriate type. This is similar to what is done in the x86 code. Sponsored by: DARPA, AFRL Modified: head/sys/arm64/include/endian.h Modified: head/sys/arm64/include/endian.h ============================================================================== --- head/sys/arm64/include/endian.h Mon Jun 26 21:45:33 2017 (r320387) +++ head/sys/arm64/include/endian.h Mon Jun 26 22:32:52 2017 (r320388) @@ -106,12 +106,12 @@ __bswap16_var(__uint16_t v) #define __bswap16(x) \ ((__uint16_t)(__builtin_constant_p(x) ? \ - __bswap16_constant(x) : \ + __bswap16_constant((__uint16_t)x) : \ __bswap16_var(x))) #define __bswap32(x) \ ((__uint32_t)(__builtin_constant_p(x) ? \ - __bswap32_constant(x) : \ + __bswap32_constant((__uint32_t)x) : \ __bswap32_var(x))) #else From owner-svn-src-head@freebsd.org Mon Jun 26 22:34:23 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ABE83D9322B; Mon, 26 Jun 2017 22:34:23 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-qt0-x231.google.com (mail-qt0-x231.google.com [IPv6:2607:f8b0:400d:c0d::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6698368F7D; Mon, 26 Jun 2017 22:34:23 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-qt0-x231.google.com with SMTP id i2so12518225qta.3; Mon, 26 Jun 2017 15:34:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=k40X7k6xkxpd1xMvWYAuw/ZzkyDyefD7hz0ppAk9j6c=; b=dzXYaHmzWpj6qWy9JJD7m4FpnDhyBBtCDd1SeP/wHNLbhB6gi7HeqkRQWlxBHx4oVf AbcaxQPEwRn4TT5j9QsQmHfEQi7G1AAIzWmy20lmNn3JZPDa9lk45NRtj1Xq6Jjmb9BU pLoEsKagL+H+PyFo9KNPh39wqGXRnrtaSfeLi9uV+7JGRYq2OVhaujJLErLlZmJVLUOP bzE0lWWnsn176g8jyFwyi3819o8XIyrP27BEYWGcZ6Jevr/b1FRPHNJ0wDsRx9AIBTsD 2/myWONkDYVl2duuD0Z6ptyHHRVbInj5p69tu3ZTt+UKv22pimviGj6M6l3YWxzcZJ0N FblA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=k40X7k6xkxpd1xMvWYAuw/ZzkyDyefD7hz0ppAk9j6c=; b=Yva3MT5FWmC4c4u6uyjwpo+Yto7ujmCmdNWvJlhcyx4lg0+BjQEjoBILIBMzgGqJB0 vaPxSRUFOrFCZHTsN/39m2uJoUk5RWC96Z+G2fIyvoA9DlO+D2AuixoGn4W/iBqfS/xZ FiJ6etO+n4EKAdub3npmJX0qb97cDDBFGGstFdL9z/hX6SMkOp/gT2J8u3D+y+QXdZ/R Zx/s/KS12BWKXYY4cfvmgd5T2JFEKBjz5T5i2OVefJikB8I2vhzzBn3jmo+6o8B8Wo28 3dsskn5c4kksvWvuJ2wCVZXwcTkGGpsmmX90LzjTrFglKgeWzIw2DZET9SrXRoe9ptRg 2noQ== X-Gm-Message-State: AKS2vOw4I9Vzz2FP0bmx8M69VuV3DruZFiJi70k27Qtez0z8K3C49zo0 OmjI8r/lKDHLi2cubHHjA+jAkLtUjBFQ X-Received: by 10.200.40.73 with SMTP id 9mr1156033qtr.37.1498516462577; Mon, 26 Jun 2017 15:34:22 -0700 (PDT) MIME-Version: 1.0 Received: by 10.140.92.142 with HTTP; Mon, 26 Jun 2017 15:34:22 -0700 (PDT) In-Reply-To: References: <201706231826.v5NIQvYa060882@repo.freebsd.org> From: Ngie Cooper Date: Mon, 26 Jun 2017 15:34:22 -0700 Message-ID: Subject: Re: svn commit: r320284 - head To: Kyle Evans Cc: Bryan Drewery , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 22:34:23 -0000 On Mon, Jun 26, 2017 at 12:37 PM, Kyle Evans wrote: > Hi, > > This broke my setup that builds my 7 different kernels due to duplicate > target errors. This seems to do what I want: > https://files.kyle-evans.net/freebsd/fix-packages.diff =) :ShipIt:! From owner-svn-src-head@freebsd.org Mon Jun 26 22:48:05 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 475D3D9352D; Mon, 26 Jun 2017 22:48:05 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 15BE16A686; Mon, 26 Jun 2017 22:48:05 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5QMm4hR052947; Mon, 26 Jun 2017 22:48:04 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5QMm4al052946; Mon, 26 Jun 2017 22:48:04 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201706262248.v5QMm4al052946@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Mon, 26 Jun 2017 22:48:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320389 - head/usr.bin/truss X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 22:48:05 -0000 Author: imp Date: Mon Jun 26 22:48:04 2017 New Revision: 320389 URL: https://svnweb.freebsd.org/changeset/base/320389 Log: Sort the compat11.* syscalls I added. Remove duplicate compat11.stat. Submitted by: jhb@ Modified: head/usr.bin/truss/syscalls.c Modified: head/usr.bin/truss/syscalls.c ============================================================================== --- head/usr.bin/truss/syscalls.c Mon Jun 26 22:32:52 2017 (r320388) +++ head/usr.bin/truss/syscalls.c Mon Jun 26 22:48:04 2017 (r320389) @@ -146,6 +146,12 @@ static struct syscall decoded_syscalls[] = { .args = { { Int, 0 }, { Timespec | OUT, 1 } } }, { .name = "close", .ret_type = 1, .nargs = 1, .args = { { Int, 0 } } }, + { .name = "compat11.fstat", .ret_type = 1, .nargs = 2, + .args = { { Int, 0 }, { Stat11 | OUT, 1 } } }, + { .name = "compat11.lstat", .ret_type = 1, .nargs = 2, + .args = { { Name | IN, 0 }, { Stat11 | OUT, 1 } } }, + { .name = "compat11.stat", .ret_type = 1, .nargs = 2, + .args = { { Name | IN, 0 }, { Stat11 | OUT, 1 } } }, { .name = "connect", .ret_type = 1, .nargs = 3, .args = { { Int, 0 }, { Sockaddr | IN, 1 }, { Socklent, 2 } } }, { .name = "connectat", .ret_type = 1, .nargs = 4, @@ -216,14 +222,6 @@ static struct syscall decoded_syscalls[] = { .args = { { Int, 0 }, { Fcntl, 1 }, { Fcntlflag, 2 } } }, { .name = "flock", .ret_type = 1, .nargs = 2, .args = { { Int, 0 }, { Flockop, 1 } } }, - { .name = "compat11.fstat", .ret_type = 1, .nargs = 2, - .args = { { Int, 0 }, { Stat11 | OUT, 1 } } }, - { .name = "compat11.lstat", .ret_type = 1, .nargs = 2, - .args = { { Name | IN, 0 }, { Stat11 | OUT, 1 } } }, - { .name = "compat11.stat", .ret_type = 1, .nargs = 2, - .args = { { Name | IN, 0 }, { Stat11 | OUT, 1 } } }, - { .name = "compat11.stat", .ret_type = 1, .nargs = 2, - .args = { { Name | IN, 0 }, { Stat11 | OUT, 1 } } }, { .name = "fstat", .ret_type = 1, .nargs = 2, .args = { { Int, 0 }, { Stat | OUT, 1 } } }, { .name = "fstatat", .ret_type = 1, .nargs = 4, From owner-svn-src-head@freebsd.org Tue Jun 27 01:22:29 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3AAF2D9714B; Tue, 27 Jun 2017 01:22:29 +0000 (UTC) (envelope-from araujo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0B30C726CB; Tue, 27 Jun 2017 01:22:28 +0000 (UTC) (envelope-from araujo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5R1MSpE019346; Tue, 27 Jun 2017 01:22:28 GMT (envelope-from araujo@FreeBSD.org) Received: (from araujo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5R1MSec019345; Tue, 27 Jun 2017 01:22:28 GMT (envelope-from araujo@FreeBSD.org) Message-Id: <201706270122.v5R1MSec019345@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: araujo set sender to araujo@FreeBSD.org using -f From: Marcelo Araujo Date: Tue, 27 Jun 2017 01:22:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320390 - head/sys/geom/part X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 01:22:29 -0000 Author: araujo Date: Tue Jun 27 01:22:27 2017 New Revision: 320390 URL: https://svnweb.freebsd.org/changeset/base/320390 Log: With r318394 seems it breaks gpart(8) in some embedded systems such like PCEngines, RPI1-B, Alix and APU2 boards as well as NanoBSD with the following message: vnode_pager_generic_getpages_done: I/O read error 5 Seems the breakage was because it was missed to include acr in glabel update. Reported by: Peter Blok , madpilot, imp and trasz. Reviewed by: trasz Tested by: Peter Blok and madpilot. MFC after: 3 days. Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D11365 Modified: head/sys/geom/part/g_part.c Modified: head/sys/geom/part/g_part.c ============================================================================== --- head/sys/geom/part/g_part.c Mon Jun 26 22:48:04 2017 (r320389) +++ head/sys/geom/part/g_part.c Tue Jun 27 01:22:27 2017 (r320390) @@ -890,7 +890,8 @@ g_part_ctl_commit(struct gctl_req *req, struct g_part_ if (!entry->gpe_deleted) { /* Notify consumers that provider might be changed. */ if (entry->gpe_modified && ( - entry->gpe_pp->acw + entry->gpe_pp->ace) == 0) + entry->gpe_pp->acw + entry->gpe_pp->ace + + entry->gpe_pp->acr) == 0) g_media_changed(entry->gpe_pp, M_NOWAIT); entry->gpe_created = 0; entry->gpe_modified = 0; From owner-svn-src-head@freebsd.org Tue Jun 27 01:29:11 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D92D6D97A09; Tue, 27 Jun 2017 01:29:11 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B473972D13; Tue, 27 Jun 2017 01:29:11 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5R1TADV019605; Tue, 27 Jun 2017 01:29:10 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5R1TAuG019602; Tue, 27 Jun 2017 01:29:10 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201706270129.v5R1TAuG019602@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Tue, 27 Jun 2017 01:29:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320391 - in head/sys: compat/freebsd32 net X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 01:29:11 -0000 Author: jhibbits Date: Tue Jun 27 01:29:10 2017 New Revision: 320391 URL: https://svnweb.freebsd.org/changeset/base/320391 Log: Update comments and simplify conditionals for compat32 Only amd64 (because of i386) needs 32-bit time_t compat now, everything else is 64-bit time_t. Rather than checking on all 64-bit time_t archs, only check the oddball amd64/i386. Reviewed By: emaste, kib, andrew Differential Revision: https://reviews.freebsd.org/D11364 Modified: head/sys/compat/freebsd32/freebsd32.h head/sys/compat/freebsd32/freebsd32_misc.c head/sys/net/bpf.c Modified: head/sys/compat/freebsd32/freebsd32.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32.h Tue Jun 27 01:22:27 2017 (r320390) +++ head/sys/compat/freebsd32/freebsd32.h Tue Jun 27 01:29:10 2017 (r320391) @@ -43,12 +43,12 @@ do { (dst).fld = PTROUT((src).fld); } while (0) /* - * Being a newer port, 32-bit FreeBSD/MIPS uses 64-bit time_t. + * i386 is the only arch with a 32-bit time_t */ -#if defined (__mips__) || defined(__powerpc__) -typedef int64_t time32_t; -#else +#ifdef __amd64__ typedef int32_t time32_t; +#else +typedef int64_t time32_t; #endif struct timeval32 { Modified: head/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_misc.c Tue Jun 27 01:22:27 2017 (r320390) +++ head/sys/compat/freebsd32/freebsd32_misc.c Tue Jun 27 01:29:10 2017 (r320391) @@ -109,13 +109,13 @@ __FBSDID("$FreeBSD$"); FEATURE(compat_freebsd_32bit, "Compatible with 32-bit FreeBSD"); -#if !defined(__mips__) && !defined(__powerpc__) +#ifdef __amd64__ CTASSERT(sizeof(struct timeval32) == 8); CTASSERT(sizeof(struct timespec32) == 8); CTASSERT(sizeof(struct itimerval32) == 16); #endif CTASSERT(sizeof(struct statfs32) == 256); -#if !defined(__mips__) && !defined(__powerpc__) +#ifdef __amd64__ CTASSERT(sizeof(struct rusage32) == 72); #endif CTASSERT(sizeof(struct sigaltstack32) == 12); @@ -124,8 +124,6 @@ CTASSERT(sizeof(struct iovec32) == 8); CTASSERT(sizeof(struct msghdr32) == 28); #ifdef __amd64__ CTASSERT(sizeof(struct stat32) == 208); -#endif -#if !defined(__mips__) && !defined(__powerpc__) CTASSERT(sizeof(struct freebsd11_stat32) == 96); #endif CTASSERT(sizeof(struct sigaction32) == 24); Modified: head/sys/net/bpf.c ============================================================================== --- head/sys/net/bpf.c Tue Jun 27 01:22:27 2017 (r320390) +++ head/sys/net/bpf.c Tue Jun 27 01:29:10 2017 (r320391) @@ -1283,7 +1283,7 @@ bpfioctl(struct cdev *dev, u_long cmd, caddr_t addr, i #endif case BIOCGETIF: case BIOCGRTIMEOUT: -#if defined(COMPAT_FREEBSD32) && !defined(__mips__) && !defined(__powerpc__) +#if defined(COMPAT_FREEBSD32) && defined(__amd64__) case BIOCGRTIMEOUT32: #endif case BIOCGSTATS: @@ -1295,7 +1295,7 @@ bpfioctl(struct cdev *dev, u_long cmd, caddr_t addr, i case FIONREAD: case BIOCLOCK: case BIOCSRTIMEOUT: -#if defined(COMPAT_FREEBSD32) && !defined(__mips__) && !defined(__powerpc__) +#if defined(COMPAT_FREEBSD32) && defined(__amd64__) case BIOCSRTIMEOUT32: #endif case BIOCIMMEDIATE: @@ -1519,7 +1519,7 @@ bpfioctl(struct cdev *dev, u_long cmd, caddr_t addr, i * Set read timeout. */ case BIOCSRTIMEOUT: -#if defined(COMPAT_FREEBSD32) && !defined(__mips__) && !defined(__powerpc__) +#if defined(COMPAT_FREEBSD32) && defined(__amd64__) case BIOCSRTIMEOUT32: #endif { @@ -1550,12 +1550,12 @@ bpfioctl(struct cdev *dev, u_long cmd, caddr_t addr, i * Get read timeout. */ case BIOCGRTIMEOUT: -#if defined(COMPAT_FREEBSD32) && !defined(__mips__) && !defined(__powerpc__) +#if defined(COMPAT_FREEBSD32) && defined(__amd64__) case BIOCGRTIMEOUT32: #endif { struct timeval *tv; -#if defined(COMPAT_FREEBSD32) && !defined(__mips__) && !defined(__powerpc__) +#if defined(COMPAT_FREEBSD32) && defined(__amd64__) struct timeval32 *tv32; struct timeval tv64; @@ -1567,7 +1567,7 @@ bpfioctl(struct cdev *dev, u_long cmd, caddr_t addr, i tv->tv_sec = d->bd_rtout / hz; tv->tv_usec = (d->bd_rtout % hz) * tick; -#if defined(COMPAT_FREEBSD32) && !defined(__mips__) && !defined(__powerpc__) +#if defined(COMPAT_FREEBSD32) && defined(__amd64__) if (cmd == BIOCGRTIMEOUT32) { tv32 = (struct timeval32 *)addr; tv32->tv_sec = tv->tv_sec; From owner-svn-src-head@freebsd.org Tue Jun 27 01:57:23 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D8201D992FC; Tue, 27 Jun 2017 01:57:23 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A60E574160; Tue, 27 Jun 2017 01:57:23 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5R1vMV3031748; Tue, 27 Jun 2017 01:57:22 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5R1vMDr031747; Tue, 27 Jun 2017 01:57:22 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201706270157.v5R1vMDr031747@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Tue, 27 Jun 2017 01:57:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320392 - head/sys/powerpc/booke X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 01:57:24 -0000 Author: jhibbits Date: Tue Jun 27 01:57:22 2017 New Revision: 320392 URL: https://svnweb.freebsd.org/changeset/base/320392 Log: Disable interrupts when updating the TLB Without disabling interrupts it's possible for another thread to preempt and update the registers post-read (tlb1_read_entry) or pre-write (tlb1_write_entry), and confuse the kernel with mixed register states. MFC after: 2 weeks Modified: head/sys/powerpc/booke/pmap.c Modified: head/sys/powerpc/booke/pmap.c ============================================================================== --- head/sys/powerpc/booke/pmap.c Tue Jun 27 01:29:10 2017 (r320391) +++ head/sys/powerpc/booke/pmap.c Tue Jun 27 01:57:22 2017 (r320392) @@ -3812,10 +3812,14 @@ tlb0_print_tlbentries(void) void tlb1_read_entry(tlb_entry_t *entry, unsigned int slot) { + register_t msr; uint32_t mas0; KASSERT((entry != NULL), ("%s(): Entry is NULL!", __func__)); + msr = mfmsr(); + mtmsr(msr & ~PSL_EE); + mas0 = MAS0_TLBSEL(1) | MAS0_ESEL(slot); mtspr(SPR_MAS0, mas0); __asm __volatile("isync; tlbre"); @@ -3835,6 +3839,7 @@ tlb1_read_entry(tlb_entry_t *entry, unsigned int slot) entry->mas7 = 0; break; } + mtmsr(msr); entry->virt = entry->mas2 & MAS2_EPN_MASK; entry->phys = ((vm_paddr_t)(entry->mas7 & MAS7_RPN) << 32) | @@ -3850,6 +3855,7 @@ tlb1_read_entry(tlb_entry_t *entry, unsigned int slot) static void tlb1_write_entry(tlb_entry_t *e, unsigned int idx) { + register_t msr; uint32_t mas0; //debugf("tlb1_write_entry: s\n"); @@ -3858,6 +3864,9 @@ tlb1_write_entry(tlb_entry_t *e, unsigned int idx) mas0 = MAS0_TLBSEL(1) | MAS0_ESEL(idx); //debugf("tlb1_write_entry: mas0 = 0x%08x\n", mas0); + msr = mfmsr(); + mtmsr(msr & ~PSL_EE); + mtspr(SPR_MAS0, mas0); __asm __volatile("isync"); mtspr(SPR_MAS1, e->mas1); @@ -3882,6 +3891,7 @@ tlb1_write_entry(tlb_entry_t *e, unsigned int idx) } __asm __volatile("tlbwe; isync; msync"); + mtmsr(msr); //debugf("tlb1_write_entry: e\n"); } From owner-svn-src-head@freebsd.org Tue Jun 27 03:45:10 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 853CFD9D947; Tue, 27 Jun 2017 03:45:10 +0000 (UTC) (envelope-from jpaetzel@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 53813780A6; Tue, 27 Jun 2017 03:45:10 +0000 (UTC) (envelope-from jpaetzel@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5R3j9fS076736; Tue, 27 Jun 2017 03:45:09 GMT (envelope-from jpaetzel@FreeBSD.org) Received: (from jpaetzel@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5R3j9UP076735; Tue, 27 Jun 2017 03:45:09 GMT (envelope-from jpaetzel@FreeBSD.org) Message-Id: <201706270345.v5R3j9UP076735@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jpaetzel set sender to jpaetzel@FreeBSD.org using -f From: Josh Paetzel Date: Tue, 27 Jun 2017 03:45:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320393 - head/sys/dev/bktr X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 03:45:10 -0000 Author: jpaetzel Date: Tue Jun 27 03:45:09 2017 New Revision: 320393 URL: https://svnweb.freebsd.org/changeset/base/320393 Log: driver incorrectly handles the setting of frame rates PR: 36415 Submitted by: brandt@fokus.gmd.de Modified: head/sys/dev/bktr/bktr_core.c Modified: head/sys/dev/bktr/bktr_core.c ============================================================================== --- head/sys/dev/bktr/bktr_core.c Tue Jun 27 01:57:22 2017 (r320392) +++ head/sys/dev/bktr/bktr_core.c Tue Jun 27 03:45:09 2017 (r320393) @@ -972,7 +972,7 @@ video_open( bktr_ptr_t bktr ) bktr->flags |= METEOR_OPEN; #ifdef BT848_DUMP - dump_bt848( bt848 ); + dump_bt848(bktr); #endif bktr->clr_on_start = FALSE; @@ -1688,7 +1688,7 @@ video_ioctl( bktr_ptr_t bktr, int unit, ioctl_cmd_t cm BT848_INT_VSYNC | BT848_INT_FMTCHG); #ifdef BT848_DUMP - dump_bt848( bt848 ); + dump_bt848(bktr); #endif break; @@ -2522,7 +2522,7 @@ common_ioctl( bktr_ptr_t bktr, ioctl_cmd_t cmd, caddr_ /* * */ -#ifdef BT848_DEBUG +#if defined(BT848_DEBUG) || defined(BT848_DUMP) static int dump_bt848( bktr_ptr_t bktr ) { @@ -2542,7 +2542,7 @@ dump_bt848( bktr_ptr_t bktr ) r[i], INL(bktr, r[i]), r[i+1], INL(bktr, r[i+1]), r[i+2], INL(bktr, r[i+2]), - r[i+3], INL(bktr, r[i+3]])); + r[i+3], INL(bktr, r[i+3])); } printf("%s: INT STAT %x \n", bktr_name(bktr), @@ -3705,28 +3705,26 @@ start_capture( bktr_ptr_t bktr, unsigned type ) /* - * + * Set the temporal decimation register to get the desired frame rate. + * We use the 'skip frame' modus always and always start dropping on an + * odd field. */ static void set_fps( bktr_ptr_t bktr, u_short fps ) { struct format_params *fp; - int i_flag; fp = &format_params[bktr->format_params]; switch(bktr->flags & METEOR_ONLY_FIELDS_MASK) { case METEOR_ONLY_EVEN_FIELDS: bktr->flags |= METEOR_WANT_EVEN; - i_flag = 1; break; case METEOR_ONLY_ODD_FIELDS: bktr->flags |= METEOR_WANT_ODD; - i_flag = 1; break; default: bktr->flags |= METEOR_WANT_MASK; - i_flag = 2; break; } @@ -3737,7 +3735,7 @@ set_fps( bktr_ptr_t bktr, u_short fps ) OUTB(bktr, BKTR_TDEC, 0); if (fps < fp->frame_rate) - OUTB(bktr, BKTR_TDEC, i_flag*(fp->frame_rate - fps) & 0x3f); + OUTB(bktr, BKTR_TDEC, (fp->frame_rate - fps) & 0x3f); else OUTB(bktr, BKTR_TDEC, 0); return; From owner-svn-src-head@freebsd.org Tue Jun 27 03:50:17 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3821FD9DC73; Tue, 27 Jun 2017 03:50:17 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id D484C78480; Tue, 27 Jun 2017 03:50:16 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from spqr.komquats.com ([96.50.22.10]) by shaw.ca with SMTP id PhW0dYnaRETFpPhW2ddwUv; Mon, 26 Jun 2017 21:50:15 -0600 X-Authority-Analysis: v=2.2 cv=dZbw5Tfe c=1 sm=1 tr=0 a=jvE2nwUzI0ECrNeyr98KWA==:117 a=jvE2nwUzI0ECrNeyr98KWA==:17 a=kj9zAlcOel0A:10 a=LWSFodeU3zMA:10 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=WcqYV7MEc-6UHiXGb_MA:9 a=CjuIK1q_8ugA:10 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id B62041688; Mon, 26 Jun 2017 20:50:12 -0700 (PDT) Received: from slippy (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id v5R3mvkV076055; Mon, 26 Jun 2017 20:48:57 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201706270348.v5R3mvkV076055@slippy.cwsent.com> X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.6 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Sean Bruno cc: Edward Tomasz Napierala , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320362 - head/share/zoneinfo In-Reply-To: Message from Sean Bruno of "Mon, 26 Jun 2017 12:21:15 -0600." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 26 Jun 2017 20:48:57 -0700 X-CMAE-Envelope: MS4wfC0nmHwTKRWMzy4L7QmqA54zacCHXYevR/gqinECkZct03Eb9JrYLJkmdGfQHIwBDv/uawOEKv2yWGd310HZrdyeVyMa+p3ag9FXv9LwozRqE2RBKhx9 fnBnaZPcV19NPRj06yonGmIm7HA4+yhbdLa42NSMef3DPlu9shbidTn2FgZbW6QmW/qCNtRPvg9Q9kk0+kaHI6TiPTZWFTTfngmKdbTQ0m1h3r845dkzoSm0 2rwxeM/ysenc92+wzfHhTIRkXk15XpbvE0l6UCgMTvPiR+F168kWLtVXXZp26d4spSIVz4FDvifa0SEbzoqZhw== X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 03:50:17 -0000 (since we're top posting.... ) Hi Sean, Do you want to give this a spin? Index: share/zoneinfo/Makefile =================================================================== --- share/zoneinfo/Makefile (revision 320389) +++ share/zoneinfo/Makefile (working copy) @@ -94,7 +94,7 @@ .for f in ${TZS} ${INSTALL} ${TAG_ARGS} \ -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ - ${TZBUILDDIR:C,^${.OBJDIR}/,,}/${f} ${DESTDIR}/usr/share/zoneinfo/${f} + ${TZBUILDDIR}/${f} ${DESTDIR}/usr/share/zoneinfo/${f} .endfor ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ ~cy In message , Sean Bruno write s: > This is an OpenPGP/MIME signed message (RFC 4880 and 3156) > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f > Content-Type: multipart/mixed; boundary="VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ"; > protected-headers="v1" > From: Sean Bruno > To: Edward Tomasz Napierala , src-committers@freebsd.org, > svn-src-all@freebsd.org, svn-src-head@freebsd.org > Message-ID: > Subject: Re: svn commit: r320362 - head/share/zoneinfo > References: <201706261540.v5QFeOTj072841@repo.freebsd.org> > In-Reply-To: <201706261540.v5QFeOTj072841@repo.freebsd.org> > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ > Content-Type: text/plain; charset=utf-8 > Content-Language: en-US > Content-Transfer-Encoding: quoted-printable > > Hmmm ... This seems to break 'poudriere jail -c jailname -m src=3D/usr/sr= > c > -v head" > > --- realinstall_subdir_share/zoneinfo --- > install: builddir/Africa/Abidjan: No such file or directory > > > On 06/26/17 09:40, Edward Tomasz Napierala wrote: > > Author: trasz > > Date: Mon Jun 26 15:40:24 2017 > > New Revision: 320362 > > URL: https://svnweb.freebsd.org/changeset/base/320362 > >=20 > > Log: > > Provide visual feedback when timezone files are installed. > > After r320003 it wasn't being shown in any way. > > =20 > > Submitted by: bdrewery > > MFC after: 1 month > > Differential Revision: https://reviews.freebsd.org/D11154 > >=20 > > Modified: > > head/share/zoneinfo/Makefile > >=20 > > Modified: head/share/zoneinfo/Makefile > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D=3D > > --- head/share/zoneinfo/Makefile Mon Jun 26 15:23:12 2017 (r32036 > 1) > > +++ head/share/zoneinfo/Makefile Mon Jun 26 15:40:24 2017 (r32036 > 2) > > @@ -83,14 +83,19 @@ zoneinfo: yearistype ${TDATA} > > zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \ > > ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES} > > =20 > > +.if make(*install*) > > +TZS!=3D cd ${TZBUILDDIR} && find -s * -type f > > +.endif > > + > > beforeinstall: install-zoneinfo > > install-zoneinfo: > > mkdir -p ${DESTDIR}/usr/share/zoneinfo > > cd ${DESTDIR}/usr/share/zoneinfo; mkdir -p ${TZBUILDSUBDIRS} > > - cd ${TZBUILDDIR} && \ > > - find -s * -type f -exec ${INSTALL} ${TAG_ARGS} \ > > +.for f in ${TZS} > > + ${INSTALL} ${TAG_ARGS} \ > > -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > > - \{} ${DESTDIR}/usr/share/zoneinfo/\{} \; > > + ${TZBUILDDIR:C,^${.OBJDIR}/,,}/${f} ${DESTDIR}/usr/share/zoneinfo= > /${f} > > +.endfor > > ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > > ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ > > =20 > >=20 > >=20 > > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ-- > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f > Content-Type: application/pgp-signature; name="signature.asc" > Content-Description: OpenPGP digital signature > Content-Disposition: attachment; filename="signature.asc" > > -----BEGIN PGP SIGNATURE----- > > iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/LYFAllRUJtfFIAAAAAALgAo > aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEU4 > QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgkQveT1/om1 > /LaIFggAlEX4pLTfDUaRsGoxWbGI0DiirmhR1nW74ESXjGXd4u9WSYKfvxK+oGPJ > LRwxcimGw/v+h8piM102ijsmquE0+NlyyMAYjFNLb9tsZuR+kfzRbDwqiu3FNg8R > zDnsvo69JHiyoi7r9BJB30Q6P9fZDGBtCrSQ9Up2IUiPHjz+pLUK6jxy29wflPSr > qVDHitG2A7l7Sdn3Jsj8MWNw/4ehRNlhxudgg+F8v7tEJH9eNBpP6K6jR6B+aU/P > VCPrKO1rRmmJTPxxPwskLLX4/xXrf8hmUFTm0uBbLtKbvzsaO5IZ9HKXJdYFlaRo > dCw6yY1xFlMv/OrUWgSxj02fsd7GHg== > =9Mia > -----END PGP SIGNATURE----- > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f-- > > -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-svn-src-head@freebsd.org Tue Jun 27 03:57:32 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E0FABD9E0C4; Tue, 27 Jun 2017 03:57:32 +0000 (UTC) (envelope-from jpaetzel@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AFE4378A9D; Tue, 27 Jun 2017 03:57:32 +0000 (UTC) (envelope-from jpaetzel@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5R3vVrG081099; Tue, 27 Jun 2017 03:57:31 GMT (envelope-from jpaetzel@FreeBSD.org) Received: (from jpaetzel@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5R3vVUH081098; Tue, 27 Jun 2017 03:57:31 GMT (envelope-from jpaetzel@FreeBSD.org) Message-Id: <201706270357.v5R3vVUH081098@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jpaetzel set sender to jpaetzel@FreeBSD.org using -f From: Josh Paetzel Date: Tue, 27 Jun 2017 03:57:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320394 - head/sys/dev/bktr X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 03:57:33 -0000 Author: jpaetzel Date: Tue Jun 27 03:57:31 2017 New Revision: 320394 URL: https://svnweb.freebsd.org/changeset/base/320394 Log: ioctl METEORGBRIG in bktr_core.c forgets to add 128 to value PR: 59289 Submitted by: Danovitsch@Vitsch.net Modified: head/sys/dev/bktr/bktr_core.c Modified: head/sys/dev/bktr/bktr_core.c ============================================================================== --- head/sys/dev/bktr/bktr_core.c Tue Jun 27 03:45:09 2017 (r320393) +++ head/sys/dev/bktr/bktr_core.c Tue Jun 27 03:57:31 2017 (r320394) @@ -1545,7 +1545,7 @@ video_ioctl( bktr_ptr_t bktr, int unit, ioctl_cmd_t cm break; case METEORGBRIG: /* get brightness */ - *(u_char *)arg = INB(bktr, BKTR_BRIGHT); + *(u_char *)arg = INB(bktr, BKTR_BRIGHT) + 128; break; case METEORSCSAT: /* set chroma saturation */ From owner-svn-src-head@freebsd.org Tue Jun 27 04:39:45 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1830AD9FED4; Tue, 27 Jun 2017 04:39:45 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id EACE87A7A2; Tue, 27 Jun 2017 04:39:44 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id D4DB41ED7E; Tue, 27 Jun 2017 04:39:43 +0000 (UTC) Date: Tue, 27 Jun 2017 04:39:43 +0000 From: Alexey Dokuchaev To: Doug Ambrisko Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r307326 - head/sys/boot/efi/loader Message-ID: <20170627043943.GA55141@FreeBSD.org> References: <201610141710.u9EHArlL089412@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201610141710.u9EHArlL089412@repo.freebsd.org> User-Agent: Mutt/1.8.2 (2017-04-18) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 04:39:45 -0000 On Fri, Oct 14, 2016 at 05:10:53PM +0000, Doug Ambrisko wrote: > New Revision: 307326 > URL: https://svnweb.freebsd.org/changeset/base/307326 > > Log: > In UEFI mode expose the SMBIOS anchor base address via kenv so the kernel > etc. can find out where the SMBIOS entry point is located. In pure > UEFI mode the BIOS is not mapped into the standard address space so the > SMBIOS table might not appear between 0xf0000 and 0xfffff. The > UEFI environment can report this the location of the anchor. If it is > reported then expose it as hint.smbios.0.mem. [...] > > Linux exposes this information via the /sys/firmware/efi/systab file > which dmidecode looks at. We should update dmidecode to do this the > FreeBSD way when we determine what that is! We just did: https://svnweb.freebsd.org/changeset/ports/444412 (sorry it took us eight months). ./danfe From owner-svn-src-head@freebsd.org Tue Jun 27 04:54:59 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CB3E9DA0922; Tue, 27 Jun 2017 04:54:59 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9651E7B43A; Tue, 27 Jun 2017 04:54:59 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5R4swxP006077; Tue, 27 Jun 2017 04:54:58 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5R4swP0006076; Tue, 27 Jun 2017 04:54:58 GMT (envelope-from cy@FreeBSD.org) Message-Id: <201706270454.v5R4swP0006076@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Tue, 27 Jun 2017 04:54:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320395 - head/contrib/ipfilter/tools X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 04:54:59 -0000 Author: cy Date: Tue Jun 27 04:54:58 2017 New Revision: 320395 URL: https://svnweb.freebsd.org/changeset/base/320395 Log: Replace AF_INET6 ifdefs with USE_INET6 to be consistent with the rest of the ipfilter souce tree. Modified: head/contrib/ipfilter/tools/ippool_y.y Modified: head/contrib/ipfilter/tools/ippool_y.y ============================================================================== --- head/contrib/ipfilter/tools/ippool_y.y Tue Jun 27 03:57:31 2017 (r320394) +++ head/contrib/ipfilter/tools/ippool_y.y Tue Jun 27 04:54:58 2017 (r320395) @@ -273,7 +273,7 @@ grouplist: | addrmask next { $$ = calloc(1, sizeof(iphtent_t)); $$->ipe_addr = $1[0].adf_addr; $$->ipe_mask = $1[1].adf_addr; -#ifdef AF_INET6 +#ifdef USE_INET6 if (use_inet6) $$->ipe_family = AF_INET6; else @@ -297,7 +297,7 @@ groupentry: $$->ipe_mask = $1[1].adf_addr; strncpy($$->ipe_group, $3, FR_GROUPLEN); -#ifdef AF_INET6 +#ifdef USE_INET6 if (use_inet6) $$->ipe_family = AF_INET6; else From owner-svn-src-head@freebsd.org Tue Jun 27 05:02:13 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 01B94DA0C4F; Tue, 27 Jun 2017 05:02:13 +0000 (UTC) (envelope-from jbeich@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D76C07B7BF; Tue, 27 Jun 2017 05:02:12 +0000 (UTC) (envelope-from jbeich@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1354) id 29CAB1F3DE; Tue, 27 Jun 2017 05:02:12 +0000 (UTC) From: Jan Beich To: Ed Schouten Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320240 - head/include References: <201706221839.v5MIdqK3065947@repo.freebsd.org> Date: Tue, 27 Jun 2017 07:02:07 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 05:02:13 -0000 Ed Schouten writes: > Author: ed > Date: Thu Jun 22 18:39:52 2017 > New Revision: 320240 > URL: https://svnweb.freebsd.org/changeset/base/320240 > > Log: > Use __ISO_C_VISIBLE, as opposed to testing __STDC_VERSION__. > > FreeBSD's C library uses __STDC_VERSION__ to determine whether the > compiler provides language features specific to a certain version of the > C standard. __ISO_C_VISIBLE is used to specify which library features > need to be exposed. > > max_align_t currently uses __STDC_VERSION__, even though it should be > using __ISO_C_VISIBLE to remain consistent with the rest of the headers > in include/. > > Reviewed by: dim > MFC after: 1 month > Differential Revision: https://reviews.freebsd.org/D11303 > > Modified: > head/include/stddef.h > > Modified: head/include/stddef.h > ============================================================================== > --- head/include/stddef.h Thu Jun 22 17:10:34 2017 (r320239) > +++ head/include/stddef.h Thu Jun 22 18:39:52 2017 (r320240) > @@ -62,7 +62,7 @@ typedef ___wchar_t wchar_t; > #endif > #endif > > -#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L > +#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L > #ifndef __CLANG_MAX_ALIGN_T_DEFINED > typedef __max_align_t max_align_t; > #define __CLANG_MAX_ALIGN_T_DEFINED max_align_t is now exposed even without -std=c11. #+begin_src c $ cat a.c #include /* * a type with the most strict alignment requirements */ union max_align { char c; short s; long l; int i; float f; double d; void * v; void (*q)(void); }; typedef union max_align max_align_t; int main(int argc, char *argv[]) { return 0; } $ cc -std=gnu89 a.c a.c:18:14: error: typedef redefinition with different types ('void' vs '__max_align_t') typedef void max_align_t; ^ /usr/include/stddef.h:67:23: note: previous definition is here typedef __max_align_t max_align_t; ^ 1 error generated. #+end_src c thus regressing some ports e.g., #+begin_src c cc -o Unified_c_media_libnestegg_src0.o -c ... -std=gnu99 ... Unified_c_media_libnestegg_src0.c In file included from obj-i386-unknown-freebsd12.0/media/libnestegg/src/Unified_c_media_libnestegg_src0.c:2: In file included from media/libnestegg/src/halloc.c:19: media/libnestegg/src/align.h:42:25: error: typedef redefinition with different types ('union max_align' vs '__max_align_t') typedef union max_align max_align_t; ^ /usr/include/stddef.h:67:23: note: previous definition is here typedef __max_align_t max_align_t; ^ 1 error generated. #+end_src c https://lists.freebsd.org/pipermail/freebsd-pkg-fallout/Week-of-Mon-20170626/493679.html From owner-svn-src-head@freebsd.org Tue Jun 27 08:18:09 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B4F09DA462B; Tue, 27 Jun 2017 08:18:09 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 857848104B; Tue, 27 Jun 2017 08:18:09 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5R8I8QE088185; Tue, 27 Jun 2017 08:18:08 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5R8I8kb088184; Tue, 27 Jun 2017 08:18:08 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706270818.v5R8I8kb088184@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 27 Jun 2017 08:18:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320399 - head/lib/libprocstat X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 08:18:09 -0000 Author: ngie Date: Tue Jun 27 08:18:08 2017 New Revision: 320399 URL: https://svnweb.freebsd.org/changeset/base/320399 Log: procstat_getptlwpinfo(..): clarify the fact that KVM/SYSCTL support isn't supported This will make the error message reported in bug 220023 a bit more intuitive for end-users that don't have access to the source code to decode the procstat->type argument. MFC after: 1 month MFC with: r316286 PR: 220023 Modified: head/lib/libprocstat/libprocstat.c Modified: head/lib/libprocstat/libprocstat.c ============================================================================== --- head/lib/libprocstat/libprocstat.c Tue Jun 27 06:44:32 2017 (r320398) +++ head/lib/libprocstat/libprocstat.c Tue Jun 27 08:18:08 2017 (r320399) @@ -2510,6 +2510,12 @@ struct ptrace_lwpinfo * procstat_getptlwpinfo(struct procstat *procstat, unsigned int *cntp) { switch (procstat->type) { + case PROCSTAT_KVM: + warnx("kvm method is not supported"); + return (NULL); + case PROCSTAT_SYSCTL: + warnx("sysctl method is not supported"); + return (NULL); case PROCSTAT_CORE: return (procstat_getptlwpinfo_core(procstat->core, cntp)); default: From owner-svn-src-head@freebsd.org Tue Jun 27 08:49:48 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A419BDA50F0; Tue, 27 Jun 2017 08:49:48 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6F3E88221C; Tue, 27 Jun 2017 08:49:48 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5R8nlqk000672; Tue, 27 Jun 2017 08:49:47 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5R8nlWb000671; Tue, 27 Jun 2017 08:49:47 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706270849.v5R8nlWb000671@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 27 Jun 2017 08:49:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320400 - head/lib/libprocstat X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 08:49:48 -0000 Author: ngie Date: Tue Jun 27 08:49:47 2017 New Revision: 320400 URL: https://svnweb.freebsd.org/changeset/base/320400 Log: Add initial documentation for procstat_freeptlwpinfo and procstat_getptlwpinfo MFC after: 1 month MFC with: r316286 Modified: head/lib/libprocstat/libprocstat.3 Modified: head/lib/libprocstat/libprocstat.3 ============================================================================== --- head/lib/libprocstat/libprocstat.3 Tue Jun 27 08:18:08 2017 (r320399) +++ head/lib/libprocstat/libprocstat.3 Tue Jun 27 08:49:47 2017 (r320400) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 18, 2015 +.Dd June 27, 2017 .Dt LIBPROCSTAT 3 .Os .Sh NAME @@ -36,6 +36,7 @@ .Nm procstat_freegroups , .Nm procstat_freekstack , .Nm procstat_freeprocs , +.Nm procstat_freeptlwpinfo , .Nm procstat_freevmmap , .Nm procstat_get_pipe_info , .Nm procstat_get_pts_info , @@ -52,6 +53,7 @@ .Nm procstat_getosrel , .Nm procstat_getpathname , .Nm procstat_getprocs , +.Nm procstat_getptlwpinfo , .Nm procstat_getrlimit , .Nm procstat_getumask , .Nm procstat_getvmmap , @@ -102,6 +104,11 @@ .Fa "struct procstat *procstat" .Fa "struct kinfo_vmentry *vmmap" .Fc +.Ft void +.Fo procstat_freeptlwpinfo +.Fa "struct procstat *procstat" +.Fa "struct ptrace_lwpinfo *pl" +.Fc .Ft int .Fo procstat_get_pipe_info .Fa "struct procstat *procstat" @@ -202,6 +209,11 @@ .Fa "int arg" .Fa "unsigned int *count" .Fc +.Ft "struct ptrace_lwpinfo *" +.Fo procstat_getptlwpinfo +.Fa "struct procstat *procstat" +.Fa "unsigned int *count" +.Fc .Ft "int" .Fo procstat_getrlimit .Fa "struct procstat *procstat" @@ -309,6 +321,20 @@ The number of processes found is returned in the refer .Fa cnt . The caller is responsible to free the allocated memory with a subsequent .Fn procstat_freeprocs +function call. +.Pp +The +.Fn procstat_getptlwpinfo +function gets a pointer to the +.Vt procstat +structure from the +.Fn procstat_open_core +function and returns a dynamically allocated set of signals intercepted by a +process in the process's core file. +The number of processes found is returned in the reference parameter +.Fa cnt . +The caller is responsible to free the allocated memory with a subsequent +.Fn procstat_freeptlwpinfo function call. .Pp The From owner-svn-src-head@freebsd.org Tue Jun 27 10:34:16 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4F125DA6AB3 for ; Tue, 27 Jun 2017 10:34:16 +0000 (UTC) (envelope-from ed@nuxi.nl) Received: from mail-yb0-x236.google.com (mail-yb0-x236.google.com [IPv6:2607:f8b0:4002:c09::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 09B69D8 for ; Tue, 27 Jun 2017 10:34:16 +0000 (UTC) (envelope-from ed@nuxi.nl) Received: by mail-yb0-x236.google.com with SMTP id s9so7986960ybe.3 for ; Tue, 27 Jun 2017 03:34:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuxi-nl.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=VSjBcmFsGPeiPAQ1p4NQkpthv0RRVnkElDSqSdEkrW0=; b=aO/0X2D4ca1RYb9KsUHiOLeHQR4NmvWH4Y+FZtuf8JokYwkcjLRV+oe/9dTwo6fBq2 IQWDcP6XwR4zqSbJ7We8FWIX3RiaXD90PlaxR1G3fu0jTzqLdNhF/8ycGR0EeSrENtmG BwFO+XJUVGNEHbPqJ6qVscXL7Ij9A8JyckN3g/yqJz7IQ3oS/2o3HqSFySiI7lj4jGjj x5dKD+GYWE8d4EpImjBuE9SvlSIBruyJpn1LysGOp+H2SvUPE2XxH+ZoW4VYj1njeVdx dbqhTczKjWMU61419ObWzwh1v5P7uX+2NXaaR06gzSckl4tDETpE8zzilXbBPyfPq5mm lUMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=VSjBcmFsGPeiPAQ1p4NQkpthv0RRVnkElDSqSdEkrW0=; b=lGhc4FCus5eO6UfAAYjmeM6cGZh+xFocHgcOMfzOJ5axh/kY048zAeInvDADpIiMXg jRv/HltlIGLndE/0FrUUJSPDmv21SN9AJbTg4bKgx5w2XBidN0GciopKwsqtSSbkza/L HN4SpVYEdjCLT7sekDkGvkPLacJIJcDbj9pyhQA1DPLmO2yf0Ix3qcl87oaRBEUMW4az bHCZECbZ9/nmzv7gOgdyq6YqwEoz0q6nmqnuxqk38gE0QpW57Ezr58669zzoVjuE5y1T 9FB3IlVGc4bXDrvizRLKEdrH9ilJzz544NAwMzTwrBQSrl2MaTms5x1XfIvffqIb+3qI +pUw== X-Gm-Message-State: AKS2vOy3B7AKatmCdgR7vWNNL+4Pob2sKRwbr751v7wOPElzxcoVA0Rz yhXP6ZWMmXoxAfQUeH0GSM52p+aZiAiI X-Received: by 10.37.51.67 with SMTP id z64mr3405386ybz.145.1498559655196; Tue, 27 Jun 2017 03:34:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.13.216.142 with HTTP; Tue, 27 Jun 2017 03:33:44 -0700 (PDT) In-Reply-To: References: <201706221839.v5MIdqK3065947@repo.freebsd.org> From: Ed Schouten Date: Tue, 27 Jun 2017 12:33:44 +0200 Message-ID: Subject: Re: svn commit: r320240 - head/include To: Jan Beich Cc: Ed Schouten , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 10:34:16 -0000 2017-06-27 7:02 GMT+02:00 Jan Beich : > max_align_t is now exposed even without -std=c11. Which is now consistent with the rest of the C library, as this is also the case for other C11 features, like 's quick_exit(). > thus regressing some ports e.g., > > [...] > > https://lists.freebsd.org/pipermail/freebsd-pkg-fallout/Week-of-Mon-20170626/493679.html Would there be an easy way for me to extract a list of ports that are affected? -- Ed Schouten Nuxi, 's-Hertogenbosch, the Netherlands KvK-nr.: 62051717 From owner-svn-src-head@freebsd.org Tue Jun 27 10:45:14 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EBB7EDA6D71; Tue, 27 Jun 2017 10:45:14 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B764A923; Tue, 27 Jun 2017 10:45:14 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RAjD4i049826; Tue, 27 Jun 2017 10:45:13 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RAjDsR049825; Tue, 27 Jun 2017 10:45:13 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201706271045.v5RAjDsR049825@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Tue, 27 Jun 2017 10:45:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320403 - head/sys/arm64/include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 10:45:15 -0000 Author: andrew Date: Tue Jun 27 10:45:13 2017 New Revision: 320403 URL: https://svnweb.freebsd.org/changeset/base/320403 Log: Some of the atomic_clear_* functions were incorrectly defined to be an atomic add. Correct these, fixing a NULL-pointer dereference in netgraph. PR: 220273 MFC after: 3 days Sponsored by: DARPA, AFRL Modified: head/sys/arm64/include/atomic.h Modified: head/sys/arm64/include/atomic.h ============================================================================== --- head/sys/arm64/include/atomic.h Tue Jun 27 10:09:00 2017 (r320402) +++ head/sys/arm64/include/atomic.h Tue Jun 27 10:45:13 2017 (r320403) @@ -385,7 +385,7 @@ atomic_store_rel_64(volatile uint64_t *p, uint64_t val #define atomic_add_rel_int atomic_add_rel_32 #define atomic_fcmpset_rel_int atomic_fcmpset_rel_32 -#define atomic_clear_rel_int atomic_add_rel_32 +#define atomic_clear_rel_int atomic_clear_rel_32 #define atomic_cmpset_rel_int atomic_cmpset_rel_32 #define atomic_set_rel_int atomic_set_rel_32 #define atomic_subtract_rel_int atomic_subtract_rel_32 @@ -413,7 +413,7 @@ atomic_store_rel_64(volatile uint64_t *p, uint64_t val #define atomic_add_acq_long atomic_add_acq_64 #define atomic_fcmpset_acq_long atomic_fcmpset_acq_64 -#define atomic_clear_acq_long atomic_add_acq_64 +#define atomic_clear_acq_long atomic_clear_acq_64 #define atomic_cmpset_acq_long atomic_cmpset_acq_64 #define atomic_load_acq_long atomic_load_acq_64 #define atomic_set_acq_long atomic_set_acq_64 @@ -421,7 +421,7 @@ atomic_store_rel_64(volatile uint64_t *p, uint64_t val #define atomic_add_acq_ptr atomic_add_acq_64 #define atomic_fcmpset_acq_ptr atomic_fcmpset_acq_64 -#define atomic_clear_acq_ptr atomic_add_acq_64 +#define atomic_clear_acq_ptr atomic_clear_acq_64 #define atomic_cmpset_acq_ptr atomic_cmpset_acq_64 #define atomic_load_acq_ptr atomic_load_acq_64 #define atomic_set_acq_ptr atomic_set_acq_64 @@ -448,6 +448,7 @@ atomic_thread_fence_acq(void) { dmb(ld); + } static __inline void From owner-svn-src-head@freebsd.org Tue Jun 27 11:17:29 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AAB41DA78E2; Tue, 27 Jun 2017 11:17:29 +0000 (UTC) (envelope-from jbeich@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7E3A81CD6; Tue, 27 Jun 2017 11:17:29 +0000 (UTC) (envelope-from jbeich@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1354) id B56BB374F; Tue, 27 Jun 2017 11:17:28 +0000 (UTC) From: Jan Beich To: Ed Schouten Cc: Ed Schouten , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320240 - head/include References: <201706221839.v5MIdqK3065947@repo.freebsd.org> Date: Tue, 27 Jun 2017 13:17:25 +0200 In-Reply-To: (Ed Schouten's message of "Tue, 27 Jun 2017 12:33:44 +0200") Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 11:17:29 -0000 Ed Schouten writes: > 2017-06-27 7:02 GMT+02:00 Jan Beich : >> thus regressing some ports e.g., >> >> [...] >> >> https://lists.freebsd.org/pipermail/freebsd-pkg-fallout/Week-of-Mon-20170626/493679.html > > Would there be an easy way for me to extract a list of ports that are affected? "fgrep -r max_align" over error logs[1] from a complete build suggests only www/libxul is busted which was fixed upstream[2]. I'll backport it shortly. False alarm. Sorry. [1] http://beefy11.nyi.freebsd.org/data/head-i386-default/p444252_s320323/logs/errors/ http://beefy12.nyi.freebsd.org/data/head-amd64-default/p444252_s320323/logs/errors/ [2] https://github.com/kinetiknz/nestegg/pull/31 From owner-svn-src-head@freebsd.org Tue Jun 27 11:23:09 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1EB47DA7C26 for ; Tue, 27 Jun 2017 11:23:09 +0000 (UTC) (envelope-from ed@nuxi.nl) Received: from mail-yw0-x234.google.com (mail-yw0-x234.google.com [IPv6:2607:f8b0:4002:c05::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CD2C2224B for ; Tue, 27 Jun 2017 11:23:08 +0000 (UTC) (envelope-from ed@nuxi.nl) Received: by mail-yw0-x234.google.com with SMTP id t127so10632100ywc.3 for ; Tue, 27 Jun 2017 04:23:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuxi-nl.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=BOHYHi0SJvOzV/fdCdrC3qrJzGk2CiE1Ocrd/uYoj9I=; b=2Gfo/GwuhSqNAebtkjiYRBiTfi2BpW32S4Tf7u5uA6q8iQLoWgCB7kYalkPCYV6wwz KiVgAO1vDAqwOiQLXrynnBJmVukiJBoHmciZJNaPe/LUzwdR2+MLERK0cUyjU+mj6rkr J87S9H1pv3SkBRynpFg77cS1BXizOgNSdI0iVmpXi6VtPBInUlVECr8Y6AqSdsCuKOqM ZAh8hS5IIJ0hHF3xXIKjiewYLWOLlrqfTcbD3rLiLMtScKfvd0DwLQRhafN/KoZdPMx7 Dh5fF+xrP2wY4L62lKmZUfn3wCLNYrvTN5j8WJwiELp99tw5HtI3pvE6F1z4lrB9ORjR Jexw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=BOHYHi0SJvOzV/fdCdrC3qrJzGk2CiE1Ocrd/uYoj9I=; b=lEfZyjcrbSoaLjMlT7YFiuhPqwnTSzL9b7+D7EjpTws1kv/+Ri7Uc0L5y9NOCq5NTY 6hdGthKHNLZZLmIT04b66LQrXHC9wIg/6Xh6I84/caIIdQPQWQW3JIz76ZgfJBKKAszj yVKqfiEuXoIlpuiv4qwmxW6VkX03I2DXliwFwNsKQvlUjoIGQ3mN6dEPJHQwhrnxL9V0 FHYr+7sEU8ZfxfVRQZUj0JdGx6c/UJ20v+XSSXs9fk3HpvqAFIp1lkhOglWzPv9D/6Mx Gqg2MXlvWvczprJLFH4elAS6R7CQ3Xteb7TzehxwzdiV+8A+U2867ag6U0bRGg2HAn3e Mqqw== X-Gm-Message-State: AKS2vOyWBvhu9Q8xvFanFiB6EmJz8DEcCuJdnGRFp6tQBYAiVqtbbERc O4GUaLzlKuz4xlR6Pogz3WwltNarL8Bs X-Received: by 10.13.209.194 with SMTP id t185mr3327325ywd.167.1498562587875; Tue, 27 Jun 2017 04:23:07 -0700 (PDT) MIME-Version: 1.0 Received: by 10.13.216.142 with HTTP; Tue, 27 Jun 2017 04:22:37 -0700 (PDT) In-Reply-To: References: <201706221839.v5MIdqK3065947@repo.freebsd.org> From: Ed Schouten Date: Tue, 27 Jun 2017 13:22:37 +0200 Message-ID: Subject: Re: svn commit: r320240 - head/include To: Jan Beich Cc: Ed Schouten , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 11:23:09 -0000 2017-06-27 13:17 GMT+02:00 Jan Beich : > False alarm. Sorry. No problem. Thanks for bringing it to my attention, regardless! \o/ -- Ed Schouten Nuxi, 's-Hertogenbosch, the Netherlands KvK-nr.: 62051717 From owner-svn-src-head@freebsd.org Tue Jun 27 12:31:17 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 47BD1DA9683; Tue, 27 Jun 2017 12:31:17 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 255A464534; Tue, 27 Jun 2017 12:31:17 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: by freefall.freebsd.org (Postfix, from userid 1235) id 80C274346; Tue, 27 Jun 2017 12:31:16 +0000 (UTC) Date: Tue, 27 Jun 2017 14:31:16 +0200 From: Baptiste Daroussin To: Ed Schouten Cc: Jan Beich , Ed Schouten , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320240 - head/include Message-ID: <20170627123116.ubrvsr63zkklugdg@ivaldir.net> References: <201706221839.v5MIdqK3065947@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="3wymphlhsmaqwvg4" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170609 (1.8.3) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 12:31:17 -0000 --3wymphlhsmaqwvg4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jun 27, 2017 at 12:33:44PM +0200, Ed Schouten wrote: > 2017-06-27 7:02 GMT+02:00 Jan Beich : > > max_align_t is now exposed even without -std=3Dc11. >=20 > Which is now consistent with the rest of the C library, as this is > also the case for other C11 features, like 's quick_exit(). >=20 > > thus regressing some ports e.g., > > > > [...] > > > > https://lists.freebsd.org/pipermail/freebsd-pkg-fallout/Week-of-Mon-201= 70626/493679.html >=20 > Would there be an easy way for me to extract a list of ports that are aff= ected? >=20 An exp-run would have shown you the list, that is what they are made for :) Bapt --3wymphlhsmaqwvg4 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEgOTj3suS2urGXVU3Y4mL3PG3PloFAllSUBEACgkQY4mL3PG3 PloNZxAAlOQwpH5eAHNhm+8VEpkY/DykjjfE9z/VrNvq0BHV9rJKOkOzG42f3S92 VwUQfVNFkHAmGvp6tXeyZfELQ/Usx0cRBme2mbTmWL7e0DoXCxxtiludLxLYsi7w kFv1xs/DynGE1xWxXzR/68mebcTKlqjhKkRzn1MI3HU4qV9bXho1kGMB84SpeWP1 QudWK/5B/uRRRgVg8PMsYAir8G/NKnTK+/HeB1RKfnvmUxPxJ4u0ZaxWaTsvNmAy D4XrvodHzsThN68JTMAc8VWl87YomCnwf5OZCvLqVW9DGUr6flopBSnO/yL/3TqW DulqQjN1JS2P/lin2eGb9gLjLb1l/OA7DHbd3Dcnai1sIjQ/EbINbkrD7xot2kv0 OuFe0aA9rubOl4p2pYDRIcL9hXjUYRp6M0Cvm+DTW7XPBReToyzwukHhXs/dFYH6 uVs1H7vkxStrUK6UyApGWaSK5lEVaOZqI4nHfSQ/uW6RsraaiJWfLJixVS6XAPce JIDrsTINPSpTpZ5/qKB/97bOurKOXzl/0jEFjqp8vTNhhJZlIxH44qgVlkAmr3ei dQIZaUyEkAODVkWzS3sggjZeB4hrMaE1desJ0n4gEm6CVzwDRF7ssA05j1/h7dsV SCOJDQ1WYQ2w6S01GUG3OUnXQMt3Unh/3rOzFUHKnQY7ojRRrYs= =pwTE -----END PGP SIGNATURE----- --3wymphlhsmaqwvg4-- From owner-svn-src-head@freebsd.org Tue Jun 27 13:24:07 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4AF48DAA8E5; Tue, 27 Jun 2017 13:24:07 +0000 (UTC) (envelope-from jwd@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1BB51660C9; Tue, 27 Jun 2017 13:24:07 +0000 (UTC) (envelope-from jwd@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RDO61V014744; Tue, 27 Jun 2017 13:24:06 GMT (envelope-from jwd@FreeBSD.org) Received: (from jwd@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RDO63A014743; Tue, 27 Jun 2017 13:24:06 GMT (envelope-from jwd@FreeBSD.org) Message-Id: <201706271324.v5RDO63A014743@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jwd set sender to jwd@FreeBSD.org using -f From: "John W. De Boskey" Date: Tue, 27 Jun 2017 13:24:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320406 - head/libexec/rshd X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 13:24:07 -0000 Author: jwd Date: Tue Jun 27 13:24:06 2017 New Revision: 320406 URL: https://svnweb.freebsd.org/changeset/base/320406 Log: A little tweak for performance Reviewed by: adrian Approved by: rmacklem (mentor) MFC after: 3 weeks Modified: head/libexec/rshd/rshd.c Modified: head/libexec/rshd/rshd.c ============================================================================== --- head/libexec/rshd/rshd.c Tue Jun 27 12:56:36 2017 (r320405) +++ head/libexec/rshd/rshd.c Tue Jun 27 13:24:06 2017 (r320406) @@ -191,7 +191,7 @@ doit(struct sockaddr *fromp) struct passwd *pwd; u_short port; fd_set ready, readfrom; - int cc, fd, nfd, pv[2], pid, s; + int cc, nfd, pv[2], pid, s; int one = 1; const char *cp, *errorstr; char sig, buf[BUFSIZ]; @@ -496,8 +496,7 @@ doit(struct sockaddr *fromp) #ifdef USE_BLACKLIST blacklist(0, STDIN_FILENO, "success"); #endif - for (fd = getdtablesize(); fd > 2; fd--) - (void) close(fd); + closefrom(3); if (setsid() == -1) syslog(LOG_ERR, "setsid() failed: %m"); if (setlogin(pwd->pw_name) < 0) From owner-svn-src-head@freebsd.org Tue Jun 27 14:39:01 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C0584D872DA; Tue, 27 Jun 2017 14:39:01 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8F45068E48; Tue, 27 Jun 2017 14:39:01 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5REd07l049481; Tue, 27 Jun 2017 14:39:00 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5REd0AX049480; Tue, 27 Jun 2017 14:39:00 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706271439.v5REd0AX049480@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Tue, 27 Jun 2017 14:39:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320407 - head/release/arm64 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 14:39:01 -0000 Author: gjb Date: Tue Jun 27 14:39:00 2017 New Revision: 320407 URL: https://svnweb.freebsd.org/changeset/base/320407 Log: Remove CHROOT_MAKEENV from the RPI3 configuration file, to avoid assuming the build host is amd64. MFC after: 3 days X-MFC-With: r320252, r320253, r320254 X-MFC-Note: maybe Sponsored by: The FreeBSD Foundation Modified: head/release/arm64/RPI3.conf Modified: head/release/arm64/RPI3.conf ============================================================================== --- head/release/arm64/RPI3.conf Tue Jun 27 13:24:06 2017 (r320406) +++ head/release/arm64/RPI3.conf Tue Jun 27 14:39:00 2017 (r320407) @@ -3,7 +3,6 @@ # $FreeBSD$ # -CHROOT_MAKEENV="TARGET=amd64 TARGET_ARCH=amd64" SRCBRANCH="base/head@rHEAD" EMBEDDEDBUILD=1 EMBEDDED_TARGET="arm64" From owner-svn-src-head@freebsd.org Tue Jun 27 15:07:20 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9B2F3D879F2; Tue, 27 Jun 2017 15:07:20 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 69C6E6AE05; Tue, 27 Jun 2017 15:07:20 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RF7J3u062199; Tue, 27 Jun 2017 15:07:19 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RF7Jsq062198; Tue, 27 Jun 2017 15:07:19 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201706271507.v5RF7Jsq062198@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Tue, 27 Jun 2017 15:07:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320408 - head/sys/fs/ext2fs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 15:07:20 -0000 Author: pfg Date: Tue Jun 27 15:07:19 2017 New Revision: 320408 URL: https://svnweb.freebsd.org/changeset/base/320408 Log: ext2fs: Support e2di_uid_high and e2di_gid_high. The fields exist on all versions of the filesystem and using them is a mount option on linux. For FreeBSD, the corresponding i_uid and i_gid are always long enough so use them by default. Reviewed by: Fedor Uporov MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D11354 Modified: head/sys/fs/ext2fs/ext2_inode_cnv.c Modified: head/sys/fs/ext2fs/ext2_inode_cnv.c ============================================================================== --- head/sys/fs/ext2fs/ext2_inode_cnv.c Tue Jun 27 14:39:00 2017 (r320407) +++ head/sys/fs/ext2fs/ext2_inode_cnv.c Tue Jun 27 15:07:19 2017 (r320408) @@ -124,6 +124,8 @@ ext2_ei2i(struct ext2fs_dinode *ei, struct inode *ip) ip->i_gen = ei->e2di_gen; ip->i_uid = ei->e2di_uid; ip->i_gid = ei->e2di_gid; + ip->i_uid |= (uint32_t)ei->e2di_uid_high << 16; + ip->i_gid |= (uint32_t)ei->e2di_gid_high << 16; /* XXX use memcpy */ for (i = 0; i < EXT2_NDADDR; i++) ip->i_db[i] = ei->e2di_blocks[i]; @@ -170,8 +172,10 @@ ext2_i2ei(struct inode *ip, struct ext2fs_dinode *ei) ei->e2di_facl = ip->i_facl & 0xffffffff; ei->e2di_facl_high = ip->i_facl >> 32 & 0xffff; ei->e2di_gen = ip->i_gen; - ei->e2di_uid = ip->i_uid; - ei->e2di_gid = ip->i_gid; + ei->e2di_uid = ip->i_uid & 0xffff; + ei->e2di_uid_high = ip->i_uid >> 16 & 0xffff; + ei->e2di_gid = ip->i_gid & 0xffff; + ei->e2di_gid_high = ip->i_gid >> 16 & 0xffff; /* XXX use memcpy */ for (i = 0; i < EXT2_NDADDR; i++) ei->e2di_blocks[i] = ip->i_db[i]; From owner-svn-src-head@freebsd.org Tue Jun 27 15:14:08 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2828DD87C82; Tue, 27 Jun 2017 15:14:08 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EC8656E2F2; Tue, 27 Jun 2017 15:14:07 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RFE7N5066165; Tue, 27 Jun 2017 15:14:07 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RFE7rT066164; Tue, 27 Jun 2017 15:14:07 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201706271514.v5RFE7rT066164@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Tue, 27 Jun 2017 15:14:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320409 - head/sys/fs/nfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 15:14:08 -0000 Author: trasz Date: Tue Jun 27 15:14:06 2017 New Revision: 320409 URL: https://svnweb.freebsd.org/changeset/base/320409 Log: Revert part of r320359, as suggested by rmacklem@. That case is only used for nfsuserd -manage-gids and shouldn't depend on sysctl. MFC after: 2 weeks Sponsored by: DARPA, AFRL Modified: head/sys/fs/nfs/nfs_commonsubs.c Modified: head/sys/fs/nfs/nfs_commonsubs.c ============================================================================== --- head/sys/fs/nfs/nfs_commonsubs.c Tue Jun 27 15:07:19 2017 (r320408) +++ head/sys/fs/nfs/nfs_commonsubs.c Tue Jun 27 15:14:06 2017 (r320409) @@ -2672,7 +2672,7 @@ nfsrv_getgrpscred(struct ucred *oldcred) cnt = 0; uid = oldcred->cr_uid; tryagain: - if (nfsrv_dnsnamelen > 0 && !nfsd_enable_uidtostring) { + if (nfsrv_dnsnamelen > 0) { hp = NFSUSERHASH(uid); mtx_lock(&hp->mtx); TAILQ_FOREACH(usrp, &hp->lughead, lug_numhash) { From owner-svn-src-head@freebsd.org Tue Jun 27 16:30:03 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 13573D8A040; Tue, 27 Jun 2017 16:30:03 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D14E072D96; Tue, 27 Jun 2017 16:30:02 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RGU1QA001067; Tue, 27 Jun 2017 16:30:01 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RGU1Xp001066; Tue, 27 Jun 2017 16:30:01 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201706271630.v5RGU1Xp001066@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Tue, 27 Jun 2017 16:30:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320411 - head/sys/arm64/include X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: head/sys/arm64/include X-SVN-Commit-Revision: 320411 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 16:30:03 -0000 Author: andrew Date: Tue Jun 27 16:30:01 2017 New Revision: 320411 URL: https://svnweb.freebsd.org/changeset/base/320411 Log: Add parentheses missed in r320388 Sponsored by: DARPA, AFRL Modified: head/sys/arm64/include/endian.h Modified: head/sys/arm64/include/endian.h ============================================================================== --- head/sys/arm64/include/endian.h Tue Jun 27 16:05:11 2017 (r320410) +++ head/sys/arm64/include/endian.h Tue Jun 27 16:30:01 2017 (r320411) @@ -106,12 +106,12 @@ __bswap16_var(__uint16_t v) #define __bswap16(x) \ ((__uint16_t)(__builtin_constant_p(x) ? \ - __bswap16_constant((__uint16_t)x) : \ + __bswap16_constant((__uint16_t)(x)) : \ __bswap16_var(x))) #define __bswap32(x) \ ((__uint32_t)(__builtin_constant_p(x) ? \ - __bswap32_constant((__uint32_t)x) : \ + __bswap32_constant((__uint32_t)(x)) : \ __bswap32_var(x))) #else From owner-svn-src-head@freebsd.org Tue Jun 27 16:48:06 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7C05BD8A593; Tue, 27 Jun 2017 16:48:06 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4A3E97370E; Tue, 27 Jun 2017 16:48:06 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RGm57P009346; Tue, 27 Jun 2017 16:48:05 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RGm5q1009345; Tue, 27 Jun 2017 16:48:05 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201706271648.v5RGm5q1009345@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 27 Jun 2017 16:48:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320412 - head/sys/cam/nvme X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/cam/nvme X-SVN-Commit-Revision: 320412 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 16:48:06 -0000 Author: imp Date: Tue Jun 27 16:48:05 2017 New Revision: 320412 URL: https://svnweb.freebsd.org/changeset/base/320412 Log: Namespace is 32-bits, don't cast it to 16 here Modified: head/sys/cam/nvme/nvme_da.c Modified: head/sys/cam/nvme/nvme_da.c ============================================================================== --- head/sys/cam/nvme/nvme_da.c Tue Jun 27 16:30:01 2017 (r320411) +++ head/sys/cam/nvme/nvme_da.c Tue Jun 27 16:48:05 2017 (r320412) @@ -743,7 +743,7 @@ ndaregister(struct cam_periph *periph, void *arg) /* * The name space ID is the lun, save it for later I/O */ - softc->nsid = (uint16_t)xpt_path_lun_id(periph->path); + softc->nsid = (uint32_t)xpt_path_lun_id(periph->path); /* * Register this media as a disk From owner-svn-src-head@freebsd.org Tue Jun 27 17:01:47 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 49778D8AD91; Tue, 27 Jun 2017 17:01:47 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 16E307416B; Tue, 27 Jun 2017 17:01:47 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RH1kYq014958; Tue, 27 Jun 2017 17:01:46 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RH1kIx014957; Tue, 27 Jun 2017 17:01:46 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706271701.v5RH1kIx014957@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 27 Jun 2017 17:01:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320413 - head/sys/fs/pseudofs X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/sys/fs/pseudofs X-SVN-Commit-Revision: 320413 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 17:01:47 -0000 Author: ngie Date: Tue Jun 27 17:01:46 2017 New Revision: 320413 URL: https://svnweb.freebsd.org/changeset/base/320413 Log: Fix LINT, broken by a -Wformat warning in r320329 with PFS_DELEN being changed from %d to a long-width type. Use uintmax_t casting and %ju to futureproof the format string against potential changes with either the #define or the implementation-specific definition for offsetof(..). Modified: head/sys/fs/pseudofs/pseudofs_vnops.c Modified: head/sys/fs/pseudofs/pseudofs_vnops.c ============================================================================== --- head/sys/fs/pseudofs/pseudofs_vnops.c Tue Jun 27 16:48:05 2017 (r320412) +++ head/sys/fs/pseudofs/pseudofs_vnops.c Tue Jun 27 17:01:46 2017 (r320413) @@ -866,7 +866,7 @@ pfs_readdir(struct vop_readdir_args *va) free(pfsent, M_IOV); i++; } - PFS_TRACE(("%d bytes", i * PFS_DELEN)); + PFS_TRACE(("%ju bytes", (uintmax_t)(i * PFS_DELEN))); PFS_RETURN (error); } From owner-svn-src-head@freebsd.org Tue Jun 27 17:04:59 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B313ED8AFCE; Tue, 27 Jun 2017 17:04:59 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg0-x244.google.com (mail-pg0-x244.google.com [IPv6:2607:f8b0:400e:c05::244]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 877D57445A; Tue, 27 Jun 2017 17:04:59 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg0-x244.google.com with SMTP id u62so5003331pgb.0; Tue, 27 Jun 2017 10:04:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=27BovzpmIwLNDVqbffE/JEQigaVRtwW12ATNZza9s5w=; b=T3la3a5j2Fokw41S7N7qGlSlB5Q5SnE1pHn8xFbKeANZd/Wf2vMxbHZhIm2QqeVljx 8WDSEarMd6jATOVOgWLvMtTOUNCLQQ2Gz012p/A1CNBe8o1oUmCJmiLqa80o7VztERse El2Ljq7Y8HMT/G/XauMerjqBOKNi5Bgl0ON1Q/PtTZAs9INeIRWt6nkpQnYr6jpolEyx GV5WvTf8K7aiIWoc/2qKpZaeHsQthcxhWiJEsvDovJF9V7spTvJc8bV8GqDDzzkvvI+N H+/h4nf9p++SI+kmTkKCnuhuLCaWSVEbEKEDR5cW/UvYHEHp4UpYRrxF4da93zximFq0 B43w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=27BovzpmIwLNDVqbffE/JEQigaVRtwW12ATNZza9s5w=; b=p2V7GPAEl11qkRT7dDHpaPE0h39CUnjEJU/qhQ1h6ZcyB6jcknntgMYZFFQIG6S/iQ toDN1pYuTRh6dxnFLLweb3p9Px5xhscf4p9MKawMznm55PMrekvc18JirCQWQLgUoi3K E9t29jhqRXaH5UDEfb4QS1ZKuq/HCaSUjwI2sbSUXJhOe9LrIaPr/940Rc1SeFI3WHkk MNTQr8NpJzfrN/ViESTgE97hEhvs9GRz/0/I4fk/mJlyQK4PkWzJD+wVooGFX0J/1VBa IuNe2BxafPliNEgvu/Lwj1cxBirjWTY/rcVTWtoRMIlJXuTVA63VqkWo88VBJDBmOuWW NBZQ== X-Gm-Message-State: AKS2vOy2uN8+j+0H9l54gFw7ZnFShd41+H9R+eQ4xz/5MGGAafOHCdSU xWwPtePAH5G2pgmWUac= X-Received: by 10.84.197.129 with SMTP id n1mr6773859pld.179.1498583098810; Tue, 27 Jun 2017 10:04:58 -0700 (PDT) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id s62sm4114572pfi.36.2017.06.27.10.04.57 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 27 Jun 2017 10:04:58 -0700 (PDT) Subject: Re: svn commit: r320388 - head/sys/arm64/include Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_2E7BAFC2-741A-47D3-84A6-F564065BB6BB"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: <201706262232.v5QMWrBs048496@repo.freebsd.org> Date: Tue, 27 Jun 2017 10:04:56 -0700 Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <61D9C30C-BB98-484E-B817-6FE369A77453@gmail.com> References: <201706262232.v5QMWrBs048496@repo.freebsd.org> To: Andrew Turner X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 17:04:59 -0000 --Apple-Mail=_2E7BAFC2-741A-47D3-84A6-F564065BB6BB Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Jun 26, 2017, at 15:32, Andrew Turner wrote: >=20 > Author: andrew > Date: Mon Jun 26 22:32:52 2017 > New Revision: 320388 > URL: https://svnweb.freebsd.org/changeset/base/320388 >=20 > Log: > In _bswap16 and _bswap32 cast constant values to the appropriate = type. This is > similar to what is done in the x86 code. >=20 > Sponsored by: DARPA, AFRL Hi Andrew, This change broke htons use in libsdp on arm64. =46rom = https://ci.freebsd.org/job/FreeBSD-head-aarch64-build/2932/console : 16:08:38 --- all_subdir_lib/libsdp --- 16:08:38 /usr/src/lib/libsdp/search.c:160:31: error: invalid operands to = binary expression ('int' and 'uint8_t *' (aka 'unsigned char *')) 16:08:38 xpdu.pdu.len =3D htons(req_cs - ss->req); 16:08:38 ~~~~~~~~~~~~~^~~~~~~~~~ It might be a good idea to revert the change, fix the fallout, = then recommit the change. Thanks, -Ngie --Apple-Mail=_2E7BAFC2-741A-47D3-84A6-F564065BB6BB Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJZUpA5AAoJEPWDqSZpMIYVQYEP/RHtfeSBgrpOTzoL9+zAQv9Q 1zXGqr/jsLgVGwdZ6lD1HhqIsFUEhkFwGPiqUxXdQ81Ik+XJ7cqGZqmKF012kfCy U0OS+Vguuhnu0teBuyeYayGotVeN2Lo0zTPIxrUhctQxU59Zcd2YfgNcZsU3iuP0 WYUAjFN+gI7lgXJ6LshTbz762XjVFyZeuReGOwbljXqltWXgKg6I+26mMd1+/GD0 SMfOiOAU/g7D2D45YiNHLwyWaDYLidUtlAPGq/hWmJ0SbblOj6qj+aypQbTEBPnQ l5D/sv1obNjbn1lBkicsXD9WYuMCD9I44F05IwMgj4+2OqaHf/MXISyPTeNp/z/T OEuFLVSLNkTlA3CbI48sSNlT8bAaFwNaq0sLp02THQqCxjStz4WM3r9sFTlbXYup VvZQGMsr0YB/+kojYgXsdJ497lDyOCJlPslEFLMAy5hB2EdOsBmYTOoXic9wMy7a jlIMb5wL535QLXfyiUpjoKzDgV191OtWHs86GmmQlTtUkGmZzokKtYtPCJWDRjC0 UpVt0G997hnJUIDwRyTN5EzJq0LXfWhJD0HCaZ9L9FU1zrmQ+zmKyOgtP5RE6f0v 0Jto7YRiuceIo/EPCzRFrCUbhTpS8DQhvjdJtv7xax9JP/bh298s4swKW9ss0RFZ fXajTEJWYnAe1tUPf4iy =PXLf -----END PGP SIGNATURE----- --Apple-Mail=_2E7BAFC2-741A-47D3-84A6-F564065BB6BB-- From owner-svn-src-head@freebsd.org Tue Jun 27 17:06:24 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6C62FD8B0E9; Tue, 27 Jun 2017 17:06:24 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from fry.fubar.geek.nz (fry.fubar.geek.nz [139.59.165.16]) by mx1.freebsd.org (Postfix) with ESMTP id 34D63746E9; Tue, 27 Jun 2017 17:06:23 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from [IPv6:2a02:c7f:1e13:cf00:4d7f:57c8:60b0:eb3d] (unknown [IPv6:2a02:c7f:1e13:cf00:4d7f:57c8:60b0:eb3d]) by fry.fubar.geek.nz (Postfix) with ESMTPSA id 4336D4E698; Tue, 27 Jun 2017 17:06:17 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: svn commit: r320388 - head/sys/arm64/include From: Andrew Turner In-Reply-To: <61D9C30C-BB98-484E-B817-6FE369A77453@gmail.com> Date: Tue, 27 Jun 2017 18:06:16 +0100 Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <0842F153-8120-4D7C-B6B3-E2499CD05286@freebsd.org> References: <201706262232.v5QMWrBs048496@repo.freebsd.org> <61D9C30C-BB98-484E-B817-6FE369A77453@gmail.com> To: "Ngie Cooper (yaneurabeya)" X-Mailer: Apple Mail (2.3273) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 17:06:24 -0000 > On 27 Jun 2017, at 18:04, Ngie Cooper (yaneurabeya) = wrote: >=20 >=20 >> On Jun 26, 2017, at 15:32, Andrew Turner wrote: >>=20 >> Author: andrew >> Date: Mon Jun 26 22:32:52 2017 >> New Revision: 320388 >> URL: https://svnweb.freebsd.org/changeset/base/320388 >>=20 >> Log: >> In _bswap16 and _bswap32 cast constant values to the appropriate = type. This is >> similar to what is done in the x86 code. >>=20 >> Sponsored by: DARPA, AFRL >=20 > Hi Andrew, > This change broke htons use in libsdp on arm64. =46rom = https://ci.freebsd.org/job/FreeBSD-head-aarch64-build/2932/console : >=20 > 16:08:38 --- all_subdir_lib/libsdp --- > 16:08:38 /usr/src/lib/libsdp/search.c:160:31: error: invalid operands = to binary expression ('int' and 'uint8_t *' (aka 'unsigned char *')) > 16:08:38 xpdu.pdu.len =3D htons(req_cs - ss->req); >=20 > 16:08:38 ~~~~~~~~~~~~~^~~~~~~~~~ >=20 > It might be a good idea to revert the change, fix the fallout, = then recommit the change. > Thanks, > -Ngie I already fixed it in r320411. Andrew= From owner-svn-src-head@freebsd.org Tue Jun 27 17:08:10 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5F2CED8B2B0; Tue, 27 Jun 2017 17:08:10 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf0-x241.google.com (mail-pf0-x241.google.com [IPv6:2607:f8b0:400e:c00::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 298FF74A06; Tue, 27 Jun 2017 17:08:10 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf0-x241.google.com with SMTP id e199so5521618pfh.0; Tue, 27 Jun 2017 10:08:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=lrGNd3ZOUJSCsbvQYusUaAadUZ8TLlBQ8vEzx3HTIn4=; b=hPe3RxVVNbKpi82YbmSB5x4BNn3HIgL0j6NQtTJLSGfF6JUYaegTLM05GthL1HBK/h 7vRLB8RytDmI10Pu+OIyCCdGBG3HVqygBwcYHuJdUe4Qssk11c5zgWZja4Y8PLJg6hFZ FVHsb8jk42N9SdTPeja0hgK2tE7XtQN8p4iBnL4fJQDOnuNCHyN3dMu7g3SNcvkBrT84 3UiKLcPhgNzWKZuW4tvfdCX4Gwp/SmBo6BYAJgLhW/e5IgG0CAOpQf3wysych2Q4aG4s 3206xCDv+M0BW/dI1HkzyBvWGoXTCwt8JkMAY20SYCzOn69nOj2uSQeh7CtAEtF/kpBZ lvOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=lrGNd3ZOUJSCsbvQYusUaAadUZ8TLlBQ8vEzx3HTIn4=; b=YV10H1GTqPU2zI0ZrVZ/umW/w9Igcph7yZlhQg9kI9+xcio23kobAOfzT4R7JM/NYQ kHJhu8K8lQmeg75VLWtI4e2cuKlPgfwvj7+7CQA9A0bb02V8rVX/cLoYt90dX/bG3A5m 2LIhTO3UBpkW3XGaJykhfom2ed0169wrESBOLtfUZ1/ugUkvOC3gffksPv/I6S/QH5hu aZYHcwusQ8enubFkubGV6g2Pv6/6RZO2wZ0N2TucDTfHGRwcjzG9yPhiJOLHIr9srKjc jWNsFJezlx2hw1vfZKhK329WZAUzu2+dCysVHXYS0NO0235kLR+01Ov3MZS3fJ0guwhn FpCw== X-Gm-Message-State: AKS2vOzaVw4jzEL/ooNu0Wsy5YqOlY1eRtdsN4UXkUrOufljTFVYBQK4 MQa5qouKL9RYVbNyqf0= X-Received: by 10.99.120.132 with SMTP id t126mr6346908pgc.276.1498583289330; Tue, 27 Jun 2017 10:08:09 -0700 (PDT) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id 189sm5917529pgj.67.2017.06.27.10.08.08 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 27 Jun 2017 10:08:08 -0700 (PDT) Subject: Re: svn commit: r320388 - head/sys/arm64/include Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_CF44BCFD-1316-4346-ADD8-632469855558"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: <0842F153-8120-4D7C-B6B3-E2499CD05286@freebsd.org> Date: Tue, 27 Jun 2017 10:08:07 -0700 Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <01FDA201-206A-485B-946C-3985258C8331@gmail.com> References: <201706262232.v5QMWrBs048496@repo.freebsd.org> <61D9C30C-BB98-484E-B817-6FE369A77453@gmail.com> <0842F153-8120-4D7C-B6B3-E2499CD05286@freebsd.org> To: Andrew Turner X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 17:08:10 -0000 --Apple-Mail=_CF44BCFD-1316-4346-ADD8-632469855558 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Jun 27, 2017, at 10:06, Andrew Turner wrote: ... > I already fixed it in r320411. Ok! The CI build is currently running, so *crosses fingers* = hopefully everything will be fixed after this build on amd64/arm64. Thanks! -Ngie --Apple-Mail=_CF44BCFD-1316-4346-ADD8-632469855558 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJZUpD3AAoJEPWDqSZpMIYVXRkP/iWpgyFTHfUcMbUG10fqenUi V8NvNKa6hJVFxAmMFfZW733Bhj3LyFCYYalfKl7Y2ZFYHf5rwsNZmToow+prfceS 4ySNqNJ5NTbpBb337cmbNkAWYSJgPpPku+mfXhC0dytUokLCNsm7WgOJuSgPeaX4 hkdQyIpPTKjp8N+ODDNZa5p7FgzUaB9ESb48dl8nMBujTTCCSC2CirJWNFtJZbFS ESn4qPRp8gAvifOJJaieD+jH9RIanFIYgZEQ7ItdLJ17nLorAYU3QSo2tNfvAY6X ZuDe0oD0F1JmMh3lmw7VzV6OXTXXA2TXGBCqz73cOftYEkr05T7yw6q8wrhKceYb a046Ya7X+C67L826lzkM735fGdUaudg8O2blUN34TmtHeKb+cKm95IqRCcx0TcTk pSNoxTrv6w3WlEVWma0YGxUSn7mnKmxRg3mTLztZIHvcJWe5OLw4tQ/1CbxJ+q8l JcDxRYO5p0e6LT8BcGIoduFFvuP31Cdk7i7Gu8ajSNa8NKfNZEiAdAsd+kSiIzZi WXddK7t8L0IOg5i9Ac5VcWOtJV3aXDcd97Oa2pFKKjmyx1DnjmhjR3xSPMOa9j5s RamoZ+X4fdLYvrqUWfMS6cmb9jPrTaNoRM3VGx9GlkccT/AsSSs+FVFmrU9zliE0 wHoJGmnkNeD9hIrE49EW =BBhQ -----END PGP SIGNATURE----- --Apple-Mail=_CF44BCFD-1316-4346-ADD8-632469855558-- From owner-svn-src-head@freebsd.org Tue Jun 27 17:22:05 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 48C85D8B6CD; Tue, 27 Jun 2017 17:22:05 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 12B2B751A4; Tue, 27 Jun 2017 17:22:05 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RHM4H5025582; Tue, 27 Jun 2017 17:22:04 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RHM4o8025581; Tue, 27 Jun 2017 17:22:04 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706271722.v5RHM4o8025581@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 27 Jun 2017 17:22:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320414 - head/contrib/netbsd-tests/usr.bin/grep X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/contrib/netbsd-tests/usr.bin/grep X-SVN-Commit-Revision: 320414 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 17:22:05 -0000 Author: ngie Date: Tue Jun 27 17:22:03 2017 New Revision: 320414 URL: https://svnweb.freebsd.org/changeset/base/320414 Log: Expect :mmap_eof_not_eol to fail It relies on a jemalloc feature (opt.redzone) no longer available after r319971. MFC with: r318908, r319971 PR: 220309 Modified: head/contrib/netbsd-tests/usr.bin/grep/t_grep.sh Modified: head/contrib/netbsd-tests/usr.bin/grep/t_grep.sh ============================================================================== --- head/contrib/netbsd-tests/usr.bin/grep/t_grep.sh Tue Jun 27 17:01:46 2017 (r320413) +++ head/contrib/netbsd-tests/usr.bin/grep/t_grep.sh Tue Jun 27 17:22:03 2017 (r320414) @@ -658,6 +658,8 @@ mmap_eof_not_eol_body() atf_expect_fail "gnu grep from ports has no --mmap option" fi + atf_expect_fail "relies on jemalloc feature no longer available; needs to be rewritten - bug 220309" + printf "ABC" > test1 jot -b " " -s "" 4096 >> test2 From owner-svn-src-head@freebsd.org Tue Jun 27 17:23:21 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7683ED8B7A0; Tue, 27 Jun 2017 17:23:21 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 45FBB75420; Tue, 27 Jun 2017 17:23:21 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RHNKcN025677; Tue, 27 Jun 2017 17:23:20 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RHNKbU025676; Tue, 27 Jun 2017 17:23:20 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201706271723.v5RHNKbU025676@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Tue, 27 Jun 2017 17:23:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320415 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 320415 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 17:23:21 -0000 Author: cem Date: Tue Jun 27 17:23:20 2017 New Revision: 320415 URL: https://svnweb.freebsd.org/changeset/base/320415 Log: Fix one more place uio_resid is truncated to int A follow-up to r231949 and r194990. Reported by: pho@ Reviewed by: kib@, markj@ Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D11373 Modified: head/sys/kern/uipc_mbuf.c Modified: head/sys/kern/uipc_mbuf.c ============================================================================== --- head/sys/kern/uipc_mbuf.c Tue Jun 27 17:22:03 2017 (r320414) +++ head/sys/kern/uipc_mbuf.c Tue Jun 27 17:23:20 2017 (r320415) @@ -1517,7 +1517,7 @@ m_uiotombuf(struct uio *uio, int how, int len, int ali * the total data supplied by the uio. */ if (len > 0) - total = min(uio->uio_resid, len); + total = (uio->uio_resid < len) ? uio->uio_resid : len; else total = uio->uio_resid; From owner-svn-src-head@freebsd.org Tue Jun 27 17:43:30 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2354FD8C206; Tue, 27 Jun 2017 17:43:30 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E3DAE763F6; Tue, 27 Jun 2017 17:43:29 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RHhTRO033674; Tue, 27 Jun 2017 17:43:29 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RHhTt1033673; Tue, 27 Jun 2017 17:43:29 GMT (envelope-from np@FreeBSD.org) Message-Id: <201706271743.v5RHhTt1033673@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 27 Jun 2017 17:43:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320416 - head/sys/dev/cxgbe/tom X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: head/sys/dev/cxgbe/tom X-SVN-Commit-Revision: 320416 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 17:43:30 -0000 Author: np Date: Tue Jun 27 17:43:28 2017 New Revision: 320416 URL: https://svnweb.freebsd.org/changeset/base/320416 Log: cxgbe/t4_tom: sbspace on listening sockets is no longer supported (as of r319722), use sol_sbrcv_hiwat instead. Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/tom/t4_listen.c Modified: head/sys/dev/cxgbe/tom/t4_listen.c ============================================================================== --- head/sys/dev/cxgbe/tom/t4_listen.c Tue Jun 27 17:23:20 2017 (r320415) +++ head/sys/dev/cxgbe/tom/t4_listen.c Tue Jun 27 17:43:28 2017 (r320416) @@ -1185,6 +1185,7 @@ do_pass_accept_req(struct sge_iq *iq, const struct rss struct synq_entry *synqe = NULL; int reject_reason, v, ntids; uint16_t vid; + u_int wnd; #ifdef INVARIANTS unsigned int opcode = G_CPL_OPCODE(be32toh(OPCODE_TID(cpl))); #endif @@ -1326,10 +1327,10 @@ found: mtu_idx = find_best_mtu_idx(sc, &inc, be16toh(cpl->tcpopt.mss)); rscale = cpl->tcpopt.wsf && V_tcp_do_rfc1323 ? select_rcv_wscale() : 0; - SOCKBUF_LOCK(&so->so_rcv); /* opt0 rcv_bufsiz initially, assumes its normal meaning later */ - rx_credits = min(select_rcv_wnd(so) >> 10, M_RCV_BUFSIZ); - SOCKBUF_UNLOCK(&so->so_rcv); + wnd = max(so->sol_sbrcv_hiwat, MIN_RCV_WND); + wnd = min(wnd, MAX_RCV_WND); + rx_credits = min(wnd >> 10, M_RCV_BUFSIZ); save_qids_in_mbuf(m, vi); get_qids_from_mbuf(m, NULL, &rxqid); From owner-svn-src-head@freebsd.org Tue Jun 27 17:45:27 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DB2EFD8C3A6; Tue, 27 Jun 2017 17:45:27 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B572A76694; Tue, 27 Jun 2017 17:45:27 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RHjQTN033813; Tue, 27 Jun 2017 17:45:26 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RHjQ0i033812; Tue, 27 Jun 2017 17:45:26 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201706271745.v5RHjQ0i033812@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Tue, 27 Jun 2017 17:45:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320417 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: alc X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 320417 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 17:45:28 -0000 Author: alc Date: Tue Jun 27 17:45:26 2017 New Revision: 320417 URL: https://svnweb.freebsd.org/changeset/base/320417 Log: Address the remaining integer overflow issues with the "skip" parameters and "next_skip" variables. The "skip" value in struct blist has long been a 64-bit quantity but various functions have implicitly truncated this value to 32 bits. Now, all arithmetic involving the "skip" value is 64 bits wide. (This should allow us to relax the size limit on a swap device in the swap pager.) Maintain the ability to test this allocator as a user-space application by including . Remove an unused variable from blst_radix_print(). Reviewed by: kib, markj MFC after: 4 weeks Differential Revision: https://reviews.freebsd.org/D11358 Modified: head/sys/kern/subr_blist.c Modified: head/sys/kern/subr_blist.c ============================================================================== --- head/sys/kern/subr_blist.c Tue Jun 27 17:43:28 2017 (r320416) +++ head/sys/kern/subr_blist.c Tue Jun 27 17:45:26 2017 (r320417) @@ -105,6 +105,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #define bitcount64(x) __bitcount64((uint64_t)(x)) #define malloc(a,b,c) calloc(a, 1) @@ -125,17 +126,17 @@ static daddr_t blst_meta_alloc(blmeta_t *scan, daddr_t daddr_t radix, daddr_t skip, daddr_t cursor); static void blst_leaf_free(blmeta_t *scan, daddr_t relblk, int count); static void blst_meta_free(blmeta_t *scan, daddr_t freeBlk, daddr_t count, - daddr_t radix, int skip, daddr_t blk); + daddr_t radix, daddr_t skip, daddr_t blk); static void blst_copy(blmeta_t *scan, daddr_t blk, daddr_t radix, daddr_t skip, blist_t dest, daddr_t count); static daddr_t blst_leaf_fill(blmeta_t *scan, daddr_t blk, int count); static daddr_t blst_meta_fill(blmeta_t *scan, daddr_t allocBlk, daddr_t count, - daddr_t radix, int skip, daddr_t blk); -static daddr_t blst_radix_init(blmeta_t *scan, daddr_t radix, - int skip, daddr_t count); + daddr_t radix, daddr_t skip, daddr_t blk); +static daddr_t blst_radix_init(blmeta_t *scan, daddr_t radix, daddr_t skip, + daddr_t count); #ifndef _KERNEL -static void blst_radix_print(blmeta_t *scan, daddr_t blk, - daddr_t radix, int skip, int tab); +static void blst_radix_print(blmeta_t *scan, daddr_t blk, daddr_t radix, + daddr_t skip, int tab); #endif #ifdef _KERNEL @@ -157,18 +158,18 @@ blist_t blist_create(daddr_t blocks, int flags) { blist_t bl; - daddr_t nodes, radix; - int skip = 0; + daddr_t nodes, radix, skip; /* * Calculate radix and skip field used for scanning. */ radix = BLIST_BMAP_RADIX; - + skip = 0; while (radix < blocks) { radix *= BLIST_META_RADIX; skip = (skip + 1) * BLIST_META_RADIX; } + nodes = 1 + blst_radix_init(NULL, radix, skip, blocks); bl = malloc(sizeof(struct blist), M_SWAP, flags); if (bl == NULL) @@ -178,13 +179,12 @@ blist_create(daddr_t blocks, int flags) bl->bl_radix = radix; bl->bl_skip = skip; bl->bl_cursor = 0; - nodes = 1 + blst_radix_init(NULL, radix, bl->bl_skip, blocks); bl->bl_root = malloc(nodes * sizeof(blmeta_t), M_SWAP, flags); if (bl->bl_root == NULL) { free(bl, M_SWAP); return (NULL); } - blst_radix_init(bl->bl_root, radix, bl->bl_skip, blocks); + blst_radix_init(bl->bl_root, radix, skip, blocks); #if defined(BLIST_DEBUG) printf( @@ -569,16 +569,11 @@ blst_leaf_free( */ static void -blst_meta_free( - blmeta_t *scan, - daddr_t freeBlk, - daddr_t count, - daddr_t radix, - int skip, - daddr_t blk -) { - int i; - int next_skip = ((u_int)skip / BLIST_META_RADIX); +blst_meta_free(blmeta_t *scan, daddr_t freeBlk, daddr_t count, daddr_t radix, + daddr_t skip, daddr_t blk) +{ + daddr_t i, next_skip, v; + int child; #if 0 printf("free (%llx,%lld) FROM (%llx,%lld)\n", @@ -586,6 +581,7 @@ blst_meta_free( (long long)blk, (long long)radix ); #endif + next_skip = skip / BLIST_META_RADIX; if (scan->u.bmu_avail == 0) { /* @@ -630,13 +626,10 @@ blst_meta_free( radix /= BLIST_META_RADIX; - i = (freeBlk - blk) / radix; - blk += i * radix; - i = i * next_skip + 1; - + child = (freeBlk - blk) / radix; + blk += child * radix; + i = 1 + child * next_skip; while (i <= skip && blk < freeBlk + count) { - daddr_t v; - v = blk + radix - freeBlk; if (v > count) v = count; @@ -673,8 +666,7 @@ static void blst_copy( blist_t dest, daddr_t count ) { - int next_skip; - int i; + daddr_t i, next_skip; /* * Leaf node @@ -719,7 +711,7 @@ static void blst_copy( radix /= BLIST_META_RADIX; - next_skip = ((u_int)skip / BLIST_META_RADIX); + next_skip = skip / BLIST_META_RADIX; for (i = 1; count && i <= skip; i += next_skip) { if (scan[i].bm_bighint == (daddr_t)-1) @@ -786,17 +778,11 @@ blst_leaf_fill(blmeta_t *scan, daddr_t blk, int count) * number of blocks allocated by the call. */ static daddr_t -blst_meta_fill( - blmeta_t *scan, - daddr_t allocBlk, - daddr_t count, - daddr_t radix, - int skip, - daddr_t blk -) { - int i; - int next_skip = ((u_int)skip / BLIST_META_RADIX); - daddr_t nblks = 0; +blst_meta_fill(blmeta_t *scan, daddr_t allocBlk, daddr_t count, daddr_t radix, + daddr_t skip, daddr_t blk) +{ + daddr_t i, nblks, next_skip, v; + int child; if (count > radix) { /* @@ -814,6 +800,7 @@ blst_meta_fill( scan->bm_bighint = 0; return nblks; } + next_skip = skip / BLIST_META_RADIX; /* * An ALL-FREE meta node requires special handling before allocating @@ -839,13 +826,11 @@ blst_meta_fill( radix /= BLIST_META_RADIX; } - i = (allocBlk - blk) / radix; - blk += i * radix; - i = i * next_skip + 1; - + nblks = 0; + child = (allocBlk - blk) / radix; + blk += child * radix; + i = 1 + child * next_skip; while (i <= skip && blk < allocBlk + count) { - daddr_t v; - v = blk + radix - allocBlk; if (v > count) v = count; @@ -878,12 +863,12 @@ blst_meta_fill( */ static daddr_t -blst_radix_init(blmeta_t *scan, daddr_t radix, int skip, daddr_t count) +blst_radix_init(blmeta_t *scan, daddr_t radix, daddr_t skip, daddr_t count) { - int i; - int next_skip; - daddr_t memindex = 0; + daddr_t i, memindex, next_skip; + memindex = 0; + /* * Leaf node */ @@ -908,7 +893,7 @@ blst_radix_init(blmeta_t *scan, daddr_t radix, int ski } radix /= BLIST_META_RADIX; - next_skip = ((u_int)skip / BLIST_META_RADIX); + next_skip = skip / BLIST_META_RADIX; for (i = 1; i <= skip; i += next_skip) { if (count >= radix) { @@ -950,11 +935,10 @@ blst_radix_init(blmeta_t *scan, daddr_t radix, int ski #ifdef BLIST_DEBUG static void -blst_radix_print(blmeta_t *scan, daddr_t blk, daddr_t radix, int skip, int tab) +blst_radix_print(blmeta_t *scan, daddr_t blk, daddr_t radix, daddr_t skip, + int tab) { - int i; - int next_skip; - int lastState = 0; + daddr_t i, next_skip; if (radix == BLIST_BMAP_RADIX) { printf( @@ -996,7 +980,7 @@ blst_radix_print(blmeta_t *scan, daddr_t blk, daddr_t ); radix /= BLIST_META_RADIX; - next_skip = ((u_int)skip / BLIST_META_RADIX); + next_skip = skip / BLIST_META_RADIX; tab += 4; for (i = 1; i <= skip; i += next_skip) { @@ -1006,7 +990,6 @@ blst_radix_print(blmeta_t *scan, daddr_t blk, daddr_t tab, tab, "", (long long)blk, (long long)radix ); - lastState = 0; break; } blst_radix_print( From owner-svn-src-head@freebsd.org Tue Jun 27 17:45:48 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DA1B6D8C42B; Tue, 27 Jun 2017 17:45:48 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A86537681D; Tue, 27 Jun 2017 17:45:48 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RHjldS033872; Tue, 27 Jun 2017 17:45:47 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RHjls0033871; Tue, 27 Jun 2017 17:45:47 GMT (envelope-from np@FreeBSD.org) Message-Id: <201706271745.v5RHjls0033871@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 27 Jun 2017 17:45:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320418 - head/sys/dev/cxgbe/iw_cxgbe X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: head/sys/dev/cxgbe/iw_cxgbe X-SVN-Commit-Revision: 320418 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 17:45:49 -0000 Author: np Date: Tue Jun 27 17:45:47 2017 New Revision: 320418 URL: https://svnweb.freebsd.org/changeset/base/320418 Log: cxgbe/iw_cxgbe: Catch up with r319722. The socket lock is not the same as the lock for the receive buffer any more. Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/iw_cxgbe/cm.c Modified: head/sys/dev/cxgbe/iw_cxgbe/cm.c ============================================================================== --- head/sys/dev/cxgbe/iw_cxgbe/cm.c Tue Jun 27 17:45:26 2017 (r320417) +++ head/sys/dev/cxgbe/iw_cxgbe/cm.c Tue Jun 27 17:45:47 2017 (r320418) @@ -622,11 +622,10 @@ init_iwarp_socket(struct socket *so, void *arg) struct sockopt sopt; int on = 1; - /* Note that SOCK_LOCK(so) is same as SOCKBUF_LOCK(&so->so_rcv) */ - SOCK_LOCK(so); + SOCKBUF_LOCK(&so->so_rcv); soupcall_set(so, SO_RCV, c4iw_so_upcall, arg); so->so_state |= SS_NBIO; - SOCK_UNLOCK(so); + SOCKBUF_UNLOCK(&so->so_rcv); sopt.sopt_dir = SOPT_SET; sopt.sopt_level = IPPROTO_TCP; sopt.sopt_name = TCP_NODELAY; From owner-svn-src-head@freebsd.org Tue Jun 27 17:48:12 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BA373D8C663; Tue, 27 Jun 2017 17:48:12 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 89A0D76C17; Tue, 27 Jun 2017 17:48:12 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RHmBnA034106; Tue, 27 Jun 2017 17:48:11 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RHmBR3034105; Tue, 27 Jun 2017 17:48:11 GMT (envelope-from np@FreeBSD.org) Message-Id: <201706271748.v5RHmBR3034105@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 27 Jun 2017 17:48:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320419 - head/sys/dev/cxgbe/iw_cxgbe X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: head/sys/dev/cxgbe/iw_cxgbe X-SVN-Commit-Revision: 320419 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 17:48:12 -0000 Author: np Date: Tue Jun 27 17:48:11 2017 New Revision: 320419 URL: https://svnweb.freebsd.org/changeset/base/320419 Log: cxgbe/iw_cxgbe: Disable debug output by default. The help text for the sysctl already says that the default is 0. Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/iw_cxgbe/cm.c Modified: head/sys/dev/cxgbe/iw_cxgbe/cm.c ============================================================================== --- head/sys/dev/cxgbe/iw_cxgbe/cm.c Tue Jun 27 17:45:47 2017 (r320418) +++ head/sys/dev/cxgbe/iw_cxgbe/cm.c Tue Jun 27 17:48:11 2017 (r320419) @@ -881,7 +881,7 @@ static int enable_tcp_window_scaling = 1; SYSCTL_INT(_hw_iw_cxgbe, OID_AUTO, enable_tcp_window_scaling, CTLFLAG_RWTUN, &enable_tcp_window_scaling, 0, "Enable tcp window scaling (default = 1)"); -int c4iw_debug = 1; +int c4iw_debug = 0; SYSCTL_INT(_hw_iw_cxgbe, OID_AUTO, c4iw_debug, CTLFLAG_RWTUN, &c4iw_debug, 0, "Enable debug logging (default = 0)"); From owner-svn-src-head@freebsd.org Tue Jun 27 17:55:27 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3175AD8C918; Tue, 27 Jun 2017 17:55:27 +0000 (UTC) (envelope-from ken@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F28B3771AB; Tue, 27 Jun 2017 17:55:26 +0000 (UTC) (envelope-from ken@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RHtQxt038310; Tue, 27 Jun 2017 17:55:26 GMT (envelope-from ken@FreeBSD.org) Received: (from ken@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RHtQ51038309; Tue, 27 Jun 2017 17:55:26 GMT (envelope-from ken@FreeBSD.org) Message-Id: <201706271755.v5RHtQ51038309@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ken set sender to ken@FreeBSD.org using -f From: "Kenneth D. Merry" Date: Tue, 27 Jun 2017 17:55:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320420 - head/sys/cam/scsi X-SVN-Group: head X-SVN-Commit-Author: ken X-SVN-Commit-Paths: head/sys/cam/scsi X-SVN-Commit-Revision: 320420 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 17:55:27 -0000 Author: ken Date: Tue Jun 27 17:55:25 2017 New Revision: 320420 URL: https://svnweb.freebsd.org/changeset/base/320420 Log: In scsi_zbc_in(), fill in the length in the ZBC IN CDB. Without the allocation length set, the target will either reject the command or complete it without transferring any data. This fixes the REPORT ZONES command for SCSI ZBC protocol devices, as well as ATA ZAC protocol devices that are behind a SCSI to ATA translation layer. (LSI/Broadcom's 12Gb SAS adapters translate ZBC commands to ZAC commands.) Those are Host Aware and Host Managed SMR drives. This will fix REPORT ZONE commands sent to the da(4) driver via the GEOM bio interface and zonectl, and REPORT ZONE commands sent from camcontrol(8). Note that in the case of camcontrol(8), we currently only send SCSI ZBC commands to native SCSI protocol devices, not ATA devices behind a SAT layer. sys/cam/scsi/scsi_da.c: Fill in the length field in scsi_zbc_in(). MFC after: 3 days Sponsored by: Spectra Logic Modified: head/sys/cam/scsi/scsi_da.c Modified: head/sys/cam/scsi/scsi_da.c ============================================================================== --- head/sys/cam/scsi/scsi_da.c Tue Jun 27 17:48:11 2017 (r320419) +++ head/sys/cam/scsi/scsi_da.c Tue Jun 27 17:55:25 2017 (r320420) @@ -5804,6 +5804,7 @@ scsi_zbc_in(struct ccb_scsiio *csio, uint32_t retries, scsi_cmd = (struct scsi_zbc_in *)&csio->cdb_io.cdb_bytes; scsi_cmd->opcode = ZBC_IN; scsi_cmd->service_action = service_action; + scsi_ulto4b(dxfer_len, scsi_cmd->length); scsi_u64to8b(zone_start_lba, scsi_cmd->zone_start_lba); scsi_cmd->zone_options = zone_options; From owner-svn-src-head@freebsd.org Tue Jun 27 19:26:04 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F0BCDD8E770; Tue, 27 Jun 2017 19:26:03 +0000 (UTC) (envelope-from ken@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BFD0879F9A; Tue, 27 Jun 2017 19:26:03 +0000 (UTC) (envelope-from ken@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RJQ278074735; Tue, 27 Jun 2017 19:26:02 GMT (envelope-from ken@FreeBSD.org) Received: (from ken@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RJQ25Y074734; Tue, 27 Jun 2017 19:26:02 GMT (envelope-from ken@FreeBSD.org) Message-Id: <201706271926.v5RJQ25Y074734@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ken set sender to ken@FreeBSD.org using -f From: "Kenneth D. Merry" Date: Tue, 27 Jun 2017 19:26:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320421 - head/sys/cam X-SVN-Group: head X-SVN-Commit-Author: ken X-SVN-Commit-Paths: head/sys/cam X-SVN-Commit-Revision: 320421 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 19:26:04 -0000 Author: ken Date: Tue Jun 27 19:26:02 2017 New Revision: 320421 URL: https://svnweb.freebsd.org/changeset/base/320421 Log: Fix a panic in camperiphfree(). If a peripheral driver (e.g. da, sa, cd) is added or removed from the peripheral driver list while an unrelated peripheral driver instance (e.g. da0, sa5, cd2) is going away and is inside camperiphfree(), we could dereference an invalid pointer. When peripheral drivers are added or removed (see periphdriver_register() and periphdriver_unregister()), the peripheral driver array is resized and existing entries are moved. Although we hold the topology lock while we traverse the peripheral driver list, we retain a pointer to the location of the peripheral driver pointer and then drop the topology lock. So we are still vulnerable to the list getting moved around while the lock is dropped. To solve the problem, cache a copy of the peripheral driver pointer. If its storage location in the list changes while we have the lock dropped, it won't have any effect. This doesn't solve the issue that peripheral drivers ("da", "cd", as opposed to individual instances like "da0", "cd0") are not generally part of a reference counting scheme to guard against deregistering them while there are instances active. The caller (generally the person unloading a module) has to be aware of active drivers and not unload something that is in use. sys/cam/cam_periph.c: In camperiphfree(), cache a pointer to the peripheral driver instance to avoid holding a pointer to an invalid memory location in the event that the peripheral driver list changes while we have the topology lock dropped. PR: kern/219701 Submitted by: avg MFC after: 3 days Sponsored by: Spectra Logic Modified: head/sys/cam/cam_periph.c Modified: head/sys/cam/cam_periph.c ============================================================================== --- head/sys/cam/cam_periph.c Tue Jun 27 17:55:25 2017 (r320420) +++ head/sys/cam/cam_periph.c Tue Jun 27 19:26:02 2017 (r320421) @@ -661,6 +661,7 @@ static void camperiphfree(struct cam_periph *periph) { struct periph_driver **p_drv; + struct periph_driver *drv; cam_periph_assert(periph, MA_OWNED); KASSERT(periph->periph_allocating == 0, ("%s%d: freed while allocating", @@ -673,6 +674,15 @@ camperiphfree(struct cam_periph *periph) printf("camperiphfree: attempt to free non-existant periph\n"); return; } + /* + * Cache a pointer to the periph_driver structure. If a + * periph_driver is added or removed from the array (see + * periphdriver_register()) while we drop the toplogy lock + * below, p_drv may change. This doesn't protect against this + * particular periph_driver going away. That will require full + * reference counting in the periph_driver infrastructure. + */ + drv = *p_drv; /* * We need to set this flag before dropping the topology lock, to @@ -708,8 +718,8 @@ camperiphfree(struct cam_periph *periph) */ xpt_lock_buses(); - TAILQ_REMOVE(&(*p_drv)->units, periph, unit_links); - (*p_drv)->generation++; + TAILQ_REMOVE(&drv->units, periph, unit_links); + drv->generation++; xpt_remove_periph(periph); From owner-svn-src-head@freebsd.org Tue Jun 27 20:12:15 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 634CBD8F4E1; Tue, 27 Jun 2017 20:12:15 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2DD427B56F; Tue, 27 Jun 2017 20:12:15 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RKCE8W094834; Tue, 27 Jun 2017 20:12:14 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RKCE6b094833; Tue, 27 Jun 2017 20:12:14 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706272012.v5RKCE6b094833@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Tue, 27 Jun 2017 20:12:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320422 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 320422 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 20:12:15 -0000 Author: kib Date: Tue Jun 27 20:12:13 2017 New Revision: 320422 URL: https://svnweb.freebsd.org/changeset/base/320422 Log: Do not ignore an error from vm_mmap_object(). Found and reviewed by: alc Sponsored by: The FreeBSD Foundation MFC after: 1 week Modified: head/sys/kern/uipc_shm.c Modified: head/sys/kern/uipc_shm.c ============================================================================== --- head/sys/kern/uipc_shm.c Tue Jun 27 19:26:02 2017 (r320421) +++ head/sys/kern/uipc_shm.c Tue Jun 27 20:12:13 2017 (r320422) @@ -926,7 +926,7 @@ shm_mmap(struct file *fp, vm_map_t map, vm_offset_t *a shmfd->shm_object, foff, FALSE, td); if (error != 0) vm_object_deallocate(shmfd->shm_object); - return (0); + return (error); } static int From owner-svn-src-head@freebsd.org Tue Jun 27 20:21:24 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7F0D0D8F9D9; Tue, 27 Jun 2017 20:21:24 +0000 (UTC) (envelope-from andreast@FreeBSD.org) Received: from smtp.imp.ch (smtp.imp.ch [IPv6:2001:4060:1:1001::13:197]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 44D8F7BC86; Tue, 27 Jun 2017 20:21:24 +0000 (UTC) (envelope-from andreast@FreeBSD.org) Received: from [192.168.225.14] (dhclient-91-190-14-19.flashcable.ch [91.190.14.19]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by fgznet.ch (Postfix) with ESMTPSA id 11C10D1F65; Tue, 27 Jun 2017 22:21:12 +0200 (CEST) Subject: Re: svn commit: r320043 - in head: contrib/netbsd-tests/kernel/kqueue lib/libc/include lib/libc/sys sys/compat/freebsd32 sys/kern sys/sys tests/sys/kqueue/libkqueue usr.bin/truss To: Konstantin Belousov , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201706170057.v5H0vQq5057383@repo.freebsd.org> From: Andreas Tobler Message-ID: Date: Tue, 27 Jun 2017 22:21:42 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <201706170057.v5H0vQq5057383@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-CH Content-Transfer-Encoding: 7bit X-Scanned-By: Idefix Submit on 127.0.1.1 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 20:21:24 -0000 Hi Kib, On 17.06.17 02:57, Konstantin Belousov wrote: > Author: kib > Date: Sat Jun 17 00:57:26 2017 > New Revision: 320043 > URL: https://svnweb.freebsd.org/changeset/base/320043 > > Log: > Add abstime kqueue(2) timers and expand struct kevent members. > > This change implements NOTE_ABSTIME flag for EVFILT_TIMER, which > specifies that the data field contains absolute time to fire the > event. > > To make this useful, data member of the struct kevent must be extended > to 64bit. Using the opportunity, I also added ext members. This > changes struct kevent almost to Apple struct kevent64, except I did > not changed type of ident and udata, the later would cause serious API > incompatibilities. > > The type of ident was kept uintptr_t since EVFILT_AIO returns a > pointer in this field, and e.g. CHERI is sensitive to the type > (discussed with brooks, jhb). > > Unlike Apple kevent64, symbol versioning allows us to claim ABI > compatibility and still name the new syscall kevent(2). Compat shims > are provided for both host native and compat32. > > Requested by: bapt > Reviewed by: bapt, brooks, ngie (previous version) > Sponsored by: The FreeBSD Foundation > Differential revision: https://reviews.freebsd.org/D11025 This, or one of the following commits breaks my nfs mounts on powerpc64. With the following I mean, 320044-46. The last working revision is 320038. With this revision I get this error: RPCPROG_NFS: RPC: Port mapper failure - RPC: Unable to receive Boot is ok beside not having nfs. Right now I build the latest trunk to be sure to test against jhibbit's latest commit in this area. But I do not expect a change. Any idea where to look for suspects? TIA, Andreas From owner-svn-src-head@freebsd.org Tue Jun 27 20:24:27 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 487A0D8FBC1; Tue, 27 Jun 2017 20:24:27 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 095FF7BEA7; Tue, 27 Jun 2017 20:24:26 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RKOQDo099084; Tue, 27 Jun 2017 20:24:26 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RKOPXc099080; Tue, 27 Jun 2017 20:24:25 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201706272024.v5RKOPXc099080@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 27 Jun 2017 20:24:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320423 - head/sbin/nvmecontrol X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sbin/nvmecontrol X-SVN-Commit-Revision: 320423 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 20:24:27 -0000 Author: imp Date: Tue Jun 27 20:24:25 2017 New Revision: 320423 URL: https://svnweb.freebsd.org/changeset/base/320423 Log: Move 128-bit integer routines to util.c so they can be used by more than just the log page code. Sponsored by: Netflix, Inc Submitted by: Matt Williams (via D11330) Added: head/sbin/nvmecontrol/util.c (contents, props changed) Modified: head/sbin/nvmecontrol/Makefile head/sbin/nvmecontrol/logpage.c head/sbin/nvmecontrol/nvmecontrol.h Modified: head/sbin/nvmecontrol/Makefile ============================================================================== --- head/sbin/nvmecontrol/Makefile Tue Jun 27 20:12:13 2017 (r320422) +++ head/sbin/nvmecontrol/Makefile Tue Jun 27 20:24:25 2017 (r320423) @@ -3,7 +3,7 @@ PACKAGE=runtime PROG= nvmecontrol SRCS= nvmecontrol.c devlist.c firmware.c identify.c logpage.c \ - perftest.c reset.c nvme_util.c power.c wdc.c + perftest.c reset.c nvme_util.c power.c util.c wdc.c MAN= nvmecontrol.8 .PATH: ${SRCTOP}/sys/dev/nvme Modified: head/sbin/nvmecontrol/logpage.c ============================================================================== --- head/sbin/nvmecontrol/logpage.c Tue Jun 27 20:12:13 2017 (r320422) +++ head/sbin/nvmecontrol/logpage.c Tue Jun 27 20:24:25 2017 (r320423) @@ -80,54 +80,6 @@ print_bin(void *data, uint32_t length) write(STDOUT_FILENO, data, length); } -/* - * 128-bit integer augments to standard values. On i386 this - * doesn't exist, so we use 64-bit values. The 128-bit counters - * are crazy anyway, since for this purpose, you'd need a - * billion IOPs for billions of seconds to overflow them. - * So, on 32-bit i386, you'll get truncated values. - */ -#define UINT128_DIG 39 -#ifdef __i386__ -typedef uint64_t uint128_t; -#else -typedef __uint128_t uint128_t; -#endif - -static inline uint128_t -to128(void *p) -{ - return *(uint128_t *)p; -} - -static char * -uint128_to_str(uint128_t u, char *buf, size_t buflen) -{ - char *end = buf + buflen - 1; - - *end-- = '\0'; - if (u == 0) - *end-- = '0'; - while (u && end >= buf) { - *end-- = u % 10 + '0'; - u /= 10; - } - end++; - if (u != 0) - return NULL; - - return end; -} - -/* "Missing" from endian.h */ -static __inline uint64_t -le48dec(const void *pp) -{ - uint8_t const *p = (uint8_t const *)pp; - - return (((uint64_t)le16dec(p + 4) << 32) | le32dec(p)); -} - static void * get_log_buffer(uint32_t size) { Modified: head/sbin/nvmecontrol/nvmecontrol.h ============================================================================== --- head/sbin/nvmecontrol/nvmecontrol.h Tue Jun 27 20:12:13 2017 (r320422) +++ head/sbin/nvmecontrol/nvmecontrol.h Tue Jun 27 20:24:25 2017 (r320423) @@ -88,5 +88,27 @@ void read_logpage(int fd, uint8_t log_page, int nsid, void gen_usage(struct nvme_function *); void dispatch(int argc, char *argv[], struct nvme_function *f); +/* Utility Routines */ +/* + * 128-bit integer augments to standard values. On i386 this + * doesn't exist, so we use 64-bit values. So, on 32-bit i386, + * you'll get truncated values until someone implement 128bit + * ints in sofware. + */ +#define UINT128_DIG 39 +#ifdef __i386__ +typedef uint64_t uint128_t; +#else +typedef __uint128_t uint128_t; #endif +static __inline uint128_t +to128(void *p) +{ + return *(uint128_t *)p; +} + +uint64_t le48dec(const void *pp); +char * uint128_to_str(uint128_t u, char *buf, size_t buflen); + +#endif Added: head/sbin/nvmecontrol/util.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sbin/nvmecontrol/util.c Tue Jun 27 20:24:25 2017 (r320423) @@ -0,0 +1,59 @@ +/*- + * Copyright (c) 2017 Netflix, Inc + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include "nvmecontrol.h" + +char * +uint128_to_str(uint128_t u, char *buf, size_t buflen) +{ + char *end = buf + buflen - 1; + + *end-- = '\0'; + if (u == 0) + *end-- = '0'; + while (u && end >= buf) { + *end-- = u % 10 + '0'; + u /= 10; + } + end++; + if (u != 0) + return NULL; + + return end; +} + +/* "Missing" from endian.h */ +uint64_t +le48dec(const void *pp) +{ + uint8_t const *p = (uint8_t const *)pp; + + return (((uint64_t)le16dec(p + 4) << 32) | le32dec(p)); +} From owner-svn-src-head@freebsd.org Tue Jun 27 20:24:40 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B7D11D8FC00; Tue, 27 Jun 2017 20:24:40 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 81C657BF67; Tue, 27 Jun 2017 20:24:40 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RKOdZv099141; Tue, 27 Jun 2017 20:24:39 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RKOdVJ099140; Tue, 27 Jun 2017 20:24:39 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201706272024.v5RKOdVJ099140@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 27 Jun 2017 20:24:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320424 - head/sys/dev/nvme X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/dev/nvme X-SVN-Commit-Revision: 320424 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 20:24:40 -0000 Author: imp Date: Tue Jun 27 20:24:39 2017 New Revision: 320424 URL: https://svnweb.freebsd.org/changeset/base/320424 Log: Add new definitions for namespaces. Sponsored by: Netflix Submitted by: Matt Williams (via D11330) Modified: head/sys/dev/nvme/nvme.h Modified: head/sys/dev/nvme/nvme.h ============================================================================== --- head/sys/dev/nvme/nvme.h Tue Jun 27 20:24:25 2017 (r320423) +++ head/sys/dev/nvme/nvme.h Tue Jun 27 20:24:39 2017 (r320424) @@ -341,9 +341,11 @@ enum nvme_admin_opcode { NVME_OPC_GET_FEATURES = 0x0a, /* 0x0b - reserved */ NVME_OPC_ASYNC_EVENT_REQUEST = 0x0c, - /* 0x0d-0x0f - reserved */ + NVME_OPC_NAMESPACE_MANAGEMENT = 0x0d, + /* 0x0e-0x0f - reserved */ NVME_OPC_FIRMWARE_ACTIVATE = 0x10, NVME_OPC_FIRMWARE_IMAGE_DOWNLOAD = 0x11, + NVME_OPC_NAMESPACE_ATTACHMENT = 0x15, NVME_OPC_FORMAT_NVM = 0x80, NVME_OPC_SECURITY_SEND = 0x81, @@ -456,8 +458,11 @@ struct nvme_controller_data { /** maximum data transfer size */ uint8_t mdts; - uint8_t reserved1[178]; + /** Controller ID */ + uint16_t ctrlr_id; + uint8_t reserved1[176]; + /* bytes 256-511: admin command set attributes */ /** optional admin command support */ @@ -471,7 +476,10 @@ struct nvme_controller_data { /* supports firmware activate/download commands */ uint16_t firmware : 1; - uint16_t oacs_rsvd : 13; + /* supports namespace management commands */ + uint16_t nsmgmt : 1; + + uint16_t oacs_rsvd : 12; } __packed oacs; /** abort command limit */ @@ -513,8 +521,16 @@ struct nvme_controller_data { uint8_t avscc_rsvd : 7; } __packed avscc; - uint8_t reserved2[247]; + uint8_t reserved2[15]; + /** Name space capabilities */ + struct { + /* if nsmgmt, report tnvmcap and unvmcap */ + uint8_t tnvmcap[16]; + uint8_t unvmcap[16]; + } __packed untncap; + + uint8_t reserved3[200]; /* bytes 512-703: nvm command set attributes */ /** submission queue entry size */ @@ -529,7 +545,7 @@ struct nvme_controller_data { uint8_t max : 4; } __packed cqes; - uint8_t reserved3[2]; + uint8_t reserved4[2]; /** number of namespaces */ uint32_t nn; @@ -555,10 +571,10 @@ struct nvme_controller_data { } __packed vwc; /* TODO: flesh out remaining nvm command set attributes */ - uint8_t reserved4[178]; + uint8_t reserved5[178]; /* bytes 704-2047: i/o command set attributes */ - uint8_t reserved5[1344]; + uint8_t reserved6[1344]; /* bytes 2048-3071: power state descriptors */ struct nvme_power_state power_state[32]; From owner-svn-src-head@freebsd.org Tue Jun 27 20:24:45 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C5782D8FC2C; Tue, 27 Jun 2017 20:24:45 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7951A7BFDB; Tue, 27 Jun 2017 20:24:45 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RKOiYU099193; Tue, 27 Jun 2017 20:24:44 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RKOiZa099192; Tue, 27 Jun 2017 20:24:44 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201706272024.v5RKOiZa099192@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Tue, 27 Jun 2017 20:24:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320425 - head/sbin/nvmecontrol X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sbin/nvmecontrol X-SVN-Commit-Revision: 320425 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 20:24:45 -0000 Author: imp Date: Tue Jun 27 20:24:44 2017 New Revision: 320425 URL: https://svnweb.freebsd.org/changeset/base/320425 Log: Report some aspects of namespaces and namespace support in identify command. Sponsored by: Netflix Submitted by: Matt Williams (via D11330) Modified: head/sbin/nvmecontrol/identify.c Modified: head/sbin/nvmecontrol/identify.c ============================================================================== --- head/sbin/nvmecontrol/identify.c Tue Jun 27 20:24:39 2017 (r320424) +++ head/sbin/nvmecontrol/identify.c Tue Jun 27 20:24:44 2017 (r320425) @@ -44,6 +44,7 @@ static void print_controller(struct nvme_controller_data *cdata) { uint8_t str[128]; + char cbuf[UINT128_DIG + 1]; printf("Controller Capabilities/Features\n"); printf("================================\n"); @@ -65,8 +66,8 @@ print_controller(struct nvme_controller_data *cdata) printf("Unlimited\n"); else printf("%d\n", PAGE_SIZE * (1 << cdata->mdts)); - printf("\n"); + printf("\n"); printf("Admin Command Set Attributes\n"); printf("============================\n"); printf("Security Send/Receive: %s\n", @@ -75,6 +76,8 @@ print_controller(struct nvme_controller_data *cdata) cdata->oacs.format ? "Supported" : "Not Supported"); printf("Firmware Activate/Download: %s\n", cdata->oacs.firmware ? "Supported" : "Not Supported"); + printf("Namespace Managment: %s\n", + cdata->oacs.nsmgmt ? "Supported" : "Not Supported"); printf("Abort Command Limit: %d\n", cdata->acl+1); printf("Async Event Request Limit: %d\n", cdata->aerl+1); printf("Number of Firmware Slots: "); @@ -91,8 +94,8 @@ print_controller(struct nvme_controller_data *cdata) cdata->lpa.ns_smart ? "Yes" : "No"); printf("Error Log Page Entries: %d\n", cdata->elpe+1); printf("Number of Power States: %d\n", cdata->npss+1); - printf("\n"); + printf("\n"); printf("NVM Command Set Attributes\n"); printf("==========================\n"); printf("Submission Queue Entry Size\n"); @@ -110,6 +113,16 @@ print_controller(struct nvme_controller_data *cdata) cdata->oncs.dsm ? "Supported" : "Not Supported"); printf("Volatile Write Cache: %s\n", cdata->vwc.present ? "Present" : "Not Present"); + + if (cdata->oacs.nsmgmt) { + printf("\n"); + printf("Namespace Drive Attributes\n"); + printf("==========================\n"); + printf("NVM total cap: %s\n", + uint128_to_str(to128(cdata->untncap.tnvmcap), cbuf, sizeof(cbuf))); + printf("NVM unallocated cap: %s\n", + uint128_to_str(to128(cdata->untncap.unvmcap), cbuf, sizeof(cbuf))); + } } static void From owner-svn-src-head@freebsd.org Tue Jun 27 20:43:37 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 62FAAD9010E; Tue, 27 Jun 2017 20:43:37 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 01E947C8F9; Tue, 27 Jun 2017 20:43:36 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id v5RKhUgg068432 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 27 Jun 2017 23:43:30 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua v5RKhUgg068432 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id v5RKhUZV068431; Tue, 27 Jun 2017 23:43:30 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 27 Jun 2017 23:43:30 +0300 From: Konstantin Belousov To: Andreas Tobler Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320043 - in head: contrib/netbsd-tests/kernel/kqueue lib/libc/include lib/libc/sys sys/compat/freebsd32 sys/kern sys/sys tests/sys/kqueue/libkqueue usr.bin/truss Message-ID: <20170627204330.GI3437@kib.kiev.ua> References: <201706170057.v5H0vQq5057383@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.8.3 (2017-05-23) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 20:43:37 -0000 On Tue, Jun 27, 2017 at 10:21:42PM +0200, Andreas Tobler wrote: > Hi Kib, > > On 17.06.17 02:57, Konstantin Belousov wrote: > > Author: kib > > Date: Sat Jun 17 00:57:26 2017 > > New Revision: 320043 > > URL: https://svnweb.freebsd.org/changeset/base/320043 > > > > Log: > > Add abstime kqueue(2) timers and expand struct kevent members. > > > > This change implements NOTE_ABSTIME flag for EVFILT_TIMER, which > > specifies that the data field contains absolute time to fire the > > event. > > > > To make this useful, data member of the struct kevent must be extended > > to 64bit. Using the opportunity, I also added ext members. This > > changes struct kevent almost to Apple struct kevent64, except I did > > not changed type of ident and udata, the later would cause serious API > > incompatibilities. > > > > The type of ident was kept uintptr_t since EVFILT_AIO returns a > > pointer in this field, and e.g. CHERI is sensitive to the type > > (discussed with brooks, jhb). > > > > Unlike Apple kevent64, symbol versioning allows us to claim ABI > > compatibility and still name the new syscall kevent(2). Compat shims > > are provided for both host native and compat32. > > > > Requested by: bapt > > Reviewed by: bapt, brooks, ngie (previous version) > > Sponsored by: The FreeBSD Foundation > > Differential revision: https://reviews.freebsd.org/D11025 > > This, or one of the following commits breaks my nfs mounts on powerpc64. > With the following I mean, 320044-46. The last working revision is 320038. > > With this revision I get this error: > > RPCPROG_NFS: RPC: Port mapper failure - RPC: Unable to receive > > Boot is ok beside not having nfs. > > Right now I build the latest trunk to be sure to test against jhibbit's > latest commit in this area. But I do not expect a change. > > Any idea where to look for suspects? Start with ktrace-ing the mount command, assuming the direct invocation of mount_nfs(8) fails. Did you rebuilt the world after the update ? It should work both ways, but knowing the answer trims half of the change for suspect. Can you run the ktrace tests on ppc ? cd tests/sys/kqueue/libkqueue/ make ./kqtest From owner-svn-src-head@freebsd.org Tue Jun 27 20:54:42 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 08595D90330; Tue, 27 Jun 2017 20:54:42 +0000 (UTC) (envelope-from andreast@FreeBSD.org) Received: from smtp.imp.ch (smtp.imp.ch [IPv6:2001:4060:1:1001::13:197]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9CEC17CDEE; Tue, 27 Jun 2017 20:54:41 +0000 (UTC) (envelope-from andreast@FreeBSD.org) Received: from [192.168.225.14] (dhclient-91-190-14-19.flashcable.ch [91.190.14.19]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by fgznet.ch (Postfix) with ESMTPSA id BABEED246C; Tue, 27 Jun 2017 22:54:39 +0200 (CEST) Subject: Re: svn commit: r320043 - in head: contrib/netbsd-tests/kernel/kqueue lib/libc/include lib/libc/sys sys/compat/freebsd32 sys/kern sys/sys tests/sys/kqueue/libkqueue usr.bin/truss To: Konstantin Belousov Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201706170057.v5H0vQq5057383@repo.freebsd.org> <20170627204330.GI3437@kib.kiev.ua> From: Andreas Tobler Message-ID: <9d6198ea-d0a3-8553-a2ef-a0f2824a4315@FreeBSD.org> Date: Tue, 27 Jun 2017 22:55:10 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <20170627204330.GI3437@kib.kiev.ua> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-CH Content-Transfer-Encoding: 7bit X-Scanned-By: Obelix Submit on 127.0.1.1 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 20:54:42 -0000 On 27.06.17 22:43, Konstantin Belousov wrote: > On Tue, Jun 27, 2017 at 10:21:42PM +0200, Andreas Tobler wrote: >> Hi Kib, >> >> On 17.06.17 02:57, Konstantin Belousov wrote: >>> Author: kib >>> Date: Sat Jun 17 00:57:26 2017 >>> New Revision: 320043 >>> URL: https://svnweb.freebsd.org/changeset/base/320043 >>> >>> Log: >>> Add abstime kqueue(2) timers and expand struct kevent members. >>> >>> This change implements NOTE_ABSTIME flag for EVFILT_TIMER, which >>> specifies that the data field contains absolute time to fire the >>> event. >>> >>> To make this useful, data member of the struct kevent must be extended >>> to 64bit. Using the opportunity, I also added ext members. This >>> changes struct kevent almost to Apple struct kevent64, except I did >>> not changed type of ident and udata, the later would cause serious API >>> incompatibilities. >>> >>> The type of ident was kept uintptr_t since EVFILT_AIO returns a >>> pointer in this field, and e.g. CHERI is sensitive to the type >>> (discussed with brooks, jhb). >>> >>> Unlike Apple kevent64, symbol versioning allows us to claim ABI >>> compatibility and still name the new syscall kevent(2). Compat shims >>> are provided for both host native and compat32. >>> >>> Requested by: bapt >>> Reviewed by: bapt, brooks, ngie (previous version) >>> Sponsored by: The FreeBSD Foundation >>> Differential revision: https://reviews.freebsd.org/D11025 >> >> This, or one of the following commits breaks my nfs mounts on powerpc64. >> With the following I mean, 320044-46. The last working revision is 320038. >> >> With this revision I get this error: >> >> RPCPROG_NFS: RPC: Port mapper failure - RPC: Unable to receive >> >> Boot is ok beside not having nfs. >> >> Right now I build the latest trunk to be sure to test against jhibbit's >> latest commit in this area. But I do not expect a change. >> >> Any idea where to look for suspects? > > Start with ktrace-ing the mount command, assuming the direct invocation of > mount_nfs(8) fails. Hm, if you could give me some hands-on? How do I do that? > Did you rebuilt the world after the update ? It should work both ways, > but knowing the answer trims half of the change for suspect. I built world and kernel in a clean env. rm -rf the obj part. The whole boot is done via nfs. I do boot the tree via netboot, crossbuilt on amd64. The machine is shot I can not boot from disk atm. With the r320421, the picture is the same, as expected. > Can you run the ktrace tests on ppc ? > cd tests/sys/kqueue/libkqueue/ > make > ./kqtest This is chicken and egg, my src is on the nfs drive :( I'll check-out a src tree on this machine tomorrow and do test build/run. Thx for the feedback! Andreas From owner-svn-src-head@freebsd.org Tue Jun 27 22:05:08 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0C1B3D9150B; Tue, 27 Jun 2017 22:05:08 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C00747EC59; Tue, 27 Jun 2017 22:05:07 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5RM569G039727; Tue, 27 Jun 2017 22:05:06 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5RM56cc039726; Tue, 27 Jun 2017 22:05:06 GMT (envelope-from np@FreeBSD.org) Message-Id: <201706272205.v5RM56cc039726@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 27 Jun 2017 22:05:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320426 - head/sys/dev/cxgbe/tom X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: head/sys/dev/cxgbe/tom X-SVN-Commit-Revision: 320426 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Jun 2017 22:05:08 -0000 Author: np Date: Tue Jun 27 22:05:06 2017 New Revision: 320426 URL: https://svnweb.freebsd.org/changeset/base/320426 Log: cxgbe/t4_tom: Do not include space taken by the TCP timestamp option in the "effective MSS" for the connection. The chip expects it this way. Submitted by: Krishnamraju Eraparaju @ Chelsio MFC after: 3 days Sponsored by: Chelsio Communications 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 Tue Jun 27 20:24:44 2017 (r320425) +++ head/sys/dev/cxgbe/tom/t4_cpl_io.c Tue Jun 27 22:05:06 2017 (r320426) @@ -332,6 +332,8 @@ assign_rxopt(struct tcpcb *tp, unsigned int opt) n = sizeof(struct ip6_hdr) + sizeof(struct tcphdr); else n = sizeof(struct ip) + sizeof(struct tcphdr); + if (V_tcp_do_rfc1323) + n += TCPOLEN_TSTAMP_APPA; tp->t_maxseg = sc->params.mtus[G_TCPOPT_MSS(opt)] - n; CTR4(KTR_CXGBE, "%s: tid %d, mtu_idx %u (%u)", __func__, toep->tid, From owner-svn-src-head@freebsd.org Wed Jun 28 00:50:53 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 00182D940E3; Wed, 28 Jun 2017 00:50:52 +0000 (UTC) (envelope-from grog@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B98D583A0C; Wed, 28 Jun 2017 00:50:52 +0000 (UTC) (envelope-from grog@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5S0opVn007151; Wed, 28 Jun 2017 00:50:51 GMT (envelope-from grog@FreeBSD.org) Received: (from grog@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5S0opjD007150; Wed, 28 Jun 2017 00:50:51 GMT (envelope-from grog@FreeBSD.org) Message-Id: <201706280050.v5S0opjD007150@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: grog set sender to grog@FreeBSD.org using -f From: Greg Lehey Date: Wed, 28 Jun 2017 00:50:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320427 - head/usr.bin/calendar/calendars X-SVN-Group: head X-SVN-Commit-Author: grog X-SVN-Commit-Paths: head/usr.bin/calendar/calendars X-SVN-Commit-Revision: 320427 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 00:50:53 -0000 Author: grog Date: Wed Jun 28 00:50:51 2017 New Revision: 320427 URL: https://svnweb.freebsd.org/changeset/base/320427 Log: Spelling. Modified: head/usr.bin/calendar/calendars/calendar.history Modified: head/usr.bin/calendar/calendars/calendar.history ============================================================================== --- head/usr.bin/calendar/calendars/calendar.history Tue Jun 27 22:05:06 2017 (r320426) +++ head/usr.bin/calendar/calendars/calendar.history Wed Jun 28 00:50:51 2017 (r320427) @@ -190,7 +190,7 @@ 06/26 Toothbrush invented, 1498 06/27 100 degrees, Fort Yukon, 1915 06/27 Bill Graham closes the Fillmore East, 1971 -06/28 Supreme Court decides in favor of Alan Bakke, 1978 +06/28 Supreme Court decides in favor of Allan Bakke, 1978 06/30 "That" explosion in Siberia, 1908 06/30 China and Soviet Union announce split over ideology, 1960 07/01 Battle of Gettysburg begins, 1863 From owner-svn-src-head@freebsd.org Wed Jun 28 02:30:33 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EADD1D959C7; Wed, 28 Jun 2017 02:30:33 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A820613D4; Wed, 28 Jun 2017 02:30:33 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5S2UWFt046957; Wed, 28 Jun 2017 02:30:32 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5S2UWWL046956; Wed, 28 Jun 2017 02:30:32 GMT (envelope-from cy@FreeBSD.org) Message-Id: <201706280230.v5S2UWWL046956@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Wed, 28 Jun 2017 02:30:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320428 - head/contrib/ipfilter/tools X-SVN-Group: head X-SVN-Commit-Author: cy X-SVN-Commit-Paths: head/contrib/ipfilter/tools X-SVN-Commit-Revision: 320428 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 02:30:34 -0000 Author: cy Date: Wed Jun 28 02:30:32 2017 New Revision: 320428 URL: https://svnweb.freebsd.org/changeset/base/320428 Log: In poolnodecommand() (ippool -a and ippool -r) -m (pool name) is not optional. Modified: head/contrib/ipfilter/tools/ippool.c Modified: head/contrib/ipfilter/tools/ippool.c ============================================================================== --- head/contrib/ipfilter/tools/ippool.c Wed Jun 28 00:50:51 2017 (r320427) +++ head/contrib/ipfilter/tools/ippool.c Wed Jun 28 02:30:32 2017 (r320428) @@ -75,7 +75,7 @@ usage(prog) char *prog; { fprintf(stderr, "Usage:\t%s\n", prog); - fprintf(stderr, "\t-a [-dnv] [-m ] [-o ] [-t type] [-T ttl] -i [/netmask]\n"); + fprintf(stderr, "\t-a [-dnv] -m [-o ] [-t type] [-T ttl] -i [/netmask]\n"); fprintf(stderr, "\t-A [-dnv] [-m ] [-o ] [-S ] [-t ]\n"); fprintf(stderr, "\t-f [-dnuv]\n"); fprintf(stderr, "\t-F [-dv] [-o ] [-t ]\n"); From owner-svn-src-head@freebsd.org Wed Jun 28 03:47:09 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2F240D96FDE; Wed, 28 Jun 2017 03:47:09 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BBEB03B67; Wed, 28 Jun 2017 03:47:08 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id v5S3l2DF062641 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 28 Jun 2017 06:47:03 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua v5S3l2DF062641 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id v5S3l2FP062640; Wed, 28 Jun 2017 06:47:02 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Wed, 28 Jun 2017 06:47:02 +0300 From: Konstantin Belousov To: Andreas Tobler Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320043 - in head: contrib/netbsd-tests/kernel/kqueue lib/libc/include lib/libc/sys sys/compat/freebsd32 sys/kern sys/sys tests/sys/kqueue/libkqueue usr.bin/truss Message-ID: <20170628034702.GK3437@kib.kiev.ua> References: <201706170057.v5H0vQq5057383@repo.freebsd.org> <20170627204330.GI3437@kib.kiev.ua> <9d6198ea-d0a3-8553-a2ef-a0f2824a4315@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9d6198ea-d0a3-8553-a2ef-a0f2824a4315@FreeBSD.org> User-Agent: Mutt/1.8.3 (2017-05-23) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 03:47:09 -0000 On Tue, Jun 27, 2017 at 10:55:10PM +0200, Andreas Tobler wrote: > On 27.06.17 22:43, Konstantin Belousov wrote: > > On Tue, Jun 27, 2017 at 10:21:42PM +0200, Andreas Tobler wrote: > >> Hi Kib, > >> > >> On 17.06.17 02:57, Konstantin Belousov wrote: > >>> Author: kib > >>> Date: Sat Jun 17 00:57:26 2017 > >>> New Revision: 320043 > >>> URL: https://svnweb.freebsd.org/changeset/base/320043 > >>> > >>> Log: > >>> Add abstime kqueue(2) timers and expand struct kevent members. > >>> > >>> This change implements NOTE_ABSTIME flag for EVFILT_TIMER, which > >>> specifies that the data field contains absolute time to fire the > >>> event. > >>> > >>> To make this useful, data member of the struct kevent must be extended > >>> to 64bit. Using the opportunity, I also added ext members. This > >>> changes struct kevent almost to Apple struct kevent64, except I did > >>> not changed type of ident and udata, the later would cause serious API > >>> incompatibilities. > >>> > >>> The type of ident was kept uintptr_t since EVFILT_AIO returns a > >>> pointer in this field, and e.g. CHERI is sensitive to the type > >>> (discussed with brooks, jhb). > >>> > >>> Unlike Apple kevent64, symbol versioning allows us to claim ABI > >>> compatibility and still name the new syscall kevent(2). Compat shims > >>> are provided for both host native and compat32. > >>> > >>> Requested by: bapt > >>> Reviewed by: bapt, brooks, ngie (previous version) > >>> Sponsored by: The FreeBSD Foundation > >>> Differential revision: https://reviews.freebsd.org/D11025 > >> > >> This, or one of the following commits breaks my nfs mounts on powerpc64. > >> With the following I mean, 320044-46. The last working revision is 320038. > >> > >> With this revision I get this error: > >> > >> RPCPROG_NFS: RPC: Port mapper failure - RPC: Unable to receive > >> > >> Boot is ok beside not having nfs. > >> > >> Right now I build the latest trunk to be sure to test against jhibbit's > >> latest commit in this area. But I do not expect a change. > >> > >> Any idea where to look for suspects? > > > > Start with ktrace-ing the mount command, assuming the direct invocation of > > mount_nfs(8) fails. > > Hm, if you could give me some hands-on? How do I do that? mount_nfs server:/path /mnt If this fails with an RPC error, run it under ktrace and then show me kdump. Right now I do not undestand where does your error occur. Are you able to boot single-user ? > > > Did you rebuilt the world after the update ? It should work both ways, > > but knowing the answer trims half of the change for suspect. > > I built world and kernel in a clean env. rm -rf the obj part. > The whole boot is done via nfs. I do boot the tree via netboot, > crossbuilt on amd64. The machine is shot I can not boot from disk atm. > > With the r320421, the picture is the same, as expected. > > > Can you run the ktrace tests on ppc ? > > cd tests/sys/kqueue/libkqueue/ > > make > > ./kqtest > > This is chicken and egg, my src is on the nfs drive :( It is enough to checkout the libkqueue directory alone for this test to build and run. You can probably squeeze it into your boot nfs mount. From owner-svn-src-head@freebsd.org Wed Jun 28 04:02:38 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 25380D97568; Wed, 28 Jun 2017 04:02:38 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 00DEC646BE; Wed, 28 Jun 2017 04:02:37 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5S42bVK089190; Wed, 28 Jun 2017 04:02:37 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5S42bQx089187; Wed, 28 Jun 2017 04:02:37 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706280402.v5S42bQx089187@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 28 Jun 2017 04:02:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320430 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 320430 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 04:02:38 -0000 Author: kib Date: Wed Jun 28 04:02:36 2017 New Revision: 320430 URL: https://svnweb.freebsd.org/changeset/base/320430 Log: Treat the addr argument for mmap(2) request without MAP_FIXED flag as a hint. Right now, for non-fixed mmap(2) calls, addr is de-facto interpreted as the absolute minimal address of the range where the mapping is created. The VA allocator only allocates in the range [addr, VM_MAXUSER_ADDRESS]. This is too restrictive, the mmap(2) call might unduly fail if there is no free addresses above addr but a lot of usable space below it. Lift this implementation limitation by allocating VA in two passes. First, try to allocate above addr, as before. If that fails, do the second pass with less restrictive constraints for the start of allocation by specifying minimal allocation address at the max bss end, if this limit is less than addr. One important case where this change makes a difference is the allocation of the stacks for new threads in libthr. Under some configuration conditions, libthr tries to hint kernel to reuse the main thread stack grow area for the new stacks. This cannot work by design now after grow area is converted to stack, and there is no unallocated VA above the main stack. Interpreting requested stack base address as the hint provides compatibility with old libthr and with (mis-)configured current libthr. Reviewed by: alc Tested by: dim (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week Modified: head/sys/vm/vm_map.c head/sys/vm/vm_map.h head/sys/vm/vm_mmap.c Modified: head/sys/vm/vm_map.c ============================================================================== --- head/sys/vm/vm_map.c Wed Jun 28 04:01:29 2017 (r320429) +++ head/sys/vm/vm_map.c Wed Jun 28 04:02:36 2017 (r320430) @@ -1556,6 +1556,25 @@ again: return (result); } +int +vm_map_find_min(vm_map_t map, vm_object_t object, vm_ooffset_t offset, + vm_offset_t *addr, vm_size_t length, vm_offset_t min_addr, + vm_offset_t max_addr, int find_space, vm_prot_t prot, vm_prot_t max, + int cow) +{ + vm_offset_t hint; + int rv; + + hint = *addr; + for (;;) { + rv = vm_map_find(map, object, offset, addr, length, max_addr, + find_space, prot, max, cow); + if (rv == KERN_SUCCESS || min_addr >= hint) + return (rv); + *addr = min_addr; + } +} + /* * vm_map_simplify_entry: * Modified: head/sys/vm/vm_map.h ============================================================================== --- head/sys/vm/vm_map.h Wed Jun 28 04:01:29 2017 (r320429) +++ head/sys/vm/vm_map.h Wed Jun 28 04:02:36 2017 (r320430) @@ -372,6 +372,8 @@ vm_map_t vm_map_create(pmap_t, vm_offset_t, vm_offset_ int vm_map_delete(vm_map_t, vm_offset_t, vm_offset_t); int vm_map_find(vm_map_t, vm_object_t, vm_ooffset_t, vm_offset_t *, vm_size_t, vm_offset_t, int, vm_prot_t, vm_prot_t, int); +int vm_map_find_min(vm_map_t, vm_object_t, vm_ooffset_t, vm_offset_t *, + vm_size_t, vm_offset_t, vm_offset_t, int, vm_prot_t, vm_prot_t, int); int vm_map_fixed(vm_map_t, vm_object_t, vm_ooffset_t, vm_offset_t, vm_size_t, vm_prot_t, vm_prot_t, int); int vm_map_findspace (vm_map_t, vm_offset_t, vm_size_t, vm_offset_t *); Modified: head/sys/vm/vm_mmap.c ============================================================================== --- head/sys/vm/vm_mmap.c Wed Jun 28 04:01:29 2017 (r320429) +++ head/sys/vm/vm_mmap.c Wed Jun 28 04:02:36 2017 (r320430) @@ -1438,10 +1438,12 @@ vm_mmap_object(vm_map_t map, vm_offset_t *addr, vm_siz vm_prot_t maxprot, int flags, vm_object_t object, vm_ooffset_t foff, boolean_t writecounted, struct thread *td) { - boolean_t fitit; + boolean_t curmap, fitit; + vm_offset_t max_addr; int docow, error, findspace, rv; - if (map == &td->td_proc->p_vmspace->vm_map) { + curmap = map == &td->td_proc->p_vmspace->vm_map; + if (curmap) { PROC_LOCK(td->td_proc); if (map->size + size > lim_cur_proc(td->td_proc, RLIMIT_VMEM)) { PROC_UNLOCK(td->td_proc); @@ -1529,11 +1531,20 @@ vm_mmap_object(vm_map_t map, vm_offset_t *addr, vm_siz MAP_ALIGNMENT_SHIFT); else findspace = VMFS_OPTIMAL_SPACE; - rv = vm_map_find(map, object, foff, addr, size, + max_addr = 0; #ifdef MAP_32BIT - flags & MAP_32BIT ? MAP_32BIT_MAX_ADDR : + if ((flags & MAP_32BIT) != 0) + max_addr = MAP_32BIT_MAX_ADDR; #endif - 0, findspace, prot, maxprot, docow); + if (curmap) { + rv = vm_map_find_min(map, object, foff, addr, size, + round_page((vm_offset_t)td->td_proc->p_vmspace-> + vm_daddr + lim_max(td, RLIMIT_DATA)), max_addr, + findspace, prot, maxprot, docow); + } else { + rv = vm_map_find(map, object, foff, addr, size, + max_addr, findspace, prot, maxprot, docow); + } } else { rv = vm_map_fixed(map, object, foff, *addr, size, prot, maxprot, docow); From owner-svn-src-head@freebsd.org Wed Jun 28 04:19:56 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 36B4FD97874; Wed, 28 Jun 2017 04:19:56 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 015D664B75; Wed, 28 Jun 2017 04:19:55 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5S4JtAu093362; Wed, 28 Jun 2017 04:19:55 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5S4JtbE093361; Wed, 28 Jun 2017 04:19:55 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201706280419.v5S4JtbE093361@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Wed, 28 Jun 2017 04:19:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320431 - head/usr.sbin/watchdogd X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: head/usr.sbin/watchdogd X-SVN-Commit-Revision: 320431 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 04:19:56 -0000 Author: delphij Date: Wed Jun 28 04:19:54 2017 New Revision: 320431 URL: https://svnweb.freebsd.org/changeset/base/320431 Log: Chase malloc() change by removing lg_chunk malloc_conf settings. In jemalloc 5, there are no longer chunks, and as configured on FreeBSD (the "retain" option defaults to false), the mmap() requests are precisely sized for the specific needs, which means the virtual memory overhead should be lower for small applications. Reviewed by: jasone, ian Differential Revision: https://reviews.freebsd.org/D11366 Modified: head/usr.sbin/watchdogd/watchdogd.c Modified: head/usr.sbin/watchdogd/watchdogd.c ============================================================================== --- head/usr.sbin/watchdogd/watchdogd.c Wed Jun 28 04:02:36 2017 (r320430) +++ head/usr.sbin/watchdogd/watchdogd.c Wed Jun 28 04:19:54 2017 (r320431) @@ -112,14 +112,6 @@ static struct option longopts[] = { }; /* - * Ask malloc() to map minimum-sized chunks of virtual address space at a time, - * so that mlockall() won't needlessly wire megabytes of unused memory into the - * process. This must be done using the malloc_conf string so that it gets set - * up before the first allocation, which happens before entry to main(). - */ -const char * malloc_conf = "lg_chunk:0"; - -/* * Periodically pat the watchdog, preventing it from firing. */ int From owner-svn-src-head@freebsd.org Wed Jun 28 04:24:11 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 99916D97ACF; Wed, 28 Jun 2017 04:24:11 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 640B865040; Wed, 28 Jun 2017 04:24:11 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5S4OAel097145; Wed, 28 Jun 2017 04:24:10 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5S4OAE3097144; Wed, 28 Jun 2017 04:24:10 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201706280424.v5S4OAE3097144@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Wed, 28 Jun 2017 04:24:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320433 - head/libexec/rshd X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: head/libexec/rshd X-SVN-Commit-Revision: 320433 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 04:24:11 -0000 Author: delphij Date: Wed Jun 28 04:24:10 2017 New Revision: 320433 URL: https://svnweb.freebsd.org/changeset/base/320433 Log: Use strlcpy() instead of strncpy() and nul-terminating. MFC after: 2 weeks Modified: head/libexec/rshd/rshd.c Modified: head/libexec/rshd/rshd.c ============================================================================== --- head/libexec/rshd/rshd.c Wed Jun 28 04:23:20 2017 (r320432) +++ head/libexec/rshd/rshd.c Wed Jun 28 04:24:10 2017 (r320433) @@ -338,8 +338,7 @@ doit(struct sockaddr *fromp) pam_err = pam_authenticate(pamh, 0); if (pam_err == PAM_SUCCESS) { if ((pam_err = pam_get_user(pamh, &cp, NULL)) == PAM_SUCCESS) { - strncpy(luser, cp, sizeof(luser)); - luser[sizeof(luser) - 1] = '\0'; + strlcpy(luser, cp, sizeof(luser)); /* XXX truncation! */ } pam_err = pam_acct_mgmt(pamh, 0); @@ -386,9 +385,7 @@ doit(struct sockaddr *fromp) if (lc != NULL && fromp->sa_family == AF_INET) { /*XXX*/ char remote_ip[MAXHOSTNAMELEN]; - strncpy(remote_ip, numericname, - sizeof(remote_ip) - 1); - remote_ip[sizeof(remote_ip) - 1] = 0; + strlcpy(remote_ip, numericname, sizeof(remote_ip)); /* XXX truncation! */ if (!auth_hostok(lc, rhost, remote_ip)) { syslog(LOG_INFO|LOG_AUTH, From owner-svn-src-head@freebsd.org Wed Jun 28 06:44:49 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1670BD99BA7; Wed, 28 Jun 2017 06:44:49 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [88.99.82.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D59D368BB6; Wed, 28 Jun 2017 06:44:48 +0000 (UTC) (envelope-from hps@selasky.org) Received: from hps2016.home.selasky.org (unknown [62.141.129.119]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id D173E260863; Wed, 28 Jun 2017 08:44:39 +0200 (CEST) Subject: Re: svn commit: r320415 - head/sys/kern To: Conrad Meyer , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201706271723.v5RHNKbU025676@repo.freebsd.org> From: Hans Petter Selasky Message-ID: Date: Wed, 28 Jun 2017 08:42:31 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: <201706271723.v5RHNKbU025676@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 06:44:49 -0000 On 06/27/17 19:23, Conrad Meyer wrote: > Author: cem > Date: Tue Jun 27 17:23:20 2017 > New Revision: 320415 > URL: https://svnweb.freebsd.org/changeset/base/320415 > > Log: > Fix one more place uio_resid is truncated to int Hi, Should you use: sys/sys/param.h:#define MIN(a,b) (((a)<(b))?(a):(b)) Instead? --HPS > > A follow-up to r231949 and r194990. > > Reported by: pho@ > Reviewed by: kib@, markj@ > Sponsored by: Dell EMC Isilon > Differential Revision: https://reviews.freebsd.org/D11373 > > Modified: > head/sys/kern/uipc_mbuf.c > > Modified: head/sys/kern/uipc_mbuf.c > ============================================================================== > --- head/sys/kern/uipc_mbuf.c Tue Jun 27 17:22:03 2017 (r320414) > +++ head/sys/kern/uipc_mbuf.c Tue Jun 27 17:23:20 2017 (r320415) > @@ -1517,7 +1517,7 @@ m_uiotombuf(struct uio *uio, int how, int len, int ali > * the total data supplied by the uio. > */ > if (len > 0) > - total = min(uio->uio_resid, len); > + total = (uio->uio_resid < len) ? uio->uio_resid : len; > else > total = uio->uio_resid; > > > From owner-svn-src-head@freebsd.org Wed Jun 28 07:01:23 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BEDB6D9A179; Wed, 28 Jun 2017 07:01:23 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8DA106A3C9; Wed, 28 Jun 2017 07:01:23 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5S71Mkg059969; Wed, 28 Jun 2017 07:01:22 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5S71MYD059968; Wed, 28 Jun 2017 07:01:22 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706280701.v5S71MYD059968@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 28 Jun 2017 07:01:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320441 - head/share/examples/tests/tests X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/share/examples/tests/tests X-SVN-Commit-Revision: 320441 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 07:01:23 -0000 Author: ngie Date: Wed Jun 28 07:01:22 2017 New Revision: 320441 URL: https://svnweb.freebsd.org/changeset/base/320441 Log: share/examples/tests/Makefile: clean up example snippets/documentation - TESTSDIR doesn't need to be specified after r289158. - Including bsd.own.mk isn't required since no MK_ knobs are being manipulated. - TESTS_SUBDIRS should be written out in an append format, one entry per line, to provide a better, more conflict resistant example. MFC after: 1 month Modified: head/share/examples/tests/tests/Makefile Modified: head/share/examples/tests/tests/Makefile ============================================================================== --- head/share/examples/tests/tests/Makefile Wed Jun 28 06:40:13 2017 (r320440) +++ head/share/examples/tests/tests/Makefile Wed Jun 28 07:01:22 2017 (r320441) @@ -1,7 +1,5 @@ # $FreeBSD$ -.include - # Directory into which the Kyuafile provided by this directory will be # installed. # @@ -11,12 +9,16 @@ # # For example: if this Makefile were in src/bin/cp/tests/, its TESTSDIR # would point at ${TESTSBASE}/bin/cp/. -TESTSDIR= ${TESTSBASE}/share/examples/tests +# +# The default path specified by bsd.test.mk is `${TESTSBASE}/${RELDIR:H}`, +# which happens to be the same as `${TESTSBASE}/share/examples/tests`. +#TESTSDIR= ${TESTSBASE}/share/examples/tests # List of subdirectories into which we want to recurse during the build # of the system. We use TESTS_SUBDIRS instead of SUBDIR because we want # the auto-generated Kyuafile to recurse into these directories. -TESTS_SUBDIRS= atf plain +TESTS_SUBDIRS+= atf +TESTS_SUBDIRS+= plain # We leave KYUAFILE unset so that bsd.test.mk auto-generates a Kyuafile # for us based on the contents of the TESTS_SUBDIRS line above. The From owner-svn-src-head@freebsd.org Wed Jun 28 08:20:52 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C248FD9BAC9; Wed, 28 Jun 2017 08:20:52 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8F5AE6F425; Wed, 28 Jun 2017 08:20:52 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5S8Kpqu094930; Wed, 28 Jun 2017 08:20:51 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5S8KpLx094928; Wed, 28 Jun 2017 08:20:51 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706280820.v5S8KpLx094928@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 28 Jun 2017 08:20:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320442 - in head/share/examples/tests/tests: atf plain X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: in head/share/examples/tests/tests: atf plain X-SVN-Commit-Revision: 320442 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 08:20:52 -0000 Author: ngie Date: Wed Jun 28 08:20:51 2017 New Revision: 320442 URL: https://svnweb.freebsd.org/changeset/base/320442 Log: share/examples/tests/{atf,plain}/Makefile: tweak example Makefile snippets - Including bsd.own.mk isn't required since no MK_ knobs are being manipulated. - Update documentation to note that ${FILES} is installed via bsd.progs.mk, not bsd.prog.mk. MFC after: 1 month Modified: head/share/examples/tests/tests/atf/Makefile head/share/examples/tests/tests/plain/Makefile Modified: head/share/examples/tests/tests/atf/Makefile ============================================================================== --- head/share/examples/tests/tests/atf/Makefile Wed Jun 28 07:01:22 2017 (r320441) +++ head/share/examples/tests/tests/atf/Makefile Wed Jun 28 08:20:51 2017 (r320442) @@ -1,7 +1,5 @@ # $FreeBSD$ -.include - # The release package to use for the tests contained within the directory # # This applies to components which rely on ^/projects/release-pkg support @@ -33,10 +31,10 @@ ATF_TESTS_SH= cp_test # definitions from above. KYUAFILE= yes -# Install file1 and file2 as files via bsd.prog.mk. Please note the intentional +# Install file1 and file2 as files via bsd.progs.mk. Please note the intentional # ${PACKAGE} namespace of files. # -# The basic semantics of this are the same as FILES in bsd.prog.mk, e.g. the +# The basic semantics of this are the same as FILES in bsd.progs.mk, e.g. the # installation of the files can be manipulated via ${PACKAGE}FILESDIR, # ${PACKAGE}FILESMODE, etc. # Modified: head/share/examples/tests/tests/plain/Makefile ============================================================================== --- head/share/examples/tests/tests/plain/Makefile Wed Jun 28 07:01:22 2017 (r320441) +++ head/share/examples/tests/tests/plain/Makefile Wed Jun 28 08:20:51 2017 (r320442) @@ -1,7 +1,5 @@ # $FreeBSD$ -.include - # The release package to use for the tests contained within the directory # # This applies to components which rely on ^/projects/release-pkg support @@ -33,10 +31,10 @@ PLAIN_TESTS_SH= cp_test # definitions from above. KYUAFILE= yes -# Install file1 and file2 as files via bsd.prog.mk. Please note the intentional +# Install file1 and file2 as files via bsd.progs.mk. Please note the intentional # ${PACKAGE} namespace of files. # -# The basic semantics of this are the same as FILES in bsd.prog.mk, e.g. the +# The basic semantics of this are the same as FILES in bsd.progs.mk, e.g. the # installation of the files can be manipulated via ${PACKAGE}FILESDIR, # ${PACKAGE}FILESMODE, etc. # From owner-svn-src-head@freebsd.org Wed Jun 28 08:22:06 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1BA8FD9BB62; Wed, 28 Jun 2017 08:22:06 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CD0DD6F729; Wed, 28 Jun 2017 08:22:05 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5S8M5Bn095883; Wed, 28 Jun 2017 08:22:05 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5S8M4P4095877; Wed, 28 Jun 2017 08:22:04 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706280822.v5S8M4P4095877@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 28 Jun 2017 08:22:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320443 - in head/share/examples/tests/tests: . tap X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: in head/share/examples/tests/tests: . tap X-SVN-Commit-Revision: 320443 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 08:22:06 -0000 Author: ngie Date: Wed Jun 28 08:22:04 2017 New Revision: 320443 URL: https://svnweb.freebsd.org/changeset/base/320443 Log: Add kyua TAP test integration examples The examples are patterned loosely after the ATF examples, similar to the plain test examples. MFC after: 1 month Added: head/share/examples/tests/tests/tap/ head/share/examples/tests/tests/tap/Kyuafile - copied, changed from r320415, head/share/examples/tests/tests/plain/Kyuafile head/share/examples/tests/tests/tap/Makefile - copied, changed from r320415, head/share/examples/tests/tests/plain/Makefile head/share/examples/tests/tests/tap/Makefile.depend - copied unchanged from r320415, head/share/examples/tests/tests/plain/Makefile.depend head/share/examples/tests/tests/tap/cp_test.sh - copied, changed from r320415, head/share/examples/tests/tests/plain/cp_test.sh head/share/examples/tests/tests/tap/printf_test.c - copied, changed from r320415, head/share/examples/tests/tests/plain/printf_test.c Modified: head/share/examples/tests/tests/Makefile Modified: head/share/examples/tests/tests/Makefile ============================================================================== --- head/share/examples/tests/tests/Makefile Wed Jun 28 08:20:51 2017 (r320442) +++ head/share/examples/tests/tests/Makefile Wed Jun 28 08:22:04 2017 (r320443) @@ -19,6 +19,7 @@ # the auto-generated Kyuafile to recurse into these directories. TESTS_SUBDIRS+= atf TESTS_SUBDIRS+= plain +TESTS_SUBDIRS+= tap # We leave KYUAFILE unset so that bsd.test.mk auto-generates a Kyuafile # for us based on the contents of the TESTS_SUBDIRS line above. The Copied and modified: head/share/examples/tests/tests/tap/Kyuafile (from r320415, head/share/examples/tests/tests/plain/Kyuafile) ============================================================================== --- head/share/examples/tests/tests/plain/Kyuafile Tue Jun 27 17:23:20 2017 (r320415, copy source) +++ head/share/examples/tests/tests/tap/Kyuafile Wed Jun 28 08:22:04 2017 (r320443) @@ -43,5 +43,5 @@ test_suite('FreeBSD') -- any metadata properties in here. These have the exact same meaning as -- their ATF counterparts. These properties are often useful to define -- prerequisites for the execution of the tests. -plain_test_program{name='cp_test', required_programs='/bin/cp'} -plain_test_program{name='printf_test'} +tap_test_program{name='cp_test', required_programs='/bin/cp'} +tap_test_program{name='printf_test'} Copied and modified: head/share/examples/tests/tests/tap/Makefile (from r320415, head/share/examples/tests/tests/plain/Makefile) ============================================================================== --- head/share/examples/tests/tests/plain/Makefile Tue Jun 27 17:23:20 2017 (r320415, copy source) +++ head/share/examples/tests/tests/tap/Makefile Wed Jun 28 08:22:04 2017 (r320443) @@ -1,7 +1,5 @@ # $FreeBSD$ -.include - # The release package to use for the tests contained within the directory # # This applies to components which rely on ^/projects/release-pkg support @@ -17,12 +15,12 @@ PACKAGE= tests # # For example: if this Makefile were in src/bin/cp/tests/, its TESTSDIR # would point at ${TESTSBASE}/bin/cp/. -TESTSDIR= ${TESTSBASE}/share/examples/tests/plain +TESTSDIR= ${TESTSBASE}/share/examples/tests/tap # List of test programs to build. Note that we can build more than one # test from a single directory, and this is expected. -PLAIN_TESTS_C= printf_test -PLAIN_TESTS_SH= cp_test +TAP_TESTS_C= printf_test +TAP_TESTS_SH= cp_test # Tell bsd.test.mk that we are providing a hand-crafted Kyuafile in this # directory. We do so because the file in this directory exists for Copied: head/share/examples/tests/tests/tap/Makefile.depend (from r320415, head/share/examples/tests/tests/plain/Makefile.depend) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/examples/tests/tests/tap/Makefile.depend Wed Jun 28 08:22:04 2017 (r320443, copy of r320415, head/share/examples/tests/tests/plain/Makefile.depend) @@ -0,0 +1,18 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + gnu/lib/csu \ + gnu/lib/libgcc \ + include \ + include/xlocale \ + lib/${CSU_DIR} \ + lib/libc \ + lib/libcompiler_rt \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif Copied and modified: head/share/examples/tests/tests/tap/cp_test.sh (from r320415, head/share/examples/tests/tests/plain/cp_test.sh) ============================================================================== --- head/share/examples/tests/tests/plain/cp_test.sh Tue Jun 27 17:23:20 2017 (r320415, copy source) +++ head/share/examples/tests/tests/tap/cp_test.sh Wed Jun 28 08:22:04 2017 (r320443) @@ -1,84 +1,99 @@ -#! /bin/sh -# $FreeBSD$ +#!/bin/sh # -# Copyright 2013 Google Inc. +# Copyright (c) 2017 Ngie Cooper # All rights reserved. # # Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: +# 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. # -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * 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. -# * Neither the name of Google Inc. nor the names of its contributors -# may be used to endorse or promote products derived from this software -# without specific prior written permission. +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. # -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# $FreeBSD$ +# # # INTRODUCTION # -# This plain test program mimics the structure and contents of its +# This TAP test program mimics the structure and contents of its # ATF-based counterpart. It attempts to represent various test cases # in different separate functions and just calls them all from main. # -# In reality, plain test programs can be much simpler. All they have -# to do is return 0 on success and non-0 otherwise. -# -set -e +test_num=1 +TEST_COUNT=4 -# Prints an error message and exits. -err() { - echo "${@}" 1>&2 - exit 1 +result() +{ + local result=$1; shift + local result_string + + result_string="$result $test_num" + if [ $# -gt 0 ]; then + result_string="$result_string - $@" + fi + echo "$result_string" + : $(( test_num += 1 )) } # Auxiliary function to compare two files for equality. verify_copy() { - if ! cmp -s "${1}" "${2}"; then + if cmp -s "${1}" "${2}"; then + result "ok" + else + result "not ok" "${1} and ${2} differ, but they should be equal" diff -u "${1}" "${2}" - err "${1} and ${2} differ, but they should be equal" fi } simple_test() { cp "$(dirname "${0}")/file1" . - cp file1 file2 || err "cp failed" - verify_copy file1 file2 + if cp file1 file2; then + result "ok" + verify_copy file1 file2 + else + result "not ok" "cp failed" + result "not ok" "# SKIP" + fi } force_test() { echo 'File 3' >file3 chmod 400 file3 - cp -f file1 file3 || err "cp failed" - verify_copy file1 file3 + if cp -f file1 file3; then + result "ok" + verify_copy file1 file3 + else + result "not ok" "cp -f failed" + result "not ok" "# SKIP" + fi } # If you have read the cp_test.sh counterpart in the atf/ directory, you # may think that the sequencing of tests below and the exposed behavior # to the user is very similar. But you'd be wrong. # -# There are two major differences with this and the ATF version. The -# first is that the code below has no provisions to detect failures in -# one test and continue running the other tests: the first failure -# causes the whole test program to exit. The second is that this -# particular "main" has no arguments: without ATF, all test programs may -# expose a different command-line interface, and this is an issue for -# consistency purposes. +# There are two major differences with this and the ATF version. First off, +# the TAP test doesn't isolate simple_test from force_test, whereas the ATF +# version does. Secondly, the test script accepts arbitrary command line +# inputs. +echo "1..$TEST_COUNT" + simple_test force_test +exit 0 Copied and modified: head/share/examples/tests/tests/tap/printf_test.c (from r320415, head/share/examples/tests/tests/plain/printf_test.c) ============================================================================== --- head/share/examples/tests/tests/plain/printf_test.c Tue Jun 27 17:23:20 2017 (r320415, copy source) +++ head/share/examples/tests/tests/tap/printf_test.c Wed Jun 28 08:22:04 2017 (r320443) @@ -40,21 +40,69 @@ */ #include +#include #include #include #include +static int failed; +static int test_num = 1; + +#define TEST_COUNT 7 + static void +fail(const char *fmt, ...) +{ + char *msg; + va_list ap; + + failed = 1; + + va_start(ap, fmt); + if (vasprintf(&msg, fmt, ap) == -1) + err(1, NULL); + va_end(ap); + printf("not ok %d - %s\n", test_num, msg); + free(msg); + + test_num++; +} + +static void +pass(void) +{ + + printf("ok %d\n", test_num); + test_num++; +} + +static void +skip(int skip_num) +{ + int i; + + for (i = 0; i < skip_num; i++) { + printf("not ok %d # SKIP\n", test_num); + test_num++; + } +} + +static void snprintf__two_formatters(void) { char buffer[128]; if (snprintf(buffer, sizeof(buffer), "%s, %s!", "Hello", - "tests") <= 0) - errx(EXIT_FAILURE, "snprintf with two formatters failed"); - - if (strcmp(buffer, "Hello, tests!") != 0) - errx(EXIT_FAILURE, "Bad formatting: got %s", buffer); + "tests") <= 0) { + fail("snprintf with two formatters failed"); + skip(1); + } else { + pass(); + if (strcmp(buffer, "Hello, tests!") != 0) + fail("Bad formatting: got %s", buffer); + else + pass(); + } } static void @@ -62,12 +110,18 @@ snprintf__overflow(void) { char buffer[10]; - if (snprintf(buffer, sizeof(buffer), "0123456789abcdef") != 16) - errx(EXIT_FAILURE, "snprintf did not return the expected " + if (snprintf(buffer, sizeof(buffer), "0123456789abcdef") != 16) { + fail("snprintf did not return the expected " "number of characters"); + skip(1); + return; + } + pass(); if (strcmp(buffer, "012345678") != 0) - errx(EXIT_FAILURE, "Bad formatting: got %s", buffer); + fail("Bad formatting: got %s", buffer); + else + pass(); } static void @@ -79,17 +133,27 @@ fprintf__simple_string(void) const char *contents = "This is a message\n"; file = fopen("test.txt", "w+"); - if (fprintf(file, "%s", contents) <= 0) - err(EXIT_FAILURE, "fprintf failed to write to file"); + if (fprintf(file, "%s", contents) <= 0) { + fail("fprintf failed to write to file"); + skip(2); + return; + } + pass(); rewind(file); length = fread(buffer, 1, sizeof(buffer) - 1, file); - if (length != strlen(contents)) - err(EXIT_FAILURE, "fread failed"); + if (length != strlen(contents)) { + fail("fread failed"); + skip(1); + return; + } + pass(); buffer[length] = '\0'; fclose(file); if (strcmp(buffer, contents) != 0) - errx(EXIT_FAILURE, "Written and read data differ"); + fail("Written and read data differ"); + else + pass(); /* Of special note here is that we are NOT deleting the temporary * files we created in this test. Kyua takes care of this cleanup @@ -111,9 +175,11 @@ main(void) * is that this particular main() has no arguments: without ATF, * all test programs may expose a different command-line interface, * and this is an issue for consistency purposes. */ + printf("1..%d\n", TEST_COUNT); + snprintf__two_formatters(); snprintf__overflow(); fprintf__simple_string(); - return EXIT_SUCCESS; + return (failed); } From owner-svn-src-head@freebsd.org Wed Jun 28 08:23:21 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5C9F4D9BCF2; Wed, 28 Jun 2017 08:23:21 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2C0696F8CA; Wed, 28 Jun 2017 08:23:21 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5S8NKLv095972; Wed, 28 Jun 2017 08:23:20 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5S8NKkb095971; Wed, 28 Jun 2017 08:23:20 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706280823.v5S8NKkb095971@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 28 Jun 2017 08:23:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320444 - head/etc/mtree X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/etc/mtree X-SVN-Commit-Revision: 320444 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 08:23:21 -0000 Author: ngie Date: Wed Jun 28 08:23:20 2017 New Revision: 320444 URL: https://svnweb.freebsd.org/changeset/base/320444 Log: Commit the corresponding mtree file change for the TAP test examples MFC after: 1 month MFC with: r320443 Modified: head/etc/mtree/BSD.tests.dist Modified: head/etc/mtree/BSD.tests.dist ============================================================================== --- head/etc/mtree/BSD.tests.dist Wed Jun 28 08:22:04 2017 (r320443) +++ head/etc/mtree/BSD.tests.dist Wed Jun 28 08:23:20 2017 (r320444) @@ -396,6 +396,8 @@ .. plain .. + tap + .. .. .. .. From owner-svn-src-head@freebsd.org Wed Jun 28 08:28:08 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 92698D9BDB8; Wed, 28 Jun 2017 08:28:08 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6000D6FA5F; Wed, 28 Jun 2017 08:28:08 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5S8S7Nk096176; Wed, 28 Jun 2017 08:28:07 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5S8S7eE096175; Wed, 28 Jun 2017 08:28:07 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706280828.v5S8S7eE096175@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 28 Jun 2017 08:28:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320445 - head/tests/sys/vfs X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/tests/sys/vfs X-SVN-Commit-Revision: 320445 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 08:28:08 -0000 Author: ngie Date: Wed Jun 28 08:28:07 2017 New Revision: 320445 URL: https://svnweb.freebsd.org/changeset/base/320445 Log: Don't hardcode path to file in /tmp; this violates the kyua sandbox MFC after: 1 month Modified: head/tests/sys/vfs/trailing_slash.sh Modified: head/tests/sys/vfs/trailing_slash.sh ============================================================================== --- head/tests/sys/vfs/trailing_slash.sh Wed Jun 28 08:23:20 2017 (r320444) +++ head/tests/sys/vfs/trailing_slash.sh Wed Jun 28 08:28:07 2017 (r320445) @@ -6,8 +6,9 @@ # point to files. See kern/21768 for details. Fixed in r193028. # -testfile="/tmp/testfile-$$" -testlink="/tmp/testlink-$$" +: ${TMPDIR=/tmp} +testfile="$TMPDIR/testfile-$$" +testlink="$TMPDIR/testlink-$$" tests=" $testfile:$testlink:$testfile:0 From owner-svn-src-head@freebsd.org Wed Jun 28 08:29:21 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 73389D9BE42; Wed, 28 Jun 2017 08:29:21 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4271D6FBB1; Wed, 28 Jun 2017 08:29:21 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5S8TKvS096263; Wed, 28 Jun 2017 08:29:20 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5S8TKPD096262; Wed, 28 Jun 2017 08:29:20 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706280829.v5S8TKPD096262@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 28 Jun 2017 08:29:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320446 - head/tests/sys/vfs X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head/tests/sys/vfs X-SVN-Commit-Revision: 320446 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 08:29:21 -0000 Author: ngie Date: Wed Jun 28 08:29:20 2017 New Revision: 320446 URL: https://svnweb.freebsd.org/changeset/base/320446 Log: trailing_slash is a TAP-compliant testcase; mark it as such, instead of calling is a plain testcase. MFC after: 1 month Modified: head/tests/sys/vfs/Makefile Modified: head/tests/sys/vfs/Makefile ============================================================================== --- head/tests/sys/vfs/Makefile Wed Jun 28 08:28:07 2017 (r320445) +++ head/tests/sys/vfs/Makefile Wed Jun 28 08:29:20 2017 (r320446) @@ -7,6 +7,6 @@ TESTSDIR= ${TESTSBASE}/sys/vfs ATF_TESTS_C+= lookup_cap_dotdot CFLAGS.lookup_cap_dotdot.c+= -I${SRCTOP}/tests -PLAIN_TESTS_SH+= trailing_slash +TAP_TESTS_SH+= trailing_slash .include From owner-svn-src-head@freebsd.org Wed Jun 28 09:22:48 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4CAF8D9D1E4; Wed, 28 Jun 2017 09:22:48 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EF938719DA; Wed, 28 Jun 2017 09:22:47 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5S9Ml65021693; Wed, 28 Jun 2017 09:22:47 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5S9MkTZ021682; Wed, 28 Jun 2017 09:22:46 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706280922.v5S9MkTZ021682@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 28 Jun 2017 09:22:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320448 - in head: contrib/pjdfstest contrib/pjdfstest/tests contrib/pjdfstest/tests/chflags contrib/pjdfstest/tests/chmod contrib/pjdfstest/tests/chown contrib/pjdfstest/tests/ftruncat... X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: in head: contrib/pjdfstest contrib/pjdfstest/tests contrib/pjdfstest/tests/chflags contrib/pjdfstest/tests/chmod contrib/pjdfstest/tests/chown contrib/pjdfstest/tests/ftruncate contrib/pjdfstest/tests... X-SVN-Commit-Revision: 320448 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 09:22:48 -0000 Author: ngie Date: Wed Jun 28 09:22:45 2017 New Revision: 320448 URL: https://svnweb.freebsd.org/changeset/base/320448 Log: Pull down pjdfstest 0.1 The summary of changes is as follows.. Generic changes:: - Added configure support [2]. - Check for lchmod filesystem support with create_file(..); for testcases that require lchmod, skip the testcase -- otherwise use chmod directly [1]. - Added Travis CI integration [2]. - Added utimensat testcases [1]. Linux support:: - Fixed Linux support to pass on later supported versions of Fedora/Ubuntu [2]. - Conditionally enable posix_fallocate(2) support [2]. OSX support:: - Fixed compilation on OSX [2]. - Added partial OSX support (the test run isn't fully green yet) [2]. MFC after: 2 months Obtained from: https://github.com/pjd/pjdfstest/tree/0.1 Relnotes: yes Submitted by: asomers [1], ngie [2] Tested with: UFS, ZFS Added: head/contrib/pjdfstest/.gitignore - copied unchanged from r320447, vendor/pjdfstest/dist/.gitignore head/contrib/pjdfstest/.travis.yml - copied unchanged from r320447, vendor/pjdfstest/dist/.travis.yml head/contrib/pjdfstest/AUTHORS - copied unchanged from r320447, vendor/pjdfstest/dist/AUTHORS head/contrib/pjdfstest/COPYING - copied unchanged from r320447, vendor/pjdfstest/dist/COPYING head/contrib/pjdfstest/ChangeLog - copied unchanged from r320447, vendor/pjdfstest/dist/ChangeLog head/contrib/pjdfstest/Makefile.am - copied unchanged from r320447, vendor/pjdfstest/dist/Makefile.am head/contrib/pjdfstest/NEWS - copied unchanged from r320447, vendor/pjdfstest/dist/NEWS head/contrib/pjdfstest/configure.ac - copied unchanged from r320447, vendor/pjdfstest/dist/configure.ac head/contrib/pjdfstest/tests/utimensat/ - copied from r320447, vendor/pjdfstest/dist/tests/utimensat/ head/contrib/pjdfstest/travis/ - copied from r320447, vendor/pjdfstest/dist/travis/ head/tests/sys/pjdfstest/config.h (contents, props changed) head/tests/sys/pjdfstest/tests/utimensat/ head/tests/sys/pjdfstest/tests/utimensat/Makefile - copied, changed from r320415, head/tests/sys/pjdfstest/tests/chown/Makefile Deleted: head/contrib/pjdfstest/Makefile Modified: head/contrib/pjdfstest/README head/contrib/pjdfstest/pjdfstest.c head/contrib/pjdfstest/tests/chflags/00.t head/contrib/pjdfstest/tests/chflags/01.t head/contrib/pjdfstest/tests/chflags/02.t head/contrib/pjdfstest/tests/chflags/03.t head/contrib/pjdfstest/tests/chflags/04.t head/contrib/pjdfstest/tests/chflags/05.t head/contrib/pjdfstest/tests/chflags/06.t head/contrib/pjdfstest/tests/chflags/07.t head/contrib/pjdfstest/tests/chflags/08.t head/contrib/pjdfstest/tests/chflags/09.t head/contrib/pjdfstest/tests/chflags/10.t head/contrib/pjdfstest/tests/chflags/11.t head/contrib/pjdfstest/tests/chflags/12.t head/contrib/pjdfstest/tests/chflags/13.t head/contrib/pjdfstest/tests/chmod/00.t head/contrib/pjdfstest/tests/chmod/01.t head/contrib/pjdfstest/tests/chmod/02.t head/contrib/pjdfstest/tests/chmod/03.t head/contrib/pjdfstest/tests/chmod/04.t head/contrib/pjdfstest/tests/chmod/05.t head/contrib/pjdfstest/tests/chmod/06.t head/contrib/pjdfstest/tests/chmod/07.t head/contrib/pjdfstest/tests/chmod/08.t head/contrib/pjdfstest/tests/chmod/09.t head/contrib/pjdfstest/tests/chmod/10.t head/contrib/pjdfstest/tests/chmod/11.t head/contrib/pjdfstest/tests/chmod/12.t head/contrib/pjdfstest/tests/chown/00.t head/contrib/pjdfstest/tests/chown/01.t head/contrib/pjdfstest/tests/chown/02.t head/contrib/pjdfstest/tests/chown/03.t head/contrib/pjdfstest/tests/chown/04.t head/contrib/pjdfstest/tests/chown/05.t head/contrib/pjdfstest/tests/chown/06.t head/contrib/pjdfstest/tests/chown/07.t head/contrib/pjdfstest/tests/chown/08.t head/contrib/pjdfstest/tests/chown/09.t head/contrib/pjdfstest/tests/chown/10.t head/contrib/pjdfstest/tests/conf head/contrib/pjdfstest/tests/ftruncate/00.t head/contrib/pjdfstest/tests/ftruncate/01.t head/contrib/pjdfstest/tests/ftruncate/02.t head/contrib/pjdfstest/tests/ftruncate/03.t head/contrib/pjdfstest/tests/ftruncate/04.t head/contrib/pjdfstest/tests/ftruncate/05.t head/contrib/pjdfstest/tests/ftruncate/06.t head/contrib/pjdfstest/tests/ftruncate/07.t head/contrib/pjdfstest/tests/ftruncate/08.t head/contrib/pjdfstest/tests/ftruncate/09.t head/contrib/pjdfstest/tests/ftruncate/10.t head/contrib/pjdfstest/tests/ftruncate/11.t head/contrib/pjdfstest/tests/ftruncate/12.t head/contrib/pjdfstest/tests/ftruncate/13.t head/contrib/pjdfstest/tests/ftruncate/14.t head/contrib/pjdfstest/tests/granular/00.t head/contrib/pjdfstest/tests/granular/01.t head/contrib/pjdfstest/tests/granular/02.t head/contrib/pjdfstest/tests/granular/03.t head/contrib/pjdfstest/tests/granular/04.t head/contrib/pjdfstest/tests/granular/05.t head/contrib/pjdfstest/tests/link/00.t head/contrib/pjdfstest/tests/link/01.t head/contrib/pjdfstest/tests/link/02.t head/contrib/pjdfstest/tests/link/03.t head/contrib/pjdfstest/tests/link/04.t head/contrib/pjdfstest/tests/link/05.t head/contrib/pjdfstest/tests/link/06.t head/contrib/pjdfstest/tests/link/07.t head/contrib/pjdfstest/tests/link/08.t head/contrib/pjdfstest/tests/link/09.t head/contrib/pjdfstest/tests/link/10.t head/contrib/pjdfstest/tests/link/11.t head/contrib/pjdfstest/tests/link/12.t head/contrib/pjdfstest/tests/link/13.t head/contrib/pjdfstest/tests/link/14.t head/contrib/pjdfstest/tests/link/15.t head/contrib/pjdfstest/tests/link/16.t head/contrib/pjdfstest/tests/link/17.t head/contrib/pjdfstest/tests/misc.sh head/contrib/pjdfstest/tests/mkdir/00.t head/contrib/pjdfstest/tests/mkdir/01.t head/contrib/pjdfstest/tests/mkdir/02.t head/contrib/pjdfstest/tests/mkdir/03.t head/contrib/pjdfstest/tests/mkdir/04.t head/contrib/pjdfstest/tests/mkdir/05.t head/contrib/pjdfstest/tests/mkdir/06.t head/contrib/pjdfstest/tests/mkdir/07.t head/contrib/pjdfstest/tests/mkdir/08.t head/contrib/pjdfstest/tests/mkdir/09.t head/contrib/pjdfstest/tests/mkdir/10.t head/contrib/pjdfstest/tests/mkdir/11.t head/contrib/pjdfstest/tests/mkdir/12.t head/contrib/pjdfstest/tests/mkfifo/00.t head/contrib/pjdfstest/tests/mkfifo/01.t head/contrib/pjdfstest/tests/mkfifo/02.t head/contrib/pjdfstest/tests/mkfifo/03.t head/contrib/pjdfstest/tests/mkfifo/04.t head/contrib/pjdfstest/tests/mkfifo/05.t head/contrib/pjdfstest/tests/mkfifo/06.t head/contrib/pjdfstest/tests/mkfifo/07.t head/contrib/pjdfstest/tests/mkfifo/08.t head/contrib/pjdfstest/tests/mkfifo/09.t head/contrib/pjdfstest/tests/mkfifo/10.t head/contrib/pjdfstest/tests/mkfifo/11.t head/contrib/pjdfstest/tests/mkfifo/12.t head/contrib/pjdfstest/tests/mknod/00.t head/contrib/pjdfstest/tests/mknod/01.t head/contrib/pjdfstest/tests/mknod/02.t head/contrib/pjdfstest/tests/mknod/03.t head/contrib/pjdfstest/tests/mknod/04.t head/contrib/pjdfstest/tests/mknod/05.t head/contrib/pjdfstest/tests/mknod/06.t head/contrib/pjdfstest/tests/mknod/07.t head/contrib/pjdfstest/tests/mknod/08.t head/contrib/pjdfstest/tests/mknod/09.t head/contrib/pjdfstest/tests/mknod/10.t head/contrib/pjdfstest/tests/mknod/11.t head/contrib/pjdfstest/tests/open/00.t head/contrib/pjdfstest/tests/open/01.t head/contrib/pjdfstest/tests/open/02.t head/contrib/pjdfstest/tests/open/03.t head/contrib/pjdfstest/tests/open/04.t head/contrib/pjdfstest/tests/open/05.t head/contrib/pjdfstest/tests/open/06.t head/contrib/pjdfstest/tests/open/07.t head/contrib/pjdfstest/tests/open/08.t head/contrib/pjdfstest/tests/open/09.t head/contrib/pjdfstest/tests/open/10.t head/contrib/pjdfstest/tests/open/11.t head/contrib/pjdfstest/tests/open/12.t head/contrib/pjdfstest/tests/open/13.t head/contrib/pjdfstest/tests/open/14.t head/contrib/pjdfstest/tests/open/15.t head/contrib/pjdfstest/tests/open/16.t head/contrib/pjdfstest/tests/open/17.t head/contrib/pjdfstest/tests/open/18.t head/contrib/pjdfstest/tests/open/19.t head/contrib/pjdfstest/tests/open/20.t head/contrib/pjdfstest/tests/open/21.t head/contrib/pjdfstest/tests/open/22.t head/contrib/pjdfstest/tests/open/23.t head/contrib/pjdfstest/tests/open/24.t head/contrib/pjdfstest/tests/rename/00.t head/contrib/pjdfstest/tests/rename/01.t head/contrib/pjdfstest/tests/rename/02.t head/contrib/pjdfstest/tests/rename/03.t head/contrib/pjdfstest/tests/rename/04.t head/contrib/pjdfstest/tests/rename/05.t head/contrib/pjdfstest/tests/rename/06.t head/contrib/pjdfstest/tests/rename/07.t head/contrib/pjdfstest/tests/rename/08.t head/contrib/pjdfstest/tests/rename/09.t head/contrib/pjdfstest/tests/rename/10.t head/contrib/pjdfstest/tests/rename/11.t head/contrib/pjdfstest/tests/rename/12.t head/contrib/pjdfstest/tests/rename/13.t head/contrib/pjdfstest/tests/rename/14.t head/contrib/pjdfstest/tests/rename/15.t head/contrib/pjdfstest/tests/rename/16.t head/contrib/pjdfstest/tests/rename/17.t head/contrib/pjdfstest/tests/rename/18.t head/contrib/pjdfstest/tests/rename/19.t head/contrib/pjdfstest/tests/rename/20.t head/contrib/pjdfstest/tests/rename/21.t head/contrib/pjdfstest/tests/rmdir/00.t head/contrib/pjdfstest/tests/rmdir/01.t head/contrib/pjdfstest/tests/rmdir/02.t head/contrib/pjdfstest/tests/rmdir/03.t head/contrib/pjdfstest/tests/rmdir/04.t head/contrib/pjdfstest/tests/rmdir/05.t head/contrib/pjdfstest/tests/rmdir/06.t head/contrib/pjdfstest/tests/rmdir/07.t head/contrib/pjdfstest/tests/rmdir/08.t head/contrib/pjdfstest/tests/rmdir/09.t head/contrib/pjdfstest/tests/rmdir/10.t head/contrib/pjdfstest/tests/rmdir/11.t head/contrib/pjdfstest/tests/rmdir/12.t head/contrib/pjdfstest/tests/rmdir/13.t head/contrib/pjdfstest/tests/rmdir/14.t head/contrib/pjdfstest/tests/rmdir/15.t head/contrib/pjdfstest/tests/symlink/00.t head/contrib/pjdfstest/tests/symlink/01.t head/contrib/pjdfstest/tests/symlink/02.t head/contrib/pjdfstest/tests/symlink/03.t head/contrib/pjdfstest/tests/symlink/04.t head/contrib/pjdfstest/tests/symlink/05.t head/contrib/pjdfstest/tests/symlink/06.t head/contrib/pjdfstest/tests/symlink/07.t head/contrib/pjdfstest/tests/symlink/08.t head/contrib/pjdfstest/tests/symlink/09.t head/contrib/pjdfstest/tests/symlink/10.t head/contrib/pjdfstest/tests/symlink/11.t head/contrib/pjdfstest/tests/symlink/12.t head/contrib/pjdfstest/tests/truncate/00.t head/contrib/pjdfstest/tests/truncate/01.t head/contrib/pjdfstest/tests/truncate/02.t head/contrib/pjdfstest/tests/truncate/03.t head/contrib/pjdfstest/tests/truncate/04.t head/contrib/pjdfstest/tests/truncate/05.t head/contrib/pjdfstest/tests/truncate/06.t head/contrib/pjdfstest/tests/truncate/07.t head/contrib/pjdfstest/tests/truncate/08.t head/contrib/pjdfstest/tests/truncate/09.t head/contrib/pjdfstest/tests/truncate/10.t head/contrib/pjdfstest/tests/truncate/11.t head/contrib/pjdfstest/tests/truncate/12.t head/contrib/pjdfstest/tests/truncate/13.t head/contrib/pjdfstest/tests/truncate/14.t head/contrib/pjdfstest/tests/unlink/00.t head/contrib/pjdfstest/tests/unlink/01.t head/contrib/pjdfstest/tests/unlink/02.t head/contrib/pjdfstest/tests/unlink/03.t head/contrib/pjdfstest/tests/unlink/04.t head/contrib/pjdfstest/tests/unlink/05.t head/contrib/pjdfstest/tests/unlink/06.t head/contrib/pjdfstest/tests/unlink/07.t head/contrib/pjdfstest/tests/unlink/08.t head/contrib/pjdfstest/tests/unlink/09.t head/contrib/pjdfstest/tests/unlink/10.t head/contrib/pjdfstest/tests/unlink/11.t head/contrib/pjdfstest/tests/unlink/12.t head/contrib/pjdfstest/tests/unlink/13.t head/etc/mtree/BSD.tests.dist head/tests/sys/pjdfstest/pjdfstest/Makefile head/tests/sys/pjdfstest/tests/Makefile Directory Properties: head/contrib/pjdfstest/ (props changed) Copied: head/contrib/pjdfstest/.gitignore (from r320447, vendor/pjdfstest/dist/.gitignore) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/pjdfstest/.gitignore Wed Jun 28 09:22:45 2017 (r320448, copy of r320447, vendor/pjdfstest/dist/.gitignore) @@ -0,0 +1,19 @@ +autom4te.cache +aclocal.m4 +compile +configure +config.h* +config.guess +config.log +config.status +config.sub +depcomp +install-sh +missing +pjdfstest +stamp-h1 +INSTALL +Makefile +Makefile.in +.deps +*.o Copied: head/contrib/pjdfstest/.travis.yml (from r320447, vendor/pjdfstest/dist/.travis.yml) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/pjdfstest/.travis.yml Wed Jun 28 09:22:45 2017 (r320448, copy of r320447, vendor/pjdfstest/dist/.travis.yml) @@ -0,0 +1,19 @@ +language: c +sudo: required + +matrix: + include: + - os: linux + compiler: clang + dist: xenial + - os: linux + compiler: gcc + dist: xenial + - os: osx + compiler: clang + - os: osx + compiler: gcc + +script: + - ./travis/build.sh + - ./travis/test.sh Copied: head/contrib/pjdfstest/AUTHORS (from r320447, vendor/pjdfstest/dist/AUTHORS) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/pjdfstest/AUTHORS Wed Jun 28 09:22:45 2017 (r320448, copy of r320447, vendor/pjdfstest/dist/AUTHORS) @@ -0,0 +1,3 @@ +* Alan Somers - contributor/co-maintainer +* Ngie Cooper - contributor/co-maintainer +* Pawel Jakub Dawidek - pjdfstest author/maintainer Copied: head/contrib/pjdfstest/COPYING (from r320447, vendor/pjdfstest/dist/COPYING) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/pjdfstest/COPYING Wed Jun 28 09:22:45 2017 (r320448, copy of r320447, vendor/pjdfstest/dist/COPYING) @@ -0,0 +1,27 @@ +$FreeBSD: head/tools/regression/pjdfstest/LICENSE 211354 2010-08-15 21:29:03Z pjd $ + +License for all regression tests available with pjdfstest: + +Copyright (c) 2006-2012 Pawel Jakub Dawidek +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. Copied: head/contrib/pjdfstest/ChangeLog (from r320447, vendor/pjdfstest/dist/ChangeLog) ============================================================================== Copied: head/contrib/pjdfstest/Makefile.am (from r320447, vendor/pjdfstest/dist/Makefile.am) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/pjdfstest/Makefile.am Wed Jun 28 09:22:45 2017 (r320448, copy of r320447, vendor/pjdfstest/dist/Makefile.am) @@ -0,0 +1,5 @@ +AM_CFLAGS= -Wall -Werror + +bin_PROGRAMS= pjdfstest + +pjdfstest_SOURCES= pjdfstest.c Copied: head/contrib/pjdfstest/NEWS (from r320447, vendor/pjdfstest/dist/NEWS) ============================================================================== Modified: head/contrib/pjdfstest/README ============================================================================== --- head/contrib/pjdfstest/README Wed Jun 28 08:48:09 2017 (r320447) +++ head/contrib/pjdfstest/README Wed Jun 28 09:22:45 2017 (r320448) @@ -1,22 +1,57 @@ $FreeBSD: head/tools/regression/pjdfstest/README 211354 2010-08-15 21:29:03Z pjd $ -Few notes on how to use pjdfstest in short steps: +============ +Introduction +============ - # cd pjdfstest - # vi tests/conf - Change 'fs' to file system type you want to test (UFS or ZFS). - # vi Makefile - You need to manually tweak few things by editing CFLAGS lines - at the top of the file. - # make - It will compile pjdfstest utility which is used by regression tests. - # cd /path/to/file/system/you/want/to/test/ - # prove -r /path/to/pjdfstest/tests +pjdfstest is a test suite that helps exercise POSIX system calls. -That's all. Enjoy. +pjdfstest supports the following operating systems/filesystems: -Currently supported operating systems: FreeBSD, Solaris. -Currently supported file system types: UFS, ZFS. +- Supported Operating Systems: FreeBSD, Linux, Solaris +- Supported Filesystems: ext4, UFS, ZFS --- -Pawel Jakub Dawidek +================== +Building pjdfstest +================== + +------------- +Prerequisites +------------- + +- autoconf 2.69 or newer +- automake 1.15 or newer +- cc (clang or gcc) +- make +- appropriate system headers (please install your distribution appropriate + header package) + +--------- +Procedure +--------- + + $ autoreconf -ifs + $ ./configure + $ make pjdfstest + +================= +Running pjdfstest +================= + +------------- +Prerequisites +------------- +- You must be root when running these testcases. + +---------------------- +Software Prerequisites +---------------------- +- perl +- TAP-Harness (perl package) + +--------- +Procedure +--------- + + # cd /path/to/filesystem/under/test + # prove -rv /path/to/pjdfstest/tests Copied: head/contrib/pjdfstest/configure.ac (from r320447, vendor/pjdfstest/dist/configure.ac) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/pjdfstest/configure.ac Wed Jun 28 09:22:45 2017 (r320448, copy of r320447, vendor/pjdfstest/dist/configure.ac) @@ -0,0 +1,107 @@ +AC_PREREQ(2.61) +AC_INIT([pjdfstest],[0.1],) +AC_CONFIG_AUX_DIR([.]) +AM_INIT_AUTOMAKE +AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_FILES([ \ + Makefile \ +]) + +AC_CANONICAL_HOST + +AC_PROG_CC([cc]) + +# For _GNU_SOURCE on Linux, etc. +AC_USE_SYSTEM_EXTENSIONS + +AC_CHECK_HEADERS([ \ + sys/mkdev.h \ +]) + +#HAS_FREEBSD_ACL + +AC_CHECK_FUNC([bindat], + [AC_DEFINE([HAVE_BINDAT], [1], [Define if bindat exists])]) +AC_CHECK_FUNC([chflags], + [AC_DEFINE([HAVE_CHFLAGS], [1], [Define if chflags exists])]) +AC_CHECK_FUNC([chflagsat], + [AC_DEFINE([HAVE_CHFLAGSAT], [1], [Define if chflagsat exists])]) +AC_CHECK_FUNC([connectat], + [AC_DEFINE([HAVE_CONNECTAT], [1], [Define if connectat exists])]) +AC_CHECK_FUNC([faccessat], + [AC_DEFINE([HAVE_FACCESSAT], [1], [Define if faccessat exists])]) +AC_CHECK_FUNC([fchflags], + [AC_DEFINE([HAVE_FCHFLAGS], [1], [Define if fchflags exists])]) +AC_CHECK_FUNC([fchmodat], + [AC_DEFINE([HAVE_FCHMODAT], [1], [Define if fchmodat exists])]) +AC_CHECK_FUNC([fchownat], + [AC_DEFINE([HAVE_FCHOWNAT], [1], [Define if fchownat exists])]) +AC_CHECK_FUNC([fstatat], + [AC_DEFINE([HAVE_FSTATAT], [1], [Define if fstatat exists])]) +AC_CHECK_FUNC([lchflags], + [AC_DEFINE([HAVE_LCHFLAGS], [1], [Define if lchflags exists])]) +AC_CHECK_FUNC([lchmod], + [AC_DEFINE([HAVE_LCHMOD], [1], [Define if lchmod exists])]) +AC_CHECK_FUNC([linkat], + [AC_DEFINE([HAVE_LINKAT], [1], [Define if linkat exists])]) +AC_CHECK_FUNC([lpathconf], + [AC_DEFINE([HAVE_LPATHCONF], [1], [Define if lpathconf exists])]) +AC_CHECK_FUNC([mkdirat], + [AC_DEFINE([HAVE_MKDIRAT], [1], [Define if mkdirat exists])]) +AC_CHECK_FUNC([mkfifoat], + [AC_DEFINE([HAVE_MKFIFOAT], [1], [Define if mkfifoat exists])]) +AC_CHECK_FUNC([mknodat], + [AC_DEFINE([HAVE_MKNODAT], [1], [Define if mknodat exists])]) +AC_CHECK_FUNC([openat], + [AC_DEFINE([HAVE_OPENAT], [1], [Define if openat exists])]) +AC_CHECK_FUNC([posix_fallocate], + [AC_DEFINE([HAVE_POSIX_FALLOCATE], [1], [Define if posix_fallocate exists])]) +AC_CHECK_FUNC([readlinkat], + [AC_DEFINE([HAVE_READLINKAT], [1], [Define if readlinkat exists])]) +AC_CHECK_FUNC([renameat], + [AC_DEFINE([HAVE_RENAMEAT], [1], [Define if renameat exists])]) +AC_CHECK_FUNC([symlinkat], + [AC_DEFINE([HAVE_SYMLINKAT], [1], [Define if symlinkat exists])]) +AC_CHECK_FUNC([utimensat], + [AC_DEFINE([HAVE_UTIMENSAT], [1], [Define if utimensat exists])]) + +# ACL test battery. +AC_CHECK_HEADER([sys/acl.h], [has_sys_acl_h=yes], [has_sys_acl_h=no]) +has_acl_funcs=no +if test x$has_sys_acl_h = xyes; then + AC_DEFINE([HAVE_SYS_ACL_H], [1], + [Define to 1 if sys/acl.h is available]) + AC_CHECK_FUNCS([acl_create_entry_np acl_from_text acl_get_entry acl_get_file acl_set_file], + [has_acl_funcs=yes],[]) +fi +if test x$has_acl_funcs = xyes; then + # Check for NFSv4 ACL support. + AC_CHECK_DECL([ACL_TYPE_NFS4], + [has_nfsv4_acl_support=yes], [has_nfsv4_acl_support=no],[[#include ]]) + if test x$has_nfsv4_acl_support = xyes; then + AC_DEFINE([HAS_NFSV4_ACL_SUPPORT], [1], + [Define to 1 if NFSv4 ACL support is available]) + fi +fi + +AC_CHECK_MEMBERS([struct stat.st_atim, struct stat.st_atimespec], [], [], [[ +#include +#include +]]) + +AC_CHECK_MEMBERS([struct stat.st_birthtim, struct stat.st_birthtime, struct stat.st_birthtimespec], [], [], [[ +#include +#include +]]) + +AC_CHECK_MEMBERS([struct stat.st_ctim, struct stat.st_ctimespec], [], [], [[ +#include +#include +]]) + +AC_CHECK_MEMBERS([struct stat.st_mtim, struct stat.st_mtimespec], [], [], [[ +#include +#include +]]) + +AC_OUTPUT Modified: head/contrib/pjdfstest/pjdfstest.c ============================================================================== --- head/contrib/pjdfstest/pjdfstest.c Wed Jun 28 08:48:09 2017 (r320447) +++ head/contrib/pjdfstest/pjdfstest.c Wed Jun 28 09:22:45 2017 (r320448) @@ -26,14 +26,19 @@ * $FreeBSD$ */ +/* Needs to be first to twiddle appropriate system configuration/HAVE_* flags */ +#include "config.h" + #include -#include +#ifdef HAVE_SYS_ACL_H +#include +#endif +#ifdef HAVE_SYS_MKDEV_H +#include +#endif #include #include #include -#ifndef makedev -#include -#endif #include #include @@ -45,18 +50,15 @@ #include #include -#ifndef HAS_TRUNCATE64 -#define truncate64 truncate -#define ftruncate64 ftruncate +#ifdef __sun__ +#define _USE_STAT64 #endif -#ifndef HAS_STAT64 -#define stat64 stat -#define fstat64 fstat -#define lstat64 lstat + +#ifdef _USE_STAT64 +typedef struct stat64 stat_t; +#else +typedef struct stat stat_t; #endif -#ifdef HAS_FREEBSD_ACL -#include -#endif #ifndef ALLPERMS #define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) @@ -64,69 +66,91 @@ enum action { ACTION_OPEN, +#ifdef HAVE_OPENAT ACTION_OPENAT, +#endif ACTION_CREATE, ACTION_UNLINK, +#ifdef HAVE_UNLINKAT ACTION_UNLINKAT, +#endif ACTION_MKDIR, +#ifdef HAVE_MKDIRAT ACTION_MKDIRAT, +#endif ACTION_RMDIR, ACTION_LINK, +#ifdef HAVE_LINKAT ACTION_LINKAT, +#endif ACTION_SYMLINK, +#ifdef HAVE_SYMLINKAT ACTION_SYMLINKAT, +#endif ACTION_RENAME, +#ifdef HAVE_RENAMEAT ACTION_RENAMEAT, +#endif ACTION_MKFIFO, +#ifdef HAVE_MKFIFOAT ACTION_MKFIFOAT, +#endif ACTION_MKNOD, ACTION_MKNODAT, ACTION_BIND, -#ifdef HAS_BINDAT +#ifdef HAVE_BINDAT ACTION_BINDAT, #endif ACTION_CONNECT, -#ifdef HAS_CONNECTAT +#ifdef HAVE_CONNECTAT ACTION_CONNECTAT, #endif ACTION_CHMOD, ACTION_FCHMOD, -#ifdef HAS_LCHMOD +#ifdef HAVE_LCHMOD ACTION_LCHMOD, #endif ACTION_FCHMODAT, ACTION_CHOWN, ACTION_FCHOWN, ACTION_LCHOWN, +#ifdef HAVE_FCHOWNAT ACTION_FCHOWNAT, -#ifdef HAS_CHFLAGS +#endif +#ifdef HAVE_CHFLAGS ACTION_CHFLAGS, #endif -#ifdef HAS_FCHFLAGS +#ifdef HAVE_FCHFLAGS ACTION_FCHFLAGS, #endif -#ifdef HAS_CHFLAGSAT +#ifdef HAVE_CHFLAGSAT ACTION_CHFLAGSAT, #endif -#ifdef HAS_LCHFLAGS +#ifdef HAVE_LCHFLAGS ACTION_LCHFLAGS, #endif ACTION_TRUNCATE, ACTION_FTRUNCATE, +#ifdef HAVE_POSIX_FALLOCATE + ACTION_POSIX_FALLOCATE, +#endif ACTION_STAT, ACTION_FSTAT, ACTION_LSTAT, ACTION_FSTATAT, ACTION_PATHCONF, ACTION_FPATHCONF, -#ifdef HAS_LPATHCONF +#ifdef HAVE_LPATHCONF ACTION_LPATHCONF, #endif -#ifdef HAS_FREEBSD_ACL +#ifdef HAS_NFSV4_ACL_SUPPORT ACTION_PREPENDACL, ACTION_READACL, #endif ACTION_WRITE, +#ifdef HAVE_UTIMENSAT + ACTION_UTIMENSAT, +#endif }; #define TYPE_NONE 0x0000 @@ -147,69 +171,104 @@ struct syscall_desc { static struct syscall_desc syscalls[] = { { "open", ACTION_OPEN, { TYPE_STRING, TYPE_STRING, TYPE_NUMBER | TYPE_OPTIONAL, TYPE_NONE } }, +#ifdef HAVE_OPENAT { "openat", ACTION_OPENAT, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_STRING, TYPE_NUMBER | TYPE_OPTIONAL, TYPE_NONE } }, +#endif { "create", ACTION_CREATE, { TYPE_STRING, TYPE_NUMBER, TYPE_NONE } }, { "unlink", ACTION_UNLINK, { TYPE_STRING, TYPE_NONE } }, +#ifdef HAVE_UNLINKAT { "unlinkat", ACTION_UNLINKAT, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_STRING, TYPE_NONE } }, +#endif { "mkdir", ACTION_MKDIR, { TYPE_STRING, TYPE_NUMBER, TYPE_NONE } }, +#ifdef HAVE_MKDIRAT { "mkdirat", ACTION_MKDIRAT, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_NUMBER, TYPE_NONE } }, +#endif { "rmdir", ACTION_RMDIR, { TYPE_STRING, TYPE_NONE } }, { "link", ACTION_LINK, { TYPE_STRING, TYPE_STRING, TYPE_NONE } }, +#ifdef HAVE_LINKAT { "linkat", ACTION_LINKAT, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_DESCRIPTOR, TYPE_STRING, TYPE_STRING, TYPE_NONE } }, +#endif { "symlink", ACTION_SYMLINK, { TYPE_STRING, TYPE_STRING, TYPE_NONE } }, +#ifdef HAVE_SYMLINKAT { "symlinkat", ACTION_SYMLINKAT, { TYPE_STRING, TYPE_DESCRIPTOR, TYPE_STRING, TYPE_NONE } }, +#endif { "rename", ACTION_RENAME, { TYPE_STRING, TYPE_STRING, TYPE_NONE } }, +#ifdef HAVE_RENAMEAT { "renameat", ACTION_RENAMEAT, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_DESCRIPTOR, TYPE_STRING, TYPE_NONE } }, +#endif { "mkfifo", ACTION_MKFIFO, { TYPE_STRING, TYPE_NUMBER, TYPE_NONE } }, +#ifdef HAVE_MKFIFOAT { "mkfifoat", ACTION_MKFIFOAT, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_NUMBER, TYPE_NONE } }, +#endif { "mknod", ACTION_MKNOD, { TYPE_STRING, TYPE_STRING, TYPE_NUMBER, TYPE_NUMBER, TYPE_NUMBER, TYPE_NONE} }, +#ifdef HAVE_MKNODAT { "mknodat", ACTION_MKNODAT, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_STRING, TYPE_NUMBER, TYPE_NUMBER, TYPE_NUMBER, TYPE_NONE} }, +#endif { "bind", ACTION_BIND, { TYPE_STRING, TYPE_NONE } }, -#ifdef HAS_BINDAT +#ifdef HAVE_BINDAT { "bindat", ACTION_BINDAT, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_NONE } }, #endif { "connect", ACTION_CONNECT, { TYPE_STRING, TYPE_NONE } }, -#ifdef HAS_CONNECTAT +#ifdef HAVE_CONNECTAT { "connectat", ACTION_CONNECTAT, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_NONE } }, #endif { "chmod", ACTION_CHMOD, { TYPE_STRING, TYPE_NUMBER, TYPE_NONE } }, { "fchmod", ACTION_FCHMOD, { TYPE_DESCRIPTOR, TYPE_NUMBER, TYPE_NONE } }, -#ifdef HAS_LCHMOD +#ifdef HAVE_LCHMOD { "lchmod", ACTION_LCHMOD, { TYPE_STRING, TYPE_NUMBER, TYPE_NONE } }, #endif +#ifdef HAVE_FCHMODAT { "fchmodat", ACTION_FCHMODAT, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_NUMBER, TYPE_STRING, TYPE_NONE } }, +#endif { "chown", ACTION_CHOWN, { TYPE_STRING, TYPE_NUMBER, TYPE_NUMBER, TYPE_NONE } }, { "fchown", ACTION_FCHOWN, { TYPE_DESCRIPTOR, TYPE_NUMBER, TYPE_NUMBER, TYPE_NONE } }, { "lchown", ACTION_LCHOWN, { TYPE_STRING, TYPE_NUMBER, TYPE_NUMBER, TYPE_NONE } }, +#ifdef HAVE_FCHOWNAT { "fchownat", ACTION_FCHOWNAT, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_NUMBER, TYPE_NUMBER, TYPE_STRING, TYPE_NONE } }, -#ifdef HAS_CHFLAGS +#endif +#ifdef HAVE_CHFLAGS { "chflags", ACTION_CHFLAGS, { TYPE_STRING, TYPE_STRING, TYPE_NONE } }, #endif -#ifdef HAS_FCHFLAGS +#ifdef HAVE_FCHFLAGS { "fchflags", ACTION_FCHFLAGS, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_NONE } }, #endif -#ifdef HAS_CHFLAGSAT +#ifdef HAVE_CHFLAGSAT { "chflagsat", ACTION_CHFLAGSAT, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_STRING, TYPE_STRING, TYPE_NONE } }, #endif -#ifdef HAS_LCHFLAGS +#ifdef HAVE_LCHFLAGS { "lchflags", ACTION_LCHFLAGS, { TYPE_STRING, TYPE_STRING, TYPE_NONE } }, #endif { "truncate", ACTION_TRUNCATE, { TYPE_STRING, TYPE_NUMBER, TYPE_NONE } }, { "ftruncate", ACTION_FTRUNCATE, { TYPE_DESCRIPTOR, TYPE_NUMBER, TYPE_NONE } }, +#ifdef HAVE_POSIX_FALLOCATE + { "posix_fallocate", ACTION_POSIX_FALLOCATE, { TYPE_DESCRIPTOR, TYPE_NUMBER, TYPE_NUMBER, TYPE_NONE } }, +#endif { "stat", ACTION_STAT, { TYPE_STRING, TYPE_STRING, TYPE_NONE } }, { "fstat", ACTION_FSTAT, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_NONE } }, { "lstat", ACTION_LSTAT, { TYPE_STRING, TYPE_STRING, TYPE_NONE } }, +#ifdef HAVE_FSTATAT { "fstatat", ACTION_FSTATAT, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_STRING, TYPE_STRING, TYPE_NONE } }, +#endif { "pathconf", ACTION_PATHCONF, { TYPE_STRING, TYPE_STRING, TYPE_NONE } }, { "fpathconf", ACTION_FPATHCONF, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_NONE } }, -#ifdef HAS_LPATHCONF +#ifdef HAVE_LPATHCONF { "lpathconf", ACTION_LPATHCONF, { TYPE_STRING, TYPE_STRING, TYPE_NONE } }, #endif -#ifdef HAS_FREEBSD_ACL +#ifdef HAS_NFSV4_ACL_SUPPORT { "prependacl", ACTION_PREPENDACL, { TYPE_STRING, TYPE_STRING, TYPE_NONE } }, { "readacl", ACTION_READACL, { TYPE_STRING, TYPE_NONE } }, #endif { "write", ACTION_WRITE, { TYPE_DESCRIPTOR, TYPE_STRING, TYPE_NONE } }, +#ifdef HAVE_UTIMENSAT + { "utimensat", ACTION_UTIMENSAT, { + TYPE_DESCRIPTOR, /* Directory */ + TYPE_STRING, /* Relative path */ + TYPE_NUMBER, /* atime seconds */ + TYPE_STRING, /* atime nanoseconds */ + TYPE_NUMBER, /* mtime seconds */ + TYPE_STRING, /* mtime nanoseconds */ + TYPE_STRING, /* flags */}}, +#endif { NULL, -1, { TYPE_NONE } } }; @@ -219,122 +278,136 @@ struct flag { }; static struct flag open_flags[] = { -#ifdef O_RDONLY +#ifdef O_RDONLY { O_RDONLY, "O_RDONLY" }, #endif -#ifdef O_WRONLY +#ifdef O_WRONLY { O_WRONLY, "O_WRONLY" }, #endif -#ifdef O_RDWR +#ifdef O_RDWR { O_RDWR, "O_RDWR" }, #endif -#ifdef O_NONBLOCK +#ifdef O_NONBLOCK { O_NONBLOCK, "O_NONBLOCK" }, #endif -#ifdef O_APPEND +#ifdef O_APPEND { O_APPEND, "O_APPEND" }, #endif -#ifdef O_CREAT +#ifdef O_CREAT { O_CREAT, "O_CREAT" }, #endif -#ifdef O_TRUNC +#ifdef O_TRUNC { O_TRUNC, "O_TRUNC" }, #endif -#ifdef O_EXCL +#ifdef O_EXCL { O_EXCL, "O_EXCL" }, #endif -#ifdef O_SHLOCK +#ifdef O_SHLOCK { O_SHLOCK, "O_SHLOCK" }, #endif -#ifdef O_EXLOCK +#ifdef O_EXLOCK { O_EXLOCK, "O_EXLOCK" }, #endif -#ifdef O_DIRECT +#ifdef O_DIRECT { O_DIRECT, "O_DIRECT" }, #endif -#ifdef O_FSYNC +#ifdef O_FSYNC { O_FSYNC, "O_FSYNC" }, #endif -#ifdef O_SYNC +#ifdef O_SYNC { O_SYNC, "O_SYNC" }, #endif -#ifdef O_NOFOLLOW +#ifdef O_NOFOLLOW { O_NOFOLLOW, "O_NOFOLLOW" }, #endif -#ifdef O_NOCTTY +#ifdef O_NOCTTY { O_NOCTTY, "O_NOCTTY" }, #endif -#ifdef O_DIRECTORY +#ifdef O_DIRECTORY { O_DIRECTORY, "O_DIRECTORY" }, #endif { 0, NULL } }; -#ifdef HAS_CHFLAGS +#ifdef HAVE_CHFLAGS static struct flag chflags_flags[] = { -#ifdef UF_NODUMP +#ifdef UF_NODUMP { UF_NODUMP, "UF_NODUMP" }, #endif -#ifdef UF_IMMUTABLE +#ifdef UF_IMMUTABLE { UF_IMMUTABLE, "UF_IMMUTABLE" }, #endif -#ifdef UF_APPEND +#ifdef UF_APPEND { UF_APPEND, "UF_APPEND" }, #endif -#ifdef UF_NOUNLINK +#ifdef UF_NOUNLINK { UF_NOUNLINK, "UF_NOUNLINK" }, #endif -#ifdef UF_OPAQUE +#ifdef UF_OPAQUE { UF_OPAQUE, "UF_OPAQUE" }, #endif -#ifdef SF_ARCHIVED +#ifdef SF_ARCHIVED { SF_ARCHIVED, "SF_ARCHIVED" }, #endif -#ifdef SF_IMMUTABLE +#ifdef SF_IMMUTABLE { SF_IMMUTABLE, "SF_IMMUTABLE" }, #endif -#ifdef SF_APPEND +#ifdef SF_APPEND { SF_APPEND, "SF_APPEND" }, #endif -#ifdef SF_NOUNLINK +#ifdef SF_NOUNLINK { SF_NOUNLINK, "SF_NOUNLINK" }, #endif -#ifdef SF_SNAPSHOT +#ifdef SF_SNAPSHOT { SF_SNAPSHOT, "SF_SNAPSHOT" }, #endif { 0, NULL } }; #endif +#ifdef HAVE_UNLINKAT static struct flag unlinkat_flags[] = { { AT_REMOVEDIR, "AT_REMOVEDIR" }, { 0, NULL } }; +#endif +#ifdef HAVE_LINKAT static struct flag linkat_flags[] = { +#ifdef AT_SYMLINK_FOLLOW { AT_SYMLINK_FOLLOW, "AT_SYMLINK_FOLLOW" }, +#endif { 0, NULL } }; +#endif +#ifdef HAVE_CHFLAGSAT static struct flag chflagsat_flags[] = { { AT_SYMLINK_NOFOLLOW, "AT_SYMLINK_NOFOLLOW" }, { 0, NULL } }; +#endif +#ifdef HAVE_FCHMODAT static struct flag fchmodat_flags[] = { { AT_SYMLINK_NOFOLLOW, "AT_SYMLINK_NOFOLLOW" }, { 0, NULL } }; +#endif +#ifdef HAVE_FCHOWNAT static struct flag fchownat_flags[] = { { AT_SYMLINK_NOFOLLOW, "AT_SYMLINK_NOFOLLOW" }, { 0, NULL } }; +#endif +#ifdef HAVE_FSTATAT static struct flag fstatat_flags[] = { { AT_SYMLINK_NOFOLLOW, "AT_SYMLINK_NOFOLLOW" }, { 0, NULL } }; +#endif struct name { int n_name; @@ -342,16 +415,16 @@ struct name { }; static struct name pathconf_names[] = { -#ifdef _PC_LINK_MAX +#ifdef _PC_LINK_MAX { _PC_LINK_MAX, "_PC_LINK_MAX" }, #endif -#ifdef _PC_NAME_MAX +#ifdef _PC_NAME_MAX { _PC_NAME_MAX, "_PC_NAME_MAX" }, #endif -#ifdef _PC_PATH_MAX +#ifdef _PC_PATH_MAX { _PC_PATH_MAX, "_PC_PATH_MAX" }, #endif -#ifdef _PC_SYMLINK_MAX +#ifdef _PC_SYMLINK_MAX { _PC_SYMLINK_MAX, "_PC_SYMLINK_MAX" }, #endif { 0, NULL } @@ -394,7 +467,7 @@ str2flags(struct flag *tflags, char *sflags) return (flags); } -#ifdef HAS_CHFLAGS +#ifdef HAVE_CHFLAGS static char * flags2str(struct flag *tflags, long long flags) { @@ -440,7 +513,7 @@ find_syscall(const char *name) } static void -show_stat(struct stat64 *sp, const char *what) +show_stat(stat_t *sp, const char *what) { if (strcmp(what, "mode") == 0) @@ -459,11 +532,51 @@ show_stat(struct stat64 *sp, const char *what) printf("%lld", (long long)sp->st_blocks); else if (strcmp(what, "atime") == 0) printf("%lld", (long long)sp->st_atime); - else if (strcmp(what, "mtime") == 0) - printf("%lld", (long long)sp->st_mtime); +#if defined(HAVE_STRUCT_STAT_ST_ATIM) || \ + defined(HAVE_STRUCT_STAT_ST_ATIMESPEC) + else if (strcmp(what, "atime_ns") == 0) +#ifdef HAVE_STRUCT_STAT_ST_ATIMESPEC + printf("%lld", (long long)sp->st_atimespec.tv_nsec); +#else + printf("%lld", (long long)sp->st_atim.tv_nsec); +#endif +#endif /* st_atim* */ else if (strcmp(what, "ctime") == 0) printf("%lld", (long long)sp->st_ctime); -#ifdef HAS_CHFLAGS +#if defined(HAVE_STRUCT_STAT_ST_CTIM) || \ + defined(HAVE_STRUCT_STAT_ST_CTIMESPEC) + else if (strcmp(what, "ctime_ns") == 0) +#ifdef HAVE_STRUCT_STAT_ST_CTIMESPEC + printf("%lld", (long long)sp->st_ctimespec.tv_nsec); +#else + printf("%lld", (long long)sp->st_ctim.tv_nsec); +#endif +#endif /* st_ctim* */ + else if (strcmp(what, "mtime") == 0) + printf("%lld", (long long)sp->st_mtime); + else if (strcmp(what, "mtime_ns") == 0) +#if defined(HAVE_STRUCT_STAT_ST_MTIM) || \ + defined(HAVE_STRUCT_STAT_ST_MTIMESPEC) +#ifdef HAVE_STRUCT_STAT_ST_MTIMESPEC + printf("%lld", (long long)sp->st_mtimespec.tv_nsec); +#else + printf("%lld", (long long)sp->st_mtim.tv_nsec); +#endif +#endif /* st_mtim* */ +#ifdef HAVE_STRUCT_STAT_ST_BIRTHTIME + else if (strcmp(what, "birthtime") == 0) + printf("%lld", (long long)sp->st_birthtime); +#endif /* st_birthtime */ +#if defined(HAVE_STRUCT_STAT_ST_BIRTHTIM) || \ + defined(HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC) + else if (strcmp(what, "birthtime_ns") == 0) +#ifdef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC + printf("%lld", (long long)sp->st_birthtimespec.tv_nsec); +#else + printf("%lld", (long long)sp->st_birthtim.tv_nsec); +#endif +#endif /* st_birthtim{,espec} */ +#ifdef HAVE_CHFLAGS else if (strcmp(what, "flags") == 0) printf("%s", flags2str(chflags_flags, (long long)sp->st_flags)); #endif @@ -504,7 +617,7 @@ show_stat(struct stat64 *sp, const char *what) } static void -show_stats(struct stat64 *sp, char *what) +show_stats(stat_t *sp, char *what) { const char *s = ""; char *w; @@ -547,7 +660,11 @@ descriptor_get(int pos) static unsigned int call_syscall(struct syscall_desc *scall, char *argv[]) { - struct stat64 sb; + stat_t sb; +#ifdef HAVE_UTIMENSAT + struct timespec times[2]; + int flag; +#endif long long flags; unsigned int i; char *endp; @@ -556,7 +673,7 @@ call_syscall(struct syscall_desc *scall, char *argv[]) char *str; long long num; } args[MAX_ARGS]; -#ifdef HAS_FREEBSD_ACL +#ifdef HAS_NFSV4_ACL_SUPPORT int entry_id = ACL_FIRST_ENTRY; acl_t acl, newacl; acl_entry_t entry, newentry; @@ -645,6 +762,7 @@ call_syscall(struct syscall_desc *scall, char *argv[]) if (rval >= 0) descriptor_add(rval); break; +#ifdef HAVE_OPENAT case ACTION_OPENAT: flags = str2flags(open_flags, STR(2)); if (flags & O_CREAT) { @@ -664,6 +782,7 @@ call_syscall(struct syscall_desc *scall, char *argv[]) if (rval >= 0) descriptor_add(rval); break; +#endif case ACTION_CREATE: rval = open(STR(0), O_CREAT | O_EXCL, (mode_t)NUM(1)); if (rval >= 0) @@ -672,46 +791,60 @@ call_syscall(struct syscall_desc *scall, char *argv[]) case ACTION_UNLINK: rval = unlink(STR(0)); break; +#ifdef HAVE_UNLINKAT case ACTION_UNLINKAT: rval = unlinkat(NUM(0), STR(1), (int)str2flags(unlinkat_flags, STR(2))); break; +#endif case ACTION_MKDIR: rval = mkdir(STR(0), (mode_t)NUM(1)); break; +#ifdef HAVE_MKDIRAT case ACTION_MKDIRAT: rval = mkdirat(NUM(0), STR(1), (mode_t)NUM(2)); break; +#endif case ACTION_RMDIR: rval = rmdir(STR(0)); break; case ACTION_LINK: rval = link(STR(0), STR(1)); break; +#ifdef HAVE_LINKAT case ACTION_LINKAT: rval = linkat(NUM(0), STR(1), NUM(2), STR(3), (int)str2flags(linkat_flags, STR(4))); break; +#endif case ACTION_SYMLINK: rval = symlink(STR(0), STR(1)); break; +#ifdef HAVE_SYMLINKAT case ACTION_SYMLINKAT: rval = symlinkat(STR(0), NUM(1), STR(2)); break; +#endif case ACTION_RENAME: rval = rename(STR(0), STR(1)); break; +#ifdef HAVE_RENAMEAT case ACTION_RENAMEAT: rval = renameat(NUM(0), STR(1), NUM(2), STR(3)); break; +#endif case ACTION_MKFIFO: rval = mkfifo(STR(0), (mode_t)NUM(1)); break; +#ifdef HAVE_MKFIFOAT case ACTION_MKFIFOAT: rval = mkfifoat(NUM(0), STR(1), (mode_t)NUM(2)); break; +#endif case ACTION_MKNOD: +#ifdef HAVE_MKNODAT case ACTION_MKNODAT: +#endif { mode_t ntype; dev_t dev; @@ -721,9 +854,11 @@ call_syscall(struct syscall_desc *scall, char *argv[]) case ACTION_MKNOD: fa = 0; break; +#ifdef HAVE_MKNODAT case ACTION_MKNODAT: fa = 1; break; +#endif default: abort(); } @@ -747,9 +882,11 @@ call_syscall(struct syscall_desc *scall, char *argv[]) case ACTION_MKNOD: rval = mknod(STR(0), ntype | NUM(2), dev); break; +#ifdef HAVE_MKNODAT case ACTION_MKNODAT: rval = mknodat(NUM(0), STR(1), ntype | NUM(3), dev); break; +#endif default: abort(); } @@ -768,7 +905,7 @@ call_syscall(struct syscall_desc *scall, char *argv[]) rval = bind(rval, (struct sockaddr *)&sunx, sizeof(sunx)); break; } -#ifdef HAS_BINDAT +#ifdef HAVE_BINDAT case ACTION_BINDAT: { struct sockaddr_un sunx; @@ -797,7 +934,7 @@ call_syscall(struct syscall_desc *scall, char *argv[]) rval = connect(rval, (struct sockaddr *)&sunx, sizeof(sunx)); break; } -#ifdef HAS_CONNECTAT +#ifdef HAVE_CONNECTAT case ACTION_CONNECTAT: { struct sockaddr_un sunx; @@ -819,15 +956,17 @@ call_syscall(struct syscall_desc *scall, char *argv[]) case ACTION_FCHMOD: rval = fchmod(NUM(0), (mode_t)NUM(1)); break; -#ifdef HAS_LCHMOD +#ifdef HAVE_LCHMOD case ACTION_LCHMOD: rval = lchmod(STR(0), (mode_t)NUM(1)); break; #endif +#ifdef HAVE_FCHMODAT case ACTION_FCHMODAT: rval = fchmodat(NUM(0), STR(1), (mode_t)NUM(2), str2flags(fchmodat_flags, STR(3))); break; +#endif case ACTION_CHOWN: rval = chown(STR(0), (uid_t)NUM(1), (gid_t)NUM(2)); break; @@ -837,62 +976,94 @@ call_syscall(struct syscall_desc *scall, char *argv[]) case ACTION_LCHOWN: rval = lchown(STR(0), (uid_t)NUM(1), (gid_t)NUM(2)); break; +#ifdef HAVE_FCHOWNAT case ACTION_FCHOWNAT: rval = fchownat(NUM(0), STR(1), (uid_t)NUM(2), (gid_t)NUM(3), (int)str2flags(fchownat_flags, STR(4))); break; -#ifdef HAS_CHFLAGS +#endif +#ifdef HAVE_CHFLAGS case ACTION_CHFLAGS: rval = chflags(STR(0), (unsigned long)str2flags(chflags_flags, STR(1))); break; #endif -#ifdef HAS_FCHFLAGS +#ifdef HAVE_FCHFLAGS case ACTION_FCHFLAGS: rval = fchflags(NUM(0), (unsigned long)str2flags(chflags_flags, STR(1))); break; #endif -#ifdef HAS_CHFLAGSAT +#ifdef HAVE_CHFLAGSAT case ACTION_CHFLAGSAT: rval = chflagsat(NUM(0), STR(1), (unsigned long)str2flags(chflags_flags, STR(2)), (int)str2flags(chflagsat_flags, STR(3))); break; #endif *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Wed Jun 28 09:25:17 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2037ED9D2E4; Wed, 28 Jun 2017 09:25:17 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DF5CE71C69; Wed, 28 Jun 2017 09:25:16 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5S9PFUP021863; Wed, 28 Jun 2017 09:25:15 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5S9PFue021862; Wed, 28 Jun 2017 09:25:15 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706280925.v5S9PFue021862@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Wed, 28 Jun 2017 09:25:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320450 - head X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 320450 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 09:25:17 -0000 Author: ngie Date: Wed Jun 28 09:25:15 2017 New Revision: 320450 URL: https://svnweb.freebsd.org/changeset/base/320450 Log: Add asomers as a pjdfstest co-maintainer per the project status change made upstream. MFC after: 1 month Modified: head/MAINTAINERS Modified: head/MAINTAINERS ============================================================================== --- head/MAINTAINERS Wed Jun 28 09:23:47 2017 (r320449) +++ head/MAINTAINERS Wed Jun 28 09:25:15 2017 (r320450) @@ -43,7 +43,7 @@ contrib/libcxxrt dim Pre-commit review preferred. contrib/llvm dim Pre-commit review preferred. contrib/llvm/tools/lldb emaste Pre-commit review preferred. contrib/netbsd-tests freebsd-testing,ngie Pre-commit review requested. -contrib/pjdfstest freebsd-testing,ngie,pjd Pre-commit review requested. +contrib/pjdfstest freebsd-testing,asomers,ngie,pjd Pre-commit review requested. dev/usb/wlan adrian Pre-commit review requested, send to freebsd-wireless@freebsd.org *env(3) secteam Due to the problematic security history of this code, please have patches reviewed by secteam. From owner-svn-src-head@freebsd.org Wed Jun 28 12:56:13 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5DCD5DA1F09; Wed, 28 Jun 2017 12:56:13 +0000 (UTC) (envelope-from etnapierala@gmail.com) Received: from mail-ua0-x231.google.com (mail-ua0-x231.google.com [IPv6:2607:f8b0:400c:c08::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 12F2278571; Wed, 28 Jun 2017 12:56:13 +0000 (UTC) (envelope-from etnapierala@gmail.com) Received: by mail-ua0-x231.google.com with SMTP id g40so37047278uaa.3; Wed, 28 Jun 2017 05:56:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=tvDaSLlXm7dIJ5RYd0pLAp+piF82oYnr+G1oJjQeFqM=; b=cLu+oJnB5EwtzdWVCkPkCfA1zwfRIXvHuQmSL0Yuf2+WA/wDbSBzTZX3adNVqd4OvW ze4KdBt1vGrkbZgi3ffqBBADMXs+wWAe8uAOkFHBsgEvXDUHMKGqA+4Gec2CzVwdNMez FQKlo0jZtSZBYA6tiPtjjyxSStKGiZHylZ9w+34NIIpMg6HifIISNidrT63zg4cHEcXi VkNzEZUngEwN1xUbTmoORV+vMoVsCI7AfPEpls+0TXBFO8P0VcgUAlRepHCf3x/hMTta EdtWd2QyNFQCs2e17bbiApu+To/5KMBh5l3rghal5jt5cDGnhUF5PBFtMKmgIE5oWUal KhJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=tvDaSLlXm7dIJ5RYd0pLAp+piF82oYnr+G1oJjQeFqM=; b=lNFydi3Wqro8RMk0bKeobRoEx4Dj5SqzbWNcMB9nf9j5PPC6V+iEqpC7V1FvsdnIfr CrA8BKguEPqe47csCEi73P4mWWXaUAv/2TAVr69RBmQmQryfpadD3lNNL818TICB+0rY CpFur547x3d+V1GdnNBj5H3jQDY6hcpyLkTuKlRgdTMe1wCa/LbkotwA+ksOPZwY8LmI xmkQZB6zsBeVGOat+6Fb0eY96SFhhtU36rX74Z8MJY7g6Eak7ZWHTP659ooizGvLO3Qa EmZDurz4iyLKkoV/cdoH/kCsBcDn4YM/W1ut6rpuZheIBq1rczXjcXpiUdq7Ni7v6KPA JKpw== X-Gm-Message-State: AKS2vOwC3v9MBLlxontr43xr7tey7inpZfk/P6kF29dKuic7AyADsmuf xNXo7FIRxw0rlMBiHYq5cRWqJswowg== X-Received: by 10.159.36.209 with SMTP id 75mr5082274uar.72.1498654572097; Wed, 28 Jun 2017 05:56:12 -0700 (PDT) MIME-Version: 1.0 Sender: etnapierala@gmail.com Received: by 10.176.83.198 with HTTP; Wed, 28 Jun 2017 05:56:11 -0700 (PDT) In-Reply-To: <201706270348.v5R3mvkV076055@slippy.cwsent.com> References: <201706270348.v5R3mvkV076055@slippy.cwsent.com> From: Edward Napierala Date: Wed, 28 Jun 2017 13:56:11 +0100 X-Google-Sender-Auth: Mv3IsXvKYmJVMySvEzreYcRqmP8 Message-ID: Subject: Re: svn commit: r320362 - head/share/zoneinfo To: Cy Schubert Cc: Sean Bruno , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 12:56:13 -0000 This patch seems to fix the problem with "make -j4 installworld" for me. Do you intend to commit it? Thanks! (And sorry for the breakage.) 2017-06-27 4:48 GMT+01:00 Cy Schubert : > (since we're top posting.... ) > > Hi Sean, > > Do you want to give this a spin? > > Index: share/zoneinfo/Makefile > =================================================================== > --- share/zoneinfo/Makefile (revision 320389) > +++ share/zoneinfo/Makefile (working copy) > @@ -94,7 +94,7 @@ > .for f in ${TZS} > ${INSTALL} ${TAG_ARGS} \ > -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > - ${TZBUILDDIR:C,^${.OBJDIR}/,,}/${f} > ${DESTDIR}/usr/share/zoneinfo/${f} > + ${TZBUILDDIR}/${f} ${DESTDIR}/usr/share/zoneinfo/${f} > .endfor > ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ > > ~cy > > > In message , Sean Bruno > write > s: > > This is an OpenPGP/MIME signed message (RFC 4880 and 3156) > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f > > Content-Type: multipart/mixed; boundary="VFqTarnRbgKj5gwWULxfLoTjWIwLn2 > loQ"; > > protected-headers="v1" > > From: Sean Bruno > > To: Edward Tomasz Napierala , > src-committers@freebsd.org, > > svn-src-all@freebsd.org, svn-src-head@freebsd.org > > Message-ID: > > Subject: Re: svn commit: r320362 - head/share/zoneinfo > > References: <201706261540.v5QFeOTj072841@repo.freebsd.org> > > In-Reply-To: <201706261540.v5QFeOTj072841@repo.freebsd.org> > > > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ > > Content-Type: text/plain; charset=utf-8 > > Content-Language: en-US > > Content-Transfer-Encoding: quoted-printable > > > > Hmmm ... This seems to break 'poudriere jail -c jailname -m > src=3D/usr/sr= > > c > > -v head" > > > > --- realinstall_subdir_share/zoneinfo --- > > install: builddir/Africa/Abidjan: No such file or directory > > > > > > On 06/26/17 09:40, Edward Tomasz Napierala wrote: > > > Author: trasz > > > Date: Mon Jun 26 15:40:24 2017 > > > New Revision: 320362 > > > URL: https://svnweb.freebsd.org/changeset/base/320362 > > >=20 > > > Log: > > > Provide visual feedback when timezone files are installed. > > > After r320003 it wasn't being shown in any way. > > > =20 > > > Submitted by: bdrewery > > > MFC after: 1 month > > > Differential Revision: https://reviews.freebsd.org/D11154 > > >=20 > > > Modified: > > > head/share/zoneinfo/Makefile > > >=20 > > > Modified: head/share/zoneinfo/Makefile > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > 3D=3D=3D=3D=3D= > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > 3D=3D=3D=3D=3D=3D= > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > 3D=3D=3D=3D=3D=3D= > > =3D=3D=3D=3D > > > --- head/share/zoneinfo/Makefile Mon Jun 26 15:23:12 2017 > (r32036 > > 1) > > > +++ head/share/zoneinfo/Makefile Mon Jun 26 15:40:24 2017 > (r32036 > > 2) > > > @@ -83,14 +83,19 @@ zoneinfo: yearistype ${TDATA} > > > zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \ > > > ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES} > > > =20 > > > +.if make(*install*) > > > +TZS!=3D cd ${TZBUILDDIR} && find -s * -type f > > > +.endif > > > + > > > beforeinstall: install-zoneinfo > > > install-zoneinfo: > > > mkdir -p ${DESTDIR}/usr/share/zoneinfo > > > cd ${DESTDIR}/usr/share/zoneinfo; mkdir -p ${TZBUILDSUBDIRS} > > > - cd ${TZBUILDDIR} && \ > > > - find -s * -type f -exec ${INSTALL} ${TAG_ARGS} \ > > > +.for f in ${TZS} > > > + ${INSTALL} ${TAG_ARGS} \ > > > -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > > > - \{} ${DESTDIR}/usr/share/zoneinfo/\{} \; > > > + ${TZBUILDDIR:C,^${.OBJDIR}/,,}/${f} > ${DESTDIR}/usr/share/zoneinfo= > > /${f} > > > +.endfor > > > ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > > > ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ > > > =20 > > >=20 > > >=20 > > > > > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ-- > > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f > > Content-Type: application/pgp-signature; name="signature.asc" > > Content-Description: OpenPGP digital signature > > Content-Disposition: attachment; filename="signature.asc" > > > > -----BEGIN PGP SIGNATURE----- > > > > iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/LYFAllRUJtfFIAAAAAALgAo > > aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEU4 > > QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgkQveT1/om1 > > /LaIFggAlEX4pLTfDUaRsGoxWbGI0DiirmhR1nW74ESXjGXd4u9WSYKfvxK+oGPJ > > LRwxcimGw/v+h8piM102ijsmquE0+NlyyMAYjFNLb9tsZuR+kfzRbDwqiu3FNg8R > > zDnsvo69JHiyoi7r9BJB30Q6P9fZDGBtCrSQ9Up2IUiPHjz+pLUK6jxy29wflPSr > > qVDHitG2A7l7Sdn3Jsj8MWNw/4ehRNlhxudgg+F8v7tEJH9eNBpP6K6jR6B+aU/P > > VCPrKO1rRmmJTPxxPwskLLX4/xXrf8hmUFTm0uBbLtKbvzsaO5IZ9HKXJdYFlaRo > > dCw6yY1xFlMv/OrUWgSxj02fsd7GHg== > > =9Mia > > -----END PGP SIGNATURE----- > > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f-- > > > > > > -- > Cheers, > Cy Schubert > FreeBSD UNIX: Web: http://www.FreeBSD.org > > The need of the many outweighs the greed of the few. > > > From owner-svn-src-head@freebsd.org Wed Jun 28 13:56:17 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 17C34DA2CC3; Wed, 28 Jun 2017 13:56:17 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E7D0379EFA; Wed, 28 Jun 2017 13:56:16 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5SDuGwq033528; Wed, 28 Jun 2017 13:56:16 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5SDuGtV033527; Wed, 28 Jun 2017 13:56:16 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201706281356.v5SDuGtV033527@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Wed, 28 Jun 2017 13:56:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320451 - head/sys/fs/fuse X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/sys/fs/fuse X-SVN-Commit-Revision: 320451 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 13:56:17 -0000 Author: cem Date: Wed Jun 28 13:56:15 2017 New Revision: 320451 URL: https://svnweb.freebsd.org/changeset/base/320451 Log: Complete support for IO_APPEND flag in fuse This finishes what r245164 started and makes open(..., O_APPEND) work again after r299753. - Pass ioflags, incl. IO_APPEND, down to the direct write backend (r245164 added it to only the bio backend). - (r299753 changed the WRONLY backend from bio to direct.) PR: 220185 Reported by: Ben RUBSON Reviewed by: bapt@, rmacklem@ Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D11348 Modified: head/sys/fs/fuse/fuse_io.c Modified: head/sys/fs/fuse/fuse_io.c ============================================================================== --- head/sys/fs/fuse/fuse_io.c Wed Jun 28 09:25:15 2017 (r320450) +++ head/sys/fs/fuse/fuse_io.c Wed Jun 28 13:56:15 2017 (r320451) @@ -108,7 +108,7 @@ fuse_read_biobackend(struct vnode *vp, struct uio *uio struct ucred *cred, struct fuse_filehandle *fufh); static int fuse_write_directbackend(struct vnode *vp, struct uio *uio, - struct ucred *cred, struct fuse_filehandle *fufh); + struct ucred *cred, struct fuse_filehandle *fufh, int ioflag); static int fuse_write_biobackend(struct vnode *vp, struct uio *uio, struct ucred *cred, struct fuse_filehandle *fufh, int ioflag); @@ -156,7 +156,7 @@ fuse_io_dispatch(struct vnode *vp, struct uio *uio, in if (directio) { FS_DEBUG("direct write of vnode %ju via file handle %ju\n", (uintmax_t)VTOILLU(vp), (uintmax_t)fufh->fh_id); - err = fuse_write_directbackend(vp, uio, cred, fufh); + err = fuse_write_directbackend(vp, uio, cred, fufh, ioflag); } else { FS_DEBUG("buffered write of vnode %ju\n", (uintmax_t)VTOILLU(vp)); @@ -318,7 +318,7 @@ out: static int fuse_write_directbackend(struct vnode *vp, struct uio *uio, - struct ucred *cred, struct fuse_filehandle *fufh) + struct ucred *cred, struct fuse_filehandle *fufh, int ioflag) { struct fuse_vnode_data *fvdat = VTOFUD(vp); struct fuse_write_in *fwi; @@ -327,8 +327,10 @@ fuse_write_directbackend(struct vnode *vp, struct uio int diff; int err = 0; - if (!uio->uio_resid) + if (uio->uio_resid == 0) return (0); + if (ioflag & IO_APPEND) + uio_setoffset(uio, fvdat->filesize); fdisp_init(&fdi, 0); @@ -705,7 +707,7 @@ fuse_io_strategy(struct vnode *vp, struct buf *bp) io.iov_base = (char *)bp->b_data + bp->b_dirtyoff; uiop->uio_rw = UIO_WRITE; - error = fuse_write_directbackend(vp, uiop, cred, fufh); + error = fuse_write_directbackend(vp, uiop, cred, fufh, 0); if (error == EINTR || error == ETIMEDOUT || (!error && (bp->b_flags & B_NEEDCOMMIT))) { From owner-svn-src-head@freebsd.org Wed Jun 28 13:59:22 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0EA09DA2D85; Wed, 28 Jun 2017 13:59:22 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DD4BF7A081; Wed, 28 Jun 2017 13:59:21 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5SDxKbl033683; Wed, 28 Jun 2017 13:59:20 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5SDxKDB033681; Wed, 28 Jun 2017 13:59:20 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201706281359.v5SDxKDB033681@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Wed, 28 Jun 2017 13:59:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320452 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys X-SVN-Group: head X-SVN-Commit-Author: avg X-SVN-Commit-Paths: in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys X-SVN-Commit-Revision: 320452 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 13:59:22 -0000 Author: avg Date: Wed Jun 28 13:59:20 2017 New Revision: 320452 URL: https://svnweb.freebsd.org/changeset/base/320452 Log: fix an architectural problem introduced in r320156, ZFS ABD import The implementation of ZFS refcount_t uses the emulated illumos mutex (the sx lock) and the waiting memory allocation when ZFS_DEBUG is enabled. This makes refcount_t unsuitable for use in GEOM g_up thread where sleeping is prohibited. When importing the ABD change I modified vdev_geom using illumos vdev_disk as an example. As a result, I added a call to abd_return_buf in vdev_geom_io_intr. The latter is called on g_up thread while the former uses refcount_t. This change fixes the problem by deferring the abd_return_buf call to the previously unused vdev_geom_io_done that is called on a ZFS zio taskqueue thread where sleeping is allowed. A side bonus of this change is that now a vdev zio has a pointer to its corresponding bio while the zio is active. Reported by: Shawn Webb Tested by: Shawn Webb MFC after: 1 week X-MFC with: r320156 Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h Wed Jun 28 13:56:15 2017 (r320451) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h Wed Jun 28 13:59:20 2017 (r320452) @@ -453,6 +453,10 @@ struct zio { avl_node_t io_alloc_node; zio_alloc_list_t io_alloc_list; +#ifdef __FreeBSD__ + struct bio *io_bio; +#endif + /* Internal pipeline state */ enum zio_flag io_flags; enum zio_stage io_stage; Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Wed Jun 28 13:56:15 2017 (r320451) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Wed Jun 28 13:59:20 2017 (r320452) @@ -989,13 +989,6 @@ vdev_geom_io_intr(struct bio *bp) break; } - if (zio->io_type == ZIO_TYPE_READ) { - abd_return_buf_copy(zio->io_abd, bp->bio_data, zio->io_size); - } else if (zio->io_type == ZIO_TYPE_WRITE) { - abd_return_buf(zio->io_abd, bp->bio_data, zio->io_size); - } - - g_destroy_bio(bp); zio_delay_interrupt(zio); } @@ -1087,6 +1080,7 @@ sendreq: break; } bp->bio_done = vdev_geom_io_intr; + zio->io_bio = bp; g_io_request(bp, cp); } @@ -1094,6 +1088,15 @@ sendreq: static void vdev_geom_io_done(zio_t *zio) { + struct bio *bp = zio->io_bio; + + if (zio->io_type == ZIO_TYPE_READ) { + abd_return_buf_copy(zio->io_abd, bp->bio_data, zio->io_size); + } else if (zio->io_type == ZIO_TYPE_WRITE) { + abd_return_buf(zio->io_abd, bp->bio_data, zio->io_size); + } + + g_destroy_bio(bp); } static void From owner-svn-src-head@freebsd.org Wed Jun 28 14:31:49 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BF0B2DA367A; Wed, 28 Jun 2017 14:31:49 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 54E377B505; Wed, 28 Jun 2017 14:31:48 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from spqr.komquats.com ([96.50.22.10]) by shaw.ca with SMTP id QDlsdkOJ1M9gtQDltd8Y2D; Wed, 28 Jun 2017 08:16:47 -0600 X-Authority-Analysis: v=2.2 cv=a+JAzQaF c=1 sm=1 tr=0 a=jvE2nwUzI0ECrNeyr98KWA==:117 a=jvE2nwUzI0ECrNeyr98KWA==:17 a=kj9zAlcOel0A:10 a=LWSFodeU3zMA:10 a=BWvPGDcYAAAA:8 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=SLG1KRGDAAAA:8 a=IIX2BFdiAAAA:8 a=NMM7OKYrAAAA:8 a=kUCByv9wAAAA:8 a=KpeJSf20AAAA:8 a=W8X-O0HiIXqmUOEBJpUA:9 a=_MQYmeOwPBP_ZLNZ:21 a=CjuIK1q_8ugA:10 a=Vi8sXVw4qWQA:10 a=NWVoK91CQyQA:10 a=pxhY87DP9d2VeQe4joPk:22 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=-TBaU1e9WpdkKBzYXnwo:22 a=rHg00LAlvzXsuODty-Nv:22 a=isrg6BwTYk6I_F0B0DtW:22 a=bu_5hG6eGWxBxPYBRUjp:22 a=8GyX2P7uvxEm4O_9qm7Q:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 7E73FEC; Wed, 28 Jun 2017 07:16:44 -0700 (PDT) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id v5SEFQQc047530; Wed, 28 Jun 2017 07:15:26 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.14.8/Submit) with ESMTP id v5SEFPn9047463; Wed, 28 Jun 2017 07:15:26 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201706281415.v5SEFPn9047463@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.6 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Edward Napierala cc: Cy Schubert , Sean Bruno , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r320362 - head/share/zoneinfo In-Reply-To: Message from Edward Napierala of "Wed, 28 Jun 2017 13:56:11 +0100." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 28 Jun 2017 07:15:20 -0700 X-CMAE-Envelope: MS4wfOafYgL/tRLJyWHzr4oVZRjHtmImj5ZqCJ1LYfi4uJeP01oXS4EdK0lYCvmFk92eHce/KupF8ZVczAm8gGVMomSp1nJ5FWx/JelD6obZoELdb7yjSz3q rksjIAS2lyDRD5p8JXXUD1Hg2KxODTRLNJ8I+3nQmhZ47X6sj6E+z17fWL0rh6/cPE5BFPUMyxYmOm+ofnkcOFrCc//CevO9knQcPZeyN8qRlcZnvuIlrUyP XfAUxj0Rr9BXtUoxkH9aTWtLSKmUmKdFAi6gFtEOWc4TOIfC+7HUudUvkDwUFkWBe7GoKzwbZ23KWWfbRT6CZA== X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 14:31:49 -0000 It doesn't matter who commits it. If you want me to, I will commit it at noon my time as I'm already a tad late for $JOB. ~cy In message , Edward Napierala writes: > --001a113d0020693f04055304b5a4 > Content-Type: text/plain; charset="UTF-8" > > This patch seems to fix the problem with "make -j4 installworld" for me. > Do you intend to commit it? Thanks! (And sorry for the breakage.) > > > 2017-06-27 4:48 GMT+01:00 Cy Schubert : > > > (since we're top posting.... ) > > > > Hi Sean, > > > > Do you want to give this a spin? > > > > Index: share/zoneinfo/Makefile > > =================================================================== > > --- share/zoneinfo/Makefile (revision 320389) > > +++ share/zoneinfo/Makefile (working copy) > > @@ -94,7 +94,7 @@ > > .for f in ${TZS} > > ${INSTALL} ${TAG_ARGS} \ > > -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > > - ${TZBUILDDIR:C,^${.OBJDIR}/,,}/${f} > > ${DESTDIR}/usr/share/zoneinfo/${f} > > + ${TZBUILDDIR}/${f} ${DESTDIR}/usr/share/zoneinfo/${f} > > .endfor > > ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > > ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ > > > > ~cy > > > > > > In message , Sean Bruno > > write > > s: > > > This is an OpenPGP/MIME signed message (RFC 4880 and 3156) > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f > > > Content-Type: multipart/mixed; boundary="VFqTarnRbgKj5gwWULxfLoTjWIwLn2 > > loQ"; > > > protected-headers="v1" > > > From: Sean Bruno > > > To: Edward Tomasz Napierala , > > src-committers@freebsd.org, > > > svn-src-all@freebsd.org, svn-src-head@freebsd.org > > > Message-ID: > > > Subject: Re: svn commit: r320362 - head/share/zoneinfo > > > References: <201706261540.v5QFeOTj072841@repo.freebsd.org> > > > In-Reply-To: <201706261540.v5QFeOTj072841@repo.freebsd.org> > > > > > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ > > > Content-Type: text/plain; charset=utf-8 > > > Content-Language: en-US > > > Content-Transfer-Encoding: quoted-printable > > > > > > Hmmm ... This seems to break 'poudriere jail -c jailname -m > > src=3D/usr/sr= > > > c > > > -v head" > > > > > > --- realinstall_subdir_share/zoneinfo --- > > > install: builddir/Africa/Abidjan: No such file or directory > > > > > > > > > On 06/26/17 09:40, Edward Tomasz Napierala wrote: > > > > Author: trasz > > > > Date: Mon Jun 26 15:40:24 2017 > > > > New Revision: 320362 > > > > URL: https://svnweb.freebsd.org/changeset/base/320362 > > > >=20 > > > > Log: > > > > Provide visual feedback when timezone files are installed. > > > > After r320003 it wasn't being shown in any way. > > > > =20 > > > > Submitted by: bdrewery > > > > MFC after: 1 month > > > > Differential Revision: https://reviews.freebsd.org/D11154 > > > >=20 > > > > Modified: > > > > head/share/zoneinfo/Makefile > > > >=20 > > > > Modified: head/share/zoneinfo/Makefile > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > > 3D=3D=3D=3D=3D= > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > > 3D=3D=3D=3D=3D=3D= > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > > 3D=3D=3D=3D=3D=3D= > > > =3D=3D=3D=3D > > > > --- head/share/zoneinfo/Makefile Mon Jun 26 15:23:12 2017 > > (r32036 > > > 1) > > > > +++ head/share/zoneinfo/Makefile Mon Jun 26 15:40:24 2017 > > (r32036 > > > 2) > > > > @@ -83,14 +83,19 @@ zoneinfo: yearistype ${TDATA} > > > > zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \ > > > > ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES} > > > > =20 > > > > +.if make(*install*) > > > > +TZS!=3D cd ${TZBUILDDIR} && find -s * -type f > > > > +.endif > > > > + > > > > beforeinstall: install-zoneinfo > > > > install-zoneinfo: > > > > mkdir -p ${DESTDIR}/usr/share/zoneinfo > > > > cd ${DESTDIR}/usr/share/zoneinfo; mkdir -p ${TZBUILDSUBDIRS} > > > > - cd ${TZBUILDDIR} && \ > > > > - find -s * -type f -exec ${INSTALL} ${TAG_ARGS} \ > > > > +.for f in ${TZS} > > > > + ${INSTALL} ${TAG_ARGS} \ > > > > -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > > > > - \{} ${DESTDIR}/usr/share/zoneinfo/\{} \; > > > > + ${TZBUILDDIR:C,^${.OBJDIR}/,,}/${f} > > ${DESTDIR}/usr/share/zoneinfo= > > > /${f} > > > > +.endfor > > > > ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > > > > ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ > > > > =20 > > > >=20 > > > >=20 > > > > > > > > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ-- > > > > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f > > > Content-Type: application/pgp-signature; name="signature.asc" > > > Content-Description: OpenPGP digital signature > > > Content-Disposition: attachment; filename="signature.asc" > > > > > > -----BEGIN PGP SIGNATURE----- > > > > > > iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/LYFAllRUJtfFIAAAAAALgAo > > > aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEU4 > > > QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgkQveT1/om1 > > > /LaIFggAlEX4pLTfDUaRsGoxWbGI0DiirmhR1nW74ESXjGXd4u9WSYKfvxK+oGPJ > > > LRwxcimGw/v+h8piM102ijsmquE0+NlyyMAYjFNLb9tsZuR+kfzRbDwqiu3FNg8R > > > zDnsvo69JHiyoi7r9BJB30Q6P9fZDGBtCrSQ9Up2IUiPHjz+pLUK6jxy29wflPSr > > > qVDHitG2A7l7Sdn3Jsj8MWNw/4ehRNlhxudgg+F8v7tEJH9eNBpP6K6jR6B+aU/P > > > VCPrKO1rRmmJTPxxPwskLLX4/xXrf8hmUFTm0uBbLtKbvzsaO5IZ9HKXJdYFlaRo > > > dCw6yY1xFlMv/OrUWgSxj02fsd7GHg== > > > =9Mia > > > -----END PGP SIGNATURE----- > > > > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f-- > > > > > > > > > > -- > > Cheers, > > Cy Schubert > > FreeBSD UNIX: Web: http://www.FreeBSD.org > > > > The need of the many outweighs the greed of the few. > > > > > > > > --001a113d0020693f04055304b5a4 > Content-Type: text/html; charset="UTF-8" > Content-Transfer-Encoding: quoted-printable > >
This patch seems to fix the problem with "make -j4 in= > stallworld" for me.
Do you intend to commit it?=C2=A0 Thanks! =C2= > =A0(And sorry for the breakage.)

tra">
2017-06-27 4:48 GMT+01:00 Cy Schubert <= > span dir=3D"ltr">< _blank">Cy.Schubert@komquats.com>:
ail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-le= > ft:1ex">(since we're top posting.... )
>
> Hi Sean,
>
> Do you want to give this a spin?
>
> Index: share/zoneinfo/Makefile
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- share/zoneinfo/Makefile=C2=A0 =C2=A0 =C2=A0(revision 320389)
> +++ share/zoneinfo/Makefile=C2=A0 =C2=A0 =C2=A0(working copy)
> @@ -94,7 +94,7 @@
> =C2=A0.for f in ${TZS}
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 ${INSTALL} ${TAG_ARGS} \
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o ${BINOWN} -g ${BINGRP} -m ${NO= > BINMODE} \
>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${TZBUILDDIR:C,^${.OBJDIR}= > /,,}/${f} ${DESTDIR}/usr/share/zoneinfo/${f}
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${TZBUILDDIR}/${f} ${DESTDIR}/usr= > /share/zoneinfo/${f}
> =C2=A0.endfor
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP= > } -m ${NOBINMODE} \
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ${CONTRIBDIR}/zone.tab ${DESTDIR}= > /usr/share/zoneinfo/
>
>
~cy
>
>
> In message < sd.org">f6014fd3-9f4b-b6f5-6997-38293f10e25a@freebsd.org>, Sean= > Bruno
> write
> s:
> > This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
> > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f
> > Content-Type: multipart/mixed; boundary=3D"VFqTarnRbgKj5gwWU= > LxfLoTjWIwLn2loQ";
> >=C2=A0 protected-headers=3D"v1"
> > From: Sean Bruno <sbruno@free= > bsd.org>
> > To: Edward Tomasz Napierala <trasz@FreeBSD.org>, to:src-committers@freebsd.org">src-committers@freebsd.org,
> >=C2=A0 svn-src-all@freebsd.o= > rg, svn-src-head@freebsd.or= > g
> > Message-ID: < @freebsd.org">f6014fd3-9f4b-b6f5-6997-38293f10e25a@freebsd.org>= >
> > Subject: Re: svn commit: r320362 - head/share/zoneinfo
> > References: < ebsd.org">201706261540.v5QFeOTj072841@repo.freebsd.org>
> > In-Reply-To: < eebsd.org">201706261540.v5QFeOTj072841@repo.freebsd.org>
> >
> > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ
> > Content-Type: text/plain; charset=3Dutf-8
> > Content-Language: en-US
> > Content-Transfer-Encoding: quoted-printable
> >
> > Hmmm ... This seems to break 'poudriere jail -c jailname -m src=3D= > 3D/usr/sr=3D
> > c
> > -v head"
> >
> > --- realinstall_subdir_share/zoneinfo ---
> > install: builddir/Africa/Abidjan: No such file or directory
> >
> >
> > On 06/26/17 09:40, Edward Tomasz Napierala wrote:
> > > Author: trasz
> > > Date: Mon Jun 26 15:40:24 2017
> > > New Revision: 320362
> > > URL: rel=3D"noreferrer" target=3D"_blank">https://svnweb.freebsd.org/chang= > eset/base/320362
>
> >=3D20
> > > Log:
> > >=C2=A0 =C2=A0Provide visual feedback when timezone files are insta= > lled.
> > >=C2=A0 =C2=A0After r320003 it wasn't being shown in any way. r> >
> >=C2=A0 =3D20
> > >=C2=A0 =C2=A0Submitted by:=C2=A0 =C2=A0 =C2=A0bdr= > ewery
> > >=C2=A0 =C2=A0MFC after:=C2=A0 =C2=A0 =C2=A0 =C2=A0 1 month
> > >=C2=A0 =C2=A0Differential Revision:=C2=A0 =C2=A0 //reviews.freebsd.org/D11154" rel=3D"noreferrer" target=3D"_blank">https://= > reviews.freebsd.org/D11154
>
> >=3D20
> > > Modified:
> > >=C2=A0 =C2=A0head/share/zoneinfo/Makefile
> > >=3D20
> > > Modified: head/share/zoneinfo/Makefile
> > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > =3D3D=3D3D=3D3D=3D3D
> > > --- head/share/zoneinfo/Makefile=C2=A0 =C2=A0 Mo= > n Jun 26 15:23:12 2017=C2=A0 =C2=A0 =C2=A0 =C2=A0 (r32036
> > 1)
> > > +++ head/share/zoneinfo/Makefile=C2=A0 =C2=A0 Mon Jun 26 15:40:24= > 2017=C2=A0 =C2=A0 =C2=A0 =C2=A0 (r32036
> > 2)
> > > @@ -83,14 +83,19 @@ zoneinfo: yearistype ${TDATA}
> > >=C2=A0 =C2=A0 =C2=A0zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${= > NOBINMODE} \
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${LEAPFILE} -y ${.OBJDIR}/yearis= > type ${TZFILES}
>
> > =3D20
> > > +.if make(*install*)
> > > +TZS!=3D3D cd ${TZBUILDDIR} && find -s * -type f
> > > +.endif
> > > +
> > >=C2=A0 beforeinstall: install-zoneinfo
> > >=C2=A0 install-zoneinfo:
> > >=C2=A0 =C2=A0 =C2=A0mkdir -p ${DESTDIR}/usr/share/zoneinfo
> > >=C2=A0 =C2=A0 =C2=A0cd ${DESTDIR}/usr/share/zoneinfo;=C2=A0 mkdir = > -p ${TZBUILDSUBDIRS}
> > > -=C2=A0 =C2=A0cd ${TZBUILDDIR} && \
> > > -=C2=A0 =C2=A0 =C2=A0 =C2=A0find -s * -type f -exec ${INSTALL} ${= > TAG_ARGS} \
> > > +.for f in ${TZS}
> > > +=C2=A0 =C2=A0${INSTALL} ${TAG_ARGS} \
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0-o ${BINOWN} -g ${BINGRP} -m ${N= > OBINMODE} \
> > > -=C2=A0 =C2=A0 =C2=A0 =C2=A0\{} ${DESTDIR}/usr/share/zoneinfo/ r>\{} \;
>
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0${TZBUILDDIR:C,^${.OBJDIR}/,,}= > /${f} ${DESTDIR}/usr/share/zoneinfo=3D
> > /${f}
> > > +.endfor
> > >=C2=A0 =C2=A0 =C2=A0${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGR= > P} -m ${NOBINMODE} \
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${CONTRIBDIR}/zone.tab ${DESTDIR= > }/usr/share/zoneinfo/
>
> > =3D20
> > >=3D20
> > >=3D20
> >
> >
> > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ--
> >
> > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f
> > Content-Type: application/pgp-signature; name=3D"signature.asc&qu= > ot;
> > Content-Description: OpenPGP digital signature
> > Content-Disposition: attachment; filename=3D"signature.asc"<= > br> > >
> > -----BEGIN PGP SIGNATURE-----
> >
> > iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/LYFAllRUJtfFIAAAAAA= > LgAo
> > aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5l= > dEU4
> > QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgkQveT1= > /om1
> > /LaIFggAlEX4pLTfDUaRsGoxWbGI0DiirmhR1nW74ESXjGXd4u9WSYKfvxK+= > oGPJ
> > LRwxcimGw/v+h8piM102ijsmquE0+NlyyMAYjFNLb9tsZuR+kfzRbDwqiu3F= > Ng8R
> > zDnsvo69JHiyoi7r9BJB30Q6P9fZDGBtCrSQ9Up2IUiPHjz+pLUK6jxy29wf= > lPSr
> > qVDHitG2A7l7Sdn3Jsj8MWNw/4ehRNlhxudgg+F8v7tEJH9eNBpP6K6jR6B+= > aU/P
> > VCPrKO1rRmmJTPxxPwskLLX4/xXrf8hmUFTm0uBbLtKbvzsaO5IZ9HKXJdYF= > laRo
> > dCw6yY1xFlMv/OrUWgSxj02fsd7GHg=3D=3D
> > =3D9Mia
> > -----END PGP SIGNATURE-----
> >
> > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f--
> >
> >
>
> --
> Cheers,
> Cy Schubert <Cy.Schubert@cs= > chubert.com>
> FreeBSD UNIX:=C2=A0 <cy@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 =3D"http://www.FreeBSD.org" rel=3D"noreferrer" target=3D"_blank">http://www= > .FreeBSD.org
>
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 The need of the many outweighs the greed of the= > few.
>
>
>

> > --001a113d0020693f04055304b5a4-- > -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-svn-src-head@freebsd.org Wed Jun 28 15:35:21 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4B28BDA482B; Wed, 28 Jun 2017 15:35:21 +0000 (UTC) (envelope-from etnapierala@gmail.com) Received: from mail-vk0-x235.google.com (mail-vk0-x235.google.com [IPv6:2607:f8b0:400c:c05::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E60AA7D616; Wed, 28 Jun 2017 15:35:20 +0000 (UTC) (envelope-from etnapierala@gmail.com) Received: by mail-vk0-x235.google.com with SMTP id 191so34897055vko.2; Wed, 28 Jun 2017 08:35:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=eJ7MS+S19uVf+FGu35RX8BWIN2kNE9q5du79jJPxRaA=; b=udO4H5q47+ag1t2oaNvgV5MkhEukCJCxp+mgEakrOHLaz+ORGKNB6oWdYZ2ttocoe3 MwbofiMuVCrwWL8MN+axWWea6AKqKp3hUr/mXzUPzv58IlGqZKoD7KqyYxpKmOFYokMU oSl4ZZLMR9yzNF+3aUJL3H8/G7XXH3SgFspxvePJKdu4zRjGj8vYjuZs9wbNYExVZodq hYIHJxFcuAoYt1UjVh3ffXYsu3g+d9q29CUX88HiC3ujZ5ccxOhH+wnUp+oVfD+bJzW7 nNrvOlS9iuuad7mAkbrrCwKS400Dd71eH3OMttyMGpR+WGmrpje/Cm/x71PzKVtOL0pi HcYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=eJ7MS+S19uVf+FGu35RX8BWIN2kNE9q5du79jJPxRaA=; b=UzuH9YLH79BEnO2+Q9NUfmRSbRFBeNOldQAaOwMT/Gdw3FOZ+APuyDTMsITLqOlKlk V5prWCIYxOsEL0lRqtFThqXAr3LU0TYb4uyUiZNwstdozE9kHeGspObJQ/iIUj+kLWQ0 kvpSMPz/evdyYQvOb2ddiCvrw6K8MRrAG6VNL5Cb5XOmxujluZXV+56kn4oDysMSFby8 ypdf5WqN44PagFgB3drNL/Hk0spZxfRRLnopOjPu7MNK2jUH3wfu4J9oz1UFyEMrzpNq HuomsoAUJrODpS5B68oPpPa9VFP7aXz9tx6aOSYEvhdotVtrBuwAlyaBjXh5SHZ+NTuS b9lw== X-Gm-Message-State: AKS2vOyYaVlrrMHKNN4WVNmJe1GWJL0uEpja5x3l5x/OSxkdKSt+IXTA sIDpTXLIHoQsxHC6MvyQAsoOgGeIxw== X-Received: by 10.31.102.132 with SMTP id a126mr5981065vkc.107.1498664119885; Wed, 28 Jun 2017 08:35:19 -0700 (PDT) MIME-Version: 1.0 Sender: etnapierala@gmail.com Received: by 10.176.83.198 with HTTP; Wed, 28 Jun 2017 08:35:19 -0700 (PDT) In-Reply-To: <201706281415.v5SEFPn9047463@slippy.cwsent.com> References: <201706281415.v5SEFPn9047463@slippy.cwsent.com> From: Edward Napierala Date: Wed, 28 Jun 2017 16:35:19 +0100 X-Google-Sender-Auth: mifAULcwovrHndV8SaOY35nuLxM Message-ID: Subject: Re: svn commit: r320362 - head/share/zoneinfo To: Cy Schubert Cc: Sean Bruno , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 15:35:21 -0000 Please do. Thanks again :-) 2017-06-28 15:15 GMT+01:00 Cy Schubert : > It doesn't matter who commits it. If you want me to, I will commit it at > noon my time as I'm already a tad late for $JOB. > > ~cy > > In message KFM7ngEqiW86_g@mail.gmail.c > om> > , Edward Napierala writes: > > --001a113d0020693f04055304b5a4 > > Content-Type: text/plain; charset="UTF-8" > > > > This patch seems to fix the problem with "make -j4 installworld" for me. > > Do you intend to commit it? Thanks! (And sorry for the breakage.) > > > > > > 2017-06-27 4:48 GMT+01:00 Cy Schubert : > > > > > (since we're top posting.... ) > > > > > > Hi Sean, > > > > > > Do you want to give this a spin? > > > > > > Index: share/zoneinfo/Makefile > > > =================================================================== > > > --- share/zoneinfo/Makefile (revision 320389) > > > +++ share/zoneinfo/Makefile (working copy) > > > @@ -94,7 +94,7 @@ > > > .for f in ${TZS} > > > ${INSTALL} ${TAG_ARGS} \ > > > -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > > > - ${TZBUILDDIR:C,^${.OBJDIR}/,,}/${f} > > > ${DESTDIR}/usr/share/zoneinfo/${f} > > > + ${TZBUILDDIR}/${f} ${DESTDIR}/usr/share/zoneinfo/${f} > > > .endfor > > > ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m > ${NOBINMODE} \ > > > ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ > > > > > > ~cy > > > > > > > > > In message , Sean > Bruno > > > write > > > s: > > > > This is an OpenPGP/MIME signed message (RFC 4880 and 3156) > > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f > > > > Content-Type: multipart/mixed; boundary=" > VFqTarnRbgKj5gwWULxfLoTjWIwLn2 > > > loQ"; > > > > protected-headers="v1" > > > > From: Sean Bruno > > > > To: Edward Tomasz Napierala , > > > src-committers@freebsd.org, > > > > svn-src-all@freebsd.org, svn-src-head@freebsd.org > > > > Message-ID: > > > > Subject: Re: svn commit: r320362 - head/share/zoneinfo > > > > References: <201706261540.v5QFeOTj072841@repo.freebsd.org> > > > > In-Reply-To: <201706261540.v5QFeOTj072841@repo.freebsd.org> > > > > > > > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ > > > > Content-Type: text/plain; charset=utf-8 > > > > Content-Language: en-US > > > > Content-Transfer-Encoding: quoted-printable > > > > > > > > Hmmm ... This seems to break 'poudriere jail -c jailname -m > > > src=3D/usr/sr= > > > > c > > > > -v head" > > > > > > > > --- realinstall_subdir_share/zoneinfo --- > > > > install: builddir/Africa/Abidjan: No such file or directory > > > > > > > > > > > > On 06/26/17 09:40, Edward Tomasz Napierala wrote: > > > > > Author: trasz > > > > > Date: Mon Jun 26 15:40:24 2017 > > > > > New Revision: 320362 > > > > > URL: https://svnweb.freebsd.org/changeset/base/320362 > > > > >=20 > > > > > Log: > > > > > Provide visual feedback when timezone files are installed. > > > > > After r320003 it wasn't being shown in any way. > > > > > =20 > > > > > Submitted by: bdrewery > > > > > MFC after: 1 month > > > > > Differential Revision: https://reviews.freebsd.org/D11154 > > > > >=20 > > > > > Modified: > > > > > head/share/zoneinfo/Makefile > > > > >=20 > > > > > Modified: head/share/zoneinfo/Makefile > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > > > 3D=3D=3D=3D=3D= > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > > > 3D=3D=3D=3D=3D=3D= > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > > > 3D=3D=3D=3D=3D=3D= > > > > =3D=3D=3D=3D > > > > > --- head/share/zoneinfo/Makefile Mon Jun 26 15:23:12 2017 > > > (r32036 > > > > 1) > > > > > +++ head/share/zoneinfo/Makefile Mon Jun 26 15:40:24 2017 > > > (r32036 > > > > 2) > > > > > @@ -83,14 +83,19 @@ zoneinfo: yearistype ${TDATA} > > > > > zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \ > > > > > ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES} > > > > > =20 > > > > > +.if make(*install*) > > > > > +TZS!=3D cd ${TZBUILDDIR} && find -s * -type f > > > > > +.endif > > > > > + > > > > > beforeinstall: install-zoneinfo > > > > > install-zoneinfo: > > > > > mkdir -p ${DESTDIR}/usr/share/zoneinfo > > > > > cd ${DESTDIR}/usr/share/zoneinfo; mkdir -p ${TZBUILDSUBDIRS} > > > > > - cd ${TZBUILDDIR} && \ > > > > > - find -s * -type f -exec ${INSTALL} ${TAG_ARGS} \ > > > > > +.for f in ${TZS} > > > > > + ${INSTALL} ${TAG_ARGS} \ > > > > > -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > > > > > - \{} ${DESTDIR}/usr/share/zoneinfo/\{} \; > > > > > + ${TZBUILDDIR:C,^${.OBJDIR}/,,}/${f} > > > ${DESTDIR}/usr/share/zoneinfo= > > > > /${f} > > > > > +.endfor > > > > > ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m > ${NOBINMODE} \ > > > > > ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ > > > > > =20 > > > > >=20 > > > > >=20 > > > > > > > > > > > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ-- > > > > > > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f > > > > Content-Type: application/pgp-signature; name="signature.asc" > > > > Content-Description: OpenPGP digital signature > > > > Content-Disposition: attachment; filename="signature.asc" > > > > > > > > -----BEGIN PGP SIGNATURE----- > > > > > > > > iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/LYFAllRUJtfFIAAAAAALgAo > > > > aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEU4 > > > > QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgkQveT1/om1 > > > > /LaIFggAlEX4pLTfDUaRsGoxWbGI0DiirmhR1nW74ESXjGXd4u9WSYKfvxK+oGPJ > > > > LRwxcimGw/v+h8piM102ijsmquE0+NlyyMAYjFNLb9tsZuR+kfzRbDwqiu3FNg8R > > > > zDnsvo69JHiyoi7r9BJB30Q6P9fZDGBtCrSQ9Up2IUiPHjz+pLUK6jxy29wflPSr > > > > qVDHitG2A7l7Sdn3Jsj8MWNw/4ehRNlhxudgg+F8v7tEJH9eNBpP6K6jR6B+aU/P > > > > VCPrKO1rRmmJTPxxPwskLLX4/xXrf8hmUFTm0uBbLtKbvzsaO5IZ9HKXJdYFlaRo > > > > dCw6yY1xFlMv/OrUWgSxj02fsd7GHg== > > > > =9Mia > > > > -----END PGP SIGNATURE----- > > > > > > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f-- > > > > > > > > > > > > > > -- > > > Cheers, > > > Cy Schubert > > > FreeBSD UNIX: Web: http://www.FreeBSD.org > > > > > > The need of the many outweighs the greed of the few. > > > > > > > > > > > > > --001a113d0020693f04055304b5a4 > > Content-Type: text/html; charset="UTF-8" > > Content-Transfer-Encoding: quoted-printable > > > >
This patch seems to fix the problem with "make -j4 > in= > > stallworld" for me.
Do you intend to commit it?=C2=A0 Thanks! > =C2= > > =A0(And sorry for the breakage.)

class=3D"gmail_ex= > > tra">
2017-06-27 4:48 GMT+01:00 Cy > Schubert <= > > span dir=3D"ltr">< target=3D"= > > _blank">Cy.Schubert@komquats.com>:
class=3D"gm= > > ail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc > solid;padding-le= > > ft:1ex">(since we're top posting.... )
> >
> > Hi Sean,
> >
> > Do you want to give this a spin?
> >
> > Index: share/zoneinfo/Makefile
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > 3D=3D=3D=3D=3D=3D= > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > 3D=3D=3D=3D=3D= > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > --- share/zoneinfo/Makefile=C2=A0 =C2=A0 =C2=A0(revision 320389)
> > +++ share/zoneinfo/Makefile=C2=A0 =C2=A0 =C2=A0(working copy)
> > @@ -94,7 +94,7 @@
> > =C2=A0.for f in ${TZS}
> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 ${INSTALL} ${TAG_ARGS} \
> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o ${BINOWN} -g ${BINGRP} -m > ${NO= > > BINMODE} \
> >
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${TZBUILDDIR:C,^${. > OBJDIR}= > > /,,}/${f} ${DESTDIR}/usr/share/zoneinfo/${f}
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${TZBUILDDIR}/${f} > ${DESTDIR}/usr= > > /share/zoneinfo/${f}
> > =C2=A0.endfor
> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g > ${BINGRP= > > } -m ${NOBINMODE} \
> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ${CONTRIBDIR}/zone.tab > ${DESTDIR}= > > /usr/share/zoneinfo/
> >
> >
~cy
> >
> >
> > In message < b6f5-6997-38293f10e25a@freeb= > > sd.org">f6014fd3-9f4b-b6f5-6997-38293f10e25a@freebsd.org>, > Sean= > > Bruno
> > write
> > s:
> > > This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
> > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f
> > > Content-Type: multipart/mixed; boundary=3D" > VFqTarnRbgKj5gwWU= > > LxfLoTjWIwLn2loQ";
> > >=C2=A0 protected-headers=3D"v1"
> > > From: Sean Bruno < ">sbruno@free= > > bsd.org>
> > > To: Edward Tomasz Napierala <trasz@FreeBSD.org>, href=3D"mail= > > to:src-committers@freebsd.org">src-committers@freebsd.org,
> > >=C2=A0 svn-src-all@ > freebsd.o= > > rg, svn-src-head@ > freebsd.or= > > g
> > > Message-ID: < b6f5-6997-38293f10e25a= > > @freebsd.org">f6014fd3-9f4b-b6f5-6997-38293f10e25a@freebsd.org > >= > >
> > > Subject: Re: svn commit: r320362 - head/share/zoneinfo
> > > References: < v5QFeOTj072841@repo.fre= > > ebsd.org">201706261540.v5QFeOTj072841@repo.freebsd.org>
> > > In-Reply-To: < v5QFeOTj072841@repo.fr= > > eebsd.org">201706261540.v5QFeOTj072841@repo.freebsd.org>
> > >
> > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ
> > > Content-Type: text/plain; charset=3Dutf-8
> > > Content-Language: en-US
> > > Content-Transfer-Encoding: quoted-printable
> > >
> > > Hmmm ... This seems to break 'poudriere jail -c jailname -m > src=3D= > > 3D/usr/sr=3D
> > > c
> > > -v head"
> > >
> > > --- realinstall_subdir_share/zoneinfo ---
> > > install: builddir/Africa/Abidjan: No such file or directory
> > >
> > >
> > > On 06/26/17 09:40, Edward Tomasz Napierala wrote:
> > > > Author: trasz
> > > > Date: Mon Jun 26 15:40:24 2017
> > > > New Revision: 320362
> > > > URL: 320362"= > > rel=3D"noreferrer" target=3D"_blank">https://svnweb.freebsd.org/ > chang= > > eset/base/320362
> >
> >=3D20
> > > > Log:
> > > >=C2=A0 =C2=A0Provide visual feedback when timezone files are > insta= > > lled.
> > > >=C2=A0 =C2=A0After r320003 it wasn't being shown in any > way. > r> > >
> >=C2=A0 =3D20
> > > >=C2=A0 =C2=A0Submitted by:=C2=A0 =C2=A0 > =C2=A0bdr= > > ewery
> > > >=C2=A0 =C2=A0MFC after:=C2=A0 =C2=A0 =C2=A0 =C2=A0 1 month
> > > >=C2=A0 =C2=A0Differential Revision:=C2=A0 =C2=A0 href=3D"https:= > > //reviews.freebsd.org/D11154" rel=3D"noreferrer" > target=3D"_blank">https://= > > reviews.freebsd.org/D11154
> >
> >=3D20
> > > > Modified:
> > > >=C2=A0 =C2=A0head/share/zoneinfo/Makefile
> > > >=3D20
> > > > Modified: head/share/zoneinfo/Makefile
> > > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > 3D3D=3D3D= > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > 3D3D=3D3D=3D3D= > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > 3D3D=3D3D=3D3D= > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > > =3D3D=3D3D=3D3D=3D3D
> > > > --- head/share/zoneinfo/Makefile=C2=A0 > =C2=A0 Mo= > > n Jun 26 15:23:12 2017=C2=A0 =C2=A0 =C2=A0 =C2=A0 (r32036
> > > 1)
> > > > +++ head/share/zoneinfo/Makefile=C2=A0 =C2=A0 Mon Jun 26 > 15:40:24= > > 2017=C2=A0 =C2=A0 =C2=A0 =C2=A0 (r32036
> > > 2)
> > > > @@ -83,14 +83,19 @@ zoneinfo: yearistype ${TDATA}
> > > >=C2=A0 =C2=A0 =C2=A0zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m > ${= > > NOBINMODE} \
> > > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${LEAPFILE} -y > ${.OBJDIR}/yearis= > > type ${TZFILES}
> >
> > =3D20
> > > > +.if make(*install*)
> > > > +TZS!=3D3D cd ${TZBUILDDIR} && find -s * -type f
> > > > +.endif
> > > > +
> > > >=C2=A0 beforeinstall: install-zoneinfo
> > > >=C2=A0 install-zoneinfo:
> > > >=C2=A0 =C2=A0 =C2=A0mkdir -p ${DESTDIR}/usr/share/zoneinfo
> > > >=C2=A0 =C2=A0 =C2=A0cd ${DESTDIR}/usr/share/zoneinfo;=C2=A0 > mkdir = > > -p ${TZBUILDSUBDIRS}
> > > > -=C2=A0 =C2=A0cd ${TZBUILDDIR} && \
> > > > -=C2=A0 =C2=A0 =C2=A0 =C2=A0find -s * -type f -exec ${INSTALL} > ${= > > TAG_ARGS} \
> > > > +.for f in ${TZS}
> > > > +=C2=A0 =C2=A0${INSTALL} ${TAG_ARGS} \
> > > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0-o ${BINOWN} -g ${BINGRP} -m > ${N= > > OBINMODE} \
> > > > -=C2=A0 =C2=A0 =C2=A0 =C2=A0\{} ${DESTDIR}/usr/share/zoneinfo/ > > r>\{} \;
> >
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0${TZBUILDDIR:C,^${. > OBJDIR}/,,}= > > /${f} ${DESTDIR}/usr/share/zoneinfo=3D
> > > /${f}
> > > > +.endfor
> > > >=C2=A0 =C2=A0 =C2=A0${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g > ${BINGR= > > P} -m ${NOBINMODE} \
> > > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${CONTRIBDIR}/zone.tab > ${DESTDIR= > > }/usr/share/zoneinfo/
> >
> > =3D20
> > > >=3D20
> > > >=3D20
> > >
> > >
> > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ--
> > >
> > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f
> > > Content-Type: application/pgp-signature; > name=3D"signature.asc&qu= > > ot;
> > > Content-Description: OpenPGP digital signature
> > > Content-Disposition: attachment; filename=3D"signature. > asc"<= > > br> > > >
> > > -----BEGIN PGP SIGNATURE-----
> > >
> > > iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/ > LYFAllRUJtfFIAAAAAA= > > LgAo
> > > aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5l > = > > dEU4
> > > QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgkQveT1 > = > > /om1
> > > /LaIFggAlEX4pLTfDUaRsGoxWbGI0Di > irmhR1nW74ESXjGXd4u9WSYKfvxK+= > > oGPJ
> > > LRwxcimGw/v+h8piM102ijsmquE0+NlyyMAYjFNLb9tsZuR+ > kfzRbDwqiu3F= > > Ng8R
> > > zDnsvo69JHiyoi7r9BJB30Q6P9fZDGBtCrSQ9Up2IUiPHjz+ > pLUK6jxy29wf= > > lPSr
> > > qVDHitG2A7l7Sdn3Jsj8MWNw/4ehRNlhxudgg+ > F8v7tEJH9eNBpP6K6jR6B+= > > aU/P
> > > VCPrKO1rRmmJTPxxPwskLLX4/xXrf8hmUFTm0uBbLtKbvzsaO5IZ9HK > XJdYF= > > laRo
> > > dCw6yY1xFlMv/OrUWgSxj02fsd7GHg=3D=3D
> > > =3D9Mia
> > > -----END PGP SIGNATURE-----
> > >
> > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f--
> > >
> > >
> >
> > --
> > Cheers,
> > Cy Schubert < ">Cy.Schubert@cs= > > chubert.com>
> > FreeBSD UNIX:=C2=A0 <cy@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 href= > > =3D"http://www.FreeBSD.org" rel=3D"noreferrer" target=3D"_blank"> > http://www= > > .FreeBSD.org
> >
> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 The need of the many outweighs the greed of > the= > > few.
> >
> >
> >

> > > > --001a113d0020693f04055304b5a4-- > > > > -- > Cheers, > Cy Schubert > FreeBSD UNIX: Web: http://www.FreeBSD.org > > The need of the many outweighs the greed of the few. > > > From owner-svn-src-head@freebsd.org Wed Jun 28 17:32:11 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 13A1ADA6B8A; Wed, 28 Jun 2017 17:32:11 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E4C71814DA; Wed, 28 Jun 2017 17:32:10 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5SHW9JW025993; Wed, 28 Jun 2017 17:32:09 GMT (envelope-from mckusick@FreeBSD.org) Received: (from mckusick@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5SHW9hp025988; Wed, 28 Jun 2017 17:32:09 GMT (envelope-from mckusick@FreeBSD.org) Message-Id: <201706281732.v5SHW9hp025988@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mckusick set sender to mckusick@FreeBSD.org using -f From: Kirk McKusick Date: Wed, 28 Jun 2017 17:32:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320453 - in head/sys/ufs: ffs ufs X-SVN-Group: head X-SVN-Commit-Author: mckusick X-SVN-Commit-Paths: in head/sys/ufs: ffs ufs X-SVN-Commit-Revision: 320453 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 17:32:11 -0000 Author: mckusick Date: Wed Jun 28 17:32:09 2017 New Revision: 320453 URL: https://svnweb.freebsd.org/changeset/base/320453 Log: Create a new function ffs_getcg() to read in and verify a cylinder group. Change all code points that open-coded this functionality to use the new function. This commit is a refactoring with no change in functionality. In the future this change allows more robust checking of cylinder group reads along the lines discussed in the hardening UFS session at BSDCan (retry I/O, add checksums, etc). For more detail see the session notes at https://wiki.freebsd.org/DevSummit/201706/HardeningUFS Reviewed by: kib Modified: head/sys/ufs/ffs/ffs_alloc.c head/sys/ufs/ffs/ffs_extern.h head/sys/ufs/ffs/ffs_snapshot.c head/sys/ufs/ffs/ffs_vfsops.c head/sys/ufs/ufs/ufs_gjournal.c Modified: head/sys/ufs/ffs/ffs_alloc.c ============================================================================== --- head/sys/ufs/ffs/ffs_alloc.c Wed Jun 28 13:59:20 2017 (r320452) +++ head/sys/ufs/ffs/ffs_alloc.c Wed Jun 28 17:32:09 2017 (r320453) @@ -1602,15 +1602,8 @@ ffs_fragextend(ip, cg, bprev, osize, nsize) return (0); } UFS_UNLOCK(ump); - error = bread(ump->um_devvp, fsbtodb(fs, cgtod(fs, cg)), - (int)fs->fs_cgsize, NOCRED, &bp); - if (error) + if ((error = ffs_getcg(fs, ump->um_devvp, cg, &bp, &cgp)) != 0) goto fail; - cgp = (struct cg *)bp->b_data; - if (!cg_chkmagic(cgp)) - goto fail; - bp->b_xflags |= BX_BKGRDWRITE; - cgp->cg_old_time = cgp->cg_time = time_second; bno = dtogd(fs, bprev); blksfree = cg_blksfree(cgp); for (i = numfrags(fs, osize); i < frags; i++) @@ -1680,16 +1673,9 @@ ffs_alloccg(ip, cg, bpref, size, rsize) if (fs->fs_cs(fs, cg).cs_nbfree == 0 && size == fs->fs_bsize) return (0); UFS_UNLOCK(ump); - error = bread(ump->um_devvp, fsbtodb(fs, cgtod(fs, cg)), - (int)fs->fs_cgsize, NOCRED, &bp); - if (error) + if ((error = ffs_getcg(fs, ump->um_devvp, cg, &bp, &cgp)) != 0 || + (cgp->cg_cs.cs_nbfree == 0 && size == fs->fs_bsize)) goto fail; - cgp = (struct cg *)bp->b_data; - if (!cg_chkmagic(cgp) || - (cgp->cg_cs.cs_nbfree == 0 && size == fs->fs_bsize)) - goto fail; - bp->b_xflags |= BX_BKGRDWRITE; - cgp->cg_old_time = cgp->cg_time = time_second; if (size == fs->fs_bsize) { UFS_LOCK(ump); blkno = ffs_alloccgblk(ip, bp, bpref, rsize); @@ -1857,7 +1843,7 @@ ffs_clusteralloc(ip, cg, bpref, len) struct cg *cgp; struct buf *bp; struct ufsmount *ump; - int i, run, bit, map, got; + int i, run, bit, map, got, error; ufs2_daddr_t bno; u_char *mapp; int32_t *lp; @@ -1868,13 +1854,10 @@ ffs_clusteralloc(ip, cg, bpref, len) if (fs->fs_maxcluster[cg] < len) return (0); UFS_UNLOCK(ump); - if (bread(ump->um_devvp, fsbtodb(fs, cgtod(fs, cg)), (int)fs->fs_cgsize, - NOCRED, &bp)) - goto fail_lock; - cgp = (struct cg *)bp->b_data; - if (!cg_chkmagic(cgp)) - goto fail_lock; - bp->b_xflags |= BX_BKGRDWRITE; + if ((error = ffs_getcg(fs, ump->um_devvp, cg, &bp, &cgp)) != 0) { + UFS_LOCK(ump); + return (0); + } /* * Check to see if a cluster of the needed size (or bigger) is * available in this cylinder group. @@ -1897,7 +1880,8 @@ ffs_clusteralloc(ip, cg, bpref, len) break; UFS_LOCK(ump); fs->fs_maxcluster[cg] = i; - goto fail; + brelse(bp); + return (0); } /* * Search the cluster map to find a big enough cluster. @@ -1933,8 +1917,11 @@ ffs_clusteralloc(ip, cg, bpref, len) bit = 1; } } - if (got >= cgp->cg_nclusterblks) - goto fail_lock; + if (got >= cgp->cg_nclusterblks) { + UFS_LOCK(ump); + brelse(bp); + return (0); + } /* * Allocate the cluster that we have found. */ @@ -1954,12 +1941,6 @@ ffs_clusteralloc(ip, cg, bpref, len) UFS_UNLOCK(ump); bdwrite(bp); return (bno); - -fail_lock: - UFS_LOCK(ump); -fail: - brelse(bp); - return (0); } static inline struct buf * @@ -2005,21 +1986,16 @@ check_nifree: if (fs->fs_cs(fs, cg).cs_nifree == 0) return (0); UFS_UNLOCK(ump); - error = bread(ump->um_devvp, fsbtodb(fs, cgtod(fs, cg)), - (int)fs->fs_cgsize, NOCRED, &bp); - if (error) { - brelse(bp); + if ((error = ffs_getcg(fs, ump->um_devvp, cg, &bp, &cgp)) != 0) { UFS_LOCK(ump); return (0); } - cgp = (struct cg *)bp->b_data; restart: - if (!cg_chkmagic(cgp) || cgp->cg_cs.cs_nifree == 0) { + if (cgp->cg_cs.cs_nifree == 0) { brelse(bp); UFS_LOCK(ump); return (0); } - bp->b_xflags |= BX_BKGRDWRITE; inosused = cg_inosused(cgp); if (ipref) { ipref %= fs->fs_ipg; @@ -2103,21 +2079,16 @@ gotit: * to it, then leave it unchanged as the other thread * has already set it correctly. */ - error = bread(ump->um_devvp, fsbtodb(fs, cgtod(fs, cg)), - (int)fs->fs_cgsize, NOCRED, &bp); + error = ffs_getcg(fs, ump->um_devvp, cg, &bp, &cgp); UFS_LOCK(ump); ACTIVECLEAR(fs, cg); UFS_UNLOCK(ump); - if (error != 0) { - brelse(bp); + if (error != 0) return (error); - } - cgp = (struct cg *)bp->b_data; if (cgp->cg_initediblk == old_initediblk) cgp->cg_initediblk += INOPB(fs); goto restart; } - cgp->cg_old_time = cgp->cg_time = time_second; cgp->cg_irotor = ipref; UFS_LOCK(ump); ACTIVECLEAR(fs, cg); @@ -2160,7 +2131,7 @@ ffs_blkfree_cg(ump, fs, devvp, bno, size, inum, dephd) struct buf *bp; ufs1_daddr_t fragno, cgbno; ufs2_daddr_t cgblkno; - int i, blk, frags, bbase; + int i, blk, frags, bbase, error; u_int cg; u_int8_t *blksfree; struct cdev *dev; @@ -2193,17 +2164,8 @@ ffs_blkfree_cg(ump, fs, devvp, bno, size, inum, dephd) ffs_fserr(fs, inum, "bad block"); return; } - if (bread(devvp, cgblkno, (int)fs->fs_cgsize, NOCRED, &bp)) { - brelse(bp); + if ((error = ffs_getcg(fs, devvp, cg, &bp, &cgp)) != 0) return; - } - cgp = (struct cg *)bp->b_data; - if (!cg_chkmagic(cgp)) { - brelse(bp); - return; - } - bp->b_xflags |= BX_BKGRDWRITE; - cgp->cg_old_time = cgp->cg_time = time_second; cgbno = dtogd(fs, bno); blksfree = cg_blksfree(cgp); UFS_LOCK(ump); @@ -2408,14 +2370,9 @@ ffs_checkblk(ip, bno, size) } if ((u_int)bno >= fs->fs_size) panic("ffs_checkblk: bad block %jd", (intmax_t)bno); - error = bread(ITODEVVP(ip), fsbtodb(fs, cgtod(fs, dtog(fs, bno))), - (int)fs->fs_cgsize, NOCRED, &bp); + error = ffs_getcg(fs, ITODEVVP(ip), dtog(fs, bno), &bp, &cgp); if (error) - panic("ffs_checkblk: cg bread failed"); - cgp = (struct cg *)bp->b_data; - if (!cg_chkmagic(cgp)) - panic("ffs_checkblk: cg magic mismatch"); - bp->b_xflags |= BX_BKGRDWRITE; + panic("ffs_checkblk: cylinder group read failed"); blksfree = cg_blksfree(cgp); cgbno = dtogd(fs, bno); if (size == fs->fs_bsize) { @@ -2492,17 +2449,8 @@ ffs_freefile(ump, fs, devvp, ino, mode, wkhd) if (ino >= fs->fs_ipg * fs->fs_ncg) panic("ffs_freefile: range: dev = %s, ino = %ju, fs = %s", devtoname(dev), (uintmax_t)ino, fs->fs_fsmnt); - if ((error = bread(devvp, cgbno, (int)fs->fs_cgsize, NOCRED, &bp))) { - brelse(bp); + if ((error = ffs_getcg(fs, devvp, cg, &bp, &cgp)) != 0) return (error); - } - cgp = (struct cg *)bp->b_data; - if (!cg_chkmagic(cgp)) { - brelse(bp); - return (0); - } - bp->b_xflags |= BX_BKGRDWRITE; - cgp->cg_old_time = cgp->cg_time = time_second; inosused = cg_inosused(cgp); ino %= fs->fs_ipg; if (isclr(inosused, ino)) { @@ -2535,6 +2483,7 @@ ffs_freefile(ump, fs, devvp, ino, mode, wkhd) /* * Check to see if a file is free. + * Used to check for allocated files in snapshots. */ int ffs_checkfreefile(fs, devvp, ino) @@ -2545,7 +2494,7 @@ ffs_checkfreefile(fs, devvp, ino) struct cg *cgp; struct buf *bp; ufs2_daddr_t cgbno; - int ret; + int ret, error; u_int cg; u_int8_t *inosused; @@ -2561,15 +2510,8 @@ ffs_checkfreefile(fs, devvp, ino) } if (ino >= fs->fs_ipg * fs->fs_ncg) return (1); - if (bread(devvp, cgbno, (int)fs->fs_cgsize, NOCRED, &bp)) { - brelse(bp); + if ((error = ffs_getcg(fs, devvp, cg, &bp, &cgp)) != 0) return (1); - } - cgp = (struct cg *)bp->b_data; - if (!cg_chkmagic(cgp)) { - brelse(bp); - return (1); - } inosused = cg_inosused(cgp); ino %= fs->fs_ipg; ret = isclr(inosused, ino); @@ -2642,6 +2584,39 @@ ffs_mapsearch(fs, cgp, bpref, allocsiz) printf("bno = %lu, fs = %s\n", (u_long)bno, fs->fs_fsmnt); panic("ffs_alloccg: block not in map"); return (-1); +} + +/* + * Fetch and verify a cylinder group. + */ +int +ffs_getcg(fs, devvp, cg, bpp, cgpp) + struct fs *fs; + struct vnode *devvp; + u_int cg; + struct buf **bpp; + struct cg **cgpp; +{ + struct buf *bp; + struct cg *cgp; + int error; + + *bpp = NULL; + *cgpp = NULL; + error = bread(devvp, fsbtodb(fs, cgtod(fs, cg)), + (int)fs->fs_cgsize, NOCRED, &bp); + if (error != 0) + return (error); + cgp = (struct cg *)bp->b_data; + if (!cg_chkmagic(cgp) || cgp->cg_cgx != cg) { + brelse(bp); + return (EIO); + } + bp->b_xflags |= BX_BKGRDWRITE; + cgp->cg_old_time = cgp->cg_time = time_second; + *bpp = bp; + *cgpp = cgp; + return (0); } /* Modified: head/sys/ufs/ffs/ffs_extern.h ============================================================================== --- head/sys/ufs/ffs/ffs_extern.h Wed Jun 28 13:59:20 2017 (r320452) +++ head/sys/ufs/ffs/ffs_extern.h Wed Jun 28 17:32:09 2017 (r320453) @@ -74,6 +74,8 @@ void ffs_fragacct(struct fs *, int, int32_t [], int); int ffs_freefile(struct ufsmount *, struct fs *, struct vnode *, ino_t, int, struct workhead *); void ffs_fserr(struct fs *, ino_t, char *); +int ffs_getcg(struct fs *, struct vnode *, u_int, struct buf **, + struct cg **); int ffs_isblock(struct fs *, u_char *, ufs1_daddr_t); int ffs_isfreeblock(struct fs *, u_char *, ufs1_daddr_t); void ffs_load_inode(struct buf *, struct inode *, struct fs *, ino_t); Modified: head/sys/ufs/ffs/ffs_snapshot.c ============================================================================== --- head/sys/ufs/ffs/ffs_snapshot.c Wed Jun 28 13:59:20 2017 (r320452) +++ head/sys/ufs/ffs/ffs_snapshot.c Wed Jun 28 17:32:09 2017 (r320453) @@ -888,17 +888,8 @@ cgaccount(cg, vp, nbp, passno) ip = VTOI(vp); fs = ITOFS(ip); - error = bread(ITODEVVP(ip), fsbtodb(fs, cgtod(fs, cg)), - (int)fs->fs_cgsize, KERNCRED, &bp); - if (error) { - brelse(bp); + if ((error = ffs_getcg(fs, ITODEVVP(ip), cg, &bp, &cgp)) != 0) return (error); - } - cgp = (struct cg *)bp->b_data; - if (!cg_chkmagic(cgp)) { - brelse(bp); - return (EIO); - } UFS_LOCK(ITOUMP(ip)); ACTIVESET(fs, cg); /* Modified: head/sys/ufs/ffs/ffs_vfsops.c ============================================================================== --- head/sys/ufs/ffs/ffs_vfsops.c Wed Jun 28 13:59:20 2017 (r320452) +++ head/sys/ufs/ffs/ffs_vfsops.c Wed Jun 28 17:32:09 2017 (r320453) @@ -1863,12 +1863,9 @@ ffs_fhtovp(mp, fhp, flags, vpp) if (fs->fs_magic != FS_UFS2_MAGIC) return (ufs_fhtovp(mp, ufhp, flags, vpp)); cg = ino_to_cg(fs, ino); - error = bread(ump->um_devvp, fsbtodb(fs, cgtod(fs, cg)), - (int)fs->fs_cgsize, NOCRED, &bp); - if (error) + if ((error = ffs_getcg(fs, ump->um_devvp, cg, &bp, &cgp)) != 0) return (error); - cgp = (struct cg *)bp->b_data; - if (!cg_chkmagic(cgp) || ino >= cg * fs->fs_ipg + cgp->cg_initediblk) { + if (ino >= cg * fs->fs_ipg + cgp->cg_initediblk) { brelse(bp); return (ESTALE); } Modified: head/sys/ufs/ufs/ufs_gjournal.c ============================================================================== --- head/sys/ufs/ufs/ufs_gjournal.c Wed Jun 28 13:59:20 2017 (r320452) +++ head/sys/ufs/ufs/ufs_gjournal.c Wed Jun 28 17:32:09 2017 (r320453) @@ -86,16 +86,8 @@ ufs_gjournal_modref(struct vnode *vp, int count) if ((u_int)ino >= fs->fs_ipg * fs->fs_ncg) panic("ufs_gjournal_modref: range: dev = %s, ino = %lu, fs = %s", devtoname(dev), (u_long)ino, fs->fs_fsmnt); - if ((error = bread(devvp, cgbno, (int)fs->fs_cgsize, NOCRED, &bp))) { - brelse(bp); + if ((error = ffs_getcg(fs, devvp, cg, &bp, &cgp)) != 0) return (error); - } - cgp = (struct cg *)bp->b_data; - if (!cg_chkmagic(cgp)) { - brelse(bp); - return (0); - } - bp->b_xflags |= BX_BKGRDWRITE; cgp->cg_unrefs += count; UFS_LOCK(ump); fs->fs_unrefs += count; From owner-svn-src-head@freebsd.org Wed Jun 28 19:05:06 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 30030DA7F05; Wed, 28 Jun 2017 19:05:06 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F0CA88396C; Wed, 28 Jun 2017 19:05:05 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5SJ55xb062533; Wed, 28 Jun 2017 19:05:05 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5SJ55Zb062532; Wed, 28 Jun 2017 19:05:05 GMT (envelope-from cy@FreeBSD.org) Message-Id: <201706281905.v5SJ55Zb062532@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Wed, 28 Jun 2017 19:05:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320454 - head/share/zoneinfo X-SVN-Group: head X-SVN-Commit-Author: cy X-SVN-Commit-Paths: head/share/zoneinfo X-SVN-Commit-Revision: 320454 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 19:05:06 -0000 Author: cy Date: Wed Jun 28 19:05:04 2017 New Revision: 320454 URL: https://svnweb.freebsd.org/changeset/base/320454 Log: Allow parallel installworld (-j N) and poudriere installworld (poudriere jail -c and poudriere jail -u) to proceed. Reviewed by: trasz@ Tested by: trasz@, cy@ MFC after: 1 month X-MFC-with: r320362 Modified: head/share/zoneinfo/Makefile Modified: head/share/zoneinfo/Makefile ============================================================================== --- head/share/zoneinfo/Makefile Wed Jun 28 17:32:09 2017 (r320453) +++ head/share/zoneinfo/Makefile Wed Jun 28 19:05:04 2017 (r320454) @@ -94,7 +94,7 @@ install-zoneinfo: .for f in ${TZS} ${INSTALL} ${TAG_ARGS} \ -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ - ${TZBUILDDIR:C,^${.OBJDIR}/,,}/${f} ${DESTDIR}/usr/share/zoneinfo/${f} + ${TZBUILDDIR}/${f} ${DESTDIR}/usr/share/zoneinfo/${f} .endfor ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ From owner-svn-src-head@freebsd.org Wed Jun 28 19:08:08 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 80CC2DA80B8; Wed, 28 Jun 2017 19:08:08 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5A0CE83B3B; Wed, 28 Jun 2017 19:08:08 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5SJ87wZ062715; Wed, 28 Jun 2017 19:08:07 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5SJ87co062712; Wed, 28 Jun 2017 19:08:07 GMT (envelope-from cy@FreeBSD.org) Message-Id: <201706281908.v5SJ87co062712@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Wed, 28 Jun 2017 19:08:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320455 - head/contrib/ipfilter/lib X-SVN-Group: head X-SVN-Commit-Author: cy X-SVN-Commit-Paths: head/contrib/ipfilter/lib X-SVN-Commit-Revision: 320455 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 19:08:08 -0000 Author: cy Date: Wed Jun 28 19:08:07 2017 New Revision: 320455 URL: https://svnweb.freebsd.org/changeset/base/320455 Log: Ansify entry and exit points. MFC after: 1 month Modified: head/contrib/ipfilter/lib/hostname.c head/contrib/ipfilter/lib/portname.c head/contrib/ipfilter/lib/printstate.c Modified: head/contrib/ipfilter/lib/hostname.c ============================================================================== --- head/contrib/ipfilter/lib/hostname.c Wed Jun 28 19:05:04 2017 (r320454) +++ head/contrib/ipfilter/lib/hostname.c Wed Jun 28 19:08:07 2017 (r320455) @@ -10,9 +10,8 @@ #include "ipf.h" -char *hostname(family, ip) - int family; - void *ip; +char * +hostname(int family, void *ip) { static char hostbuf[MAXHOSTNAMELEN+1]; struct hostent *hp; @@ -24,7 +23,7 @@ char *hostname(family, ip) if (family == AF_INET) { ipa.s_addr = *(u_32_t *)ip; if (ipa.s_addr == htonl(0xfedcba98)) - return "test.host.dots"; + return ("test.host.dots"); } if ((opts & OPT_NORESOLVE) == 0) { @@ -34,7 +33,7 @@ char *hostname(family, ip) *hp->h_name != '\0') { strncpy(hostbuf, hp->h_name, sizeof(hostbuf)); hostbuf[sizeof(hostbuf) - 1] = '\0'; - return hostbuf; + return (hostbuf); } np = getnetbyaddr(ipa.s_addr, AF_INET); @@ -42,19 +41,19 @@ char *hostname(family, ip) *np->n_name != '\0') { strncpy(hostbuf, np->n_name, sizeof(hostbuf)); hostbuf[sizeof(hostbuf) - 1] = '\0'; - return hostbuf; + return (hostbuf); } } } if (family == AF_INET) { - return inet_ntoa(ipa); + return (inet_ntoa(ipa)); } #ifdef USE_INET6 (void) inet_ntop(AF_INET6, ip, hostbuf, sizeof(hostbuf) - 1); hostbuf[MAXHOSTNAMELEN] = '\0'; - return hostbuf; + return (hostbuf); #else - return "IPv6"; + return ("IPv6"); #endif } Modified: head/contrib/ipfilter/lib/portname.c ============================================================================== --- head/contrib/ipfilter/lib/portname.c Wed Jun 28 19:05:04 2017 (r320454) +++ head/contrib/ipfilter/lib/portname.c Wed Jun 28 19:08:07 2017 (r320455) @@ -10,8 +10,8 @@ #include "ipf.h" -char *portname(pr, port) - int pr, port; +char * +portname(int pr, int port) { static char buf[32]; struct protoent *p = NULL; @@ -28,16 +28,16 @@ char *portname(pr, port) NULL : sv1; } if (sv) - return buf; + return (buf); } else if ((pr != -2) && (p = getprotobynumber(pr))) { if ((sv = getservbyport(htons(port), p->p_name))) { strncpy(buf, sv->s_name, sizeof(buf)-1); buf[sizeof(buf)-1] = '\0'; - return buf; + return (buf); } } } (void) sprintf(buf, "%d", port); - return buf; + return (buf); } Modified: head/contrib/ipfilter/lib/printstate.c ============================================================================== --- head/contrib/ipfilter/lib/printstate.c Wed Jun 28 19:05:04 2017 (r320454) +++ head/contrib/ipfilter/lib/printstate.c Wed Jun 28 19:08:07 2017 (r320455) @@ -11,10 +11,7 @@ ipstate_t * -printstate(sp, opts, now) - ipstate_t *sp; - int opts; - u_long now; +printstate(ipstate_t *sp, int opts, u_long now) { struct protoent *pr; synclist_t ipsync; @@ -210,7 +207,7 @@ printstate(sp, opts, now) if (kmemcpy((char *)&ipsync, (u_long)sp->is_sync, sizeof(ipsync))) { PRINTF("status could not be retrieved\n"); - return NULL; + return (NULL); } PRINTF("idx %d num %d v %d pr %d rev %d\n", @@ -220,5 +217,5 @@ printstate(sp, opts, now) PRINTF("not synchronized\n"); } - return sp->is_next; + return (sp->is_next); } From owner-svn-src-head@freebsd.org Wed Jun 28 19:25:56 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 886C2DA85D6; Wed, 28 Jun 2017 19:25:56 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf0-x242.google.com (mail-pf0-x242.google.com [IPv6:2607:f8b0:400e:c00::242]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 53F35844E3; Wed, 28 Jun 2017 19:25:56 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf0-x242.google.com with SMTP id z6so10149834pfk.3; Wed, 28 Jun 2017 12:25:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=NIGMiBUAfXG0FlmHlk3HqGYCJ6k0b4rIInLDs7XTUWY=; b=HupFriJUrVTG40ZpBm+SByDpDXCi+R3tHupUnDdT5zuh7evCo5mkJM2HkiQjPxuZqo qh2WItxDanCucsJWKBfD8hfb9Fwrmde1BsjtmYs8ltaDUZHdFshbLgFg1zjxpBCt+urD ViKjzNto4e3l5q2XqMjxMb9r3jZF/gNhTxMIOABHsMARnFhQnzIyNiWGbpK+70YLwRgF wZRLVU/eun72JLjHbmDn/0lFzo4fbS4LhRirdSKGQWqw2/9mbgSCjnQIHzHE1r1wL35s 6IWa3sp8oZptUppq5IKKOL95xTE/vevxQvwGGZpB7Y9ucjhMLKdD7gkF85tnW0mpeYRB rTzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=NIGMiBUAfXG0FlmHlk3HqGYCJ6k0b4rIInLDs7XTUWY=; b=YdypKIJ1xvu+30VSmqSE6ma7IJ9kawL853EYzqeyPhN9Rn4pizqzx0WQC9c1Ibs5tY 6ItDJH8GteEIhZpfVEAAfRrqzHsy5+Vdbk35fcVZaVGzYWp7JmeN7tIm51p6GrP0/uX0 M3n9lw2NDLbgk2dFqJUyfgVI7EayK8OKWy+GT7zyGwX548CeBTbIJcunjuPtnPMfGRUx YUskJPgm+Yooyzd66tWmWI7adDtiV1PZUm0yEMI6OGZ7fRzLrZM6r02XFOT43eLotTPS NxdqiFmR7PmWJdTeG61lBAuI2ESwwFx3dElYgutzY/ghask9Ofjoxam1GEsxNEhuhlTx HTeg== X-Gm-Message-State: AKS2vOzVQevUHDRfbIn/3bAy9lcsrxm12pVXDyAA/mvQFZ1kU+n4vrDG zHFcjMqN6hnj0hrNcQg= X-Received: by 10.84.128.195 with SMTP id a61mr13762699pla.130.1498677955645; Wed, 28 Jun 2017 12:25:55 -0700 (PDT) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id x25sm7676426pfi.58.2017.06.28.12.25.54 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 28 Jun 2017 12:25:54 -0700 (PDT) Subject: Re: svn commit: r320454 - head/share/zoneinfo Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_08D0994E-C5E0-4E84-ACF1-C103E9A01AF3"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: <201706281905.v5SJ55Zb062532@repo.freebsd.org> Date: Wed, 28 Jun 2017 12:25:53 -0700 Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <3305BCF7-0978-4152-B3AD-309FD891B59D@gmail.com> References: <201706281905.v5SJ55Zb062532@repo.freebsd.org> To: Cy Schubert X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 19:25:56 -0000 --Apple-Mail=_08D0994E-C5E0-4E84-ACF1-C103E9A01AF3 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Jun 28, 2017, at 12:05, Cy Schubert wrote: >=20 > Author: cy > Date: Wed Jun 28 19:05:04 2017 > New Revision: 320454 > URL: https://svnweb.freebsd.org/changeset/base/320454 >=20 > Log: > Allow parallel installworld (-j N) and poudriere installworld > (poudriere jail -c and poudriere jail -u) to proceed. >=20 > Reviewed by: trasz@ > Tested by: trasz@, cy@ > MFC after: 1 month > X-MFC-with: r320362 >=20 > Modified: > head/share/zoneinfo/Makefile >=20 > Modified: head/share/zoneinfo/Makefile > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/share/zoneinfo/Makefile Wed Jun 28 17:32:09 2017 = (r320453) > +++ head/share/zoneinfo/Makefile Wed Jun 28 19:05:04 2017 = (r320454) > @@ -94,7 +94,7 @@ install-zoneinfo: > .for f in ${TZS} > ${INSTALL} ${TAG_ARGS} \ > -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > - ${TZBUILDDIR:C,^${.OBJDIR}/,,}/${f} = ${DESTDIR}/usr/share/zoneinfo/${f} > + ${TZBUILDDIR}/${f} ${DESTDIR}/usr/share/zoneinfo/${f} > .endfor > ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} = \ > ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ Thank you for getting this in! In general, I would argue that for/.for loops in Make targets = are bad like this I think that individual targets could in fact be = created, and driven as a dependency of a top-level target, to avoid this = issue and keep bdrewery=E2=80=99s intended change in r320362, e.g. = something like, install-zones: .PHONY .for f in ${TZS} install-zones: ${DESTDIR}/usr/share/zoneinfo/${f} ${DESTDIR}/usr/share/zoneinfo/${f}: ${f} ${INSTALL} ... .endfor I=E2=80=99m not incredibly sure based on this commit alone why = this Makefile isn=E2=80=99t using FILES though=E2=80=A6 I=E2=80=99ll = look at it closer when I have a spare minute. Thanks, -Ngie --Apple-Mail=_08D0994E-C5E0-4E84-ACF1-C103E9A01AF3 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJZVALBAAoJEPWDqSZpMIYVgcYP/3R5QvAZnRidzyPdfHFGOekX uL2esI0enXJUnlgQsQLSWi5aG6nDONAi3EanKI0OgJ2iKpRdKX5OFs+2rahcm6uD MaQyvbn/5+lL25g9O1V5/P5Eoa32kMkvYxHkxaz3YPJzkLto1I2R2J9Hj3g6jVU2 OrmPz71vU0X1G2QthXOzf63w+wbUF8YlmSrzZ2+ZgMeCKzfUdLuWrGejgY9ETHEz BbhLXQ2uvYqjJ4Ij00ojvMZCx5xaeFWpU5AR9dluwyaWp90U4Ey+5sPKdw2K/x5D +KNib3mgs79/K3vHSfr8ahyFUijxZN3uTmeGaBcOhQRr8ngI51ZmzWq83A0cGy/P yWg8mNeJ8CNhNoHE2bGyEYJxyBbAkykOqH5IidtgUMg+uO7JSNi15gZ5C77xmRFx GM191qQEQDpo7e6XcwM8/vUsqcTv1Az8MHnViuiDSC9D2ZZVgj/ZWG7jNt4HZquw 7PlwSGu1DXdlyhCPCa9dplOv3yuVbLJE9FOajfwstket7Jq8AwKLghaZlL+V7M8T X6UJEIUUVitmhzKd9cZqNopbZSsWX2dCx5mkxEY96+q/6gCnido0Tvk6TBfGyQGt nl+6+X0BHZk33bsVQL1jYWEQhJBYa/txlO8ZoORiu6cpNou1feaXhh3y7S++Q2Dq +oqopbUVDfjeK5B4/KTP =/DIH -----END PGP SIGNATURE----- --Apple-Mail=_08D0994E-C5E0-4E84-ACF1-C103E9A01AF3-- From owner-svn-src-head@freebsd.org Wed Jun 28 19:30:31 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B0A47DA892D; Wed, 28 Jun 2017 19:30:31 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 624FC8479C; Wed, 28 Jun 2017 19:30:29 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from spqr.komquats.com ([96.50.22.10]) by shaw.ca with SMTP id QIQwdicW5ETFpQIQxdjnGy; Wed, 28 Jun 2017 13:15:28 -0600 X-Authority-Analysis: v=2.2 cv=dZbw5Tfe c=1 sm=1 tr=0 a=jvE2nwUzI0ECrNeyr98KWA==:117 a=jvE2nwUzI0ECrNeyr98KWA==:17 a=kj9zAlcOel0A:10 a=LWSFodeU3zMA:10 a=BWvPGDcYAAAA:8 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=SLG1KRGDAAAA:8 a=IIX2BFdiAAAA:8 a=NMM7OKYrAAAA:8 a=kUCByv9wAAAA:8 a=KpeJSf20AAAA:8 a=0VOg8hKvAAAA:8 a=vUPWEWiMAAAA:8 a=BXYy4R0WAAAA:8 a=QSBWpcfR5GY4jEtF4JUA:9 a=NnUqzC6Fjy8AhMSI:21 a=CjuIK1q_8ugA:10 a=cHr6Uyts_5sA:10 a=NWVoK91CQyQA:10 a=pxhY87DP9d2VeQe4joPk:22 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=-TBaU1e9WpdkKBzYXnwo:22 a=rHg00LAlvzXsuODty-Nv:22 a=isrg6BwTYk6I_F0B0DtW:22 a=bu_5hG6eGWxBxPYBRUjp:22 a=8GyX2P7uvxEm4O_9qm7Q:22 a=I-efbNKAaAt4Mg394dr-:22 a=s3Yi14Of9AgBIP63TAoC:22 a=6K-cYB1gWkfn0jlA1t11:22 Received: from slippy.cwsent.com (slippy8 [10.2.2.6]) by spqr.komquats.com (Postfix) with ESMTPS id 70048269; Wed, 28 Jun 2017 12:15:25 -0700 (PDT) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id v5SJE9fq018387; Wed, 28 Jun 2017 12:14:09 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.14.8/Submit) with ESMTP id v5SJE9eN018384; Wed, 28 Jun 2017 12:14:09 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201706281914.v5SJE9eN018384@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.6 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Edward Napierala cc: Cy Schubert , Sean Bruno , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r320362 - head/share/zoneinfo In-Reply-To: Message from Edward Napierala of "Wed, 28 Jun 2017 16:35:19 +0100." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 28 Jun 2017 12:14:09 -0700 X-CMAE-Envelope: MS4wfCutTlDiCCzfEsr3I9fbYr73Rw6Wn8wS4EIOdUQAnmcVuG4Wj2tt9IKmxf6dOSAZSwfRtn29CFYeTBCpVQceNazwCawVfTdJrAKINWMVA0O8nnzNlPCz w+vcte+SIHMDXs6zRaMYITgD519YZh0wR4KWhdUhuwNPmXLd0dxYJ+O8N/gfDVTDkEFQVxEAAKZlrpQRFx5eT+HU78fP/3zku2SITwkme/Mks4K/BH1/v3uk 8OTLLbtKIOHBEXUu3DZUaSYdPYh7ZRBONaYMXVZ5YM5KrM8efFHvR4Lm6JqiK8mmFRPdQTkTe3r00lbAFOWsmg== X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 19:30:31 -0000 It's committed. Remember to MFC it with r320362. ~cy In message , Edward Napierala writes: > --001a114df91c80e879055306eec4 > Content-Type: text/plain; charset="UTF-8" > > Please do. Thanks again :-) > > 2017-06-28 15:15 GMT+01:00 Cy Schubert : > > > It doesn't matter who commits it. If you want me to, I will commit it at > > noon my time as I'm already a tad late for $JOB. > > > > ~cy > > > > In message > KFM7ngEqiW86_g@mail.gmail.c > > om> > > , Edward Napierala writes: > > > --001a113d0020693f04055304b5a4 > > > Content-Type: text/plain; charset="UTF-8" > > > > > > This patch seems to fix the problem with "make -j4 installworld" for me. > > > Do you intend to commit it? Thanks! (And sorry for the breakage.) > > > > > > > > > 2017-06-27 4:48 GMT+01:00 Cy Schubert : > > > > > > > (since we're top posting.... ) > > > > > > > > Hi Sean, > > > > > > > > Do you want to give this a spin? > > > > > > > > Index: share/zoneinfo/Makefile > > > > =================================================================== > > > > --- share/zoneinfo/Makefile (revision 320389) > > > > +++ share/zoneinfo/Makefile (working copy) > > > > @@ -94,7 +94,7 @@ > > > > .for f in ${TZS} > > > > ${INSTALL} ${TAG_ARGS} \ > > > > -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > > > > - ${TZBUILDDIR:C,^${.OBJDIR}/,,}/${f} > > > > ${DESTDIR}/usr/share/zoneinfo/${f} > > > > + ${TZBUILDDIR}/${f} ${DESTDIR}/usr/share/zoneinfo/${f} > > > > .endfor > > > > ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m > > ${NOBINMODE} \ > > > > ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ > > > > > > > > ~cy > > > > > > > > > > > > In message , Sean > > Bruno > > > > write > > > > s: > > > > > This is an OpenPGP/MIME signed message (RFC 4880 and 3156) > > > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f > > > > > Content-Type: multipart/mixed; boundary=" > > VFqTarnRbgKj5gwWULxfLoTjWIwLn2 > > > > loQ"; > > > > > protected-headers="v1" > > > > > From: Sean Bruno > > > > > To: Edward Tomasz Napierala , > > > > src-committers@freebsd.org, > > > > > svn-src-all@freebsd.org, svn-src-head@freebsd.org > > > > > Message-ID: > > > > > Subject: Re: svn commit: r320362 - head/share/zoneinfo > > > > > References: <201706261540.v5QFeOTj072841@repo.freebsd.org> > > > > > In-Reply-To: <201706261540.v5QFeOTj072841@repo.freebsd.org> > > > > > > > > > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ > > > > > Content-Type: text/plain; charset=utf-8 > > > > > Content-Language: en-US > > > > > Content-Transfer-Encoding: quoted-printable > > > > > > > > > > Hmmm ... This seems to break 'poudriere jail -c jailname -m > > > > src=3D/usr/sr= > > > > > c > > > > > -v head" > > > > > > > > > > --- realinstall_subdir_share/zoneinfo --- > > > > > install: builddir/Africa/Abidjan: No such file or directory > > > > > > > > > > > > > > > On 06/26/17 09:40, Edward Tomasz Napierala wrote: > > > > > > Author: trasz > > > > > > Date: Mon Jun 26 15:40:24 2017 > > > > > > New Revision: 320362 > > > > > > URL: https://svnweb.freebsd.org/changeset/base/320362 > > > > > >=20 > > > > > > Log: > > > > > > Provide visual feedback when timezone files are installed. > > > > > > After r320003 it wasn't being shown in any way. > > > > > > =20 > > > > > > Submitted by: bdrewery > > > > > > MFC after: 1 month > > > > > > Differential Revision: https://reviews.freebsd.org/D11154 > > > > > >=20 > > > > > > Modified: > > > > > > head/share/zoneinfo/Makefile > > > > > >=20 > > > > > > Modified: head/share/zoneinfo/Makefile > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > > > > 3D=3D=3D=3D=3D= > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > > > > 3D=3D=3D=3D=3D=3D= > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > > > > 3D=3D=3D=3D=3D=3D= > > > > > =3D=3D=3D=3D > > > > > > --- head/share/zoneinfo/Makefile Mon Jun 26 15:23:12 2017 > > > > (r32036 > > > > > 1) > > > > > > +++ head/share/zoneinfo/Makefile Mon Jun 26 15:40:24 2017 > > > > (r32036 > > > > > 2) > > > > > > @@ -83,14 +83,19 @@ zoneinfo: yearistype ${TDATA} > > > > > > zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m ${NOBINMODE} \ > > > > > > ${LEAPFILE} -y ${.OBJDIR}/yearistype ${TZFILES} > > > > > > =20 > > > > > > +.if make(*install*) > > > > > > +TZS!=3D cd ${TZBUILDDIR} && find -s * -type f > > > > > > +.endif > > > > > > + > > > > > > beforeinstall: install-zoneinfo > > > > > > install-zoneinfo: > > > > > > mkdir -p ${DESTDIR}/usr/share/zoneinfo > > > > > > cd ${DESTDIR}/usr/share/zoneinfo; mkdir -p ${TZBUILDSUBDIRS} > > > > > > - cd ${TZBUILDDIR} && \ > > > > > > - find -s * -type f -exec ${INSTALL} ${TAG_ARGS} \ > > > > > > +.for f in ${TZS} > > > > > > + ${INSTALL} ${TAG_ARGS} \ > > > > > > -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > > > > > > - \{} ${DESTDIR}/usr/share/zoneinfo/\{} \; > > > > > > + ${TZBUILDDIR:C,^${.OBJDIR}/,,}/${f} > > > > ${DESTDIR}/usr/share/zoneinfo= > > > > > /${f} > > > > > > +.endfor > > > > > > ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m > > ${NOBINMODE} \ > > > > > > ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ > > > > > > =20 > > > > > >=20 > > > > > >=20 > > > > > > > > > > > > > > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ-- > > > > > > > > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f > > > > > Content-Type: application/pgp-signature; name="signature.asc" > > > > > Content-Description: OpenPGP digital signature > > > > > Content-Disposition: attachment; filename="signature.asc" > > > > > > > > > > -----BEGIN PGP SIGNATURE----- > > > > > > > > > > iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/LYFAllRUJtfFIAAAAAALgAo > > > > > aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEU4 > > > > > QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgkQveT1/om1 > > > > > /LaIFggAlEX4pLTfDUaRsGoxWbGI0DiirmhR1nW74ESXjGXd4u9WSYKfvxK+oGPJ > > > > > LRwxcimGw/v+h8piM102ijsmquE0+NlyyMAYjFNLb9tsZuR+kfzRbDwqiu3FNg8R > > > > > zDnsvo69JHiyoi7r9BJB30Q6P9fZDGBtCrSQ9Up2IUiPHjz+pLUK6jxy29wflPSr > > > > > qVDHitG2A7l7Sdn3Jsj8MWNw/4ehRNlhxudgg+F8v7tEJH9eNBpP6K6jR6B+aU/P > > > > > VCPrKO1rRmmJTPxxPwskLLX4/xXrf8hmUFTm0uBbLtKbvzsaO5IZ9HKXJdYFlaRo > > > > > dCw6yY1xFlMv/OrUWgSxj02fsd7GHg== > > > > > =9Mia > > > > > -----END PGP SIGNATURE----- > > > > > > > > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f-- > > > > > > > > > > > > > > > > > > -- > > > > Cheers, > > > > Cy Schubert > > > > FreeBSD UNIX: Web: http://www.FreeBSD.org > > > > > > > > The need of the many outweighs the greed of the few. > > > > > > > > > > > > > > > > > > --001a113d0020693f04055304b5a4 > > > Content-Type: text/html; charset="UTF-8" > > > Content-Transfer-Encoding: quoted-printable > > > > > >
This patch seems to fix the problem with "make -j4 > > in= > > > stallworld" for me.
Do you intend to commit it?=C2=A0 Thanks! > > =C2= > > > =A0(And sorry for the breakage.)

> class=3D"gmail_ex= > > > tra">
2017-06-27 4:48 GMT+01:00 Cy > > Schubert <= > > > span dir=3D"ltr">< > target=3D"= > > > _blank">Cy.Schubert@komquats.com>:
> class=3D"gm= > > > ail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc > > solid;padding-le= > > > ft:1ex">(since we're top posting.... )
> > >
> > > Hi Sean,
> > >
> > > Do you want to give this a spin?
> > >
> > > Index: share/zoneinfo/Makefile
> > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > > 3D=3D=3D=3D=3D=3D= > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > > 3D=3D=3D=3D=3D= > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > > --- share/zoneinfo/Makefile=C2=A0 =C2=A0 =C2=A0(revision 320389)
> > > +++ share/zoneinfo/Makefile=C2=A0 =C2=A0 =C2=A0(working copy)
> > > @@ -94,7 +94,7 @@
> > > =C2=A0.for f in ${TZS}
> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 ${INSTALL} ${TAG_ARGS} \
> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o ${BINOWN} -g ${BINGRP} -m > > ${NO= > > > BINMODE} \
> > >
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${TZBUILDDIR:C,^${. > > OBJDIR}= > > > /,,}/${f} ${DESTDIR}/usr/share/zoneinfo/${f}
> > > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${TZBUILDDIR}/${f} > > ${DESTDIR}/usr= > > > /share/zoneinfo/${f}
> > > =C2=A0.endfor
> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g > > ${BINGRP= > > > } -m ${NOBINMODE} \
> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ${CONTRIBDIR}/zone.tab > > ${DESTDIR}= > > > /usr/share/zoneinfo/
> > >
> > >
~cy
> > >
> > >
> > > In message < > b6f5-6997-38293f10e25a@freeb= > > > sd.org">f6014fd3-9f4b-b6f5-6997-38293f10e25a@freebsd.org>, > > Sean= > > > Bruno
> > > write
> > > s:
> > > > This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
> > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f
> > > > Content-Type: multipart/mixed; boundary=3D" > > VFqTarnRbgKj5gwWU= > > > LxfLoTjWIwLn2loQ";
> > > >=C2=A0 protected-headers=3D"v1"
> > > > From: Sean Bruno < > ">sbruno@free= > > > bsd.org>
> > > > To: Edward Tomasz Napierala <trasz@FreeBSD.org>, > href=3D"mail= > > > to:src-committers@freebsd.org">src-committers@freebsd.org,
> > > >=C2=A0 svn-src-all@ > > freebsd.o= > > > rg, svn-src-head@ > > freebsd.or= > > > g
> > > > Message-ID: < > b6f5-6997-38293f10e25a= > > > @freebsd.org">f6014fd3-9f4b-b6f5-6997-38293f10e25a@freebsd.org > > >= > > >
> > > > Subject: Re: svn commit: r320362 - head/share/zoneinfo
> > > > References: < > v5QFeOTj072841@repo.fre= > > > ebsd.org">201706261540.v5QFeOTj072841@repo.freebsd.org>
> > > > In-Reply-To: < > v5QFeOTj072841@repo.fr= > > > eebsd.org">201706261540.v5QFeOTj072841@repo.freebsd.org>
> > > >
> > > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ
> > > > Content-Type: text/plain; charset=3Dutf-8
> > > > Content-Language: en-US
> > > > Content-Transfer-Encoding: quoted-printable
> > > >
> > > > Hmmm ... This seems to break 'poudriere jail -c jailname -m > > src=3D= > > > 3D/usr/sr=3D
> > > > c
> > > > -v head"
> > > >
> > > > --- realinstall_subdir_share/zoneinfo ---
> > > > install: builddir/Africa/Abidjan: No such file or directory
> > > >
> > > >
> > > > On 06/26/17 09:40, Edward Tomasz Napierala wrote:
> > > > > Author: trasz
> > > > > Date: Mon Jun 26 15:40:24 2017
> > > > > New Revision: 320362
> > > > > URL: > 320362"= > > > rel=3D"noreferrer" target=3D"_blank">https://svnweb.freebsd.org/ > > chang= > > > eset/base/320362
> > >
> >=3D20
> > > > > Log:
> > > > >=C2=A0 =C2=A0Provide visual feedback when timezone files are > > insta= > > > lled.
> > > > >=C2=A0 =C2=A0After r320003 it wasn't being shown in any > > way. > > r> > > >
> >=C2=A0 =3D20
> > > > >=C2=A0 =C2=A0Submitted by:=C2=A0 =C2=A0 > > =C2=A0bdr= > > > ewery
> > > > >=C2=A0 =C2=A0MFC after:=C2=A0 =C2=A0 =C2=A0 =C2=A0 1 month
> > > > >=C2=A0 =C2=A0Differential Revision:=C2=A0 =C2=A0 > href=3D"https:= > > > //reviews.freebsd.org/D11154" rel=3D"noreferrer" > > target=3D"_blank">https://= > > > reviews.freebsd.org/D11154
> > >
> >=3D20
> > > > > Modified:
> > > > >=C2=A0 =C2=A0head/share/zoneinfo/Makefile
> > > > >=3D20
> > > > > Modified: head/share/zoneinfo/Makefile
> > > > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > > 3D3D=3D3D= > > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > > 3D3D=3D3D=3D3D= > > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > > 3D3D=3D3D=3D3D= > > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > > > =3D3D=3D3D=3D3D=3D3D
> > > > > --- head/share/zoneinfo/Makefile=C2=A0 > > =C2=A0 Mo= > > > n Jun 26 15:23:12 2017=C2=A0 =C2=A0 =C2=A0 =C2=A0 (r32036
> > > > 1)
> > > > > +++ head/share/zoneinfo/Makefile=C2=A0 =C2=A0 Mon Jun 26 > > 15:40:24= > > > 2017=C2=A0 =C2=A0 =C2=A0 =C2=A0 (r32036
> > > > 2)
> > > > > @@ -83,14 +83,19 @@ zoneinfo: yearistype ${TDATA}
> > > > >=C2=A0 =C2=A0 =C2=A0zic -D -d ${TZBUILDDIR} -p ${POSIXRULES} -m > > ${= > > > NOBINMODE} \
> > > > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${LEAPFILE} -y > > ${.OBJDIR}/yearis= > > > type ${TZFILES}
> > >
> > =3D20
> > > > > +.if make(*install*)
> > > > > +TZS!=3D3D cd ${TZBUILDDIR} && find -s * -type f
> > > > > +.endif
> > > > > +
> > > > >=C2=A0 beforeinstall: install-zoneinfo
> > > > >=C2=A0 install-zoneinfo:
> > > > >=C2=A0 =C2=A0 =C2=A0mkdir -p ${DESTDIR}/usr/share/zoneinfo
> > > > >=C2=A0 =C2=A0 =C2=A0cd ${DESTDIR}/usr/share/zoneinfo;=C2=A0 > > mkdir = > > > -p ${TZBUILDSUBDIRS}
> > > > > -=C2=A0 =C2=A0cd ${TZBUILDDIR} && \
> > > > > -=C2=A0 =C2=A0 =C2=A0 =C2=A0find -s * -type f -exec ${INSTALL} > > ${= > > > TAG_ARGS} \
> > > > > +.for f in ${TZS}
> > > > > +=C2=A0 =C2=A0${INSTALL} ${TAG_ARGS} \
> > > > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0-o ${BINOWN} -g ${BINGRP} -m > > ${N= > > > OBINMODE} \
> > > > > -=C2=A0 =C2=A0 =C2=A0 =C2=A0\{} ${DESTDIR}/usr/share/zoneinfo/ > > > > r>\{} \;
> > >
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0${TZBUILDDIR:C,^${. > > OBJDIR}/,,}= > > > /${f} ${DESTDIR}/usr/share/zoneinfo=3D
> > > > /${f}
> > > > > +.endfor
> > > > >=C2=A0 =C2=A0 =C2=A0${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g > > ${BINGR= > > > P} -m ${NOBINMODE} \
> > > > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${CONTRIBDIR}/zone.tab > > ${DESTDIR= > > > }/usr/share/zoneinfo/
> > >
> > =3D20
> > > > >=3D20
> > > > >=3D20
> > > >
> > > >
> > > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ--
> > > >
> > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f
> > > > Content-Type: application/pgp-signature; > > name=3D"signature.asc&qu= > > > ot;
> > > > Content-Description: OpenPGP digital signature
> > > > Content-Disposition: attachment; filename=3D"signature. > > asc"<= > > > br> > > > >
> > > > -----BEGIN PGP SIGNATURE-----
> > > >
> > > > iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/ > > LYFAllRUJtfFIAAAAAA= > > > LgAo
> > > > aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5l > > = > > > dEU4
> > > > QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgkQveT1 > > = > > > /om1
> > > > /LaIFggAlEX4pLTfDUaRsGoxWbGI0Di > > irmhR1nW74ESXjGXd4u9WSYKfvxK+= > > > oGPJ
> > > > LRwxcimGw/v+h8piM102ijsmquE0+NlyyMAYjFNLb9tsZuR+ > > kfzRbDwqiu3F= > > > Ng8R
> > > > zDnsvo69JHiyoi7r9BJB30Q6P9fZDGBtCrSQ9Up2IUiPHjz+ > > pLUK6jxy29wf= > > > lPSr
> > > > qVDHitG2A7l7Sdn3Jsj8MWNw/4ehRNlhxudgg+ > > F8v7tEJH9eNBpP6K6jR6B+= > > > aU/P
> > > > VCPrKO1rRmmJTPxxPwskLLX4/xXrf8hmUFTm0uBbLtKbvzsaO5IZ9HK > > XJdYF= > > > laRo
> > > > dCw6yY1xFlMv/OrUWgSxj02fsd7GHg=3D=3D
> > > > =3D9Mia
> > > > -----END PGP SIGNATURE-----
> > > >
> > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f--
> > > >
> > > >
> > >
> > > --
> > > Cheers,
> > > Cy Schubert < > ">Cy.Schubert@cs= > > > chubert.com>
> > > FreeBSD UNIX:=C2=A0 <cy@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 > href= > > > =3D"http://www.FreeBSD.org" rel=3D"noreferrer" target=3D"_blank"> > > http://www= > > > .FreeBSD.org
> > >
> > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 The need of the many outweighs the greed of > > the= > > > few.
> > >
> > >
> > >

> > > > > > --001a113d0020693f04055304b5a4-- > > > > > > > -- > > Cheers, > > Cy Schubert > > FreeBSD UNIX: Web: http://www.FreeBSD.org > > > > The need of the many outweighs the greed of the few. > > > > > > > > --001a114df91c80e879055306eec4 > Content-Type: text/html; charset="UTF-8" > Content-Transfer-Encoding: quoted-printable > >
Please do.=C2=A0 Thanks again :-)
_extra">
2017-06-28 15:15 GMT+01:00 Cy Schube= > rt < =3D"_blank">Cy.Schubert@komquats.com>:
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd= > ing-left:1ex">It doesn't matter who commits it. If you want me to, I wi= > ll commit it at
> noon my time as I'm already a tad late for $JOB.
>
> ~cy
>
> In message <CAFLM3-rTjsQmMrDWSPPNpTqvnt3p33sOsmwmKFM7ngEqiW86_= > g@mail.gmail.c
> om>
> , Edward Napierala writes:
> > --001a113d0020693f04055304b5a4
> > Content-Type: text/plain; charset=3D"UTF-8"
>
>
> > This patch seems to fix the problem with "make -j4 installworld&q= > uot; for me.
> > Do you intend to commit it?=C2=A0 Thanks!=C2=A0 (And sorry for the bre= > akage.)
> >
> >
> > 2017-06-27 4:48 GMT+01:00 Cy Schubert < t@komquats.com">Cy.Schubert@komquats.com>:
> >
> > > (since we're top posting.... )
> > >
> > > Hi Sean,
> > >
> > > Do you want to give this a spin?
> > >
> > > Index: share/zoneinfo/Makefile
> > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<= > br> > > > --- share/zoneinfo/Makefile=C2=A0 =C2=A0 =C2=A0(revision 320389)<= > br> > > > +++ share/zoneinfo/Makefile=C2=A0 =C2=A0 =C2=A0(working copy)
> > > @@ -94,7 +94,7 @@
> > >=C2=A0 .for f in ${TZS}
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${INSTALL} ${TAG_ARGS} \
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0-o ${BINOWN} -g ${= > BINGRP} -m ${NOBINMODE} \
> > > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${TZBUILDDIR:C,^${.OBJD= > IR}/,,}/${f}
> > > ${DESTDIR}/usr/share/zoneinfo/${f}
> > > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${TZBUILDDIR}/${f} ${DE= > STDIR}/usr/share/zoneinfo/${f}
> > >=C2=A0 .endfor
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${INSTALL} ${TAG_ARGS} -o ${BINO= > WN} -g ${BINGRP} -m ${NOBINMODE} \
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${CONTRIBDIR}/zone= > .tab ${DESTDIR}/usr/share/zoneinfo/
> > >
> > > ~cy
> > >
> > >
> > > In message < e25a@freebsd.org">f6014fd3-9f4b-b6f5-6997-38293f10e25a@freebsd.org= > >, Sean Bruno
> > > write
> > > s:
> > > > This is an OpenPGP/MIME signed message (RFC 4880 and 3156) r> > > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f
> > > > Content-Type: multipart/mixed; boundary=3D"VFqTarn= > RbgKj5gwWULxfLoTjWIwLn2
> > > loQ";
> > > >=C2=A0 protected-headers=3D"v1"
> > > > From: Sean Bruno <s= > bruno@freebsd.org>
> > > > To: Edward Tomasz Napierala <trasz@FreeBSD.org>,
> > > src-committers@free= > bsd.org,
> > > >=C2=A0 svn-src-all= > @freebsd.org, svn-src-head@= > freebsd.org
> > > > Message-ID: < 293f10e25a@freebsd.org">f6014fd3-9f4b-b6f5-6997-38293f10e25a@freebsd.o= > rg>
> > > > Subject: Re: svn commit: r320362 - head/share/zoneinfo
> > > > References: < 1@repo.freebsd.org">201706261540.v5QFeOTj072841@repo.freebsd.org&g= > t;
> > > > In-Reply-To: < 41@repo.freebsd.org">201706261540.v5QFeOTj072841@repo.freebsd.org&= > gt;
> > > >
> > > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ
> > > > Content-Type: text/plain; charset=3Dutf-8
> > > > Content-Language: en-US
> > > > Content-Transfer-Encoding: quoted-printable
> > > >
> > > > Hmmm ... This seems to break 'poudriere jail -c jailname= > -m
> > > src=3D3D/usr/sr=3D
> > > > c
> > > > -v head"
> > > >
> > > > --- realinstall_subdir_share/zoneinfo ---
> > > > install: builddir/Africa/Abidjan: No such file or directory<= > br> > > > >
> > > >
> > > > On 06/26/17 09:40, Edward Tomasz Napierala wrote:
> > > > > Author: trasz
> > > > > Date: Mon Jun 26 15:40:24 2017
> > > > > New Revision: 320362
> > > > > URL: se/320362" rel=3D"noreferrer" target=3D"_blank">https://svnweb.freebsd.org/= > changeset/base/320362
> > > > >=3D20
> > > > > Log:
> > > > >=C2=A0 =C2=A0Provide visual feedback when timezone files= > are installed.
> > > > >=C2=A0 =C2=A0After r320003 it wasn't being shown in = > any way.
> > > > >=C2=A0 =3D20
> > > > >=C2=A0 =C2=A0Submitted by:=C2=A0 =C2=A0 =C2=A0bdrewery r> > > > > >=C2=A0 =C2=A0MFC after:=C2=A0 =C2=A0 =C2=A0 =C2=A0 1 mon= > th
> > > > >=C2=A0 =C2=A0Differential Revision:=C2=A0 =C2=A0 =3D"https://reviews.freebsd.org/D11154" rel=3D"noreferrer" target=3D"_blank= > ">https://reviews.freebsd.org/D11154
> > > > >=3D20
> > > > > Modified:
> > > > >=C2=A0 =C2=A0head/share/zoneinfo/Makefile
> > > > >=3D20
> > > > > Modified: head/share/zoneinfo/Makefile
> > > > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > > 3D=3D3D=3D3D=3D3D=3D3D=3D
> > > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > > 3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > > 3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > > > =3D3D=3D3D=3D3D=3D3D
> > > > > --- head/share/zoneinfo/Makefile=C2=A0 =C2=A0 Mon Jun 2= > 6 15:23:12 2017
> > > (r32036
> > > > 1)
> > > > > +++ head/share/zoneinfo/Makefile=C2=A0 =C2=A0 Mon Jun 2= > 6 15:40:24 2017
> > > (r32036
> > > > 2)
> > > > > @@ -83,14 +83,19 @@ zoneinfo: yearistype ${TDATA}
> > > > >=C2=A0 =C2=A0 =C2=A0zic -D -d ${TZBUILDDIR} -p ${POSIXRU= > LES} -m ${NOBINMODE} \
> > > > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${LEAPFILE} -y ${.OBJD= > IR}/yearistype ${TZFILES}
> > > > > =3D20
> > > > > +.if make(*install*)
> > > > > +TZS!=3D3D cd ${TZBUILDDIR} && find -s * -type = > f
> > > > > +.endif
> > > > > +
> > > > >=C2=A0 beforeinstall: install-zoneinfo
> > > > >=C2=A0 install-zoneinfo:
> > > > >=C2=A0 =C2=A0 =C2=A0mkdir -p ${DESTDIR}/usr/share/zonein= > fo
> > > > >=C2=A0 =C2=A0 =C2=A0cd ${DESTDIR}/usr/share/zoneinfo;=C2= > =A0 mkdir -p ${TZBUILDSUBDIRS}
> > > > > -=C2=A0 =C2=A0cd ${TZBUILDDIR} && \
> > > > > -=C2=A0 =C2=A0 =C2=A0 =C2=A0find -s * -type f -exec ${I= > NSTALL} ${TAG_ARGS} \
> > > > > +.for f in ${TZS}
> > > > > +=C2=A0 =C2=A0${INSTALL} ${TAG_ARGS} \
> > > > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0-o ${BINOWN} -g ${BING= > RP} -m ${NOBINMODE} \
> > > > > -=C2=A0 =C2=A0 =C2=A0 =C2=A0\{} ${DESTDIR}/usr/share/zo= > neinfo/\{} \;
> > > > > +=C2=A0 =C2=A0 =C2=A0 =C2=A0${TZBUILDDIR:C,^${.OBJDIR}/= > ,,}/${f}
> > > ${DESTDIR}/usr/share/zoneinfo=3D
> > > > /${f}
> > > > > +.endfor
> > > > >=C2=A0 =C2=A0 =C2=A0${INSTALL} ${TAG_ARGS} -o ${BINOWN} = > -g ${BINGRP} -m ${NOBINMODE} \
> > > > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${CONTRIBDIR}/zone.tab= > ${DESTDIR}/usr/share/zoneinfo/
> > > > > =3D20
> > > > >=3D20
> > > > >=3D20
> > > >
> > > >
> > > > --VFqTarnRbgKj5gwWULxfLoTjWIwLn2loQ--
> > > >
> > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f
> > > > Content-Type: application/pgp-signature; name=3D"signat= > ure.asc"
> > > > Content-Description: OpenPGP digital signature
> > > > Content-Disposition: attachment; filename=3D"signature.= > asc"
> > > >
> > > > -----BEGIN PGP SIGNATURE-----
> > > >
> > > > iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/LYFAllRUJ= > tfFIAAAAAALgAo
> > > > aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWF= > uLm5ldEU4
> > > > QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgk= > QveT1/om1
> > > > /LaIFggAlEX4pLTfDUaRsGoxWbGI0DiirmhR1nW74ESXjGXd4u= > 9WSYKfvxK+oGPJ
> > > > LRwxcimGw/v+h8piM102ijsmquE0+NlyyMAYjFNLb9tsZuR+kf= > zRbDwqiu3FNg8R
> > > > zDnsvo69JHiyoi7r9BJB30Q6P9fZDGBtCrSQ9Up2IUiPHjz+pL= > UK6jxy29wflPSr
> > > > qVDHitG2A7l7Sdn3Jsj8MWNw/4ehRNlhxudgg+F8v7tEJH9eNB= > pP6K6jR6B+aU/P
> > > > VCPrKO1rRmmJTPxxPwskLLX4/xXrf8hmUFTm0uBbLtKbvzsaO5IZ9HK= > XJdYFlaRo
> > > > dCw6yY1xFlMv/OrUWgSxj02fsd7GHg=3D=3D
> > > > =3D9Mia
> > > > -----END PGP SIGNATURE-----
> > > >
> > > > --WTKxh8RiNpWJJ66LumpxWUq5KMtbGfm2f--
> > > >
> > > >
> > >
> > > --
> > > Cheers,
> > > Cy Schubert <Cy.S= > chubert@cschubert.com>
> > > FreeBSD UNIX:=C2=A0 <cy@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0= > ht= > tp://www.FreeBSD.org
> > >
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0The need of the many outweighs t= > he greed of the few.
> > >
> > >
> > >
> >
>
> --001a113d0020693f04055304b5a4
> > Content-Type: text/html; charset=3D"UTF-8"
> > Content-Transfer-Encoding: quoted-printable
> >
> > <div dir=3D3D"ltr">This patch seems to fix the problem= > with &quot;make -j4 in=3D
> > stallworld&quot; for me.<div>Do you intend to commit it?=3DC= > 2=3DA0 Thanks! =3DC2=3D
> > =3DA0(And sorry for the breakage.)</div><div><br><= > ;/div><div class=3D3D"gmail_ex=3D
> > tra"><br><div class=3D3D"gmail_quote">20= > 17-06-27 4:48 GMT+01:00 Cy Schubert <=3D
> > span dir=3D3D"ltr">&lt;<a href=3D3D"mailto: href=3D"mailto:Cy.Schubert@komquats.com">Cy.Schubert@komquats.com= > " target=3D3D"=3D
> > _blank">Cy.Schuber= > t@komquats.com</a>&gt;</span>:<br><b= > lockquote class=3D3D"gm=3D
> > ail_quote" style=3D3D"margin:0 0 0 .8ex;border-left:1px #ccc= > solid;padding-le=3D
> > ft:1ex">(since we&#39;re top posting.... )<br>
> > <br>
> > Hi Sean,<br>
> > <br>
> > Do you want to give this a spin?<br>
> > <br>
> > Index: share/zoneinfo/Makefile<br>
> > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > =3D3D=3D3D=3D3D=3D3D=3D3D<wbr>=3D3D=3D3D=3D3D=3D3D=3D3D=3D3= > D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D
> > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D<w= > br>=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D<br>
> > --- share/zoneinfo/Makefile=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0(revision 3= > 20389)<br>
> > +++ share/zoneinfo/Makefile=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0(working co= > py)<br>
> > @@ -94,7 +94,7 @@<br>
> > =3DC2=3DA0.for f in ${TZS}<br>
> > <span class=3D3D"">=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 = > =3DC2=3DA0 ${INSTALL} ${TAG_ARGS} \<br>
> > =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 -o $= > {BINOWN} -g ${BINGRP} -m ${NO=3D
> > BINMODE} \<br>
> > </span>-=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 = > =3DC2=3DA0${TZBUILDDIR:C,^${.OBJDIR}=3D
> > /,,}<wbr>/${f} ${DESTDIR}/usr/share/zoneinfo/<wbr>${f= > }<br>
> > +=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0${TZ= > BUILDDIR}/${f} ${DESTDIR}/usr=3D
> > /share/zoneinfo/<wbr>${f}<br>
> > <span class=3D3D"">=3DC2=3DA0.endfor<br>
> > =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 ${INSTALL} ${TAG_ARGS} -o = > ${BINOWN} -g ${BINGRP=3D
> > } -m ${NOBINMODE} \<br>
> > =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 ${CO= > NTRIBDIR}/zone.tab ${DESTDIR}=3D
> > /usr/share/zoneinfo/<br>
> > <br>
> > </span>~cy<br>
> > <br>
> > <br>
> > In message &lt;<a href=3D3D"mailto: fd3-9f4b-b6f5-6997-38293f10e25a@freeb">f6014fd3-9f4b-b6f5-6997-38293f1= > 0e25a@freeb=3D
> > sd.org<= > /a>">f6014fd3-9f4b-b6f5-6997-<wbr> 3f10e25a@freebsd.org">38293f10e25a@freebsd.org</a>&gt;, = > Sean=3D
> >=C2=A0 Bruno<br>
> > write<br>
> > s:<br>
> > &gt; This is an OpenPGP/MIME signed message (RFC 4880 and 3156)<= > ;br>
> > &gt; --<wbr>WTKxh8RiNpWJJ66LumpxWUq5KMtbGf<wbr&= > gt;m2f<br>
> > &gt; Content-Type: multipart/mixed; boundary=3D3D&quot;<wbr= > >VFqTarnRbgKj5gwWU=3D
> > LxfLoTjWIwLn2<wbr>loQ&quot;;<br>
> > &gt;=3DC2=3DA0 protected-headers=3D3D&quot;v1&quot;&l= > t;br>
> > &gt; From: Sean Bruno &lt;<a href=3D3D"mailto: =3D"mailto:sbruno@freebsd.org">sbruno@freebsd.org">sbruno@= > free=3D
> > bsd.or= > g</a>&gt;<br>
> > &gt; To: Edward Tomasz Napierala &lt;trasz@FreeBSD.org&gt;= > , <a href=3D3D"mail=3D
> > to:src-committers@f= > reebsd.org">= > src-committers@freebsd.org</a>,<br>
> > &gt;=3DC2=3DA0 <a href=3D3D"mailto: rc-all@freebsd.org">svn-src-all@freebsd.org">svn-src-all@<= > wbr>freebsd.o=3D
> > rg</a>, <a href=3D3D"mailto: ad@freebsd.org">svn-src-head@freebsd.org">svn-src-head@ r>freebsd.or=3D
> > g</a><br>
> > &gt; Message-ID: &lt;<a href=3D3D"mailto: ilto:f6014fd3-9f4b-b6f5-6997-38293f10e25a">f6014fd3-9f4b-b6f5-6997-382= > 93f10e25a=3D
> > @f= > reebsd.org">f6014fd3-9f4b-b6f5-6997-<wbr> mailto:38293f10e25a@freebsd.org">38293f10e25a@freebsd.org</a>= > ;&gt;=3D
> > <br>
> > &gt; Subject: Re: svn commit: r320362 - head/share/zoneinfo<br&= > gt;
> > &gt; References: &lt;<a href=3D3D"mailto: ilto:201706261540.v5QFeOTj072841@repo.fre">201706261540.v5QFeOTj072841= > @repo.fre=3D
> > ebsd.= > org">201706261540.v5QFeOTj072841@<wbr> p://repo.freebsd.org" rel=3D"noreferrer" target=3D"_blank">repo.freebs= > d.org</a>&gt;<br>
> > &gt; In-Reply-To: &lt;<a href=3D3D"mailto: ailto:201706261540.v5QFeOTj072841@repo.fr">201706261540.v5QFeOTj072841= > @repo.fr=3D
> > eebs= > d.org">201706261540.v5QFeOTj072841@<wbr> ttp://repo.freebsd.org" rel=3D"noreferrer" target=3D"_blank">repo.free= > bsd.org</a>&gt;<br>
> > &gt;<br>
> > &gt; --<wbr>VFqTarnRbgKj5gwWULxfLoTjWIwLn2<wbr&= > gt;loQ<br>
> > &gt; Content-Type: text/plain; charset=3D3Dutf-8<br>
> > &gt; Content-Language: en-US<br>
> > &gt; Content-Transfer-Encoding: quoted-printable<br>
> > &gt;<br>
> > &gt; Hmmm ... This seems to break &#39;poudriere jail -c jailn= > ame -m src=3D3D=3D
> > 3D/usr/sr=3D3D<br>
> > <span class=3D3D"">&gt; c<br>
> > &gt; -v head&quot;<br>
> > &gt;<br>
> > &gt; --- realinstall_subdir_share/<wbr>zoneinfo ---<= > br>
> > &gt; install: builddir/Africa/Abidjan: No such file or directory&l= > t;br>
> > &gt;<br>
> > &gt;<br>
> > &gt; On 06/26/17 09:40, Edward Tomasz Napierala wrote:<br> r> > > &gt; &gt; Author: trasz<br>
> > &gt; &gt; Date: Mon Jun 26 15:40:24 2017<br>
> > &gt; &gt; New Revision: 320362<br>
> > &gt; &gt; URL: <a href=3D3D" freebsd.org/changeset/base/320362" rel=3D"noreferrer" target=3D"_blank">htt= > ps://svnweb.freebsd.org/changeset/base/320362"=3D
> >=C2=A0 rel=3D3D"noreferrer" target=3D3D"_blank">= > ">https://svnweb.freebsd.org/<wbr>chang=3D
> > eset/base/320362</a><br>
> > </span>&gt; &gt;=3D3D20<br>
> > <span class=3D3D"">&gt; &gt; Log:<br> > > > &gt; &gt;=3DC2=3DA0 =3DC2=3DA0Provide visual feedback when tim= > ezone files are insta=3D
> > lled.<br>
> > &gt; &gt;=3DC2=3DA0 =3DC2=3DA0After r320003 it wasn&#39;t = > being shown in any way.<b=3D
> > r>
> > </span>&gt; &gt;=3DC2=3DA0 =3D3D20<br>
> > <span class=3D3D"">&gt; &gt;=3DC2=3DA0 =3DC2= > =3DA0Submitted by:=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0bdr=3D
> > ewery<br>
> > &gt; &gt;=3DC2=3DA0 =3DC2=3DA0MFC after:=3DC2=3DA0 =3DC2=3DA0 = > =3DC2=3DA0 =3DC2=3DA0 1 month<br>
> > &gt; &gt;=3DC2=3DA0 =3DC2=3DA0Differential Revision:=3DC2=3DA0= > =3DC2=3DA0 <a href=3D3D"https:=3D
> > // get=3D"_blank">reviews.freebsd.org/D11154" rel=3D3D"noreferre= > r" target=3D3D"_blank">https://=3D
> > blank">reviews.freebsd.org/<wbr>D11154</a><br> r> > > </span>&gt; &gt;=3D3D20<br>
> > &gt; &gt; Modified:<br>
> > &gt; &gt;=3DC2=3DA0 =3DC2=3DA0head/share/zoneinfo/Makefil= > e<br>
> > &gt; &gt;=3D3D20<br>
> > &gt; &gt; Modified: head/share/zoneinfo/Makefile<br>= > ;
> > &gt; &gt; =3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D= > 3D=3D3D3D=3D3D3D=3D3D<wbr>3D=3D3D3D=3D3D3D=3D
> > =3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D<wbr>= > 3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D<br>
> > &gt; =3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D= > =3D3D3D=3D3D<wbr>3D=3D3D3D=3D3D3D=3D3D3D=3D
> > =3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D<wbr>3D=3D3D= > 3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D<br>
> > &gt; =3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D= > =3D3D3D=3D3D<wbr>3D=3D3D3D=3D3D3D=3D3D3D=3D
> > =3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D<wbr>3D=3D3D= > 3D=3D3D3D=3D3D3D=3D3D3D=3D3D3D=3D3D<br>
> > &gt; =3D3D3D=3D3D3D=3D3D3D=3D3D3D<br>
> > <span class=3D3D"">&gt; &gt; --- head/share/zo= > neinfo/Makefile=3DC2=3DA0 =3DC2=3DA0 Mo=3D
> > n Jun 26 15:23:12 2017=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 (r32= > 036<br>
> > &gt; 1)<br>
> > &gt; &gt; +++ head/share/zoneinfo/Makefile=3DC2=3DA0 =3DC= > 2=3DA0 Mon Jun 26 15:40:24=3D
> >=C2=A0 2017=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 (r32036<br>= > ;
> > &gt; 2)<br>
> > &gt; &gt; @@ -83,14 +83,19 @@ zoneinfo: yearistype ${TDATA}<= > ;br>
> > &gt; &gt;=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0zic -D -d ${TZBUILDDI= > R} -p ${POSIXRULES} -m ${=3D
> > NOBINMODE} \<br>
> > &gt; &gt;=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA= > 0${LEAPFILE} -y ${.OBJDIR}/yearis=3D
> > type ${TZFILES}<br>
> > </span>&gt; &gt; =3D3D20<br>
> > &gt; &gt; +.if make(*install*)<br>
> > &gt; &gt; +TZS!=3D3D3D cd ${TZBUILDDIR} &amp;&amp; fin= > d -s * -type f<br>
> > <span class=3D3D"">&gt; &gt; +.endif<br>= >
> > &gt; &gt; +<br>
> > &gt; &gt;=3DC2=3DA0 beforeinstall: install-zoneinfo<br><= > br> > > &gt; &gt;=3DC2=3DA0 install-zoneinfo:<br>
> > &gt; &gt;=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0mkdir -p ${DESTDIR}/u= > sr/share/zoneinfo<br>
> > &gt; &gt;=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0cd ${DESTDIR}/usr/sha= > re/zoneinfo;=3DC2=3DA0 mkdir =3D
> > -p ${TZBUILDSUBDIRS}<br>
> > &gt; &gt; -=3DC2=3DA0 =3DC2=3DA0cd ${TZBUILDDIR} &amp;&= > ;amp; \<br>
> > &gt; &gt; -=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0find -s = > * -type f -exec ${INSTALL} ${=3D
> > TAG_ARGS} \<br>
> > &gt; &gt; +.for f in ${TZS}<br>
> > &gt; &gt; +=3DC2=3DA0 =3DC2=3DA0${INSTALL} ${TAG_ARGS} \<br= > >
> > &gt; &gt;=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA= > 0-o ${BINOWN} -g ${BINGRP} -m ${N=3D
> > OBINMODE} \<br>
> > &gt; &gt; -=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0\{} ${DE= > STDIR}/usr/share/zoneinfo/<wb=3D
> > r>\{} \;<br>
> > </span>&gt; &gt; +=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2= > =3DA0${TZBUILDDIR:C,^${.OBJDIR}/,,}=3D
> > <wbr>/${f} ${DESTDIR}/usr/share/zoneinfo=3D3D<br>
> > <span class=3D3D"">&gt; /${f}<br>
> > &gt; &gt; +.endfor<br>
> > &gt; &gt;=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0${INSTALL} ${TAG_ARGS= > } -o ${BINOWN} -g ${BINGR=3D
> > P} -m ${NOBINMODE} \<br>
> > &gt; &gt;=3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA= > 0${CONTRIBDIR}/zone.tab ${DESTDIR=3D
> > }/usr/share/zoneinfo/<br>
> > </span>&gt; &gt; =3D3D20<br>
> > &gt; &gt;=3D3D20<br>
> > &gt; &gt;=3D3D20<br>
> > &gt;<br>
> > &gt;<br>
> > &gt; --<wbr>VFqTarnRbgKj5gwWULxfLoTjWIwLn2<wbr&= > gt;loQ--<br>
> > &gt;<br>
> > &gt; --<wbr>WTKxh8RiNpWJJ66LumpxWUq5KMtbGf<wbr&= > gt;m2f<br>
> > &gt; Content-Type: application/pgp-signature; name=3D3D&quot;s= > ignature.asc&qu=3D
> > ot;<br>
> > &gt; Content-Description: OpenPGP digital signature<br>
> > &gt; Content-Disposition: attachment; filename=3D3D&quot;signa= > ture.asc&quot;<=3D
> > br>
> > &gt;<br>
> > &gt; -----BEGIN PGP SIGNATURE-----<br>
> > &gt;<br>
> > &gt; iQGTBAEBCgB9FiEE6MTp+<wbr>IA1BOHj9Lo0veT1/om1/<= > wbr>LYFAllRUJtfFIAAAAAA=3D
> > LgAo<br>
> > &gt; aXNzdWVyLWZwckBub3RhdGlvbnMub3<wbr>BlbnBncC5m= > aWZ0aGhvcnNlbWFuLm5l<wbr>=3D
> > dEU4<br>
> > &gt; QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNE<wbr>JERTRGNUZF= > ODlCNUZDQjYACgkQveT1<wbr>=3D
> > /om1<br>
> > &gt; /<wbr>LaIFggAlEX4pLTfDUaRsGoxWbGI0Di<wbr&g= > t;irmhR1nW74ESXjGXd4u9WSYKfvxK+=3D
> > <wbr>oGPJ<br>
> > &gt; LRwxcimGw/v+h8piM102ijsmquE0+<wbr>NlyyMAYjFNLb9tsZ= > uR+<wbr>kfzRbDwqiu3F=3D
> > Ng8R<br>
> > &gt; zDnsvo69JHiyoi7r9BJB30Q6P9fZDG<wbr>BtCrSQ9Up2IUiPH= > jz+<wbr>pLUK6jxy29wf=3D
> > lPSr<br>
> > &gt; qVDHitG2A7l7Sdn3Jsj8MWNw/<wbr>4ehRNlhxudgg+<wbr= > >F8v7tEJH9eNBpP6K6jR6B+=3D
> > aU/P<br>
> > &gt; VCPrKO1rRmmJTPxxPwskLLX4/<wbr>xXrf8hmUFTm0uBbLtKbv= > zsaO5IZ9HK<wbr>XJdYF=3D
> > laRo<br>
> > &gt; dCw6yY1xFlMv/<wbr>OrUWgSxj02fsd7GHg=3D3D=3D3D<b= > r>
> > &gt; =3D3D9Mia<br>
> > &gt; -----END PGP SIGNATURE-----<br>
> > &gt;<br>
> > &gt; --<wbr>WTKxh8RiNpWJJ66LumpxWUq5KMtbGf<wbr&= > gt;m2f--<br>
> > &gt;<br>
> > &gt;<br>
> > <span class=3D3D"HOEnZb"><font color=3D3D"#888= > 888"><br>
> > --<br>
> > Cheers,<br>
> > Cy Schubert &lt;<a href=3D3D"mailto: chubert@cschubert.com">Cy.Schubert@cschubert.com">Cy.Schub= > ert@cs=3D
> > ch= > ubert.com</a>&gt;<br>
> > FreeBSD UNIX:=3DC2=3DA0 &lt;cy@FreeBSD.org&gt;=3DC2=3DA0 =3DC2= > =3DA0Web:=3DC2=3DA0 <a href=3D
> > =3D3D" t=3D"_blank">http://www.FreeBSD.org" rel=3D3D"noreferrer"= > ; target=3D3D"_blank"> " target=3D"_blank">http://www=3D
> > .FreeBSD.org</a><br>
> > <br>
> > =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 =3DC2=3DA0 The need of the many outwe= > ighs the greed of the=3D
> >=C2=A0 few.<br>
> > <br>
> > <br>
> > </font></span></blockquote></div><br&g= > t;</div></div>
> >
> > --001a113d0020693f04055304b5a4--
>
>
>
> --
> Cheers,
> Cy Schubert <Cy.Schubert@cs= > chubert.com>
> FreeBSD UNIX:=C2=A0 <cy@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 =3D"http://www.FreeBSD.org" rel=3D"noreferrer" target=3D"_blank">http://www= > .FreeBSD.org
>
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 The need of the many outweighs the greed of the= > few.
>
>
>

> > --001a114df91c80e879055306eec4-- > -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-svn-src-head@freebsd.org Wed Jun 28 19:38:01 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 58422DA8BEA; Wed, 28 Jun 2017 19:38:01 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 0621484C6D; Wed, 28 Jun 2017 19:38:00 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from spqr.komquats.com ([96.50.22.10]) by shaw.ca with SMTP id QImddLd6Yyd2DQImedzi9K; Wed, 28 Jun 2017 13:37:53 -0600 X-Authority-Analysis: v=2.2 cv=F5wnTupN c=1 sm=1 tr=0 a=jvE2nwUzI0ECrNeyr98KWA==:117 a=jvE2nwUzI0ECrNeyr98KWA==:17 a=kj9zAlcOel0A:10 a=LWSFodeU3zMA:10 a=pGLkceISAAAA:8 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=w1pTgSsYZBf6PZK0XL8A:9 a=CjuIK1q_8ugA:10 a=6kGIvZw6iX1k4Y-7sg4_:22 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy8 [10.2.2.6]) by spqr.komquats.com (Postfix) with ESMTPS id BEF86291; Wed, 28 Jun 2017 12:37:50 -0700 (PDT) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id v5SJaYYS013603; Wed, 28 Jun 2017 12:36:34 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.14.8/Submit) with ESMTP id v5SJaYKS013590; Wed, 28 Jun 2017 12:36:34 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201706281936.v5SJaYKS013590@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.6 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: "Ngie Cooper (yaneurabeya)" cc: Cy Schubert , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320454 - head/share/zoneinfo In-Reply-To: Message from "Ngie Cooper (yaneurabeya)" of "Wed, 28 Jun 2017 12:25:53 -0700." <3305BCF7-0978-4152-B3AD-309FD891B59D@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 28 Jun 2017 12:36:34 -0700 X-CMAE-Envelope: MS4wfL31Hl+V8z78deqBOcX2gSgLkcLXDZ8AzBBrdPXXO8c4KdEZ0hTgNwTQwGbpqH0I34284sfi2NblRkZuTq7/d/zErG9ujbkquIIhUJHxQfFy+FUDZQaV PprG+B7LqE5izahrxLf0bS5A+/PKTBSsBLjBVf4E9iOS1+A0WhNAMMBeVIl1Xxl4IqxKfoxD11V207F1RFSrAvGKuTzodxIv0cYjO+hvRG+Qrqx0ZZcyLrZ1 3ZUs/THkhcOM+5+BnMOsMADRW7Zw42b6nA0gdUQjIgy2s0kLB9nAF+MxInlHW6QHPZK/J5oPvchxpZ1Rw/KbjA== X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 19:38:01 -0000 In message <3305BCF7-0978-4152-B3AD-309FD891B59D@gmail.com>, "Ngie Cooper (yane urabeya)" writes: > > > --Apple-Mail=_08D0994E-C5E0-4E84-ACF1-C103E9A01AF3 > Content-Transfer-Encoding: quoted-printable > Content-Type: text/plain; > charset=utf-8 > > > > On Jun 28, 2017, at 12:05, Cy Schubert wrote: > >=20 > > Author: cy > > Date: Wed Jun 28 19:05:04 2017 > > New Revision: 320454 > > URL: https://svnweb.freebsd.org/changeset/base/320454 > >=20 > > Log: > > Allow parallel installworld (-j N) and poudriere installworld > > (poudriere jail -c and poudriere jail -u) to proceed. > >=20 > > Reviewed by: trasz@ > > Tested by: trasz@, cy@ > > MFC after: 1 month > > X-MFC-with: r320362 > >=20 > > Modified: > > head/share/zoneinfo/Makefile > >=20 > > Modified: head/share/zoneinfo/Makefile > > = > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D > > --- head/share/zoneinfo/Makefile Wed Jun 28 17:32:09 2017 = > (r320453) > > +++ head/share/zoneinfo/Makefile Wed Jun 28 19:05:04 2017 = > (r320454) > > @@ -94,7 +94,7 @@ install-zoneinfo: > > .for f in ${TZS} > > ${INSTALL} ${TAG_ARGS} \ > > -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ > > - ${TZBUILDDIR:C,^${.OBJDIR}/,,}/${f} = > ${DESTDIR}/usr/share/zoneinfo/${f} > > + ${TZBUILDDIR}/${f} ${DESTDIR}/usr/share/zoneinfo/${f} > > .endfor > > ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} = > \ > > ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ > > Thank you for getting this in! No problem. > In general, I would argue that for/.for loops in Make targets = > are bad like this I think that individual targets could in fact be = > created, and driven as a dependency of a top-level target, to avoid this = > issue and keep bdrewery=E2=80=99s intended change in r320362, e.g. = > something like, > > install-zones: .PHONY > .for f in ${TZS} > install-zones: ${DESTDIR}/usr/share/zoneinfo/${f} > ${DESTDIR}/usr/share/zoneinfo/${f}: ${f} > ${INSTALL} ... > .endfor This is definitely cleaner. Having said that, the problem wasn't caused by the loop itself but the edit of path. > > I=E2=80=99m not incredibly sure based on this commit alone why = > this Makefile isn=E2=80=99t using FILES though=E2=80=A6 I=E2=80=99ll = > look at it closer when I have a spare minute. Good idea. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-svn-src-head@freebsd.org Wed Jun 28 20:28:48 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4DE1ADA9568; Wed, 28 Jun 2017 20:28:48 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 19315153B; Wed, 28 Jun 2017 20:28:48 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5SKSli8095565; Wed, 28 Jun 2017 20:28:47 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5SKSl6p095564; Wed, 28 Jun 2017 20:28:47 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201706282028.v5SKSl6p095564@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Wed, 28 Jun 2017 20:28:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320456 - head/sys/arm/freescale/imx X-SVN-Group: head X-SVN-Commit-Author: ian X-SVN-Commit-Paths: head/sys/arm/freescale/imx X-SVN-Commit-Revision: 320456 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 20:28:48 -0000 Author: ian Date: Wed Jun 28 20:28:47 2017 New Revision: 320456 URL: https://svnweb.freebsd.org/changeset/base/320456 Log: Implement gpio input by reading the pad state register, not the data register. When a pin is set for input the value in the DR will be the same as the PSR. When a pin is set for output the value in the DR is the value output to the pad, and the value in the PSR is the actual electrical level sensed on the pad, and they can be different if the pad is configured for open-drain mode and some other entity on the board is driving the line low. Modified: head/sys/arm/freescale/imx/imx_gpio.c Modified: head/sys/arm/freescale/imx/imx_gpio.c ============================================================================== --- head/sys/arm/freescale/imx/imx_gpio.c Wed Jun 28 19:08:07 2017 (r320455) +++ head/sys/arm/freescale/imx/imx_gpio.c Wed Jun 28 20:28:47 2017 (r320456) @@ -644,7 +644,7 @@ imx51_gpio_pin_get(device_t dev, uint32_t pin, unsigne if (pin >= sc->gpio_npins) return (EINVAL); - *val = (READ4(sc, IMX_GPIO_DR_REG) >> pin) & 1; + *val = (READ4(sc, IMX_GPIO_PSR_REG) >> pin) & 1; return (0); } From owner-svn-src-head@freebsd.org Wed Jun 28 21:37:10 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 007F6DAA276; Wed, 28 Jun 2017 21:37:10 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BE74133E6; Wed, 28 Jun 2017 21:37:09 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5SLb8Ee023993; Wed, 28 Jun 2017 21:37:08 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5SLb8CF023992; Wed, 28 Jun 2017 21:37:08 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201706282137.v5SLb8CF023992@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Wed, 28 Jun 2017 21:37:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320458 - head/sys/fs/nfsclient X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/fs/nfsclient X-SVN-Commit-Revision: 320458 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 21:37:10 -0000 Author: rmacklem Date: Wed Jun 28 21:37:08 2017 New Revision: 320458 URL: https://svnweb.freebsd.org/changeset/base/320458 Log: Fix an NFSv3 client case that probably never happens. If an NFSv3 server were to reply with weak cache consistency attributes, but not post operation attributes, the client would use garbage attributes from memory. This was spotted during work on the code for the NFSv4.1 client. I have never seen evidence that this happens and it wouldn't make sense for an NFSv3 server to do this, so this patch is basically "theoretical", but does fix the problem if a server were to do the above. PR: 219552 MFC after: 2 weeks Modified: head/sys/fs/nfsclient/nfs_clport.c Modified: head/sys/fs/nfsclient/nfs_clport.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clport.c Wed Jun 28 21:08:21 2017 (r320457) +++ head/sys/fs/nfsclient/nfs_clport.c Wed Jun 28 21:37:08 2017 (r320458) @@ -741,6 +741,8 @@ nfscl_wcc_data(struct nfsrv_descript *nd, struct vnode } } error = nfscl_postop_attr(nd, nap, flagp, stuff); + if (wccflagp != NULL && *flagp == 0) + *wccflagp = 0; } else if ((nd->nd_flag & (ND_NOMOREDATA | ND_NFSV4 | ND_V4WCCATTR)) == (ND_NFSV4 | ND_V4WCCATTR)) { error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, From owner-svn-src-head@freebsd.org Wed Jun 28 22:32:41 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 066AEDAAD97 for ; Wed, 28 Jun 2017 22:32:41 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-qt0-x22e.google.com (mail-qt0-x22e.google.com [IPv6:2607:f8b0:400d:c0d::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id AF27164C25 for ; Wed, 28 Jun 2017 22:32:40 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: by mail-qt0-x22e.google.com with SMTP id 32so61516266qtv.1 for ; Wed, 28 Jun 2017 15:32:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=dZOVcppBdpt2smcpacK7z4ivPBqNFABFxHS4NDQ3em4=; b=aOK1ilRKR/u/kYTq5uHypZIolRWmgIrBoRFoBBskcuBpvl5d5m+2GmAipdc5SufVso PDe0LiD24YrcS8qF2+hy3FK6WXdV2q7SV6HFyNYAEZcnYlco5td5Yy1enAiRQ6KzNn4R KJ4BNd+enkwHwx1kQyVqHzWbwb0rzNKvN0OXeNNJ8OrA2tEwYBwSwFEHMSRTvyJBW9mg 36kgHxRnNaNY7vp71ed6oP1a5j6FnBimZ6gLUtGqgXg62OnWVtMjOspWE3jdu7Fe3IQl ScVOhiFHUoKzH87c4kE7jTkvcc38FXbQkpq6LjxZ50EXowZhr90JYcZ2i9xqKSJD0y6W Rg6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=dZOVcppBdpt2smcpacK7z4ivPBqNFABFxHS4NDQ3em4=; b=GDQ0g540f0lz7R+i5DHYiY7wD2AB6ZyBCMYfSVSzZKGibcty0YFFwUYzd/gTLlMtei ukk2wzRrSX5zDfjYJ1eZct5y4PP3paWt5qfpgAwtLlvKGaUNVFlP/84W7atZJMEscx7L FjlpkRfXEJ/kcd5LknZTCPTUudR3lhftBOiJG4Qna/cJ3kWAwBtsF8GnsWxcZ+3nA1Qg Uc0App4gffkiaWdTvcvXtsuFZsvuGbsLjINsCS7nb8pzNTnPsn5B1dv9R1w+LhxftHsW CCGFlP3Yf3XAAKO5KogN8Obe4WyUEyCRsMhnQ1MZHq/H/AV/Rj4gk9axaHGPzQnpj+ZA R1mw== X-Gm-Message-State: AKS2vOwKBsyUHAemfkyWzSlCVRmoT+ciPPwnGYx/jam6SZO5Fo4GSW5w YquEZ97l6/k65ShZtUURJw== X-Received: by 10.200.53.78 with SMTP id z14mr15410904qtb.184.1498689159756; Wed, 28 Jun 2017 15:32:39 -0700 (PDT) Received: from mutt-hbsd ([63.88.83.66]) by smtp.gmail.com with ESMTPSA id q90sm2676448qki.11.2017.06.28.15.32.38 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 Jun 2017 15:32:38 -0700 (PDT) Date: Wed, 28 Jun 2017 18:32:38 -0400 From: Shawn Webb To: Konstantin Belousov Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320430 - head/sys/vm Message-ID: <20170628223238.v456h4t4huwbqt6f@mutt-hbsd> References: <201706280402.v5S42bQx089187@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="wissjs73tyvhitp6" Content-Disposition: inline In-Reply-To: <201706280402.v5S42bQx089187@repo.freebsd.org> X-Operating-System: FreeBSD mutt-hbsd 12.0-CURRENT FreeBSD 12.0-CURRENT X-PGP-Key: http://pgp.mit.edu/pks/lookup?op=vindex&search=0x6A84658F52456EEE User-Agent: NeoMutt/20170609 (1.8.3) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2017 22:32:41 -0000 --wissjs73tyvhitp6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Jun 28, 2017 at 04:02:37AM +0000, Konstantin Belousov wrote: > Author: kib > Date: Wed Jun 28 04:02:36 2017 > New Revision: 320430 > URL: https://svnweb.freebsd.org/changeset/base/320430 >=20 > Log: > Treat the addr argument for mmap(2) request without MAP_FIXED flag as > a hint. > =20 > Right now, for non-fixed mmap(2) calls, addr is de-facto interpreted > as the absolute minimal address of the range where the mapping is > created. The VA allocator only allocates in the range [addr, > VM_MAXUSER_ADDRESS]. This is too restrictive, the mmap(2) call might > unduly fail if there is no free addresses above addr but a lot of > usable space below it. > =20 > Lift this implementation limitation by allocating VA in two passes. > First, try to allocate above addr, as before. If that fails, do the > second pass with less restrictive constraints for the start of > allocation by specifying minimal allocation address at the max bss > end, if this limit is less than addr. > =20 > One important case where this change makes a difference is the > allocation of the stacks for new threads in libthr. Under some > configuration conditions, libthr tries to hint kernel to reuse the > main thread stack grow area for the new stacks. This cannot work by > design now after grow area is converted to stack, and there is no > unallocated VA above the main stack. Interpreting requested stack > base address as the hint provides compatibility with old libthr and > with (mis-)configured current libthr. > =20 > Reviewed by: alc > Tested by: dim (previous version) > Sponsored by: The FreeBSD Foundation > MFC after: 1 week >=20 > Modified: > head/sys/vm/vm_map.c > head/sys/vm/vm_map.h > head/sys/vm/vm_mmap.c Hey Kostik, This commit breaks both xorg and shutting down/rebooting. Reverting this commit makes my laptop happy again. Thanks, --=20 Shawn Webb Cofounder and Security Engineer HardenedBSD GPG Key ID: 0x6A84658F52456EEE GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89 3D9E 6A84 658F 5245 6EEE --wissjs73tyvhitp6 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEKrq2ve9q9Ia+iT2eaoRlj1JFbu4FAllULoMACgkQaoRlj1JF bu5cyg/9GDgKlk6IjQHzwSIPsb5s31YYjKIjcOSvZ+1DMikfEoQ9YPiFBzkWGHMw DUM4OTNpBS6r2qX/yFTGDahHC48CfC8GiwxfRPHHKjpg37eVwwzS+NPlIWp44ndV +00W9pdbxPucK/Wp6swBUGM+nKHowPjr8Cy5MLD7qPvy6AIiy69VrZ1sOwl8xfob MwqB9e04Wh7QKIm9uyTFPAOUBzbnhLl/gwNA9tEk1Y1UYWt9bUIP+fdh/mLoOc0r jVaIdX0Z+qd1sfkfvXe/uwzNceuuAgMhAIYdtISLTfvL5HGRJcNKdVbAQMKRBLel v1T2mpwgah+oBTUvlSiLlHpIkNeBFroVZvLsxTUvy5f85qdMhSJ1rghIs7iqs7cK 9kCLE2GUBO2AWcsyfS3oMq+WVhjuDSFjx1EInuhusz1qdGtVSetksWfCsq+Ks2Ev lNaQBRiytvkIrFIoqJGbB337cUAy1KV05R+dB7Ge/qn+NIMcjIlt0V5hN61z3o16 HH1jfzb37Z+DaHrUwiwrRLQxUOyjjLpILWc9DudB/75atlZfA8FrLaw37/1EgGyd 4NLo0jnMBKw6GsxLZBoH8jMk+QMeEjYRo73medsvOJ3hXBJndLewB8avAW7V11iM KZp5qscqCd1S1LJMVuCUpJZkBPQ5Oah8q2XwUFrgf6hVMv6wbwI= =tNe7 -----END PGP SIGNATURE----- --wissjs73tyvhitp6-- From owner-svn-src-head@freebsd.org Thu Jun 29 00:29:17 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 032C9D887BA; Thu, 29 Jun 2017 00:29:17 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C421768650; Thu, 29 Jun 2017 00:29:16 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5T0TF1J094108; Thu, 29 Jun 2017 00:29:15 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5T0TFlB094107; Thu, 29 Jun 2017 00:29:15 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201706290029.v5T0TFlB094107@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Thu, 29 Jun 2017 00:29:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320460 - head/sys/dev/iicbus X-SVN-Group: head X-SVN-Commit-Author: ian X-SVN-Commit-Paths: head/sys/dev/iicbus X-SVN-Commit-Revision: 320460 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 00:29:17 -0000 Author: ian Date: Thu Jun 29 00:29:15 2017 New Revision: 320460 URL: https://svnweb.freebsd.org/changeset/base/320460 Log: If an i2c transfer ends due to error, issue a stop on the bus even if the nostop option is set, if a start was issued. The nostop option doesn't mean "never issue a stop" it means "only issue a stop after the last in a series of transfers". If the transfer ends due to error, then that was the last transfer in the series, and a stop is required. Before this change, any error during a transfer when nostop is set would effectively hang the bus, because sc->started would never get cleared, and that caused all future calls to iicbus_start() to return an error because it looked like the bus was already active. (Unrelated errors in handling the nostop option, to be addressed separately, could lead to this bus hang condition even on busses that don't set the nostop option.) Modified: head/sys/dev/iicbus/iiconf.c Modified: head/sys/dev/iicbus/iiconf.c ============================================================================== --- head/sys/dev/iicbus/iiconf.c Wed Jun 28 21:45:13 2017 (r320459) +++ head/sys/dev/iicbus/iiconf.c Thu Jun 29 00:29:15 2017 (r320460) @@ -419,7 +419,7 @@ iicbus_transfer_gen(device_t dev, struct iic_msg *msgs { int i, error, lenread, lenwrote, nkid, rpstart, addr; device_t *children, bus; - bool nostop; + bool nostop, started; if ((error = device_get_children(dev, &children, &nkid)) != 0) return (IIC_ERESOURCE); @@ -431,6 +431,7 @@ iicbus_transfer_gen(device_t dev, struct iic_msg *msgs rpstart = 0; free(children, M_TEMP); nostop = iicbus_get_nostop(dev); + started = false; for (i = 0, error = 0; i < nmsgs && error == 0; i++) { addr = msgs[i].slave; if (msgs[i].flags & IIC_M_RD) @@ -443,9 +444,10 @@ iicbus_transfer_gen(device_t dev, struct iic_msg *msgs error = iicbus_repeated_start(bus, addr, 0); else error = iicbus_start(bus, addr, 0); + if (error != 0) + break; + started = true; } - if (error != 0) - break; if (msgs[i].flags & IIC_M_RD) error = iicbus_read(bus, msgs[i].buf, msgs[i].len, @@ -464,7 +466,7 @@ iicbus_transfer_gen(device_t dev, struct iic_msg *msgs iicbus_stop(bus); } } - if (error != 0 && !nostop) + if (error != 0 && started) iicbus_stop(bus); return (error); } From owner-svn-src-head@freebsd.org Thu Jun 29 01:50:59 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BE816D8BF04; Thu, 29 Jun 2017 01:50:59 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 98BAF6F830; Thu, 29 Jun 2017 01:50:59 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5T1ow4n027039; Thu, 29 Jun 2017 01:50:58 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5T1owLP027037; Thu, 29 Jun 2017 01:50:58 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201706290150.v5T1owLP027037@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Thu, 29 Jun 2017 01:50:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320461 - head/sys/dev/iicbus X-SVN-Group: head X-SVN-Commit-Author: ian X-SVN-Commit-Paths: head/sys/dev/iicbus X-SVN-Commit-Revision: 320461 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 01:50:59 -0000 Author: ian Date: Thu Jun 29 01:50:58 2017 New Revision: 320461 URL: https://svnweb.freebsd.org/changeset/base/320461 Log: Add iic_recover_bus(), a helper function that can be used by any i2c driver which is able to manipulate the clock and data lines directly. When an i2c bus is hung by a slave device stuck in the middle of a transaction that didn't complete properly, this function manipulates the clock and data lines in a sequence known to reliably reset slave devices. The most common cause of a hung i2c bus is a system reboot in the middle of an i2c transfer (so it doesnt' happen often, but now there is a way other than power cycling to recover from it). Added: head/sys/dev/iicbus/iic_recover_bus.c (contents, props changed) head/sys/dev/iicbus/iic_recover_bus.h (contents, props changed) Added: head/sys/dev/iicbus/iic_recover_bus.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/iicbus/iic_recover_bus.c Thu Jun 29 01:50:58 2017 (r320461) @@ -0,0 +1,124 @@ +/*- + * Copyright (c) 2017 Ian Lepore + * All rights reserved. + * + * Development sponsored by Microsemi, Inc. + * + * 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$"); + +/* + * Helper code to recover a hung i2c bus by bit-banging a recovery sequence. + * + * An i2c bus can be hung by a slave driving the clock (rare) or data lines low. + * The most common cause is a partially-completed transaction such as rebooting + * while a slave is sending a byte of data. Because i2c allows the clock to + * freeze for any amount of time, the slave device will continue driving the + * data line until power is removed, or the clock cycles enough times to + * complete the current byte. After completing any partial byte, a START/STOP + * sequence resets the slave and the bus is recovered. + * + * Any i2c driver which is able to manually set the level of the clock and data + * lines can use this common code for bus recovery. On many SOCs that have + * embedded i2c controllers, the i2c pins can be temporarily reassigned as gpio + * pins to do the bus recovery, then can be assigned back to the i2c hardware. + */ + +#include "opt_platform.h" + +#include +#include +#include + +#include +#include + +int +iic_recover_bus(struct iicrb_pin_access *pins) +{ + const u_int timeout_us = 40000; + const u_int delay_us = 500; + int i; + + /* + * Start with clock and data high. + */ + pins->setsda(pins->ctx, 1); + pins->setscl(pins->ctx, 1); + + /* + * At this point, SCL should be high. If it's not, some slave on the + * bus is doing clock-stretching and we should wait a while. If that + * slave is completely locked up there may be no way to recover at all. + * We wait up to 40 milliseconds, a seriously pessimistic time (even a + * cheap eeprom has a max post-write delay of only 10ms), and also long + * enough to allow SMB slaves to timeout normally after 35ms. + */ + for (i = 0; i < timeout_us; i += delay_us) { + if (pins->getscl(pins->ctx)) + break; + DELAY(delay_us); + } + if (i >= timeout_us) + return (IIC_EBUSERR); + + /* + * At this point we should be able to control the clock line. Some + * slave may be part way through a byte transfer, and could be holding + * the data line low waiting for more clock pulses to finish the byte. + * Cycle the clock until we see the data line go high, but only up to 9 + * times because if it's not free after 9 clocks we're never going to + * win this battle. We do 9 max because that's a byte plus an ack/nack + * bit, after which the slave must not be driving the data line anymore. + */ + for (i = 0; ; ++i) { + if (pins->getsda(pins->ctx)) + break; + if (i == 9) + return (IIC_EBUSERR); + pins->setscl(pins->ctx, 0); + DELAY(5); + pins->setscl(pins->ctx, 1); + DELAY(5); + } + + /* + * At this point we should be in control of both the clock and data + * lines, and both lines should be high. To complete the reset of a + * slave that was part way through a transaction, we need to do a + * START/STOP sequence, which leaves both lines high at the end. + * - START: SDA transitions high->low while SCL remains high. + * - STOP: SDA transitions low->high while SCL remains high. + * Note that even though the clock line remains high, we transition the + * data line no faster than it would change state with a 100khz clock. + */ + pins->setsda(pins->ctx, 0); + DELAY(5); + pins->setsda(pins->ctx, 1); + DELAY(5); + + return (0); +} + Added: head/sys/dev/iicbus/iic_recover_bus.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/iicbus/iic_recover_bus.h Thu Jun 29 01:50:58 2017 (r320461) @@ -0,0 +1,57 @@ +/*- + * Copyright (c) 2017 Ian Lepore + * All rights reserved. + * + * Development sponsored by Microsemi, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +/* + * Helper code to recover a hung i2c bus by bit-banging a recovery sequence. + */ + +#ifndef _IICBUS_IIC_RECOVER_BUS_H_ +#define _IICBUS_IIC_RECOVER_BUS_H_ + +struct iicrb_pin_access { + void *ctx; + int (*getsda)(void *ctx); + void (*setsda)(void *ctx, int value); + int (*getscl)(void *ctx); + void (*setscl)(void *ctx, int value); +}; + +/* + * Drive the bus-recovery logic by manipulating the line states using the + * caller-provided functions. This does not block or sleep or acquire any locks + * (unless the provided pin access functions do so). It uses DELAY() to pace + * bits on the bus. + * + * Returns 0 if the bus is functioning properly or IIC_EBUSERR if the recovery + * attempt failed and some slave device is still driving the bus. + */ +int iic_recover_bus(struct iicrb_pin_access *pins); + +#endif From owner-svn-src-head@freebsd.org Thu Jun 29 01:59:40 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A5B44D8C425; Thu, 29 Jun 2017 01:59:40 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8193C6FD2D; Thu, 29 Jun 2017 01:59:40 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5T1xd8H031166; Thu, 29 Jun 2017 01:59:39 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5T1xdXR031165; Thu, 29 Jun 2017 01:59:39 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201706290159.v5T1xdXR031165@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Thu, 29 Jun 2017 01:59:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320462 - head/sys/arm/freescale/imx X-SVN-Group: head X-SVN-Commit-Author: ian X-SVN-Commit-Paths: head/sys/arm/freescale/imx X-SVN-Commit-Revision: 320462 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 01:59:40 -0000 Author: ian Date: Thu Jun 29 01:59:39 2017 New Revision: 320462 URL: https://svnweb.freebsd.org/changeset/base/320462 Log: Add bus recovery handling to the imx5/imx6 i2c driver. Modified: head/sys/arm/freescale/imx/imx_i2c.c Modified: head/sys/arm/freescale/imx/imx_i2c.c ============================================================================== --- head/sys/arm/freescale/imx/imx_i2c.c Thu Jun 29 01:50:58 2017 (r320461) +++ head/sys/arm/freescale/imx/imx_i2c.c Thu Jun 29 01:59:39 2017 (r320462) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -61,12 +62,16 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include "iicbus_if.h" #include #include #include +#include +#include + #define I2C_ADDR_REG 0x00 /* I2C slave address register */ #define I2C_FDR_REG 0x04 /* I2C frequency divider register */ #define I2C_CONTROL_REG 0x08 /* I2C control register */ @@ -130,6 +135,9 @@ struct i2c_softc { struct resource *res; int rid; sbintime_t byte_time_sbt; + int rb_pinctl_idx; + gpio_pin_t rb_sclpin; + gpio_pin_t rb_sdapin; }; static phandle_t i2c_get_node(device_t, device_t); @@ -274,6 +282,68 @@ i2c_error_handler(struct i2c_softc *sc, int error) } static int +i2c_recover_getsda(void *ctx) +{ + bool active; + + gpio_pin_is_active(((struct i2c_softc *)ctx)->rb_sdapin, &active); + return (active); +} + +static void +i2c_recover_setsda(void *ctx, int value) +{ + + gpio_pin_set_active(((struct i2c_softc *)ctx)->rb_sdapin, value); +} + +static int +i2c_recover_getscl(void *ctx) +{ + bool active; + + gpio_pin_is_active(((struct i2c_softc *)ctx)->rb_sclpin, &active); + return (active); + +} + +static void +i2c_recover_setscl(void *ctx, int value) +{ + + gpio_pin_set_active(((struct i2c_softc *)ctx)->rb_sclpin, value); +} + +static int +i2c_recover_bus(struct i2c_softc *sc) +{ + struct iicrb_pin_access pins; + int err; + + /* + * If we have gpio pinmux config, reconfigure the pins to gpio mode, + * invoke iic_recover_bus which checks for a hung bus and bitbangs a + * recovery sequence if necessary, then configure the pins back to i2c + * mode (idx 0). + */ + if (sc->rb_pinctl_idx == 0) + return (0); + + fdt_pinctrl_configure(sc->dev, sc->rb_pinctl_idx); + + pins.ctx = sc; + pins.getsda = i2c_recover_getsda; + pins.setsda = i2c_recover_setsda; + pins.getscl = i2c_recover_getscl; + pins.setscl = i2c_recover_setscl; + err = iic_recover_bus(&pins); + + fdt_pinctrl_configure(sc->dev, 0); + + return (err); +} + +static int i2c_probe(device_t dev) { @@ -291,7 +361,10 @@ i2c_probe(device_t dev) static int i2c_attach(device_t dev) { + char wrkstr[16]; struct i2c_softc *sc; + phandle_t node; + int err, cfgidx; sc = device_get_softc(dev); sc->dev = dev; @@ -310,6 +383,49 @@ i2c_attach(device_t dev) return (ENXIO); } + /* + * Set up for bus recovery using gpio pins, if the pinctrl and gpio + * properties are present. This is optional. If all the config data is + * not in place, we just don't do gpio bitbang bus recovery. + */ + node = ofw_bus_get_node(sc->dev); + + err = gpio_pin_get_by_ofw_property(dev, node, "scl-gpios", + &sc->rb_sclpin); + if (err != 0) + goto no_recovery; + err = gpio_pin_get_by_ofw_property(dev, node, "sda-gpios", + &sc->rb_sdapin); + if (err != 0) + goto no_recovery; + + /* + * Preset the gpio pins to output high (idle bus state). The signal + * won't actually appear on the pins until the bus recovery code changes + * the pinmux config from i2c to gpio. + */ + gpio_pin_setflags(sc->rb_sclpin, GPIO_PIN_OUTPUT); + gpio_pin_setflags(sc->rb_sdapin, GPIO_PIN_OUTPUT); + gpio_pin_set_active(sc->rb_sclpin, true); + gpio_pin_set_active(sc->rb_sdapin, true); + + /* + * Obtain the index of pinctrl node for bus recovery using gpio pins, + * then confirm that pinctrl properties exist for that index and for the + * default pinctrl-0. If sc->rb_pinctl_idx is non-zero, the reset code + * will also do a bus recovery, so setting this value must be last. + */ + err = ofw_bus_find_string_index(node, "pinctrl-names", "gpio", &cfgidx); + if (err == 0) { + snprintf(wrkstr, sizeof(wrkstr), "pinctrl-%d", cfgidx); + if (OF_hasprop(node, "pinctrl-0") && OF_hasprop(node, wrkstr)) + sc->rb_pinctl_idx = cfgidx; + } + +no_recovery: + + /* We don't do a hardware reset here because iicbus_attach() does it. */ + bus_generic_attach(dev); return (0); } @@ -339,7 +455,7 @@ i2c_repeated_start(device_t dev, u_char slave, int tim } static int -i2c_start(device_t dev, u_char slave, int timeout) +i2c_start_ll(device_t dev, u_char slave, int timeout) { struct i2c_softc *sc; int error; @@ -361,6 +477,31 @@ i2c_start(device_t dev, u_char slave, int timeout) } static int +i2c_start(device_t dev, u_char slave, int timeout) +{ + struct i2c_softc *sc; + int error; + + sc = device_get_softc(dev); + + /* + * Invoke the low-level code to put the bus into master mode and address + * the given slave. If that fails, idle the controller and attempt a + * bus recovery, and then try again one time. Signaling a start and + * addressing the slave is the only operation that a low-level driver + * can safely retry without any help from the upper layers that know + * more about the slave device. + */ + if ((error = i2c_start_ll(dev, slave, timeout)) != 0) { + i2c_write_reg(sc, I2C_CONTROL_REG, 0x0); + if ((error = i2c_recover_bus(sc)) != 0) + return (error); + error = i2c_start_ll(dev, slave, timeout); + } + return (error); +} + +static int i2c_stop(device_t dev) { struct i2c_softc *sc; @@ -409,7 +550,12 @@ i2c_reset(device_t dev, u_char speed, u_char addr, u_c i2c_write_reg(sc, I2C_STATUS_REG, 0x0); i2c_write_reg(sc, I2C_CONTROL_REG, 0x0); i2c_write_reg(sc, I2C_FDR_REG, (uint8_t)clkdiv_table[i].regcode); - return (IIC_NOERR); + + /* + * Now that the controller is idle, perform bus recovery. If the bus + * isn't hung, this a fairly fast no-op. + */ + return (i2c_recover_bus(sc)); } static int From owner-svn-src-head@freebsd.org Thu Jun 29 02:19:31 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E5AADD8D1EA; Thu, 29 Jun 2017 02:19:31 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B2C0670820; Thu, 29 Jun 2017 02:19:31 +0000 (UTC) (envelope-from ian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5T2JUJJ039205; Thu, 29 Jun 2017 02:19:30 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5T2JUVr039204; Thu, 29 Jun 2017 02:19:30 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201706290219.v5T2JUVr039204@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Thu, 29 Jun 2017 02:19:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320463 - head/sys/conf X-SVN-Group: head X-SVN-Commit-Author: ian X-SVN-Commit-Paths: head/sys/conf X-SVN-Commit-Revision: 320463 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 02:19:32 -0000 Author: ian Date: Thu Jun 29 02:19:30 2017 New Revision: 320463 URL: https://svnweb.freebsd.org/changeset/base/320463 Log: Add iic_recover_bus.c. Should have been part of r320461. Modified: head/sys/conf/files Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Thu Jun 29 01:59:39 2017 (r320462) +++ head/sys/conf/files Thu Jun 29 02:19:30 2017 (r320463) @@ -1723,6 +1723,7 @@ dev/iicbus/ds3231.c optional ds3231 dev/iicbus/icee.c optional icee dev/iicbus/if_ic.c optional ic dev/iicbus/iic.c optional iic +dev/iicbus/iic_recover_bus.c optional iicbus dev/iicbus/iicbb.c optional iicbb dev/iicbus/iicbb_if.m optional iicbb dev/iicbus/iicbus.c optional iicbus From owner-svn-src-head@freebsd.org Thu Jun 29 03:57:23 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AD0A4D90DB8; Thu, 29 Jun 2017 03:57:23 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7BCDC73D8D; Thu, 29 Jun 2017 03:57:23 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5T3vMW9080585; Thu, 29 Jun 2017 03:57:22 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5T3vMXT080584; Thu, 29 Jun 2017 03:57:22 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706290357.v5T3vMXT080584@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Thu, 29 Jun 2017 03:57:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320464 - head/sys/mips/conf X-SVN-Group: head X-SVN-Commit-Author: adrian X-SVN-Commit-Paths: head/sys/mips/conf X-SVN-Commit-Revision: 320464 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 03:57:23 -0000 Author: adrian Date: Thu Jun 29 03:57:22 2017 New Revision: 320464 URL: https://svnweb.freebsd.org/changeset/base/320464 Log: [mips] make this compile again after all of the config changes. Modified: head/sys/mips/conf/DIR-825C1 Modified: head/sys/mips/conf/DIR-825C1 ============================================================================== --- head/sys/mips/conf/DIR-825C1 Thu Jun 29 02:19:30 2017 (r320463) +++ head/sys/mips/conf/DIR-825C1 Thu Jun 29 03:57:22 2017 (r320464) @@ -24,12 +24,6 @@ hints "DIR-825C1.hints" # Force the board memory - the base DB120 has 128MB RAM options AR71XX_REALMEM=(128*1024*1024) -# i2c GPIO bus -device gpioiic -device iicbb -device iicbus -device iic - # Options required for miiproxy and mdiobus options ARGE_MDIO # Export an MDIO bus separate from arge device miiproxy # MDIO bus <-> MII PHY rendezvous @@ -52,7 +46,6 @@ options GEOM_UZIP options GEOM_PART_GPT # yes, this board has a PCI connected atheros device -device ath_pci options AR71XX_ATH_EEPROM device firmware # Used by the above options ATH_EEPROM_FIRMWARE From owner-svn-src-head@freebsd.org Thu Jun 29 03:58:02 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 79915D90E28; Thu, 29 Jun 2017 03:58:02 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 43B2573ED4; Thu, 29 Jun 2017 03:58:02 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5T3w1GX080657; Thu, 29 Jun 2017 03:58:01 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5T3w1Jv080656; Thu, 29 Jun 2017 03:58:01 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706290358.v5T3w1Jv080656@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Thu, 29 Jun 2017 03:58:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320465 - head/sys/mips/conf X-SVN-Group: head X-SVN-Commit-Author: adrian X-SVN-Commit-Paths: head/sys/mips/conf X-SVN-Commit-Revision: 320465 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 03:58:02 -0000 Author: adrian Date: Thu Jun 29 03:58:01 2017 New Revision: 320465 URL: https://svnweb.freebsd.org/changeset/base/320465 Log: [mips] [ar71xx] Since the wlan/ath drivers use ALQ, ensure we build the module here otherwise we can't load said module. Modified: head/sys/mips/conf/std.AR_MIPS_BASE Modified: head/sys/mips/conf/std.AR_MIPS_BASE ============================================================================== --- head/sys/mips/conf/std.AR_MIPS_BASE Thu Jun 29 03:57:22 2017 (r320464) +++ head/sys/mips/conf/std.AR_MIPS_BASE Thu Jun 29 03:58:01 2017 (r320465) @@ -23,6 +23,7 @@ options NO_SYSCTL_DESCR makeoptions MODULES_OVERRIDE+="gpio ar71xx if_gif if_vlan if_gre if_tap" makeoptions MODULES_OVERRIDE+="if_tun if_bridge bridgestp usb" +makeoptions MODULES_OVERRIDE+="alq" # Random - required during early boot! device random From owner-svn-src-head@freebsd.org Thu Jun 29 03:59:03 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D911ED90EBF; Thu, 29 Jun 2017 03:59:03 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A804F74052; Thu, 29 Jun 2017 03:59:03 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5T3x2gX080744; Thu, 29 Jun 2017 03:59:02 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5T3x2G9080743; Thu, 29 Jun 2017 03:59:02 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201706290359.v5T3x2G9080743@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Thu, 29 Jun 2017 03:59:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320466 - head/sys/dev/ath X-SVN-Group: head X-SVN-Commit-Author: adrian X-SVN-Commit-Paths: head/sys/dev/ath X-SVN-Commit-Revision: 320466 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 03:59:03 -0000 Author: adrian Date: Thu Jun 29 03:59:02 2017 New Revision: 320466 URL: https://svnweb.freebsd.org/changeset/base/320466 Log: [ath_hal] if building with ALQ, ensure we actually depend upon ALQ. Modified: head/sys/dev/ath/ah_osdep.c Modified: head/sys/dev/ath/ah_osdep.c ============================================================================== --- head/sys/dev/ath/ah_osdep.c Thu Jun 29 03:58:01 2017 (r320465) +++ head/sys/dev/ath/ah_osdep.c Thu Jun 29 03:59:02 2017 (r320466) @@ -449,3 +449,6 @@ ath_hal_modevent(module_t mod __unused, int type, void DEV_MODULE(ath_hal, ath_hal_modevent, NULL); MODULE_VERSION(ath_hal, 1); +#if defined(AH_DEBUG_ALQ) +MODULE_DEPEND(ath_hal, alq, 1, 1, 1); +#endif From owner-svn-src-head@freebsd.org Thu Jun 29 04:33:57 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0F8E8D92033; Thu, 29 Jun 2017 04:33:57 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D1E9A7513C; Thu, 29 Jun 2017 04:33:56 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5T4XuP0097387; Thu, 29 Jun 2017 04:33:56 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5T4Xtx0097385; Thu, 29 Jun 2017 04:33:55 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <201706290433.v5T4Xtx0097385@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Thu, 29 Jun 2017 04:33:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320467 - in head/sys/boot/i386: libi386 loader X-SVN-Group: head X-SVN-Commit-Author: tsoome X-SVN-Commit-Paths: in head/sys/boot/i386: libi386 loader X-SVN-Commit-Revision: 320467 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 04:33:57 -0000 Author: tsoome Date: Thu Jun 29 04:33:55 2017 New Revision: 320467 URL: https://svnweb.freebsd.org/changeset/base/320467 Log: loader: chain load relocate data declaration is bad The implementation is using fixed size array allocated in asm module, need to use proper array declaration for C source. CID: 1376405 Reported by: Coverity, cem Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D11321 Modified: head/sys/boot/i386/libi386/libi386.h head/sys/boot/i386/loader/chain.c Modified: head/sys/boot/i386/libi386/libi386.h ============================================================================== --- head/sys/boot/i386/libi386/libi386.h Thu Jun 29 03:59:02 2017 (r320466) +++ head/sys/boot/i386/libi386/libi386.h Thu Jun 29 04:33:55 2017 (r320467) @@ -71,7 +71,10 @@ struct relocate_data { extern void relocater(void); -extern uint32_t relocater_data; +/* + * The relocater_data[] is fixed size array allocated in relocater_tramp.S + */ +extern struct relocate_data relocater_data[]; extern uint32_t relocater_size; extern uint16_t relocator_ip; Modified: head/sys/boot/i386/loader/chain.c ============================================================================== --- head/sys/boot/i386/loader/chain.c Thu Jun 29 03:59:02 2017 (r320466) +++ head/sys/boot/i386/loader/chain.c Thu Jun 29 04:33:55 2017 (r320467) @@ -58,7 +58,6 @@ command_chain(int argc, char *argv[]) int fd, len, size = SECTOR_SIZE; struct stat st; vm_offset_t mem = 0x100000; - uint32_t *uintptr = &relocater_data; struct i386_devdesc *rootdev; if (argc == 1) { @@ -108,9 +107,9 @@ command_chain(int argc, char *argv[]) return (CMD_ERROR); } - uintptr[0] = mem; - uintptr[1] = 0x7C00; - uintptr[2] = SECTOR_SIZE; + relocater_data[0].src = mem; + relocater_data[0].dest = 0x7C00; + relocater_data[0].size = SECTOR_SIZE; relocator_edx = bd_unit2bios(rootdev->d_unit); relocator_esi = relocater_size; From owner-svn-src-head@freebsd.org Thu Jun 29 06:28:56 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 15A59D94498; Thu, 29 Jun 2017 06:28:56 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D86BE77E06; Thu, 29 Jun 2017 06:28:55 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5T6StL4042548; Thu, 29 Jun 2017 06:28:55 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5T6Ss92042545; Thu, 29 Jun 2017 06:28:54 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201706290628.v5T6Ss92042545@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Thu, 29 Jun 2017 06:28:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320468 - head/lib/libstand X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: head/lib/libstand X-SVN-Commit-Revision: 320468 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 06:28:56 -0000 Author: delphij Date: Thu Jun 29 06:28:54 2017 New Revision: 320468 URL: https://svnweb.freebsd.org/changeset/base/320468 Log: Don't bother to set target for SEEK_END. While there also collapase SEEK_END into default case in lseek. MFC after: 2 weeks Modified: head/lib/libstand/bzipfs.c head/lib/libstand/gzipfs.c head/lib/libstand/lseek.c Modified: head/lib/libstand/bzipfs.c ============================================================================== --- head/lib/libstand/bzipfs.c Thu Jun 29 04:33:55 2017 (r320467) +++ head/lib/libstand/bzipfs.c Thu Jun 29 06:28:54 2017 (r320468) @@ -320,8 +320,6 @@ bzf_seek(struct open_file *f, off_t offset, int where) case SEEK_CUR: target = offset + bzf->bzf_bzstream.total_out_lo32; break; - case SEEK_END: - target = -1; default: errno = EINVAL; return(-1); Modified: head/lib/libstand/gzipfs.c ============================================================================== --- head/lib/libstand/gzipfs.c Thu Jun 29 04:33:55 2017 (r320467) +++ head/lib/libstand/gzipfs.c Thu Jun 29 06:28:54 2017 (r320468) @@ -300,8 +300,6 @@ zf_seek(struct open_file *f, off_t offset, int where) case SEEK_CUR: target = offset + zf->zf_zstream.total_out; break; - case SEEK_END: - target = -1; default: errno = EINVAL; return(-1); Modified: head/lib/libstand/lseek.c ============================================================================== --- head/lib/libstand/lseek.c Thu Jun 29 04:33:55 2017 (r320467) +++ head/lib/libstand/lseek.c Thu Jun 29 06:28:54 2017 (r320468) @@ -87,7 +87,6 @@ lseek(int fd, off_t offset, int where) case SEEK_CUR: f->f_offset += offset; break; - case SEEK_END: default: errno = EOFFSET; return (-1); From owner-svn-src-head@freebsd.org Thu Jun 29 13:23:36 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C3C81D9D828 for ; Thu, 29 Jun 2017 13:23:36 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-qt0-x22a.google.com (mail-qt0-x22a.google.com [IPv6:2607:f8b0:400d:c0d::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7790B8466F for ; Thu, 29 Jun 2017 13:23:36 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: by mail-qt0-x22a.google.com with SMTP id i2so73978192qta.3 for ; Thu, 29 Jun 2017 06:23:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=FFsUDnouX7hRQVrXhKKp1Fu1y6+7ho0mNE1rbq11LRs=; b=V5JXnVfRtpf9bx0NvtqG3xc1kvgpebFIIDFj5PykRksLkY72IRliRDEGF6qB1PY8u2 TimPA24if1QSkv3VguOq+uAY6jDAOqWX9jzZbmPlqx15KyNo7VS5EBawQLmIaocNFtEz eb0JqoFJXqS5cYZaRm15fr94f5iVxHvX/ffQcGUNS8HpP5nzF/rC/RUf9A260icixh7g 0dyvqVeiemRxsf7sLu65DxvnmL8iNIZfXS+u+30cBVIFFOytbK6QkhQG3nci65AP+awc sff1+PT1ka5dBLiJveu2s5584rWFwjTMyiaIkuImT6eXEOKirELXK4LnQwgBgz2ARX/K IzJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=FFsUDnouX7hRQVrXhKKp1Fu1y6+7ho0mNE1rbq11LRs=; b=Y7iMlwrFhUgcskCcZ331QWFpp2y7oeEru0Y6qU81tgaqcHa8Tp2YL+7N5zf3HR70hA BAEI/WEPRZvrDoYHOZua7ufWWqxI94cz65izFsT888veT9ZMqeNjSV92gwehnnOrRf9+ tJ6wJ+K1rxIgEyz7PX+PPxxYUvsQcjD6QgH2Pq8U92+Va0Ne5vJwrRb7X9xoSx1aFsdr kKlQtB2YGzIVvxZy1w7CFIKIQyWKjhjWm7o8XYUI6uCDyXOKY+Ep1FQwu1f6Xndn0Y3E /wmDPnNrWDFdCyW+6YtsJAtHjCrgmh63LQQNuqi11F61l6nMVGKgaqxhgaI9N7ryZr5w axNQ== X-Gm-Message-State: AKS2vOyFXaKFZv/svoUXgrQ+aTK8yl0ySoYngFu4V7FKPPFwub6RP/26 s1giTraNbHE64DCvUsWbnQ== X-Received: by 10.237.32.202 with SMTP id 68mr20616641qtb.128.1498742615382; Thu, 29 Jun 2017 06:23:35 -0700 (PDT) Received: from mutt-hbsd ([63.88.83.66]) by smtp.gmail.com with ESMTPSA id r33sm4246691qtc.43.2017.06.29.06.23.33 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 29 Jun 2017 06:23:33 -0700 (PDT) Date: Thu, 29 Jun 2017 09:23:33 -0400 From: Shawn Webb To: Konstantin Belousov Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320430 - head/sys/vm Message-ID: <20170629132333.pl6nk5bsw3fkevdx@mutt-hbsd> References: <201706280402.v5S42bQx089187@repo.freebsd.org> <20170628223238.v456h4t4huwbqt6f@mutt-hbsd> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="zdzlncmx3plci7qg" Content-Disposition: inline In-Reply-To: <20170628223238.v456h4t4huwbqt6f@mutt-hbsd> X-Operating-System: FreeBSD mutt-hbsd 12.0-CURRENT FreeBSD 12.0-CURRENT X-PGP-Key: http://pgp.mit.edu/pks/lookup?op=vindex&search=0x6A84658F52456EEE User-Agent: NeoMutt/20170609 (1.8.3) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 13:23:36 -0000 --zdzlncmx3plci7qg Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Jun 28, 2017 at 06:32:38PM -0400, Shawn Webb wrote: > On Wed, Jun 28, 2017 at 04:02:37AM +0000, Konstantin Belousov wrote: > > Author: kib > > Date: Wed Jun 28 04:02:36 2017 > > New Revision: 320430 > > URL: https://svnweb.freebsd.org/changeset/base/320430 > >=20 > > Log: > > Treat the addr argument for mmap(2) request without MAP_FIXED flag as > > a hint. > > =20 > > Right now, for non-fixed mmap(2) calls, addr is de-facto interpreted > > as the absolute minimal address of the range where the mapping is > > created. The VA allocator only allocates in the range [addr, > > VM_MAXUSER_ADDRESS]. This is too restrictive, the mmap(2) call might > > unduly fail if there is no free addresses above addr but a lot of > > usable space below it. > > =20 > > Lift this implementation limitation by allocating VA in two passes. > > First, try to allocate above addr, as before. If that fails, do the > > second pass with less restrictive constraints for the start of > > allocation by specifying minimal allocation address at the max bss > > end, if this limit is less than addr. > > =20 > > One important case where this change makes a difference is the > > allocation of the stacks for new threads in libthr. Under some > > configuration conditions, libthr tries to hint kernel to reuse the > > main thread stack grow area for the new stacks. This cannot work by > > design now after grow area is converted to stack, and there is no > > unallocated VA above the main stack. Interpreting requested stack > > base address as the hint provides compatibility with old libthr and > > with (mis-)configured current libthr. > > =20 > > Reviewed by: alc > > Tested by: dim (previous version) > > Sponsored by: The FreeBSD Foundation > > MFC after: 1 week > >=20 > > Modified: > > head/sys/vm/vm_map.c > > head/sys/vm/vm_map.h > > head/sys/vm/vm_mmap.c >=20 > Hey Kostik, >=20 > This commit breaks both xorg and shutting down/rebooting. Reverting this > commit makes my laptop happy again. Thnking out loud: would these issues arise due to HardenedBSD using SafeStack, which relies on libthr's stack code? Thanks, --=20 Shawn Webb Cofounder and Security Engineer HardenedBSD GPG Key ID: 0x6A84658F52456EEE GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89 3D9E 6A84 658F 5245 6EEE --zdzlncmx3plci7qg Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEKrq2ve9q9Ia+iT2eaoRlj1JFbu4FAllU/1MACgkQaoRlj1JF bu4QVRAAjR20fRt6KlzxDIDzGILImR2JxX0lrX/Cl7tccUcIigJNWlYnYmYm2UyH qgILf4NELCJoLZ2b1wA54DXu5T+h9DeXHpL5UTPWwWnqK4PJHuOmrk0wMOjGA09q V6vx9a7HmJ2jdpzk0pgH8Ed1XR5z6EBIcJIkuuRV1sUbc9mzQpRKU3Ot961b00vX 8SkavhWIvU2iTU4jVjj+GpUQTgWUG/5vA/KUMLJibelKu5PIvmd8nCY8b7UYt7Qw IWvijRly5nrcjmuimq/zC9DOz9dJtjFZV85o/2CRAg3LZoKT0BL2YqDQ95ZaSdgL Drn9YhnvBgFS/C9f7kGq9afjJXjozItq+bFH2Fe3PzOxZkYuOlnwz5D7QW93diVu pMKqQZbyFjBOvziPrK74aKZNOqJrIoiczTI+AYuZc/VkKV2a+S6ylEy9a9jjUS5q p//Eohs3kJ2x/D/vQbP0nax/6zvQNBIcxezxazBcMzJ2f6fvIScpmasisfHBNdsB Pk5R8aK6lp5WMVdqs6nSjv2yUyYn65NJwAyqXU2VqA/GsQ3DeMtrce42zzWZeoZm oOal0UnombPF/3QGfAKSBnSjYt7jMu40bUSUvgw71/PFUTBemEOpdf/Uc6jtdKQb CJvTeO9UBBZAZpB6F96EZ4Ge6N/2Ho08R+AquA3q+lG5OaJzfEE= =BGoy -----END PGP SIGNATURE----- --zdzlncmx3plci7qg-- From owner-svn-src-head@freebsd.org Thu Jun 29 14:00:06 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B98BFD9E0C3; Thu, 29 Jun 2017 14:00:06 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 87FB8846; Thu, 29 Jun 2017 14:00:06 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5TE053M026247; Thu, 29 Jun 2017 14:00:05 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5TE05GI026245; Thu, 29 Jun 2017 14:00:05 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201706291400.v5TE05GI026245@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Thu, 29 Jun 2017 14:00:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320470 - head/lib/libc/arm/gen X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: head/lib/libc/arm/gen X-SVN-Commit-Revision: 320470 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 14:00:06 -0000 Author: andrew Date: Thu Jun 29 14:00:05 2017 New Revision: 320470 URL: https://svnweb.freebsd.org/changeset/base/320470 Log: Start to remove _libc_arm_fpu_present checks. We don't support the VFP on ARMv4 or ARMv5, and only support it when it's present on ARMv6 and later. As such always store the VFP register in setjmp and restore them in longjmp when building for armv6. Reviewed by: mmel Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D11393 Modified: head/lib/libc/arm/gen/_setjmp.S head/lib/libc/arm/gen/setjmp.S Modified: head/lib/libc/arm/gen/_setjmp.S ============================================================================== --- head/lib/libc/arm/gen/_setjmp.S Thu Jun 29 12:49:03 2017 (r320469) +++ head/lib/libc/arm/gen/_setjmp.S Thu Jun 29 14:00:05 2017 (r320470) @@ -61,25 +61,12 @@ __FBSDID("$FreeBSD$"); ENTRY(_setjmp) ldr r1, .L_setjmp_magic -#if !defined(_STANDALONE) - ldr r2, .Lfpu_present -#ifdef PIC - GOT_INIT(r3, .L_setjmp_got, .L_setjmp_gotinit) - ldr r2, [r2, r3] -#else - ldr r2, [r2] -#endif - teq r2, #0 /* do we have a FPU? */ - beq 1f /* no, don't save VFP registers */ - - orr r1, r1, #(_JB_MAGIC__SETJMP ^ _JB_MAGIC__SETJMP_VFP) - /* change magic to VFP magic */ +#if !defined(_STANDALONE) && __ARM_ARCH >= 6 add r2, r0, #(_JB_REG_D8 * 4) vstmia r2, {d8-d15} vmrs r2, fpscr str r2, [r0, #(_JB_REG_FPSCR * 4)] -1: -#endif /* !_STANDALONE */ +#endif /* !_STANDALONE && __ARM_ARCH >= 6 */ str r1, [r0] @@ -99,30 +86,20 @@ END(_setjmp) .L_setjmp_magic: .word _JB_MAGIC__SETJMP -#if !defined(_STANDALONE) - GOT_INITSYM(.L_setjmp_got, .L_setjmp_gotinit) -.Lfpu_present: - .word PIC_SYM(_libc_arm_fpu_present, GOTOFF) -#endif /* !_STANDALONE */ WEAK_ALIAS(___longjmp, _longjmp) ENTRY(_longjmp) ldr r2, [r0] /* get magic from jmp_buf */ - bic r3, r2, #(_JB_MAGIC__SETJMP ^ _JB_MAGIC__SETJMP_VFP) - /* ignore VFP-ness of magic */ ldr ip, .L_setjmp_magic /* load magic */ - teq ip, r3 /* magic correct? */ + teq ip, r2 /* magic correct? */ bne botch /* no, botch */ -#if !defined(_STANDALONE) - teq r3, r2 /* did magic change? */ - beq 1f /* no, don't restore VFP */ +#if !defined(_STANDALONE) && __ARM_ARCH >= 6 add ip, r0, #(_JB_REG_D8 * 4) vldmia ip, {d8-d15} ldr ip, [r0, #(_JB_REG_FPSCR * 4)] vmsr fpscr, ip -1: -#endif /* !_STANDALONE */ +#endif /* !_STANDALONE && __ARM_ARCH >= 6 */ add r0, r0, #(_JB_REG_R4 * 4) /* Restore integer registers */ Modified: head/lib/libc/arm/gen/setjmp.S ============================================================================== --- head/lib/libc/arm/gen/setjmp.S Thu Jun 29 12:49:03 2017 (r320469) +++ head/lib/libc/arm/gen/setjmp.S Thu Jun 29 14:00:05 2017 (r320470) @@ -64,23 +64,12 @@ ENTRY(setjmp) ldr r1, .Lsetjmp_magic - ldr r2, .Lfpu_present -#ifdef PIC - GOT_INIT(r3, .Lsetjmp_got, .Lsetjmp_gotinit) - ldr r2, [r2, r3] -#else - ldr r2, [r2] -#endif - teq r2, #0 /* do we have a FPU? */ - beq 1f /* no, don't save VFP registers */ - - orr r1, r1, #(_JB_MAGIC_SETJMP ^ _JB_MAGIC_SETJMP_VFP) - /* change magic to VFP magic */ +#if __ARM_ARCH >= 6 add r2, r0, #(_JB_REG_D8 * 4) vstmia r2, {d8-d15} vmrs r2, fpscr str r2, [r0, #(_JB_REG_FPSCR * 4)] -1: +#endif str r1, [r0] /* store magic */ @@ -98,9 +87,6 @@ ENTRY(setjmp) .Lsetjmp_magic: .word _JB_MAGIC_SETJMP - GOT_INITSYM(.Lsetjmp_got, .Lsetjmp_gotinit) -.Lfpu_present: - .word PIC_SYM(_libc_arm_fpu_present, GOTOFF) END(setjmp) .weak _C_LABEL(longjmp) @@ -108,8 +94,7 @@ END(setjmp) ENTRY(__longjmp) ldr r2, [r0] ldr ip, .Lsetjmp_magic - bic r3, r2, #(_JB_MAGIC_SETJMP ^ _JB_MAGIC_SETJMP_VFP) - teq r3, ip + teq r2, ip bne .Lbotch /* Restore the signal mask. */ @@ -120,14 +105,12 @@ ENTRY(__longjmp) bl PIC_SYM(_C_LABEL(sigprocmask), PLT) ldmfd sp!, {r0-r2, r14} - tst r2, #(_JB_MAGIC_SETJMP ^ _JB_MAGIC_SETJMP_VFP) - /* is this a VFP magic? */ - beq 1f /* no, don't restore VFP */ +#if __ARM_ARCH >= 6 add ip, r0, #(_JB_REG_D8 * 4) vldmia ip, {d8-d15} ldr ip, [r0, #(_JB_REG_FPSCR * 4)] vmsr fpscr, ip -1: +#endif add r0, r0, #(_JB_REG_R4 * 4) /* Restore integer registers */ From owner-svn-src-head@freebsd.org Thu Jun 29 14:12:40 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CD3CBD9E8E0 for ; Thu, 29 Jun 2017 14:12:40 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from nm10-vm2.bullet.mail.ne1.yahoo.com (nm10-vm2.bullet.mail.ne1.yahoo.com [98.138.90.158]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9F3631703 for ; Thu, 29 Jun 2017 14:12:40 +0000 (UTC) (envelope-from pfg@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1498745451; bh=dwNm/+TiWvAj71YkN0Qoss85L8jKou+EtKLSjXdXNVM=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From:Subject; b=jdSbfGvh5kmh0idwmBau5a6avlDeHelOB8m7zEmtmiqSTc+PvJPRnwfo7pErvb1fGQX3W6oH9Dp3Pf/926I8oWHd0ipU3BkvS7R+OMJu/9UI8NjUaYoNmsSq711Wuleo1vXF503fE+9sfQMaylCY2kzfHEGjs9nEr7X+5iOpxgtuRL8PJWCQNPmMQaMaurhbvX+fp1hk6RvXoIY7vYZYa//Uy5rF1mvOh/zFnjEH+33bmZRaYZnTZCqL82zirjqpe4oeckeXeO5GzHvAMkVBC338NC+c3L0qOu+OBWVVk+9ojl98GO3YTME8cdYNNMBLzhq2iDXMrWSPtTYT8kjgSA== Received: from [98.138.100.117] by nm10.bullet.mail.ne1.yahoo.com with NNFMP; 29 Jun 2017 14:10:51 -0000 Received: from [98.138.226.60] by tm108.bullet.mail.ne1.yahoo.com with NNFMP; 29 Jun 2017 14:10:51 -0000 Received: from [127.0.0.1] by smtp211.mail.ne1.yahoo.com with NNFMP; 29 Jun 2017 14:10:51 -0000 X-Yahoo-Newman-Id: 140486.90205.bm@smtp211.mail.ne1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: LlOpHmgVM1mt1iwnSvU8e653oPn7CnGHgJfgPJzObw2FOd6 KfZoKVMSemwQn5ntLDAG542kHNVQjxeCmb.M_VWwQBdhCF3WPvzStjIpy3xW uZEJeamYQF4pP3zQBHVmTinQURO1egVmcmmmJZlnm3F59Sbl1j5ddPflHJqV ce0AjArEAkS_OatHCBnN6DdrY.uwZt88BseYVrfZMNfuOTybkCml8Lpdrblg 3.ljmfF9T_lQQE1aNqcEzzDfA_yDxhLL9326gxqX8JPaD9IwWUmv.siQ8cTR WKZpaS1TwV2HfiCCR5LCFIl1pe7B9pUoDj4GYhdEtJeiKk775eYA._.kRviQ UtdgOJenoO8NvV2GDYyEYEyknkgadVSykWyxVafwL5S3YQaV0uSlzXXk6xM7 8g1mrRaZ2Aiw_NnZCLuGaCXHDrAmG18xeEVF8spewZwXh4A_WHRqcOc1nNAc 59w9BBz9yCh3OvH4kn3FIEctlKnUjaHdNKWT8A1eJW4eVYZeyfCyFxfmvlyY X8Mnk4o3yJfuIdiliPXs- X-Yahoo-SMTP: xcjD0guswBAZaPPIbxpWwLcp9Unf Subject: Re: svn commit: r320430 - head/sys/vm To: Shawn Webb Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201706280402.v5S42bQx089187@repo.freebsd.org> <20170628223238.v456h4t4huwbqt6f@mutt-hbsd> <20170629132333.pl6nk5bsw3fkevdx@mutt-hbsd> From: Pedro Giffuni Organization: FreeBSD Project Message-ID: Date: Thu, 29 Jun 2017 09:10:53 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170629132333.pl6nk5bsw3fkevdx@mutt-hbsd> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 14:12:40 -0000 Hello; On 6/29/2017 8:23 AM, Shawn Webb wrote: > On Wed, Jun 28, 2017 at 06:32:38PM -0400, Shawn Webb wrote: >> On Wed, Jun 28, 2017 at 04:02:37AM +0000, Konstantin Belousov wrote: >>> Author: kib >>> Date: Wed Jun 28 04:02:36 2017 >>> New Revision: 320430 >>> URL: https://svnweb.freebsd.org/changeset/base/320430 >>> >>> Log: >>> Treat the addr argument for mmap(2) request without MAP_FIXED flag as >>> a hint. >>> >>> Right now, for non-fixed mmap(2) calls, addr is de-facto interpreted >>> as the absolute minimal address of the range where the mapping is >>> created. The VA allocator only allocates in the range [addr, >>> VM_MAXUSER_ADDRESS]. This is too restrictive, the mmap(2) call might >>> unduly fail if there is no free addresses above addr but a lot of >>> usable space below it. >>> >>> Lift this implementation limitation by allocating VA in two passes. >>> First, try to allocate above addr, as before. If that fails, do the >>> second pass with less restrictive constraints for the start of >>> allocation by specifying minimal allocation address at the max bss >>> end, if this limit is less than addr. >>> >>> One important case where this change makes a difference is the >>> allocation of the stacks for new threads in libthr. Under some >>> configuration conditions, libthr tries to hint kernel to reuse the >>> main thread stack grow area for the new stacks. This cannot work by >>> design now after grow area is converted to stack, and there is no >>> unallocated VA above the main stack. Interpreting requested stack >>> base address as the hint provides compatibility with old libthr and >>> with (mis-)configured current libthr. >>> >>> Reviewed by: alc >>> Tested by: dim (previous version) >>> Sponsored by: The FreeBSD Foundation >>> MFC after: 1 week >>> >>> Modified: >>> head/sys/vm/vm_map.c >>> head/sys/vm/vm_map.h >>> head/sys/vm/vm_mmap.c >> Hey Kostik, >> >> This commit breaks both xorg and shutting down/rebooting. Reverting this >> commit makes my laptop happy again. > Thnking out loud: would these issues arise due to HardenedBSD using > SafeStack, which relies on libthr's stack code? I haven't been looking at SafeStack lately but unless HardenedBSD took the FreeBSD-specific code from EPFL and did some real work on it, there is little chance it does its work well. Pedro. ps. I would guess Oliver knows about the EPFL code since he did some review on github. From owner-svn-src-head@freebsd.org Thu Jun 29 14:40:34 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C9B17D9EE29; Thu, 29 Jun 2017 14:40:34 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 991BD2568; Thu, 29 Jun 2017 14:40:34 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5TEeX1R042497; Thu, 29 Jun 2017 14:40:33 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5TEeX2q042496; Thu, 29 Jun 2017 14:40:33 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706291440.v5TEeX2q042496@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Thu, 29 Jun 2017 14:40:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320471 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 320471 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 14:40:34 -0000 Author: kib Date: Thu Jun 29 14:40:33 2017 New Revision: 320471 URL: https://svnweb.freebsd.org/changeset/base/320471 Log: Do not cast struct kevent_args or struct freebsd11_kevent_args to struct g_kevent_args. On some architectures, e.g. PowerPC, there is additional padding in uap. Reported and tested by: andreast Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/kern_event.c Modified: head/sys/kern/kern_event.c ============================================================================== --- head/sys/kern/kern_event.c Thu Jun 29 14:00:05 2017 (r320470) +++ head/sys/kern/kern_event.c Thu Jun 29 14:40:33 2017 (r320471) @@ -935,8 +935,16 @@ sys_kevent(struct thread *td, struct kevent_args *uap) .k_copyin = kevent_copyin, .kevent_size = sizeof(struct kevent), }; + struct g_kevent_args gk_args = { + .fd = uap->fd, + .changelist = uap->changelist, + .nchanges = uap->nchanges, + .eventlist = uap->eventlist, + .nevents = uap->nevents, + .timeout = uap->timeout, + }; - return (kern_kevent_generic(td, (struct g_kevent_args *)uap, &k_ops)); + return (kern_kevent_generic(td, &gk_args, &k_ops)); } static int @@ -1107,8 +1115,16 @@ freebsd11_kevent(struct thread *td, struct freebsd11_k .k_copyin = kevent11_copyin, .kevent_size = sizeof(struct kevent_freebsd11), }; + struct g_kevent_args gk_args = { + .fd = uap->fd, + .changelist = uap->changelist, + .nchanges = uap->nchanges, + .eventlist = uap->eventlist, + .nevents = uap->nevents, + .timeout = uap->timeout, + }; - return (kern_kevent_generic(td, (struct g_kevent_args *)uap, &k_ops)); + return (kern_kevent_generic(td, &gk_args, &k_ops)); } #endif From owner-svn-src-head@freebsd.org Thu Jun 29 14:44:22 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 580CDD9F036; Thu, 29 Jun 2017 14:44:22 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 22F2829A6; Thu, 29 Jun 2017 14:44:22 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5TEiLbI046424; Thu, 29 Jun 2017 14:44:21 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5TEiHKR046385; Thu, 29 Jun 2017 14:44:17 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706291444.v5TEiHKR046385@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Thu, 29 Jun 2017 14:44:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320472 - head/lib/libc/stdio X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/lib/libc/stdio X-SVN-Commit-Revision: 320472 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 14:44:22 -0000 Author: kib Date: Thu Jun 29 14:44:17 2017 New Revision: 320472 URL: https://svnweb.freebsd.org/changeset/base/320472 Log: Make stdio deferred cancel-safe. If used with fopen(3)/fdopen(3)-ed FILEs, stdio accurately uses non-cancellable internal versions of the functions, i.e. it seems to be fine with regard to cancellation. But if the funopen(3) and f{r,w}open(3) functions were used to open the FILE, and corresponding user functions create cancellation points (they typically have no other choice), then stdio code at least leaks FILE' lock. The change installs cleanup handler which unlocks FILE. Some minimal restructuring of the code was required to make it use common return place to satisfy hand-rolled pthread_cleanup_pop() requirements. Noted by: eugen Reviewed by: eugen, vangyzen Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D11246 Modified: head/lib/libc/stdio/fclose.c head/lib/libc/stdio/fflush.c head/lib/libc/stdio/fgetc.c head/lib/libc/stdio/fgetln.c head/lib/libc/stdio/fgets.c head/lib/libc/stdio/fgetwc.c head/lib/libc/stdio/fgetwln.c head/lib/libc/stdio/fgetws.c head/lib/libc/stdio/fputc.c head/lib/libc/stdio/fputs.c head/lib/libc/stdio/fputwc.c head/lib/libc/stdio/fputws.c head/lib/libc/stdio/fread.c head/lib/libc/stdio/freopen.c head/lib/libc/stdio/fscanf.c head/lib/libc/stdio/fseek.c head/lib/libc/stdio/fwrite.c head/lib/libc/stdio/getc.c head/lib/libc/stdio/getchar.c head/lib/libc/stdio/getdelim.c head/lib/libc/stdio/gets.c head/lib/libc/stdio/local.h head/lib/libc/stdio/perror.c head/lib/libc/stdio/putc.c head/lib/libc/stdio/putchar.c head/lib/libc/stdio/puts.c head/lib/libc/stdio/putw.c head/lib/libc/stdio/refill.c head/lib/libc/stdio/scanf.c head/lib/libc/stdio/setvbuf.c head/lib/libc/stdio/stdio.c head/lib/libc/stdio/ungetc.c head/lib/libc/stdio/ungetwc.c head/lib/libc/stdio/vfprintf.c head/lib/libc/stdio/vfscanf.c head/lib/libc/stdio/vfwprintf.c head/lib/libc/stdio/vfwscanf.c head/lib/libc/stdio/vscanf.c Modified: head/lib/libc/stdio/fclose.c ============================================================================== --- head/lib/libc/stdio/fclose.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fclose.c Thu Jun 29 14:44:17 2017 (r320472) @@ -97,7 +97,7 @@ fdclose(FILE *fp, int *fdp) return (EOF); } - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); r = 0; if (fp->_close != __sclose) { r = EOF; @@ -115,7 +115,7 @@ fdclose(FILE *fp, int *fdp) *fdp = fp->_file; r = cleanfile(fp, false); } - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (r); } @@ -130,9 +130,9 @@ fclose(FILE *fp) return (EOF); } - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); r = cleanfile(fp, true); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (r); } Modified: head/lib/libc/stdio/fflush.c ============================================================================== --- head/lib/libc/stdio/fflush.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fflush.c Thu Jun 29 14:44:17 2017 (r320472) @@ -56,7 +56,7 @@ fflush(FILE *fp) if (fp == NULL) return (_fwalk(sflush_locked)); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); /* * There is disagreement about the correct behaviour of fflush() @@ -76,7 +76,7 @@ fflush(FILE *fp) retval = 0; else retval = __sflush(fp); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (retval); } @@ -143,8 +143,8 @@ sflush_locked(FILE *fp) { int ret; - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ret = __sflush(fp); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (ret); } Modified: head/lib/libc/stdio/fgetc.c ============================================================================== --- head/lib/libc/stdio/fgetc.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fgetc.c Thu Jun 29 14:44:17 2017 (r320472) @@ -46,10 +46,10 @@ int fgetc(FILE *fp) { int retval; - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); /* Orientation set by __sgetc() when buffer is empty. */ /* ORIENT(fp, -1); */ retval = __sgetc(fp); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (retval); } Modified: head/lib/libc/stdio/fgetln.c ============================================================================== --- head/lib/libc/stdio/fgetln.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fgetln.c Thu Jun 29 14:44:17 2017 (r320472) @@ -85,22 +85,21 @@ char * fgetln(FILE *fp, size_t *lenp) { unsigned char *p; + char *ret; size_t len; size_t off; - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ORIENT(fp, -1); /* make sure there is input */ if (fp->_r <= 0 && __srefill(fp)) { *lenp = 0; - FUNLOCKFILE(fp); - return (NULL); + ret = NULL; + goto end; } /* look for a newline in the input */ if ((p = memchr((void *)fp->_p, '\n', (size_t)fp->_r)) != NULL) { - char *ret; - /* * Found one. Flag buffer as modified to keep fseek from * `optimising' a backward seek, in case the user stomps on @@ -112,8 +111,7 @@ fgetln(FILE *fp, size_t *lenp) fp->_flags |= __SMOD; fp->_r -= len; fp->_p = p; - FUNLOCKFILE(fp); - return (ret); + goto end; } /* @@ -163,12 +161,14 @@ fgetln(FILE *fp, size_t *lenp) #ifdef notdef fp->_lb._base[len] = '\0'; #endif - FUNLOCKFILE(fp); - return ((char *)fp->_lb._base); + ret = (char *)fp->_lb._base; +end: + FUNLOCKFILE_CANCELSAFE(); + return (ret); error: *lenp = 0; /* ??? */ fp->_flags |= __SERR; - FUNLOCKFILE(fp); - return (NULL); /* ??? */ + ret = NULL; + goto end; } Modified: head/lib/libc/stdio/fgets.c ============================================================================== --- head/lib/libc/stdio/fgets.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fgets.c Thu Jun 29 14:44:17 2017 (r320472) @@ -53,17 +53,17 @@ char * fgets(char * __restrict buf, int n, FILE * __restrict fp) { size_t len; - char *s; + char *s, *ret; unsigned char *p, *t; - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ORIENT(fp, -1); if (n <= 0) { /* sanity check */ fp->_flags |= __SERR; errno = EINVAL; - FUNLOCKFILE(fp); - return (NULL); + ret = NULL; + goto end; } s = buf; @@ -76,8 +76,8 @@ fgets(char * __restrict buf, int n, FILE * __restrict if (__srefill(fp)) { /* EOF/error: stop with partial or no line */ if (!__sfeof(fp) || s == buf) { - FUNLOCKFILE(fp); - return (NULL); + ret = NULL; + goto end; } break; } @@ -100,8 +100,8 @@ fgets(char * __restrict buf, int n, FILE * __restrict fp->_p = t; (void)memcpy((void *)s, (void *)p, len); s[len] = 0; - FUNLOCKFILE(fp); - return (buf); + ret = buf; + goto end; } fp->_r -= len; fp->_p += len; @@ -110,6 +110,8 @@ fgets(char * __restrict buf, int n, FILE * __restrict n -= len; } *s = 0; - FUNLOCKFILE(fp); - return (buf); + ret = buf; +end: + FUNLOCKFILE_CANCELSAFE(); + return (ret); } Modified: head/lib/libc/stdio/fgetwc.c ============================================================================== --- head/lib/libc/stdio/fgetwc.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fgetwc.c Thu Jun 29 14:44:17 2017 (r320472) @@ -52,10 +52,10 @@ fgetwc_l(FILE *fp, locale_t locale) wint_t r; FIX_LOCALE(locale); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ORIENT(fp, 1); r = __fgetwc(fp, locale); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (r); } Modified: head/lib/libc/stdio/fgetwln.c ============================================================================== --- head/lib/libc/stdio/fgetwln.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fgetwln.c Thu Jun 29 14:44:17 2017 (r320472) @@ -45,13 +45,14 @@ wchar_t *fgetwln_l(FILE * __restrict, size_t *, locale wchar_t * fgetwln_l(FILE * __restrict fp, size_t *lenp, locale_t locale) { + wchar_t *ret; wint_t wc; size_t len; int savserr; FIX_LOCALE(locale); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ORIENT(fp, 1); savserr = fp->_flags & __SERR; @@ -77,14 +78,16 @@ fgetwln_l(FILE * __restrict fp, size_t *lenp, locale_t if (len == 0) goto error; - FUNLOCKFILE(fp); *lenp = len; - return ((wchar_t *)fp->_lb._base); + ret = (wchar_t *)fp->_lb._base; +end: + FUNLOCKFILE_CANCELSAFE(); + return (ret); error: - FUNLOCKFILE(fp); *lenp = 0; - return (NULL); + ret = NULL; + goto end; } wchar_t * Modified: head/lib/libc/stdio/fgetws.c ============================================================================== --- head/lib/libc/stdio/fgetws.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fgetws.c Thu Jun 29 14:44:17 2017 (r320472) @@ -46,14 +46,14 @@ wchar_t * fgetws_l(wchar_t * __restrict ws, int n, FILE * __restrict fp, locale_t locale) { int sret; - wchar_t *wsp; + wchar_t *wsp, *ret; size_t nconv; const char *src; unsigned char *nl; FIX_LOCALE(locale); struct xlocale_ctype *l = XLOCALE_CTYPE(locale); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ORIENT(fp, 1); if (n <= 0) { @@ -113,12 +113,14 @@ fgetws_l(wchar_t * __restrict ws, int n, FILE * __rest goto error; ok: *wsp = L'\0'; - FUNLOCKFILE(fp); + ret = ws; +end: + FUNLOCKFILE_CANCELSAFE(); return (ws); error: - FUNLOCKFILE(fp); - return (NULL); + ret = NULL; + goto end; } wchar_t * Modified: head/lib/libc/stdio/fputc.c ============================================================================== --- head/lib/libc/stdio/fputc.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fputc.c Thu Jun 29 14:44:17 2017 (r320472) @@ -46,10 +46,10 @@ int fputc(int c, FILE *fp) { int retval; - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); /* Orientation set by __sputc() when buffer is full. */ /* ORIENT(fp, -1); */ retval = __sputc(c, fp); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (retval); } Modified: head/lib/libc/stdio/fputs.c ============================================================================== --- head/lib/libc/stdio/fputs.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fputs.c Thu Jun 29 14:44:17 2017 (r320472) @@ -59,10 +59,10 @@ fputs(const char * __restrict s, FILE * __restrict fp) uio.uio_resid = iov.iov_len = strlen(s); uio.uio_iov = &iov; uio.uio_iovcnt = 1; - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ORIENT(fp, -1); retval = __sfvwrite(fp, &uio); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); if (retval == 0) return (iov.iov_len > INT_MAX ? INT_MAX : iov.iov_len); return (retval); Modified: head/lib/libc/stdio/fputwc.c ============================================================================== --- head/lib/libc/stdio/fputwc.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fputwc.c Thu Jun 29 14:44:17 2017 (r320472) @@ -74,10 +74,10 @@ fputwc_l(wchar_t wc, FILE *fp, locale_t locale) wint_t r; FIX_LOCALE(locale); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ORIENT(fp, 1); r = __fputwc(wc, fp, locale); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (r); } Modified: head/lib/libc/stdio/fputws.c ============================================================================== --- head/lib/libc/stdio/fputws.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fputws.c Thu Jun 29 14:44:17 2017 (r320472) @@ -53,11 +53,13 @@ fputws_l(const wchar_t * __restrict ws, FILE * __restr const wchar_t *wsp; FIX_LOCALE(locale); struct xlocale_ctype *l = XLOCALE_CTYPE(locale); + int ret; - FLOCKFILE(fp); + ret = -1; + FLOCKFILE_CANCELSAFE(fp); ORIENT(fp, 1); if (prepwrite(fp) != 0) - goto error; + goto end; uio.uio_iov = &iov; uio.uio_iovcnt = 1; iov.iov_base = buf; @@ -66,17 +68,15 @@ fputws_l(const wchar_t * __restrict ws, FILE * __restr nbytes = l->__wcsnrtombs(buf, &wsp, SIZE_T_MAX, sizeof(buf), &fp->_mbstate); if (nbytes == (size_t)-1) - goto error; + goto end; uio.uio_resid = iov.iov_len = nbytes; if (__sfvwrite(fp, &uio) != 0) - goto error; + goto end; } while (wsp != NULL); - FUNLOCKFILE(fp); - return (0); - -error: - FUNLOCKFILE(fp); - return (-1); + ret = 0; +end: + FUNLOCKFILE_CANCELSAFE(); + return (ret); } int Modified: head/lib/libc/stdio/fread.c ============================================================================== --- head/lib/libc/stdio/fread.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fread.c Thu Jun 29 14:44:17 2017 (r320472) @@ -54,9 +54,9 @@ fread(void * __restrict buf, size_t size, size_t count { size_t ret; - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ret = __fread(buf, size, count, fp); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (ret); } Modified: head/lib/libc/stdio/freopen.c ============================================================================== --- head/lib/libc/stdio/freopen.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/freopen.c Thu Jun 29 14:44:17 2017 (r320472) @@ -68,7 +68,7 @@ freopen(const char * __restrict file, const char * __r return (NULL); } - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); if (!__sdidinit) __sinit(); @@ -81,24 +81,24 @@ freopen(const char * __restrict file, const char * __r if (file == NULL) { /* See comment below regarding freopen() of closed files. */ if (fp->_flags == 0) { - FUNLOCKFILE(fp); errno = EINVAL; - return (NULL); + fp = NULL; + goto end; } if ((dflags = _fcntl(fp->_file, F_GETFL)) < 0) { sverrno = errno; fclose(fp); - FUNLOCKFILE(fp); errno = sverrno; - return (NULL); + fp = NULL; + goto end; } /* Work around incorrect O_ACCMODE. */ if ((dflags & O_ACCMODE) != O_RDWR && (dflags & (O_ACCMODE | O_EXEC)) != (oflags & O_ACCMODE)) { fclose(fp); - FUNLOCKFILE(fp); errno = EBADF; - return (NULL); + fp = NULL; + goto end; } if (fp->_flags & __SWR) (void) __sflush(fp); @@ -108,9 +108,9 @@ freopen(const char * __restrict file, const char * __r if (_fcntl(fp->_file, F_SETFL, dflags) < 0) { sverrno = errno; fclose(fp); - FUNLOCKFILE(fp); errno = sverrno; - return (NULL); + fp = NULL; + goto end; } } if (oflags & O_TRUNC) @@ -193,9 +193,9 @@ finish: if (isopen) (void) (*fp->_close)(fp->_cookie); fp->_flags = 0; /* set it free */ - FUNLOCKFILE(fp); errno = sverrno; /* restore in case _close clobbered */ - return (NULL); + fp = NULL; + goto end; } /* @@ -221,9 +221,9 @@ finish: */ if (f > SHRT_MAX) { fp->_flags = 0; /* set it free */ - FUNLOCKFILE(fp); errno = EMFILE; - return (NULL); + fp = NULL; + goto end; } fp->_flags = flags; @@ -245,6 +245,7 @@ finish: fp->_flags2 |= __S2OAP; (void) _sseek(fp, (fpos_t)0, SEEK_END); } - FUNLOCKFILE(fp); +end: + FUNLOCKFILE_CANCELSAFE(); return (fp); } Modified: head/lib/libc/stdio/fscanf.c ============================================================================== --- head/lib/libc/stdio/fscanf.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fscanf.c Thu Jun 29 14:44:17 2017 (r320472) @@ -56,10 +56,10 @@ fscanf(FILE * __restrict fp, char const * __restrict f va_list ap; va_start(ap, fmt); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ret = __svfscanf(fp, __get_locale(), fmt, ap); va_end(ap); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (ret); } int @@ -70,9 +70,9 @@ fscanf_l(FILE * __restrict fp, locale_t locale, char c FIX_LOCALE(locale); va_start(ap, fmt); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ret = __svfscanf(fp, locale, fmt, ap); va_end(ap); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (ret); } Modified: head/lib/libc/stdio/fseek.c ============================================================================== --- head/lib/libc/stdio/fseek.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fseek.c Thu Jun 29 14:44:17 2017 (r320472) @@ -60,9 +60,9 @@ fseek(FILE *fp, long offset, int whence) if (!__sdidinit) __sinit(); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ret = _fseeko(fp, (off_t)offset, whence, 1); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); if (ret == 0) errno = serrno; return (ret); @@ -78,9 +78,9 @@ fseeko(FILE *fp, off_t offset, int whence) if (!__sdidinit) __sinit(); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ret = _fseeko(fp, offset, whence, 0); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); if (ret == 0) errno = serrno; return (ret); Modified: head/lib/libc/stdio/fwrite.c ============================================================================== --- head/lib/libc/stdio/fwrite.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/fwrite.c Thu Jun 29 14:44:17 2017 (r320472) @@ -82,7 +82,7 @@ fwrite(const void * __restrict buf, size_t size, size_ uio.uio_iov = &iov; uio.uio_iovcnt = 1; - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ORIENT(fp, -1); /* * The usual case is success (__sfvwrite returns 0); @@ -91,6 +91,6 @@ fwrite(const void * __restrict buf, size_t size, size_ */ if (__sfvwrite(fp, &uio) != 0) count = (n - uio.uio_resid) / size; - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (count); } Modified: head/lib/libc/stdio/getc.c ============================================================================== --- head/lib/libc/stdio/getc.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/getc.c Thu Jun 29 14:44:17 2017 (r320472) @@ -49,11 +49,11 @@ int getc(FILE *fp) { int retval; - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); /* Orientation set by __sgetc() when buffer is empty. */ /* ORIENT(fp, -1); */ retval = __sgetc(fp); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (retval); } Modified: head/lib/libc/stdio/getchar.c ============================================================================== --- head/lib/libc/stdio/getchar.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/getchar.c Thu Jun 29 14:44:17 2017 (r320472) @@ -52,11 +52,11 @@ int getchar(void) { int retval; - FLOCKFILE(stdin); + FLOCKFILE_CANCELSAFE(stdin); /* Orientation set by __sgetc() when buffer is empty. */ /* ORIENT(stdin, -1); */ retval = __sgetc(stdin); - FUNLOCKFILE(stdin); + FUNLOCKFILE_CANCELSAFE(); return (retval); } Modified: head/lib/libc/stdio/getdelim.c ============================================================================== --- head/lib/libc/stdio/getdelim.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/getdelim.c Thu Jun 29 14:44:17 2017 (r320472) @@ -112,7 +112,7 @@ getdelim(char ** __restrict linep, size_t * __restrict u_char *endp; size_t linelen; - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ORIENT(fp, -1); if (linep == NULL || linecapp == NULL) { @@ -127,9 +127,9 @@ getdelim(char ** __restrict linep, size_t * __restrict /* If fp is at EOF already, we just need space for the NUL. */ if (!__sfeof(fp) || expandtofit(linep, 1, linecapp)) goto error; - FUNLOCKFILE(fp); (*linep)[0] = '\0'; - return (-1); + linelen = -1; + goto end; } linelen = 0; @@ -150,11 +150,12 @@ getdelim(char ** __restrict linep, size_t * __restrict done: /* Invariant: *linep has space for at least linelen+1 bytes. */ (*linep)[linelen] = '\0'; - FUNLOCKFILE(fp); +end: + FUNLOCKFILE_CANCELSAFE(); return (linelen); error: fp->_flags |= __SERR; - FUNLOCKFILE(fp); - return (-1); + linelen = -1; + goto end; } Modified: head/lib/libc/stdio/gets.c ============================================================================== --- head/lib/libc/stdio/gets.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/gets.c Thu Jun 29 14:44:17 2017 (r320472) @@ -50,27 +50,30 @@ char * gets(char *buf) { int c; - char *s; + char *s, *ret; static int warned; static const char w[] = "warning: this program uses gets(), which is unsafe.\n"; - FLOCKFILE(stdin); + FLOCKFILE_CANCELSAFE(stdin); ORIENT(stdin, -1); if (!warned) { (void) _write(STDERR_FILENO, w, sizeof(w) - 1); warned = 1; } - for (s = buf; (c = __sgetc(stdin)) != '\n';) + for (s = buf; (c = __sgetc(stdin)) != '\n'; ) { if (c == EOF) if (s == buf) { - FUNLOCKFILE(stdin); - return (NULL); + ret = NULL; + goto end; } else break; else *s++ = c; + } *s = 0; - FUNLOCKFILE(stdin); - return (buf); + ret = buf; +end: + FUNLOCKFILE_CANCELSAFE(); + return (ret); } Modified: head/lib/libc/stdio/local.h ============================================================================== --- head/lib/libc/stdio/local.h Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/local.h Thu Jun 29 14:44:17 2017 (r320472) @@ -38,6 +38,9 @@ * $FreeBSD$ */ +#ifndef _STDIO_LOCAL_H +#define _STDIO_LOCAL_H + #include /* for off_t */ #include #include @@ -138,3 +141,26 @@ __fgetwc(FILE *fp, locale_t locale) if ((fp)->_orientation == 0) \ (fp)->_orientation = (o); \ } while (0) + +void __stdio_cancel_cleanup(void *); +#define FLOCKFILE_CANCELSAFE(fp) \ + { \ + struct _pthread_cleanup_info __cleanup_info__; \ + if (__isthreaded) { \ + _FLOCKFILE(fp); \ + __pthread_cleanup_push_imp( \ + __stdio_cancel_cleanup, (fp), \ + &__cleanup_info__); \ + } else { \ + __pthread_cleanup_push_imp( \ + __stdio_cancel_cleanup, NULL, \ + &__cleanup_info__); \ + } \ + { +#define FUNLOCKFILE_CANCELSAFE() \ + (void)0; \ + } \ + __pthread_cleanup_pop_imp(1); \ + } + +#endif /* _STDIO_LOCAL_H */ Modified: head/lib/libc/stdio/perror.c ============================================================================== --- head/lib/libc/stdio/perror.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/perror.c Thu Jun 29 14:44:17 2017 (r320472) @@ -67,9 +67,9 @@ perror(const char *s) v++; v->iov_base = "\n"; v->iov_len = 1; - FLOCKFILE(stderr); + FLOCKFILE_CANCELSAFE(stderr); __sflush(stderr); (void)_writev(stderr->_file, iov, (v - iov) + 1); stderr->_flags &= ~__SOFF; - FUNLOCKFILE(stderr); + FUNLOCKFILE_CANCELSAFE(); } Modified: head/lib/libc/stdio/putc.c ============================================================================== --- head/lib/libc/stdio/putc.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/putc.c Thu Jun 29 14:44:17 2017 (r320472) @@ -49,11 +49,11 @@ int putc(int c, FILE *fp) { int retval; - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); /* Orientation set by __sputc() when buffer is full. */ /* ORIENT(fp, -1); */ retval = __sputc(c, fp); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (retval); } Modified: head/lib/libc/stdio/putchar.c ============================================================================== --- head/lib/libc/stdio/putchar.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/putchar.c Thu Jun 29 14:44:17 2017 (r320472) @@ -54,11 +54,11 @@ putchar(int c) int retval; FILE *so = stdout; - FLOCKFILE(so); + FLOCKFILE_CANCELSAFE(so); /* Orientation set by __sputc() when buffer is full. */ /* ORIENT(so, -1); */ retval = __sputc(c, so); - FUNLOCKFILE(so); + FUNLOCKFILE_CANCELSAFE(); return (retval); } Modified: head/lib/libc/stdio/puts.c ============================================================================== --- head/lib/libc/stdio/puts.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/puts.c Thu Jun 29 14:44:17 2017 (r320472) @@ -62,9 +62,9 @@ puts(char const *s) uio.uio_resid = c + 1; uio.uio_iov = &iov[0]; uio.uio_iovcnt = 2; - FLOCKFILE(stdout); + FLOCKFILE_CANCELSAFE(stdout); ORIENT(stdout, -1); retval = __sfvwrite(stdout, &uio) ? EOF : '\n'; - FUNLOCKFILE(stdout); + FUNLOCKFILE_CANCELSAFE(); return (retval); } Modified: head/lib/libc/stdio/putw.c ============================================================================== --- head/lib/libc/stdio/putw.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/putw.c Thu Jun 29 14:44:17 2017 (r320472) @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include "un-namespace.h" #include "fvwrite.h" #include "libc_private.h" +#include "local.h" int putw(int w, FILE *fp) @@ -53,8 +54,8 @@ putw(int w, FILE *fp) uio.uio_resid = iov.iov_len = sizeof(w); uio.uio_iov = &iov; uio.uio_iovcnt = 1; - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); retval = __sfvwrite(fp, &uio); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (retval); } Modified: head/lib/libc/stdio/refill.c ============================================================================== --- head/lib/libc/stdio/refill.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/refill.c Thu Jun 29 14:44:17 2017 (r320472) @@ -53,9 +53,9 @@ lflush(FILE *fp) int ret = 0; if ((fp->_flags & (__SLBF|__SWR)) == (__SLBF|__SWR)) { - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ret = __sflush(fp); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); } return (ret); } Modified: head/lib/libc/stdio/scanf.c ============================================================================== --- head/lib/libc/stdio/scanf.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/scanf.c Thu Jun 29 14:44:17 2017 (r320472) @@ -56,9 +56,9 @@ scanf(char const * __restrict fmt, ...) va_list ap; va_start(ap, fmt); - FLOCKFILE(stdin); + FLOCKFILE_CANCELSAFE(stdin); ret = __svfscanf(stdin, __get_locale(), fmt, ap); - FUNLOCKFILE(stdin); + FUNLOCKFILE_CANCELSAFE(); va_end(ap); return (ret); } @@ -70,9 +70,9 @@ scanf_l(locale_t locale, char const * __restrict fmt, FIX_LOCALE(locale); va_start(ap, fmt); - FLOCKFILE(stdin); + FLOCKFILE_CANCELSAFE(stdin); ret = __svfscanf(stdin, locale, fmt, ap); - FUNLOCKFILE(stdin); + FUNLOCKFILE_CANCELSAFE(); va_end(ap); return (ret); } Modified: head/lib/libc/stdio/setvbuf.c ============================================================================== --- head/lib/libc/stdio/setvbuf.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/setvbuf.c Thu Jun 29 14:44:17 2017 (r320472) @@ -63,7 +63,7 @@ setvbuf(FILE * __restrict fp, char * __restrict buf, i if ((mode != _IOFBF && mode != _IOLBF) || (int)size < 0) return (EOF); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); /* * Write current buffer, if any. Discard unread input (including * ungetc data), cancel line buffering, and free old buffer if @@ -115,8 +115,7 @@ nbf: fp->_w = 0; fp->_bf._base = fp->_p = fp->_nbuf; fp->_bf._size = 1; - FUNLOCKFILE(fp); - return (ret); + goto end; } flags |= __SMBF; } @@ -156,6 +155,7 @@ nbf: } __cleanup = _cleanup; - FUNLOCKFILE(fp); +end: + FUNLOCKFILE_CANCELSAFE(); return (ret); } Modified: head/lib/libc/stdio/stdio.c ============================================================================== --- head/lib/libc/stdio/stdio.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/stdio.c Thu Jun 29 14:44:17 2017 (r320472) @@ -166,3 +166,11 @@ _sseek(FILE *fp, fpos_t offset, int whence) } return (ret); } + +void +__stdio_cancel_cleanup(void * arg) +{ + + if (arg != NULL) + _funlockfile((FILE *)arg); +} Modified: head/lib/libc/stdio/ungetc.c ============================================================================== --- head/lib/libc/stdio/ungetc.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/ungetc.c Thu Jun 29 14:44:17 2017 (r320472) @@ -94,10 +94,10 @@ ungetc(int c, FILE *fp) if (!__sdidinit) __sinit(); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ORIENT(fp, -1); ret = __ungetc(c, fp); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (ret); } Modified: head/lib/libc/stdio/ungetwc.c ============================================================================== --- head/lib/libc/stdio/ungetwc.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/ungetwc.c Thu Jun 29 14:44:17 2017 (r320472) @@ -76,10 +76,10 @@ ungetwc_l(wint_t wc, FILE *fp, locale_t locale) wint_t r; FIX_LOCALE(locale); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ORIENT(fp, 1); r = __ungetwc(wc, fp, locale); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (r); } Modified: head/lib/libc/stdio/vfprintf.c ============================================================================== --- head/lib/libc/stdio/vfprintf.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/vfprintf.c Thu Jun 29 14:44:17 2017 (r320472) @@ -274,14 +274,14 @@ vfprintf_l(FILE * __restrict fp, locale_t locale, cons int ret; FIX_LOCALE(locale); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); /* optimise fprintf(stderr) (and other unbuffered Unix files) */ if ((fp->_flags & (__SNBF|__SWR|__SRW)) == (__SNBF|__SWR) && fp->_file >= 0) ret = __sbprintf(fp, locale, fmt0, ap); else ret = __vfprintf(fp, locale, fmt0, ap); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (ret); } int Modified: head/lib/libc/stdio/vfscanf.c ============================================================================== --- head/lib/libc/stdio/vfscanf.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/vfscanf.c Thu Jun 29 14:44:17 2017 (r320472) @@ -443,9 +443,9 @@ __vfscanf(FILE *fp, char const *fmt0, va_list ap) { int ret; - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ret = __svfscanf(fp, __get_locale(), fmt0, ap); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (ret); } int @@ -454,9 +454,9 @@ vfscanf_l(FILE *fp, locale_t locale, char const *fmt0, int ret; FIX_LOCALE(locale); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ret = __svfscanf(fp, locale, fmt0, ap); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (ret); } Modified: head/lib/libc/stdio/vfwprintf.c ============================================================================== --- head/lib/libc/stdio/vfwprintf.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/vfwprintf.c Thu Jun 29 14:44:17 2017 (r320472) @@ -356,14 +356,14 @@ vfwprintf_l(FILE * __restrict fp, locale_t locale, { int ret; FIX_LOCALE(locale); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); /* optimise fprintf(stderr) (and other unbuffered Unix files) */ if ((fp->_flags & (__SNBF|__SWR|__SRW)) == (__SNBF|__SWR) && fp->_file >= 0) ret = __sbprintf(fp, locale, fmt0, ap); else ret = __vfwprintf(fp, locale, fmt0, ap); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (ret); } int Modified: head/lib/libc/stdio/vfwscanf.c ============================================================================== --- head/lib/libc/stdio/vfwscanf.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/vfwscanf.c Thu Jun 29 14:44:17 2017 (r320472) @@ -428,10 +428,10 @@ vfwscanf_l(FILE * __restrict fp, locale_t locale, int ret; FIX_LOCALE(locale); - FLOCKFILE(fp); + FLOCKFILE_CANCELSAFE(fp); ORIENT(fp, 1); ret = __vfwscanf(fp, locale, fmt, ap); - FUNLOCKFILE(fp); + FUNLOCKFILE_CANCELSAFE(); return (ret); } int Modified: head/lib/libc/stdio/vscanf.c ============================================================================== --- head/lib/libc/stdio/vscanf.c Thu Jun 29 14:40:33 2017 (r320471) +++ head/lib/libc/stdio/vscanf.c Thu Jun 29 14:44:17 2017 (r320472) @@ -54,9 +54,9 @@ vscanf_l(locale_t locale, const char * __restrict fmt, int retval; FIX_LOCALE(locale); - FLOCKFILE(stdin); + FLOCKFILE_CANCELSAFE(stdin); retval = __svfscanf(stdin, locale, fmt, ap); - FUNLOCKFILE(stdin); + FUNLOCKFILE_CANCELSAFE(); return (retval); } int From owner-svn-src-head@freebsd.org Thu Jun 29 16:39:56 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 44CC6DA0B5F; Thu, 29 Jun 2017 16:39:56 +0000 (UTC) (envelope-from swills@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 209D665CC8; Thu, 29 Jun 2017 16:39:56 +0000 (UTC) (envelope-from swills@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5TGdtrH092611; Thu, 29 Jun 2017 16:39:55 GMT (envelope-from swills@FreeBSD.org) Received: (from swills@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5TGdtQs092610; Thu, 29 Jun 2017 16:39:55 GMT (envelope-from swills@FreeBSD.org) Message-Id: <201706291639.v5TGdtQs092610@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: swills set sender to swills@FreeBSD.org using -f From: Steve Wills Date: Thu, 29 Jun 2017 16:39:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320473 - head/usr.sbin/bsdinstall/scripts X-SVN-Group: head X-SVN-Commit-Author: swills X-SVN-Commit-Paths: head/usr.sbin/bsdinstall/scripts X-SVN-Commit-Revision: 320473 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 16:39:56 -0000 Author: swills (ports committer) Date: Thu Jun 29 16:39:55 2017 New Revision: 320473 URL: https://svnweb.freebsd.org/changeset/base/320473 Log: Add hardening menu item for security.bsd.see_jail_proc Approved by: allanjude Differential Revision: https://reviews.freebsd.org/D11283 Modified: head/usr.sbin/bsdinstall/scripts/hardening Modified: head/usr.sbin/bsdinstall/scripts/hardening ============================================================================== --- head/usr.sbin/bsdinstall/scripts/hardening Thu Jun 29 14:44:17 2017 (r320472) +++ head/usr.sbin/bsdinstall/scripts/hardening Thu Jun 29 16:39:55 2017 (r320473) @@ -38,13 +38,14 @@ FEATURES=$( dialog --backtitle "FreeBSD Installer" \ 0 0 0 \ "0 hide_uids" "Hide processes running as other users" ${hide_uids:-off} \ "1 hide_gids" "Hide processes running as other groups" ${hide_gids:-off} \ - "2 read_msgbuf" "Disable reading kernel message buffer for unprivileged users" ${read_msgbuf:-off} \ - "3 proc_debug" "Disable process debugging facilities for unprivileged users" ${proc_debug:-off} \ - "4 random_pid" "Randomize the PID of newly created processes" ${random_pid:-off} \ - "5 stack_guard" "Insert stack guard page ahead of the growable segments" ${stack_guard:-off} \ - "6 clear_tmp" "Clean the /tmp filesystem on system startup" ${clear_tmp:-off} \ - "7 disable_syslogd" "Disable opening Syslogd network socket (disables remote logging)" ${disable_syslogd:-off} \ - "8 disable_sendmail" "Disable Sendmail service" ${disable_sendmail:-off} \ + "2 hide_jail" "Hide processes running in jails" ${hide_jail:-off} \ + "3 read_msgbuf" "Disable reading kernel message buffer for unprivileged users" ${read_msgbuf:-off} \ + "4 proc_debug" "Disable process debugging facilities for unprivileged users" ${proc_debug:-off} \ + "5 random_pid" "Randomize the PID of newly created processes" ${random_pid:-off} \ + "6 stack_guard" "Insert stack guard page ahead of the growable segments" ${stack_guard:-off} \ + "7 clear_tmp" "Clean the /tmp filesystem on system startup" ${clear_tmp:-off} \ + "8 disable_syslogd" "Disable opening Syslogd network socket (disables remote logging)" ${disable_syslogd:-off} \ + "9 disable_sendmail" "Disable Sendmail service" ${disable_sendmail:-off} \ 2>&1 1>&3 ) exec 3>&- @@ -54,6 +55,9 @@ for feature in $FEATURES; do fi if [ "$feature" = "hide_gids" ]; then echo security.bsd.see_other_gids=0 >> $BSDINSTALL_TMPETC/sysctl.conf.hardening + fi + if [ "$feature" = "hide_jail" ]; then + echo security.bsd.see_jail_proc=0 >> $BSDINSTALL_TMPETC/sysctl.conf.hardening fi if [ "$feature" = "read_msgbuf" ]; then echo security.bsd.unprivileged_read_msgbuf=0 >> $BSDINSTALL_TMPETC/sysctl.conf.hardening From owner-svn-src-head@freebsd.org Thu Jun 29 18:07:30 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EF0A0DA246B for ; Thu, 29 Jun 2017 18:07:30 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-qk0-x233.google.com (mail-qk0-x233.google.com [IPv6:2607:f8b0:400d:c09::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A3F8B6A0C5 for ; Thu, 29 Jun 2017 18:07:30 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: by mail-qk0-x233.google.com with SMTP id r62so83036523qkf.0 for ; Thu, 29 Jun 2017 11:07:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=wk0rctZMqLhkJ+mUne/WOS00rU5rAAFd9dmIRVmdOqI=; b=UUKXdBImqyPCYEUnzwK6Pfx2mK9TxvY7N748fAOmm/Kw0Sdm8JQliFl5Dr4vVb/sus 4LUDjknHL1ebc54Fd7EdoqHzm8XcEyQHdX/u39peBtGc6RvZDAXt3o6zqgVvbIUpcYdm gnw7fP/OqfqXWnanmih0Sxu/tCf7Kmk1zwdfF9yVZCLbXm6XGbCorWoa7NAWJ8a98xYb M8UFXb8rgB/z0JwPL7CDWiYrhOY+DoPaX+Crq188VcBDnL/pZV4VVp/lhWFFCasQ3om4 0kWLa20UTUtjdrUPoiVBuY2In4ZXxzb3rTu1bIMzpQoqy5dChYkkqXl4wrwCwfW4DnB9 35WA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=wk0rctZMqLhkJ+mUne/WOS00rU5rAAFd9dmIRVmdOqI=; b=AYCgP7y26R3868gY3R14sUihp5654ivy7m9V01p5B2anLi0tZ1DC+MhUTcE0O9WUns pGa3XwGV3aAGbpn6Q5z7rUGvOlaTj8rNstrADn4OybXbeAO86g5Odl/tplmdJTfCGCF/ //0DLicPQFtNpWSU6ndbmDngfgS1JPrAMParFxWjeWkHDFlLuc3tlZ2Q6CrsxLVPthgu ARZGVO/TrmcBnE5NvwOL/ils3y6Ha7CKAk0qZnUojkqqgtbcluQ1CoHUu2omg0YYmjan aQUmo2qGNh+2OzjLhlMcH8+mtQvU3jUbFyp6T+cPUBVRU2wUjO/BtBWESulHYTC6Mvbn UMKQ== X-Gm-Message-State: AKS2vOwEKfub6BrV/ufG4F7HoTsTuUlVlr2OX6snnHg6f4i0GePhdwc1 k3zF98FosdZq153Q X-Received: by 10.55.26.104 with SMTP id a101mr21458227qka.202.1498759649729; Thu, 29 Jun 2017 11:07:29 -0700 (PDT) Received: from mutt-hbsd ([63.88.83.66]) by smtp.gmail.com with ESMTPSA id k33sm3335589qta.0.2017.06.29.11.07.28 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 29 Jun 2017 11:07:28 -0700 (PDT) Date: Thu, 29 Jun 2017 14:07:28 -0400 From: Shawn Webb To: Konstantin Belousov Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320430 - head/sys/vm Message-ID: <20170629180728.hqmguafgy4kbrwmq@mutt-hbsd> References: <201706280402.v5S42bQx089187@repo.freebsd.org> <20170628223238.v456h4t4huwbqt6f@mutt-hbsd> <20170629132333.pl6nk5bsw3fkevdx@mutt-hbsd> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="25tzry76bqduxqao" Content-Disposition: inline In-Reply-To: <20170629132333.pl6nk5bsw3fkevdx@mutt-hbsd> X-Operating-System: FreeBSD mutt-hbsd 12.0-CURRENT FreeBSD 12.0-CURRENT X-PGP-Key: http://pgp.mit.edu/pks/lookup?op=vindex&search=0x6A84658F52456EEE User-Agent: NeoMutt/20170609 (1.8.3) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 18:07:31 -0000 --25tzry76bqduxqao Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jun 29, 2017 at 09:23:33AM -0400, Shawn Webb wrote: > On Wed, Jun 28, 2017 at 06:32:38PM -0400, Shawn Webb wrote: > > On Wed, Jun 28, 2017 at 04:02:37AM +0000, Konstantin Belousov wrote: > > > Author: kib > > > Date: Wed Jun 28 04:02:36 2017 > > > New Revision: 320430 > > > URL: https://svnweb.freebsd.org/changeset/base/320430 > > >=20 > > > Log: > > > Treat the addr argument for mmap(2) request without MAP_FIXED flag = as > > > a hint. > > > =20 > > > Right now, for non-fixed mmap(2) calls, addr is de-facto interpreted > > > as the absolute minimal address of the range where the mapping is > > > created. The VA allocator only allocates in the range [addr, > > > VM_MAXUSER_ADDRESS]. This is too restrictive, the mmap(2) call mig= ht > > > unduly fail if there is no free addresses above addr but a lot of > > > usable space below it. > > > =20 > > > Lift this implementation limitation by allocating VA in two passes. > > > First, try to allocate above addr, as before. If that fails, do the > > > second pass with less restrictive constraints for the start of > > > allocation by specifying minimal allocation address at the max bss > > > end, if this limit is less than addr. > > > =20 > > > One important case where this change makes a difference is the > > > allocation of the stacks for new threads in libthr. Under some > > > configuration conditions, libthr tries to hint kernel to reuse the > > > main thread stack grow area for the new stacks. This cannot work by > > > design now after grow area is converted to stack, and there is no > > > unallocated VA above the main stack. Interpreting requested stack > > > base address as the hint provides compatibility with old libthr and > > > with (mis-)configured current libthr. > > > =20 > > > Reviewed by: alc > > > Tested by: dim (previous version) > > > Sponsored by: The FreeBSD Foundation > > > MFC after: 1 week > > >=20 > > > Modified: > > > head/sys/vm/vm_map.c > > > head/sys/vm/vm_map.h > > > head/sys/vm/vm_mmap.c > >=20 > > Hey Kostik, > >=20 > > This commit breaks both xorg and shutting down/rebooting. Reverting this > > commit makes my laptop happy again. >=20 > Thnking out loud: would these issues arise due to HardenedBSD using > SafeStack, which relies on libthr's stack code? Here's a somewhat crude and possibly improper fix that makes my laptop happy: http://ix.io/y6z I'm not sure, though, that really fixes the problem or just dances around it. Thanks, --=20 Shawn Webb Cofounder and Security Engineer HardenedBSD GPG Key ID: 0x6A84658F52456EEE GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89 3D9E 6A84 658F 5245 6EEE --25tzry76bqduxqao Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEKrq2ve9q9Ia+iT2eaoRlj1JFbu4FAllVQd0ACgkQaoRlj1JF bu5MgQ/+KmNU5UBxoFLtr4PIN6FvUFy2qvbOWUqTMyChyOI5q5qjiwlGw9tq1l5e OqfyJMnVNBSxGR7JCWhoQ5PFZtgJ0LWpWk3rWlAnu6GBNy6jpZfG1YkUi9ChVNcR /ZzTAsMs8qb4w8MuZTLJSZ0JfcX7mieZ4S8BBMV69PVZQwxJVf8WaGiWh0r+lGhj dc4f8okGuFDLmD8hepaj9IsM6fT1P6yALMrmJBU9yLa9t7MRZ+jdnlv3FJAxaWKh 8PwV19OQaTmWP+MR/Ng31QBl20zuHaTRewgph0SvwWiHcPPRtvzxYNO1MJfUYvTD GIDWwRcOOmPSW4sDEcqnmB1TJRaQJW+rPX56eJg/EaOJCKcleM3tJyATn1y6xmDF Sefd9EwKY2Lo9pTCchKZqQFIBGBy4U3DRKUK5PZBQPsqoA9OG5b84VXeHkR3eEMm 2EO1Kyu8x5I16GKuFaWcL6XJ4934HZ9qcYSEHpW1fpZhEvU7Ta3XGYaQugik/hsJ iqELtqEXi14fEIY9feca80lMho2yJqOlNTiAOp3v5OdXppGib//dbIsveRYbU9rd khno0Rj+3q7yebPOAAIVwIWbV5Botn9BCxiprwQpxq9FT8KEQnLGqvtFrXo2M7cm ziW06Qdn7jQOmZ3bkd/zI+tgSU7tkahhhLGzuQeX53cidZryvxE= =pM5M -----END PGP SIGNATURE----- --25tzry76bqduxqao-- From owner-svn-src-head@freebsd.org Thu Jun 29 18:52:38 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1FE4EDA31BD; Thu, 29 Jun 2017 18:52:38 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DD8886ED2B; Thu, 29 Jun 2017 18:52:37 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5TIqbnb051043; Thu, 29 Jun 2017 18:52:37 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5TIqajw051039; Thu, 29 Jun 2017 18:52:36 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201706291852.v5TIqajw051039@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Thu, 29 Jun 2017 18:52:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320478 - head/usr.sbin/sesutil X-SVN-Group: head X-SVN-Commit-Author: bapt X-SVN-Commit-Paths: head/usr.sbin/sesutil X-SVN-Commit-Revision: 320478 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 18:52:38 -0000 Author: bapt Date: Thu Jun 29 18:52:36 2017 New Revision: 320478 URL: https://svnweb.freebsd.org/changeset/base/320478 Log: Add libxo(3) support to sesutil(8) This is useful to simplify parsing "sesutil map" Submitted by: nikita.kozlov@blade-group.com MFC after: 3 weeks Relnotes: yes Sponsored by: blade Modified: head/usr.sbin/sesutil/Makefile head/usr.sbin/sesutil/eltsub.c head/usr.sbin/sesutil/sesutil.8 head/usr.sbin/sesutil/sesutil.c Modified: head/usr.sbin/sesutil/Makefile ============================================================================== --- head/usr.sbin/sesutil/Makefile Thu Jun 29 18:42:49 2017 (r320477) +++ head/usr.sbin/sesutil/Makefile Thu Jun 29 18:52:36 2017 (r320478) @@ -4,4 +4,6 @@ PROG= sesutil SRCS= sesutil.c eltsub.c MAN= sesutil.8 +LIBADD= xo + .include Modified: head/usr.sbin/sesutil/eltsub.c ============================================================================== --- head/usr.sbin/sesutil/eltsub.c Thu Jun 29 18:42:49 2017 (r320477) +++ head/usr.sbin/sesutil/eltsub.c Thu Jun 29 18:52:36 2017 (r320478) @@ -39,6 +39,7 @@ #include #include #include +#include #include "eltsub.h" Modified: head/usr.sbin/sesutil/sesutil.8 ============================================================================== --- head/usr.sbin/sesutil/sesutil.8 Thu Jun 29 18:42:49 2017 (r320477) +++ head/usr.sbin/sesutil/sesutil.8 Thu Jun 29 18:52:36 2017 (r320478) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 6, 2015 +.Dd June 29, 2017 .Dt SESUTIL 8 .Os .Sh NAME @@ -43,9 +43,11 @@ .Op on | off .Nm .Cm map +.Op Fl -libxo Ar options .Op Fl u Ar /dev/sesN .Nm .Cm status +.Op Fl -libxo Ar options .Op Fl u Ar /dev/sesN .Sh DESCRIPTION The @@ -55,6 +57,12 @@ Services (SES) devices. .Pp List of supported commands: .Bl -tag -width indent +.It Fl -libxo +Generate output via +.Xr libxo 3 +in a selection of different human and machine readable formats. +See +.Xr xo_parse_args 3 .It Cm fault Oo Fl u Ar /dev/sesN Oc Ao Ar disk | Li all Ac Op on | off Change the state of the external fault LED associated with .Ar disk . @@ -114,6 +122,8 @@ Turn on the fault LED for a drive bay not associated w .Pp .Dl Nm Cm fault -u /dev/ses2 7 on .Sh SEE ALSO +.Xr libxo 3 , +.Xr xo_parse_args 3 , .Xr ses 4 .Sh HISTORY The Modified: head/usr.sbin/sesutil/sesutil.c ============================================================================== --- head/usr.sbin/sesutil/sesutil.c Thu Jun 29 18:42:49 2017 (r320477) +++ head/usr.sbin/sesutil/sesutil.c Thu Jun 29 18:52:36 2017 (r320478) @@ -46,11 +46,14 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include "eltsub.h" +#define SESUTIL_XO_VERSION "1" + static int encstatus(int argc, char **argv); static int fault(int argc, char **argv); static int locate(int argc, char **argv); @@ -116,7 +119,7 @@ do_led(int fd, unsigned int idx, bool onoff, bool setf o.elm_idx = idx; if (ioctl(fd, ENCIOC_GETELMSTAT, (caddr_t) &o) < 0) { close(fd); - err(EXIT_FAILURE, "ENCIOC_GETELMSTAT"); + xo_err(EXIT_FAILURE, "ENCIOC_GETELMSTAT"); } o.cstat[0] |= 0x80; if (setfault) { @@ -133,7 +136,7 @@ do_led(int fd, unsigned int idx, bool onoff, bool setf if (ioctl(fd, ENCIOC_SETELMSTAT, (caddr_t) &o) < 0) { close(fd); - err(EXIT_FAILURE, "ENCIOC_SETELMSTAT"); + xo_err(EXIT_FAILURE, "ENCIOC_SETELMSTAT"); } } @@ -179,7 +182,7 @@ sesled(int argc, char **argv, bool setfault) if (*endptr == '\0') { endptr = strrchr(uflag, '*'); if (endptr != NULL && *endptr == '*') { - warnx("Must specifying a SES device (-u) to use a SES " + xo_warnx("Must specifying a SES device (-u) to use a SES " "id# to identify a disk"); usage(stderr, (setfault ? "fault" : "locate")); } @@ -203,7 +206,7 @@ sesled(int argc, char **argv, bool setfault) if (glob((uflag != NULL ? uflag : "/dev/ses[0-9]*"), 0, NULL, &g) == GLOB_NOMATCH) { globfree(&g); - errx(EXIT_FAILURE, "No SES devices found"); + xo_errx(EXIT_FAILURE, "No SES devices found"); } ndisks = 0; @@ -219,32 +222,32 @@ sesled(int argc, char **argv, bool setfault) * accessing all devices */ if (errno == EACCES && g.gl_pathc > 1) { - err(EXIT_FAILURE, "unable to access SES device"); + xo_err(EXIT_FAILURE, "unable to access SES device"); } - warn("unable to access SES device: %s", g.gl_pathv[i]); + xo_warn("unable to access SES device: %s", g.gl_pathv[i]); continue; } if (ioctl(fd, ENCIOC_GETNELM, (caddr_t) &nobj) < 0) { close(fd); - err(EXIT_FAILURE, "ENCIOC_GETNELM"); + xo_err(EXIT_FAILURE, "ENCIOC_GETNELM"); } objp = calloc(nobj, sizeof(encioc_element_t)); if (objp == NULL) { close(fd); - err(EXIT_FAILURE, "calloc()"); + xo_err(EXIT_FAILURE, "calloc()"); } if (ioctl(fd, ENCIOC_GETELMMAP, (caddr_t) objp) < 0) { close(fd); - err(EXIT_FAILURE, "ENCIOC_GETELMMAP"); + xo_err(EXIT_FAILURE, "ENCIOC_GETELMMAP"); } if (isses) { if (sesid > nobj) { close(fd); - errx(EXIT_FAILURE, + xo_errx(EXIT_FAILURE, "Requested SES ID does not exist"); } do_led(fd, sesid, onoff, setfault); @@ -263,7 +266,7 @@ sesled(int argc, char **argv, bool setfault) objdn.elm_devnames = calloc(128, sizeof(char)); if (objdn.elm_devnames == NULL) { close(fd); - err(EXIT_FAILURE, "calloc()"); + xo_err(EXIT_FAILURE, "calloc()"); } if (ioctl(fd, ENCIOC_GETELMDEVNAMES, (caddr_t) &objdn) <0) { @@ -283,7 +286,7 @@ sesled(int argc, char **argv, bool setfault) } globfree(&g); if (ndisks == 0 && all == false) { - errx(EXIT_FAILURE, "Count not find the SES id of device '%s'", + xo_errx(EXIT_FAILURE, "Count not find the SES id of device '%s'", disk); } @@ -311,11 +314,12 @@ sesutil_print(bool *title, const char *fmt, ...) va_list args; if (!*title) { - printf("\t\tExtra status:\n"); + xo_open_container("extra_status"); + xo_emit("\t\tExtra status:\n"); *title = true; } va_start(args, fmt); - vprintf(fmt, args); + xo_emit_hv(NULL, fmt, args); va_end(args); } @@ -325,48 +329,44 @@ print_extra_status(int eletype, u_char *cstat) bool title = false; if (cstat[0] & 0x40) { - sesutil_print(&title, "\t\t- Predicted Failure\n"); + sesutil_print(&title, "\t\t-{e:predicted_failure/true} Predicted Failure\n"); } if (cstat[0] & 0x20) { - sesutil_print(&title, "\t\t- Disabled\n"); + sesutil_print(&title, "\t\t-{e:disabled/true} Disabled\n"); } if (cstat[0] & 0x10) { - sesutil_print(&title, "\t\t- Swapped\n"); + sesutil_print(&title, "\t\t-{e:swapped/true} Swapped\n"); } switch (eletype) { case ELMTYP_DEVICE: - if (cstat[2] & 0x02) { - sesutil_print(&title, "\t\t- LED=locate\n"); - } - if (cstat[2] & 0x20) { - sesutil_print(&title, "\t\t- LED=fault\n"); - } - break; case ELMTYP_ARRAY_DEV: if (cstat[2] & 0x02) { - sesutil_print(&title, "\t\t- LED=locate\n"); + sesutil_print(&title, "\t\t- LED={q:led/locate}\n"); } if (cstat[2] & 0x20) { - sesutil_print(&title, "\t\t- LED=fault\n"); + sesutil_print(&title, "\t\t- LED={q:led/fault}\n"); } break; case ELMTYP_FAN: - sesutil_print(&title, "\t\t- Speed: %d rpm\n", + sesutil_print(&title, "\t\t- Speed: {:speed/%d}{Uw:rpm}\n", (((0x7 & cstat[1]) << 8) + cstat[2]) * 10); break; case ELMTYP_THERM: if (cstat[2]) { - sesutil_print(&title, "\t\t- Temperature: %d C\n", + sesutil_print(&title, "\t\t- Temperature: {:temperature/%d}{Uw:C}\n", cstat[2] - TEMPERATURE_OFFSET); } else { - sesutil_print(&title, "\t\t- Temperature: -reserved-\n"); + sesutil_print(&title, "\t\t- Temperature: -{q:temperature/reserved}-\n"); } break; case ELMTYP_VOM: - sesutil_print(&title, "\t\t- Voltage: %.2f V\n", + sesutil_print(&title, "\t\t- Voltage: {:voltage/%.2f}{Uw:V}\n", be16dec(cstat + 2) / 100.0); break; } + if (title) { + xo_close_container("extra_status"); + } } static int @@ -390,8 +390,11 @@ objmap(int argc, char **argv __unused) /* Get the list of ses devices */ if (glob(uflag, 0, NULL, &g) == GLOB_NOMATCH) { globfree(&g); - errx(EXIT_FAILURE, "No SES devices found"); + xo_errx(EXIT_FAILURE, "No SES devices found"); } + xo_set_version(SESUTIL_XO_VERSION); + xo_open_container("sesutil"); + xo_open_list("enclosures"); for (i = 0; i < g.gl_pathc; i++) { /* ensure we only got numbers after ses */ if (strspn(g.gl_pathv[i] + 8, "0123456789") != @@ -404,38 +407,40 @@ objmap(int argc, char **argv __unused) * accessing all devices */ if (errno == EACCES && g.gl_pathc > 1) { - err(EXIT_FAILURE, "unable to access SES device"); + xo_err(EXIT_FAILURE, "unable to access SES device"); } - warn("unable to access SES device: %s", g.gl_pathv[i]); + xo_warn("unable to access SES device: %s", g.gl_pathv[i]); continue; } if (ioctl(fd, ENCIOC_GETNELM, (caddr_t) &nobj) < 0) { close(fd); - err(EXIT_FAILURE, "ENCIOC_GETNELM"); + xo_err(EXIT_FAILURE, "ENCIOC_GETNELM"); } e_ptr = calloc(nobj, sizeof(encioc_element_t)); if (e_ptr == NULL) { close(fd); - err(EXIT_FAILURE, "calloc()"); + xo_err(EXIT_FAILURE, "calloc()"); } if (ioctl(fd, ENCIOC_GETELMMAP, (caddr_t) e_ptr) < 0) { close(fd); - err(EXIT_FAILURE, "ENCIOC_GETELMMAP"); + xo_err(EXIT_FAILURE, "ENCIOC_GETELMMAP"); } - printf("%s:\n", g.gl_pathv[i] + 5); + xo_open_instance("enclosures"); + xo_emit("{t:enc/%s}:\n", g.gl_pathv[i] + 5); stri.bufsiz = sizeof(str); stri.buf = &str[0]; if (ioctl(fd, ENCIOC_GETENCNAME, (caddr_t) &stri) == 0) - printf("\tEnclosure Name: %s\n", stri.buf); + xo_emit("\tEnclosure Name: {t:name/%s}\n", stri.buf); stri.bufsiz = sizeof(str); stri.buf = &str[0]; if (ioctl(fd, ENCIOC_GETENCID, (caddr_t) &stri) == 0) - printf("\tEnclosure ID: %s\n", stri.buf); + xo_emit("\tEnclosure ID: {t:id/%s}\n", stri.buf); + xo_open_list("elements"); for (j = 0; j < nobj; j++) { /* Get the status of the element */ memset(&e_status, 0, sizeof(e_status)); @@ -443,7 +448,7 @@ objmap(int argc, char **argv __unused) if (ioctl(fd, ENCIOC_GETELMSTAT, (caddr_t) &e_status) < 0) { close(fd); - err(EXIT_FAILURE, "ENCIOC_GETELMSTAT"); + xo_err(EXIT_FAILURE, "ENCIOC_GETELMSTAT"); } /* Get the description of the element */ memset(&e_desc, 0, sizeof(e_desc)); @@ -452,12 +457,12 @@ objmap(int argc, char **argv __unused) e_desc.elm_desc_str = calloc(UINT16_MAX, sizeof(char)); if (e_desc.elm_desc_str == NULL) { close(fd); - err(EXIT_FAILURE, "calloc()"); + xo_err(EXIT_FAILURE, "calloc()"); } if (ioctl(fd, ENCIOC_GETELMDESC, (caddr_t) &e_desc) < 0) { close(fd); - err(EXIT_FAILURE, "ENCIOC_GETELMDESC"); + xo_err(EXIT_FAILURE, "ENCIOC_GETELMDESC"); } /* Get the device name(s) of the element */ memset(&e_devname, 0, sizeof(e_devname)); @@ -466,34 +471,40 @@ objmap(int argc, char **argv __unused) e_devname.elm_devnames = calloc(128, sizeof(char)); if (e_devname.elm_devnames == NULL) { close(fd); - err(EXIT_FAILURE, "calloc()"); + xo_err(EXIT_FAILURE, "calloc()"); } if (ioctl(fd, ENCIOC_GETELMDEVNAMES, (caddr_t) &e_devname) <0) { /* We don't care if this fails */ e_devname.elm_devnames[0] = '\0'; } - printf("\tElement %u, Type: %s\n", e_ptr[j].elm_idx, + xo_open_instance("elements"); + xo_emit("\tElement {:id/%u}, Type: {:type/%s}\n", e_ptr[j].elm_idx, geteltnm(e_ptr[j].elm_type)); - printf("\t\tStatus: %s (0x%02x 0x%02x 0x%02x 0x%02x)\n", + xo_emit("\t\tStatus: {:status/%s} ({q:status_code/0x%02x 0x%02x 0x%02x 0x%02x})\n", scode2ascii(e_status.cstat[0]), e_status.cstat[0], e_status.cstat[1], e_status.cstat[2], e_status.cstat[3]); if (e_desc.elm_desc_len > 0) { - printf("\t\tDescription: %s\n", + xo_emit("\t\tDescription: {:description/%s}\n", e_desc.elm_desc_str); } if (e_devname.elm_names_len > 0) { - printf("\t\tDevice Names: %s\n", + xo_emit("\t\tDevice Names: {:device_names/%s}\n", e_devname.elm_devnames); } print_extra_status(e_ptr[j].elm_type, e_status.cstat); + xo_close_instance("elements"); free(e_devname.elm_devnames); } + xo_close_list("elements"); free(e_ptr); close(fd); } globfree(&g); + xo_close_list("enclosures"); + xo_close_container("sesutil"); + xo_finish(); return (EXIT_SUCCESS); } @@ -514,8 +525,12 @@ encstatus(int argc, char **argv __unused) /* Get the list of ses devices */ if (glob(uflag, 0, NULL, &g) == GLOB_NOMATCH) { globfree(&g); - errx(EXIT_FAILURE, "No SES devices found"); + xo_errx(EXIT_FAILURE, "No SES devices found"); } + + xo_set_version(SESUTIL_XO_VERSION); + xo_open_container("sesutil"); + xo_open_list("enclosures"); for (i = 0; i < g.gl_pathc; i++) { /* ensure we only got numbers after ses */ if (strspn(g.gl_pathv[i] + 8, "0123456789") != @@ -528,56 +543,61 @@ encstatus(int argc, char **argv __unused) * accessing all devices */ if (errno == EACCES && g.gl_pathc > 1) { - err(EXIT_FAILURE, "unable to access SES device"); + xo_err(EXIT_FAILURE, "unable to access SES device"); } - warn("unable to access SES device: %s", g.gl_pathv[i]); + xo_warn("unable to access SES device: %s", g.gl_pathv[i]); continue; } if (ioctl(fd, ENCIOC_GETENCSTAT, (caddr_t) &estat) < 0) { + xo_err(EXIT_FAILURE, "ENCIOC_GETENCSTAT"); close(fd); - err(EXIT_FAILURE, "ENCIOC_GETENCSTAT"); } - printf("%s: ", g.gl_pathv[i] + 5); + xo_open_instance("enclosures"); + xo_emit("{:enc/%s}: ", g.gl_pathv[i] + 5); e = 0; if (estat == 0) { if (status == 0) { status = 1; } - printf("OK"); + xo_emit("{q:status/OK}"); } else { if (estat & SES_ENCSTAT_INFO) { - printf("INFO"); + xo_emit("{lq:status/INFO}"); e++; } if (estat & SES_ENCSTAT_NONCRITICAL) { if (e) - printf(","); - printf("NONCRITICAL"); + xo_emit(","); + xo_emit("{lq:status/NONCRITICAL}"); e++; } if (estat & SES_ENCSTAT_CRITICAL) { if (e) - printf(","); - printf("CRITICAL"); + xo_emit(","); + xo_emit("{lq:status/CRITICAL}"); e++; status = -1; } if (estat & SES_ENCSTAT_UNRECOV) { if (e) - printf(","); - printf("UNRECOV"); + xo_emit(","); + xo_emit("{lq:status/UNRECOV}"); e++; status = -1; } } - printf("\n"); - + xo_close_instance("enclosures"); + xo_emit("\n"); close(fd); } globfree(&g); + xo_close_list("enclosures"); + xo_close_container("sesutil"); + xo_finish(); + if (status == 1) { return (EXIT_SUCCESS); } else { @@ -590,6 +610,10 @@ main(int argc, char **argv) { int i, ch; struct command *cmd = NULL; + + argc = xo_parse_args(argc, argv); + if (argc < 0) + exit(1); uflag = "/dev/ses[0-9]*"; while ((ch = getopt_long(argc, argv, "u:", NULL, NULL)) != -1) { From owner-svn-src-head@freebsd.org Thu Jun 29 18:56:20 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0528CDA35BE; Thu, 29 Jun 2017 18:56:20 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D56506F290; Thu, 29 Jun 2017 18:56:19 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: by freefall.freebsd.org (Postfix, from userid 1235) id 0D0961020D; Thu, 29 Jun 2017 18:56:18 +0000 (UTC) Date: Thu, 29 Jun 2017 20:56:18 +0200 From: Baptiste Daroussin To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320478 - head/usr.sbin/sesutil Message-ID: <20170629185618.g5jtpedjfbyl4otr@ivaldir.net> References: <201706291852.v5TIqajw051039@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="2xs23zu4nf6jnqsw" Content-Disposition: inline In-Reply-To: <201706291852.v5TIqajw051039@repo.freebsd.org> User-Agent: NeoMutt/20170609 (1.8.3) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 18:56:20 -0000 --2xs23zu4nf6jnqsw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jun 29, 2017 at 06:52:36PM +0000, Baptiste Daroussin wrote: > Author: bapt > Date: Thu Jun 29 18:52:36 2017 > New Revision: 320478 > URL: https://svnweb.freebsd.org/changeset/base/320478 >=20 > Log: > Add libxo(3) support to sesutil(8) > =20 > This is useful to simplify parsing "sesutil map" > =20 > Submitted by: nikita.kozlov@blade-group.com > MFC after: 3 weeks > Relnotes: yes > Sponsored by: blade Reviewed by: Allanjude, bapt Differential revision: https://reviews.freebsd.org/D11372 Bapt --2xs23zu4nf6jnqsw Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEgOTj3suS2urGXVU3Y4mL3PG3PloFAllVTU8ACgkQY4mL3PG3 PlqILw//WYuO/6+56t4pziubXHMRvoSKiJNI4+38aKiabAyMLyyidR5I1ZRmL1yN OwiNkoPGNSOizp6WM90IT148tBcRN0TtqI+OoIIXEcDkrEJD/xHyJJgpPMgY+DM0 PKfDD5Xw21hVcsXSOtvjhDdg9P5vjYgvmuu7RXtTEEWCJzlhvJw3LcK7Hwb1XrGJ FhAjZaZR2XOfjqFp/gDkqgER1pl0FVs9TH9PPPcpjgvl0DJm1B3XDoGBvsmi29nw mEKVhSDegKFua8Z78FLQ84NElF7Cm6ueD0ZMUaKwdNJQVEsOQGyNYsSvuFMSlPIa vlo5CHaSf8YTWIeDk4p7kTjscbZBJa0vsBEOmJ7LekEoZvwE+W9dNcQrt99XWRII Bklex1YSi+OT+bToMnXlyVMQlqf/FICnaeDwg+X0UMj+cdwX0xpPcPW1qV32ZLsU rmPmHna7rFfxRW5ZfTFe+qPEWP4aVfLKIMYhuFTV3zwiVt7Z5kP/VNExWF3TC6Nn RSGSo8ACttFxdJBoJHFXfFPBDTRdH7jh2DVj80Pem7xtkNa9dht8TC4qUr5yZaMk fLOavgb+etL3RjVQk0130WP82FlrOKyI+EniTYvf535kOI8jwwBfWbSfdTPjJcVC 02oSqoEfdL/FmK27i4OQTIONw7pV41tJhMY0N84eMqcIxxFi7ZM= =BXFo -----END PGP SIGNATURE----- --2xs23zu4nf6jnqsw-- From owner-svn-src-head@freebsd.org Thu Jun 29 19:06:45 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 59971DA3A68; Thu, 29 Jun 2017 19:06:45 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1CB026F94D; Thu, 29 Jun 2017 19:06:45 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5TJ6iCl055285; Thu, 29 Jun 2017 19:06:44 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5TJ6i7Z055282; Thu, 29 Jun 2017 19:06:44 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201706291906.v5TJ6i7Z055282@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Thu, 29 Jun 2017 19:06:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320479 - in head/sys/netpfil/ipfw: nat64 nptv6 pmod X-SVN-Group: head X-SVN-Commit-Author: ae X-SVN-Commit-Paths: in head/sys/netpfil/ipfw: nat64 nptv6 pmod X-SVN-Commit-Revision: 320479 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 19:06:45 -0000 Author: ae Date: Thu Jun 29 19:06:43 2017 New Revision: 320479 URL: https://svnweb.freebsd.org/changeset/base/320479 Log: Fix IPv6 extension header parsing. The length field doesn't include the first 8 octets. Obtained from: Yandex LLC MFC after: 3 days Modified: head/sys/netpfil/ipfw/nat64/nat64_translate.c head/sys/netpfil/ipfw/nptv6/nptv6.c head/sys/netpfil/ipfw/pmod/tcpmod.c Modified: head/sys/netpfil/ipfw/nat64/nat64_translate.c ============================================================================== --- head/sys/netpfil/ipfw/nat64/nat64_translate.c Thu Jun 29 18:52:36 2017 (r320478) +++ head/sys/netpfil/ipfw/nat64/nat64_translate.c Thu Jun 29 19:06:43 2017 (r320479) @@ -1054,7 +1054,7 @@ nat64_getlasthdr(struct mbuf *m, int *offset) if (proto == IPPROTO_HOPOPTS && ip6->ip6_plen == 0) return (-1); proto = hbh->ip6h_nxt; - hlen += hbh->ip6h_len << 3; + hlen += (hbh->ip6h_len + 1) << 3; } if (offset != NULL) *offset = hlen; Modified: head/sys/netpfil/ipfw/nptv6/nptv6.c ============================================================================== --- head/sys/netpfil/ipfw/nptv6/nptv6.c Thu Jun 29 18:52:36 2017 (r320478) +++ head/sys/netpfil/ipfw/nptv6/nptv6.c Thu Jun 29 19:06:43 2017 (r320479) @@ -125,7 +125,7 @@ nptv6_getlasthdr(struct nptv6_cfg *cfg, struct mbuf *m if (m->m_len < hlen) return (-1); proto = hbh->ip6h_nxt; - hlen += hbh->ip6h_len << 3; + hlen += (hbh->ip6h_len + 1) << 3; } if (offset != NULL) *offset = hlen; Modified: head/sys/netpfil/ipfw/pmod/tcpmod.c ============================================================================== --- head/sys/netpfil/ipfw/pmod/tcpmod.c Thu Jun 29 18:52:36 2017 (r320478) +++ head/sys/netpfil/ipfw/pmod/tcpmod.c Thu Jun 29 19:06:43 2017 (r320479) @@ -137,7 +137,7 @@ tcpmod_ipv6_setmss(struct mbuf **mp, uint16_t mss) proto == IPPROTO_DSTOPTS) { hbh = mtodo(*mp, hlen); proto = hbh->ip6h_nxt; - hlen += hbh->ip6h_len << 3; + hlen += (hbh->ip6h_len + 1) << 3; } tcp = mtodo(*mp, hlen); plen = (*mp)->m_pkthdr.len - hlen; From owner-svn-src-head@freebsd.org Thu Jun 29 19:43:29 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 03C35DA47D6; Thu, 29 Jun 2017 19:43:29 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6DEC0719DD; Thu, 29 Jun 2017 19:43:28 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5TJhRDJ073947; Thu, 29 Jun 2017 19:43:27 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5TJhREN073946; Thu, 29 Jun 2017 19:43:27 GMT (envelope-from np@FreeBSD.org) Message-Id: <201706291943.v5TJhREN073946@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 29 Jun 2017 19:43:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320480 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 320480 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 19:43:29 -0000 Author: np Date: Thu Jun 29 19:43:27 2017 New Revision: 320480 URL: https://svnweb.freebsd.org/changeset/base/320480 Log: Adjust sowakeup post-r319685 so that it continues to make upcalls but still avoids calling soconnected during sodisconnected. Discussed with: glebius@ Sponsored by: Chelsio Communications Modified: head/sys/kern/uipc_sockbuf.c Modified: head/sys/kern/uipc_sockbuf.c ============================================================================== --- head/sys/kern/uipc_sockbuf.c Thu Jun 29 19:06:43 2017 (r320479) +++ head/sys/kern/uipc_sockbuf.c Thu Jun 29 19:43:27 2017 (r320480) @@ -322,7 +322,7 @@ sowakeup(struct socket *so, struct sockbuf *sb) wakeup(&sb->sb_acc); } KNOTE_LOCKED(&sb->sb_sel->si_note, 0); - if (sb->sb_upcall != NULL && !(so->so_state & SS_ISDISCONNECTED)) { + if (sb->sb_upcall != NULL) { ret = sb->sb_upcall(so, sb->sb_upcallarg, M_NOWAIT); if (ret == SU_ISCONNECTED) { KASSERT(sb == &so->so_rcv, @@ -334,7 +334,7 @@ sowakeup(struct socket *so, struct sockbuf *sb) if (sb->sb_flags & SB_AIO) sowakeup_aio(so, sb); SOCKBUF_UNLOCK(sb); - if (ret == SU_ISCONNECTED) + if (ret == SU_ISCONNECTED && !(so->so_state & SS_ISDISCONNECTED)) soisconnected(so); if ((so->so_state & SS_ASYNC) && so->so_sigio != NULL) pgsigio(&so->so_sigio, SIGIO, 0); From owner-svn-src-head@freebsd.org Thu Jun 29 21:31:15 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B2A29DA5F1C; Thu, 29 Jun 2017 21:31:15 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8E90274727; Thu, 29 Jun 2017 21:31:15 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5TLVEuE018307; Thu, 29 Jun 2017 21:31:14 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5TLVEcF018300; Thu, 29 Jun 2017 21:31:14 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201706292131.v5TLVEcF018300@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 29 Jun 2017 21:31:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320481 - in head: sys/compat/freebsd32 sys/kern sys/sys usr.bin/gcore X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: in head: sys/compat/freebsd32 sys/kern sys/sys usr.bin/gcore X-SVN-Commit-Revision: 320481 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 21:31:15 -0000 Author: jhb Date: Thu Jun 29 21:31:13 2017 New Revision: 320481 URL: https://svnweb.freebsd.org/changeset/base/320481 Log: Store a 32-bit PT_LWPINFO struct for 32-bit process core dumps. Process core notes for a 32-bit process running on a 64-bit host need to use 32-bit structures so that the note layout matches the layout of notes of a core dump of a 32-bit process under a 32-bit kernel. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D11407 Modified: head/sys/compat/freebsd32/freebsd32_signal.h head/sys/kern/imgact_elf.c head/sys/kern/sys_process.c head/sys/sys/ptrace.h head/sys/sys/signal.h head/usr.bin/gcore/elf32core.c head/usr.bin/gcore/elfcore.c Modified: head/sys/compat/freebsd32/freebsd32_signal.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32_signal.h Thu Jun 29 19:43:27 2017 (r320480) +++ head/sys/compat/freebsd32/freebsd32_signal.h Thu Jun 29 21:31:13 2017 (r320481) @@ -35,44 +35,6 @@ struct sigaltstack32 { int ss_flags; /* SS_DISABLE and/or SS_ONSTACK */ }; -union sigval32 { - int sival_int; - u_int32_t sival_ptr; - /* 6.0 compatibility */ - int sigval_int; - u_int32_t sigval_ptr; -}; - -struct siginfo32 { - int si_signo; /* signal number */ - int si_errno; /* errno association */ - int si_code; /* signal code */ - int32_t si_pid; /* sending process */ - u_int32_t si_uid; /* sender's ruid */ - int si_status; /* exit value */ - u_int32_t si_addr; /* faulting instruction */ - union sigval32 si_value; /* signal value */ - union { - struct { - int _trapno;/* machine specific trap code */ - } _fault; - struct { - int _timerid; - int _overrun; - } _timer; - struct { - int _mqd; - } _mesgq; - struct { - int _band; /* band event for SIGPOLL */ - } _poll; /* was this ever used ? */ - struct { - int __spare1__; - int __spare2__[7]; - } __spare__; - } _reason; -}; - struct osigevent32 { int sigev_notify; /* Notification type */ union { Modified: head/sys/kern/imgact_elf.c ============================================================================== --- head/sys/kern/imgact_elf.c Thu Jun 29 19:43:27 2017 (r320480) +++ head/sys/kern/imgact_elf.c Thu Jun 29 21:31:13 2017 (r320481) @@ -1875,6 +1875,7 @@ __elfN(putnote)(struct note_info *ninfo, struct sbuf * #if defined(COMPAT_FREEBSD32) && __ELF_WORD_SIZE == 32 #include +#include typedef struct prstatus32 elf_prstatus_t; typedef struct prpsinfo32 elf_prpsinfo_t; @@ -2029,13 +2030,17 @@ __elfN(note_ptlwpinfo)(void *arg, struct sbuf *sb, siz struct thread *td; size_t size; int structsize; +#if defined(COMPAT_FREEBSD32) && __ELF_WORD_SIZE == 32 + struct ptrace_lwpinfo32 pl; +#else struct ptrace_lwpinfo pl; +#endif td = (struct thread *)arg; - size = sizeof(structsize) + sizeof(struct ptrace_lwpinfo); + size = sizeof(structsize) + sizeof(pl); if (sb != NULL) { KASSERT(*sizep == size, ("invalid size")); - structsize = sizeof(struct ptrace_lwpinfo); + structsize = sizeof(pl); sbuf_bcat(sb, &structsize, sizeof(structsize)); bzero(&pl, sizeof(pl)); pl.pl_lwpid = td->td_tid; @@ -2045,11 +2050,15 @@ __elfN(note_ptlwpinfo)(void *arg, struct sbuf *sb, siz if (td->td_si.si_signo != 0) { pl.pl_event = PL_EVENT_SIGNAL; pl.pl_flags |= PL_FLAG_SI; +#if defined(COMPAT_FREEBSD32) && __ELF_WORD_SIZE == 32 + siginfo_to_siginfo32(&td->td_si, &pl.pl_siginfo); +#else pl.pl_siginfo = td->td_si; +#endif } strcpy(pl.pl_tdname, td->td_name); /* XXX TODO: supply more information in struct ptrace_lwpinfo*/ - sbuf_bcat(sb, &pl, sizeof(struct ptrace_lwpinfo)); + sbuf_bcat(sb, &pl, sizeof(pl)); } *sizep = size; } Modified: head/sys/kern/sys_process.c ============================================================================== --- head/sys/kern/sys_process.c Thu Jun 29 19:43:27 2017 (r320480) +++ head/sys/kern/sys_process.c Thu Jun 29 21:31:13 2017 (r320481) @@ -87,20 +87,6 @@ struct ptrace_vm_entry32 { u_int pve_fsid; uint32_t pve_path; }; - -struct ptrace_lwpinfo32 { - lwpid_t pl_lwpid; /* LWP described. */ - int pl_event; /* Event that stopped the LWP. */ - int pl_flags; /* LWP flags. */ - sigset_t pl_sigmask; /* LWP signal mask */ - sigset_t pl_siglist; /* LWP pending signal */ - struct siginfo32 pl_siginfo; /* siginfo for signal */ - char pl_tdname[MAXCOMLEN + 1]; /* LWP name. */ - pid_t pl_child_pid; /* New child pid */ - u_int pl_syscall_code; - u_int pl_syscall_narg; -}; - #endif /* Modified: head/sys/sys/ptrace.h ============================================================================== --- head/sys/sys/ptrace.h Thu Jun 29 19:43:27 2017 (r320480) +++ head/sys/sys/ptrace.h Thu Jun 29 21:31:13 2017 (r320481) @@ -138,6 +138,21 @@ struct ptrace_lwpinfo { u_int pl_syscall_narg; }; +#if defined(_WANT_LWPINFO32) || (defined(_KERNEL) && defined(__LP64__)) +struct ptrace_lwpinfo32 { + lwpid_t pl_lwpid; /* LWP described. */ + int pl_event; /* Event that stopped the LWP. */ + int pl_flags; /* LWP flags. */ + sigset_t pl_sigmask; /* LWP signal mask */ + sigset_t pl_siglist; /* LWP pending signal */ + struct siginfo32 pl_siginfo; /* siginfo for signal */ + char pl_tdname[MAXCOMLEN + 1]; /* LWP name. */ + pid_t pl_child_pid; /* New child pid */ + u_int pl_syscall_code; + u_int pl_syscall_narg; +}; +#endif + /* Argument structure for PT_VM_ENTRY. */ struct ptrace_vm_entry { int pve_entry; /* Entry number used for iteration. */ Modified: head/sys/sys/signal.h ============================================================================== --- head/sys/sys/signal.h Thu Jun 29 19:43:27 2017 (r320480) +++ head/sys/sys/signal.h Thu Jun 29 21:31:13 2017 (r320481) @@ -174,7 +174,17 @@ union sigval { int sigval_int; void *sigval_ptr; }; + +#if defined(_WANT_LWPINFO32) || (defined(_KERNEL) && defined(__LP64__)) +union sigval32 { + int sival_int; + uint32_t sival_ptr; + /* 6.0 compatibility */ + int sigval_int; + uint32_t sigval_ptr; +}; #endif +#endif #if __POSIX_VISIBLE >= 199309 @@ -255,6 +265,38 @@ typedef struct __siginfo { #define si_overrun _reason._timer._overrun #define si_mqd _reason._mesgq._mqd #define si_band _reason._poll._band + +#if defined(_WANT_LWPINFO32) || (defined(_KERNEL) && defined(__LP64__)) +struct siginfo32 { + int si_signo; /* signal number */ + int si_errno; /* errno association */ + int si_code; /* signal code */ + __pid_t si_pid; /* sending process */ + __uid_t si_uid; /* sender's ruid */ + int si_status; /* exit value */ + uint32_t si_addr; /* faulting instruction */ + union sigval32 si_value; /* signal value */ + union { + struct { + int _trapno;/* machine specific trap code */ + } _fault; + struct { + int _timerid; + int _overrun; + } _timer; + struct { + int _mqd; + } _mesgq; + struct { + int32_t _band; /* band event for SIGPOLL */ + } _poll; /* was this ever used ? */ + struct { + int32_t __spare1__; + int __spare2__[7]; + } __spare__; + } _reason; +}; +#endif /** si_code **/ /* codes for SIGILL */ Modified: head/usr.bin/gcore/elf32core.c ============================================================================== --- head/usr.bin/gcore/elf32core.c Thu Jun 29 19:43:27 2017 (r320480) +++ head/usr.bin/gcore/elf32core.c Thu Jun 29 21:31:13 2017 (r320481) @@ -5,6 +5,7 @@ #define __ELF_WORD_SIZE 32 #define _MACHINE_ELF_WANT_32BIT +#define _WANT_LWPINFO32 #include @@ -46,3 +47,42 @@ elf_convert_fpregset(elfcore_fpregset_t *rd, struct fp #error Unsupported architecture #endif } + +static void +elf_convert_siginfo(struct siginfo32 *sid, siginfo_t *sis) +{ + + bzero(sid, sizeof(*sid)); + sid->si_signo = sis->si_signo; + sid->si_errno = sis->si_errno; + sid->si_code = sis->si_code; + sid->si_pid = sis->si_pid; + sid->si_uid = sis->si_uid; + sid->si_status = sis->si_status; + sid->si_addr = (uintptr_t)sis->si_addr; +#if _BYTE_ORDER == _BIG_ENDIAN + if (sis->si_value.sival_int == 0) + sid->si_value.sival_ptr = (uintptr_t)sis->si_value.sival_ptr; + else +#endif + sid->si_value.sival_int = sis->si_value.sival_int; + sid->si_timerid = sis->si_timerid; + sid->si_overrun = sis->si_overrun; +} + +static void +elf_convert_lwpinfo(struct ptrace_lwpinfo32 *pld, struct ptrace_lwpinfo *pls) +{ + + pld->pl_lwpid = pls->pl_lwpid; + pld->pl_event = pls->pl_event; + pld->pl_flags = pls->pl_flags; + pld->pl_sigmask = pls->pl_sigmask; + pld->pl_siglist = pls->pl_siglist; + elf_convert_siginfo(&pld->pl_siginfo, &pls->pl_siginfo); + memcpy(pld->pl_tdname, pls->pl_tdname, sizeof(pld->pl_tdname)); + pld->pl_child_pid = pls->pl_child_pid; + pld->pl_syscall_code = pls->pl_syscall_code; + pld->pl_syscall_narg = pls->pl_syscall_narg; +} + Modified: head/usr.bin/gcore/elfcore.c ============================================================================== --- head/usr.bin/gcore/elfcore.c Thu Jun 29 19:43:27 2017 (r320480) +++ head/usr.bin/gcore/elfcore.c Thu Jun 29 21:31:13 2017 (r320481) @@ -81,15 +81,20 @@ typedef struct fpreg32 elfcore_fpregset_t; typedef struct reg32 elfcore_gregset_t; typedef struct prpsinfo32 elfcore_prpsinfo_t; typedef struct prstatus32 elfcore_prstatus_t; +typedef struct ptrace_lwpinfo32 elfcore_lwpinfo_t; static void elf_convert_gregset(elfcore_gregset_t *rd, struct reg *rs); static void elf_convert_fpregset(elfcore_fpregset_t *rd, struct fpreg *rs); +static void elf_convert_lwpinfo(struct ptrace_lwpinfo32 *pld, + struct ptrace_lwpinfo *pls); #else typedef fpregset_t elfcore_fpregset_t; typedef gregset_t elfcore_gregset_t; typedef prpsinfo_t elfcore_prpsinfo_t; typedef prstatus_t elfcore_prstatus_t; +typedef struct ptrace_lwpinfo elfcore_lwpinfo_t; #define elf_convert_gregset(d,s) *d = *s #define elf_convert_fpregset(d,s) *d = *s +#define elf_convert_lwpinfo(d,s) *d = *s #endif typedef void* (*notefunc_t)(void *, size_t *); @@ -696,15 +701,18 @@ static void * elf_note_ptlwpinfo(void *arg, size_t *sizep) { lwpid_t tid; + elfcore_lwpinfo_t *elf_info; + struct ptrace_lwpinfo lwpinfo; void *p; tid = *(lwpid_t *)arg; - p = calloc(1, sizeof(int) + sizeof(struct ptrace_lwpinfo)); + p = calloc(1, sizeof(int) + sizeof(elfcore_lwpinfo_t)); if (p == NULL) errx(1, "out of memory"); - *(int *)p = sizeof(struct ptrace_lwpinfo); - ptrace(PT_LWPINFO, tid, - (char *)p + sizeof (int), sizeof(struct ptrace_lwpinfo)); + *(int *)p = sizeof(elfcore_lwpinfo_t); + elf_info = (void *)((int *)p + 1); + ptrace(PT_LWPINFO, tid, (void *)&lwpinfo, sizeof(lwpinfo)); + elf_convert_lwpinfo(elf_info, &lwpinfo); *sizep = sizeof(int) + sizeof(struct ptrace_lwpinfo); return (p); From owner-svn-src-head@freebsd.org Thu Jun 29 22:09:34 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4A515DA67F3; Thu, 29 Jun 2017 22:09:34 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1788E7572C; Thu, 29 Jun 2017 22:09:34 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5TM9Xck032097; Thu, 29 Jun 2017 22:09:33 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5TM9XHe032096; Thu, 29 Jun 2017 22:09:33 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201706292209.v5TM9XHe032096@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Thu, 29 Jun 2017 22:09:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320482 - head/sys/boot/efi/loader/arch/arm X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: head/sys/boot/efi/loader/arch/arm X-SVN-Commit-Revision: 320482 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 22:09:34 -0000 Author: andrew Date: Thu Jun 29 22:09:32 2017 New Revision: 320482 URL: https://svnweb.freebsd.org/changeset/base/320482 Log: As with arm64 mark the EFI PE header as allocated on arm. This is needed for lld to link laoder.efi and boot1.efi. Reported by: emaste Modified: head/sys/boot/efi/loader/arch/arm/start.S Modified: head/sys/boot/efi/loader/arch/arm/start.S ============================================================================== --- head/sys/boot/efi/loader/arch/arm/start.S Thu Jun 29 21:31:13 2017 (r320481) +++ head/sys/boot/efi/loader/arch/arm/start.S Thu Jun 29 22:09:32 2017 (r320482) @@ -42,7 +42,7 @@ #define IMAGE_SCN_MEM_EXECUTE 0x20000000 #define IMAGE_SCN_MEM_READ 0x40000000 - .section .peheader + .section .peheader,"a" efi_start: /* The MS-DOS Stub, only used to get the offset of the COFF header */ .ascii "MZ" From owner-svn-src-head@freebsd.org Thu Jun 29 23:15:30 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 19622DA79DA; Thu, 29 Jun 2017 23:15:30 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E8B6277561; Thu, 29 Jun 2017 23:15:29 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5TNFTcH060310; Thu, 29 Jun 2017 23:15:29 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5TNFTOp060309; Thu, 29 Jun 2017 23:15:29 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201706292315.v5TNFTOp060309@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Thu, 29 Jun 2017 23:15:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320483 - head/sbin/nvmecontrol X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sbin/nvmecontrol X-SVN-Commit-Revision: 320483 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 23:15:30 -0000 Author: imp Date: Thu Jun 29 23:15:28 2017 New Revision: 320483 URL: https://svnweb.freebsd.org/changeset/base/320483 Log: Improve wdc error log pulling. After review by the WDC engineers, improve how we pull down the so-called 'e6' logs. The 'c6' logs are obsolete and support for them has been removed because FreeBSD needed to pull them in chunks, which is incompatible with the 0xc6 opcode implementation. Rather than leave the code in place that produces bad log pulls, remove it. Modified: head/sbin/nvmecontrol/wdc.c Modified: head/sbin/nvmecontrol/wdc.c ============================================================================== --- head/sbin/nvmecontrol/wdc.c Thu Jun 29 22:09:32 2017 (r320482) +++ head/sbin/nvmecontrol/wdc.c Thu Jun 29 23:15:28 2017 (r320483) @@ -47,36 +47,12 @@ __FBSDID("$FreeBSD$"); #define WDC_NVME_CAP_DIAG_OPCODE 0xe6 #define WDC_NVME_CAP_DIAG_CMD 0x0000 -#define WDC_NVME_DIAG_OPCODE 0xc6 -#define WDC_NVME_DRIVE_LOG_SIZE_CMD 0x0120 -#define WDC_NVME_DRIVE_LOG_CMD 0x0020 -#define WDC_NVME_CRASH_DUMP_SIZE_CMD 0x0320 -#define WDC_NVME_CRASH_DUMP_CMD 0x0420 -#define WDC_NVME_PFAIL_DUMP_SIZE_CMD 0x0520 -#define WDC_NVME_PFAIL_DUMP_CMD 0x0620 - -#define WDC_NVME_CLEAR_DUMP_OPCODE 0xff -#define WDC_NVME_CLEAR_CRASH_DUMP_CMD 0x0503 -#define WDC_NVME_CLEAR_PFAIL_DUMP_CMD 0x0603 - static void wdc_cap_diag(int argc, char *argv[]); -static void wdc_drive_log(int argc, char *argv[]); -static void wdc_get_crash_dump(int argc, char *argv[]); -static void wdc_purge(int argc, char *argv[]); -static void wdc_purge_monitor(int argc, char *argv[]); #define WDC_CAP_DIAG_USAGE "\tnvmecontrol wdc cap-diag [-o path-template]\n" -#define WDC_DRIVE_LOG_USAGE "\tnvmecontrol wdc drive-log [-o path-template]\n" -#define WDC_GET_CRASH_DUMP_USAGE "\tnvmecontrol wdc get-crash-dump [-o path-template]\n" -#define WDC_PURGE_USAGE "\tnvmecontrol wdc purge [-o path-template]\n" -#define WDC_PURGE_MONITOR_USAGE "\tnvmecontrol wdc purge-monitor\n" static struct nvme_function wdc_funcs[] = { {"cap-diag", wdc_cap_diag, WDC_CAP_DIAG_USAGE}, - {"drive-log", wdc_drive_log, WDC_DRIVE_LOG_USAGE}, - {"get-crash-dump", wdc_get_crash_dump, WDC_GET_CRASH_DUMP_USAGE}, - {"purge", wdc_purge, WDC_PURGE_USAGE}, - {"purge_monitor", wdc_purge_monitor, WDC_PURGE_MONITOR_USAGE}, {NULL, NULL, NULL}, }; @@ -123,8 +99,9 @@ wdc_get_data(int fd, uint32_t opcode, uint32_t len, ui static void wdc_do_dump(int fd, char *tmpl, const char *suffix, uint32_t opcode, - uint32_t size_cmd, uint32_t cmd, int len_off) + uint32_t cmd, int len_off) { + int first; int fd2; uint8_t *buf; uint32_t len, offset; @@ -132,52 +109,49 @@ wdc_do_dump(int fd, char *tmpl, const char *suffix, ui wdc_append_serial_name(fd, tmpl, MAXPATHLEN, suffix); - buf = aligned_alloc(PAGE_SIZE, WDC_NVME_TOC_SIZE); - if (buf == NULL) - errx(1, "Can't get buffer to get size"); - wdc_get_data(fd, opcode, WDC_NVME_TOC_SIZE, - 0, size_cmd, buf, WDC_NVME_TOC_SIZE); - len = be32dec(buf + len_off); - - if (len == 0) - errx(1, "No data for %s", suffix); - - printf("Dumping %d bytes to %s\n", len, tmpl); /* XXX overwrite protection? */ - fd2 = open(tmpl, O_WRONLY | O_CREAT | O_TRUNC); + fd2 = open(tmpl, O_WRONLY | O_CREAT | O_TRUNC, 0644); if (fd2 < 0) err(1, "open %s", tmpl); - offset = 0; buf = aligned_alloc(PAGE_SIZE, NVME_MAX_XFER_SIZE); if (buf == NULL) errx(1, "Can't get buffer to read dump"); - while (len > 0) { + offset = 0; + len = NVME_MAX_XFER_SIZE; + first = 1; + + do { resid = len > NVME_MAX_XFER_SIZE ? NVME_MAX_XFER_SIZE : len; wdc_get_data(fd, opcode, resid, offset, cmd, buf, resid); + + if (first) { + len = be32dec(buf + len_off); + if (len == 0) + errx(1, "No data for %s", suffix); + if (memcmp("E6LG", buf, 4) != 0) + printf("Expected header of E6LG, found '%4.4s' instead\n", + buf); + printf("Dumping %d bytes of version %d.%d log to %s\n", len, + buf[8], buf[9], tmpl); + /* + * Adjust amount to dump if total dump < 1MB, + * though it likely doesn't matter to the WDC + * analysis tools. + */ + if (resid > len) + resid = len; + first = 0; + } if (write(fd2, buf, resid) != resid) err(1, "write"); offset += resid; len -= resid; - } + } while (len > 0); free(buf); close(fd2); } static void -wdc_do_clear_dump(int fd, uint32_t opcode, uint32_t cmd) -{ - struct nvme_pt_command pt; - - memset(&pt, 0, sizeof(pt)); - pt.cmd.opc = opcode; - pt.cmd.cdw12 = cmd; - if (ioctl(fd, NVME_PASSTHROUGH_CMD, &pt) < 0) - err(1, "wdc_do_clear_dump request failed"); - if (nvme_completion_is_error(&pt.cpl)) - errx(1, "wdc_do_clear_dump request returned error"); -} - -static void wdc_cap_diag_usage(void) { fprintf(stderr, "usage:\n"); @@ -207,131 +181,11 @@ wdc_cap_diag(int argc, char *argv[]) open_dev(argv[optind], &fd, 1, 1); wdc_do_dump(fd, path_tmpl, "cap_diag", WDC_NVME_CAP_DIAG_OPCODE, - WDC_NVME_CAP_DIAG_CMD, WDC_NVME_CAP_DIAG_CMD, 4); + WDC_NVME_CAP_DIAG_CMD, 4); close(fd); exit(1); -} - -static void -wdc_drive_log_usage(void) -{ - fprintf(stderr, "usage:\n"); - fprintf(stderr, WDC_DRIVE_LOG_USAGE); - exit(1); -} - -static void -wdc_drive_log(int argc, char *argv[]) -{ - char path_tmpl[MAXPATHLEN]; - int ch, fd; - - path_tmpl[0] = '\0'; - while ((ch = getopt(argc, argv, "o:")) != -1) { - switch ((char)ch) { - case 'o': - strlcpy(path_tmpl, optarg, MAXPATHLEN); - break; - default: - wdc_drive_log_usage(); - } - } - /* Check that a controller was specified. */ - if (optind >= argc) - wdc_drive_log_usage(); - open_dev(argv[optind], &fd, 1, 1); - - wdc_do_dump(fd, path_tmpl, "drive_log", WDC_NVME_DIAG_OPCODE, - WDC_NVME_DRIVE_LOG_SIZE_CMD, WDC_NVME_DRIVE_LOG_CMD, 0); - - close(fd); - - exit(1); -} - -static void -wdc_get_crash_dump_usage(void) -{ - fprintf(stderr, "usage:\n"); - fprintf(stderr, WDC_CAP_DIAG_USAGE); - exit(1); -} - -static void -wdc_get_crash_dump(int argc, char *argv[]) -{ - char path_tmpl[MAXPATHLEN]; - int ch, fd; - - while ((ch = getopt(argc, argv, "o:")) != -1) { - switch ((char)ch) { - case 'o': - strlcpy(path_tmpl, optarg, MAXPATHLEN); - break; - default: - wdc_get_crash_dump_usage(); - } - } - /* Check that a controller was specified. */ - if (optind >= argc) - wdc_get_crash_dump_usage(); - open_dev(argv[optind], &fd, 1, 1); - - wdc_do_dump(fd, path_tmpl, "crash_dump", WDC_NVME_DIAG_OPCODE, - WDC_NVME_CRASH_DUMP_SIZE_CMD, WDC_NVME_CRASH_DUMP_CMD, 0); - wdc_do_clear_dump(fd, WDC_NVME_CLEAR_DUMP_OPCODE, - WDC_NVME_CLEAR_CRASH_DUMP_CMD); -// wdc_led_beacon_disable(fd); - wdc_do_dump(fd, path_tmpl, "pfail_dump", WDC_NVME_DIAG_OPCODE, - WDC_NVME_PFAIL_DUMP_SIZE_CMD, WDC_NVME_PFAIL_DUMP_CMD, 0); - wdc_do_clear_dump(fd, WDC_NVME_CLEAR_DUMP_OPCODE, - WDC_NVME_CLEAR_PFAIL_DUMP_CMD); - - close(fd); - - exit(1); -} - -static void -wdc_purge(int argc, char *argv[]) -{ - char path_tmpl[MAXPATHLEN]; - int ch; - - while ((ch = getopt(argc, argv, "o:")) != -1) { - switch ((char)ch) { - case 'o': - strlcpy(path_tmpl, optarg, MAXPATHLEN); - break; - default: - wdc_cap_diag_usage(); - } - } - - printf("purge has not been implemented.\n"); - exit(1); -} - -static void -wdc_purge_monitor(int argc, char *argv[]) -{ - char path_tmpl[MAXPATHLEN]; - int ch; - - while ((ch = getopt(argc, argv, "o:")) != -1) { - switch ((char)ch) { - case 'o': - strlcpy(path_tmpl, optarg, MAXPATHLEN); - break; - default: - wdc_cap_diag_usage(); - } - } - - printf("purge has not been implemented.\n"); - exit(1); } void From owner-svn-src-head@freebsd.org Fri Jun 30 00:20:49 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BE757DA8D55; Fri, 30 Jun 2017 00:20:49 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 89059793C0; Fri, 30 Jun 2017 00:20:49 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5U0KmoF088478; Fri, 30 Jun 2017 00:20:48 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5U0KmX4088477; Fri, 30 Jun 2017 00:20:48 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201706300020.v5U0KmX4088477@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Fri, 30 Jun 2017 00:20:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320488 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 320488 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 00:20:49 -0000 Author: gjb Date: Fri Jun 30 00:20:48 2017 New Revision: 320488 URL: https://svnweb.freebsd.org/changeset/base/320488 Log: Correct the branch naming convention in param.h. While here, consistently use upper-case 'X' to represent the version number. MFC after: 3 days Sponsored by: The FreeBSD Foundation Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Thu Jun 29 23:57:35 2017 (r320487) +++ head/sys/sys/param.h Fri Jun 30 00:20:48 2017 (r320488) @@ -54,7 +54,7 @@ * * scheme is: Rxx * 'R' is in the range 0 to 4 if this is a release branch or - * x.0-CURRENT before RELENG_*_0 is created, otherwise 'R' is + * X.0-CURRENT before releng/X.0 is created, otherwise 'R' is * in the range 5 to 9. */ #undef __FreeBSD_version From owner-svn-src-head@freebsd.org Fri Jun 30 02:11:33 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 80D71DAA6CD; Fri, 30 Jun 2017 02:11:33 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 459A87BDFB; Fri, 30 Jun 2017 02:11:33 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5U2BW3N044121; Fri, 30 Jun 2017 02:11:32 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5U2BWtt044120; Fri, 30 Jun 2017 02:11:32 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201706300211.v5U2BWtt044120@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Fri, 30 Jun 2017 02:11:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320489 - head/sys/powerpc/booke X-SVN-Group: head X-SVN-Commit-Author: jhibbits X-SVN-Commit-Paths: head/sys/powerpc/booke X-SVN-Commit-Revision: 320489 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 02:11:33 -0000 Author: jhibbits Date: Fri Jun 30 02:11:32 2017 New Revision: 320489 URL: https://svnweb.freebsd.org/changeset/base/320489 Log: Use the more common Book-E idiom for disabling interrupts. Book-E has the wrteei/wrtee instructions for writing the PSL_EE bit, ignoring all others. Use this instead of the AIM-typical mtmsr. MFC with: r320392 Modified: head/sys/powerpc/booke/pmap.c Modified: head/sys/powerpc/booke/pmap.c ============================================================================== --- head/sys/powerpc/booke/pmap.c Fri Jun 30 00:20:48 2017 (r320488) +++ head/sys/powerpc/booke/pmap.c Fri Jun 30 02:11:32 2017 (r320489) @@ -3818,7 +3818,7 @@ tlb1_read_entry(tlb_entry_t *entry, unsigned int slot) KASSERT((entry != NULL), ("%s(): Entry is NULL!", __func__)); msr = mfmsr(); - mtmsr(msr & ~PSL_EE); + __asm __volatile("wrteei 0"); mas0 = MAS0_TLBSEL(1) | MAS0_ESEL(slot); mtspr(SPR_MAS0, mas0); @@ -3865,7 +3865,7 @@ tlb1_write_entry(tlb_entry_t *e, unsigned int idx) //debugf("tlb1_write_entry: mas0 = 0x%08x\n", mas0); msr = mfmsr(); - mtmsr(msr & ~PSL_EE); + __asm __volatile("wrteei 0"); mtspr(SPR_MAS0, mas0); __asm __volatile("isync"); From owner-svn-src-head@freebsd.org Fri Jun 30 03:01:23 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 858F9D8668C; Fri, 30 Jun 2017 03:01:23 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 527917D15F; Fri, 30 Jun 2017 03:01:23 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5U31Msi064973; Fri, 30 Jun 2017 03:01:22 GMT (envelope-from sephe@FreeBSD.org) Received: (from sephe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5U31MFE064972; Fri, 30 Jun 2017 03:01:22 GMT (envelope-from sephe@FreeBSD.org) Message-Id: <201706300301.v5U31MFE064972@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sephe set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau Date: Fri, 30 Jun 2017 03:01:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320490 - head/sys/dev/hyperv/input X-SVN-Group: head X-SVN-Commit-Author: sephe X-SVN-Commit-Paths: head/sys/dev/hyperv/input X-SVN-Commit-Revision: 320490 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 03:01:23 -0000 Author: sephe Date: Fri Jun 30 03:01:22 2017 New Revision: 320490 URL: https://svnweb.freebsd.org/changeset/base/320490 Log: hyperv/input: Remove unnecessary inclusion. The unbreaks gcc compilation. Submitted by: Ryan Libby MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D11415 Modified: head/sys/dev/hyperv/input/hv_kbdc.c Modified: head/sys/dev/hyperv/input/hv_kbdc.c ============================================================================== --- head/sys/dev/hyperv/input/hv_kbdc.c Fri Jun 30 02:11:32 2017 (r320489) +++ head/sys/dev/hyperv/input/hv_kbdc.c Fri Jun 30 03:01:22 2017 (r320490) @@ -49,7 +49,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include From owner-svn-src-head@freebsd.org Fri Jun 30 05:49:13 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 48D13D88F80; Fri, 30 Jun 2017 05:49:13 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1761780F0F; Fri, 30 Jun 2017 05:49:13 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5U5nClY032564; Fri, 30 Jun 2017 05:49:12 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5U5nCVc032562; Fri, 30 Jun 2017 05:49:12 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201706300549.v5U5nCVc032562@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Fri, 30 Jun 2017 05:49:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320491 - in head: contrib/atf/atf-sh libexec/atf/atf-sh X-SVN-Group: head X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: in head: contrib/atf/atf-sh libexec/atf/atf-sh X-SVN-Commit-Revision: 320491 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 05:49:13 -0000 Author: ngie Date: Fri Jun 30 05:49:12 2017 New Revision: 320491 URL: https://svnweb.freebsd.org/changeset/base/320491 Log: atf-sh(3): document atf_init_test_cases(3) fully The function was missing from the NAME/SYNOPSIS sections. Add a manpage link to complete the documentation reference. MFC after: 1 month Modified: head/contrib/atf/atf-sh/atf-sh.3 head/libexec/atf/atf-sh/Makefile Modified: head/contrib/atf/atf-sh/atf-sh.3 ============================================================================== --- head/contrib/atf/atf-sh/atf-sh.3 Fri Jun 30 03:01:22 2017 (r320490) +++ head/contrib/atf/atf-sh/atf-sh.3 Fri Jun 30 05:49:12 2017 (r320491) @@ -40,6 +40,7 @@ .Nm atf_fail , .Nm atf_get , .Nm atf_get_srcdir , +.Nm atf_init_test_cases , .Nm atf_pass , .Nm atf_require_prog , .Nm atf_set , @@ -82,6 +83,8 @@ .Nm atf_get .Qq var_name .Nm atf_get_srcdir +.Nm atf_init_test_cases +.Qq name .Nm atf_pass .Nm atf_require_prog .Qq prog_name Modified: head/libexec/atf/atf-sh/Makefile ============================================================================== --- head/libexec/atf/atf-sh/Makefile Fri Jun 30 03:01:22 2017 (r320490) +++ head/libexec/atf/atf-sh/Makefile Fri Jun 30 05:49:12 2017 (r320491) @@ -52,6 +52,7 @@ MLINKS+= \ atf-sh.3 atf_fail.3 \ atf-sh.3 atf_get.3 \ atf-sh.3 atf_get_srcdir.3 \ + atf-sh.3 atf_init_test_cases.3 \ atf-sh.3 atf_pass.3 \ atf-sh.3 atf_require_prog.3 \ atf-sh.3 atf_set.3 \ From owner-svn-src-head@freebsd.org Fri Jun 30 06:10:20 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F3871D89427; Fri, 30 Jun 2017 06:10:19 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BFE16817E3; Fri, 30 Jun 2017 06:10:19 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5U6AIiK040763; Fri, 30 Jun 2017 06:10:18 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5U6AI0e040762; Fri, 30 Jun 2017 06:10:18 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201706300610.v5U6AI0e040762@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 30 Jun 2017 06:10:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320492 - head/sys/dev/isp X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: head/sys/dev/isp X-SVN-Commit-Revision: 320492 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 06:10:20 -0000 Author: mav Date: Fri Jun 30 06:10:18 2017 New Revision: 320492 URL: https://svnweb.freebsd.org/changeset/base/320492 Log: Polish target_id/target_lun setting for ATIOs/INOTs. For ATIOs it is pointless to report isp_loopid to CAM, since in other places it operates with port database record IDs, not with loop IDs. For INOTs target_id/target_lun seems were never set, so wildcard INOTs probably were not working correctly when LUN IDs were important. Modified: head/sys/dev/isp/isp_freebsd.c Modified: head/sys/dev/isp/isp_freebsd.c ============================================================================== --- head/sys/dev/isp/isp_freebsd.c Fri Jun 30 05:49:12 2017 (r320491) +++ head/sys/dev/isp/isp_freebsd.c Fri Jun 30 06:10:18 2017 (r320492) @@ -1608,7 +1608,7 @@ isp_target_putback_atio(union ccb *ccb) } at->at_status = CT_OK; at->at_rxid = cso->tag_id; - at->at_iid = cso->ccb_h.target_id; + at->at_iid = cso->init_id; if (isp_target_put_entry(isp, at)) { callout_reset(&PISP_PCMD(ccb)->wdog, 10, isp_refire_putback_atio, ccb); @@ -1693,7 +1693,7 @@ isp_handle_platform_atio2(ispsoftc_t *isp, at2_entry_t atp->state = ATPD_STATE_ATIO; SLIST_REMOVE_HEAD(&tptr->atios, sim_links.sle); ISP_PATH_PRT(isp, ISP_LOGTDEBUG2, atiop->ccb_h.path, "Take FREE ATIO\n"); - atiop->ccb_h.target_id = fcp->isp_loopid; + atiop->ccb_h.target_id = ISP_MAX_TARGETS(isp); atiop->ccb_h.target_lun = lun; /* @@ -1872,7 +1872,7 @@ isp_handle_platform_atio7(ispsoftc_t *isp, at7_entry_t SLIST_REMOVE_HEAD(&tptr->atios, sim_links.sle); ISP_PATH_PRT(isp, ISP_LOGTDEBUG2, atiop->ccb_h.path, "Take FREE ATIO\n"); atiop->init_id = FC_PORTDB_TGT(isp, chan, lp); - atiop->ccb_h.target_id = FCPARAM(isp, chan)->isp_loopid; + atiop->ccb_h.target_id = ISP_MAX_TARGETS(isp); atiop->ccb_h.target_lun = lun; atiop->sense_len = 0; cdbxlen = aep->at_cmnd.fcp_cmnd_alen_datadir >> FCP_CMND_ADDTL_CDBLEN_SHIFT; @@ -2357,6 +2357,8 @@ isp_handle_platform_target_tmf(ispsoftc_t *isp, isp_no goto bad; } + inot->ccb_h.target_id = ISP_MAX_TARGETS(isp); + inot->ccb_h.target_lun = lun; if (isp_find_pdb_by_portid(isp, notify->nt_channel, notify->nt_sid, &lp) == 0 && isp_find_pdb_by_handle(isp, notify->nt_channel, notify->nt_nphdl, &lp) == 0) { inot->initiator_id = CAM_TARGET_WILDCARD; From owner-svn-src-head@freebsd.org Fri Jun 30 06:34:50 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6D568D89B67; Fri, 30 Jun 2017 06:34:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 39DCD8230A; Fri, 30 Jun 2017 06:34:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5U6YnB3052951; Fri, 30 Jun 2017 06:34:49 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5U6YngS052950; Fri, 30 Jun 2017 06:34:49 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201706300634.v5U6YngS052950@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 30 Jun 2017 06:34:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320493 - head/sys/cam/ctl X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: head/sys/cam/ctl X-SVN-Commit-Revision: 320493 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 06:34:50 -0000 Author: mav Date: Fri Jun 30 06:34:49 2017 New Revision: 320493 URL: https://svnweb.freebsd.org/changeset/base/320493 Log: Unify INOT/ATIO setup. Modified: head/sys/cam/ctl/scsi_ctl.c Modified: head/sys/cam/ctl/scsi_ctl.c ============================================================================== --- head/sys/cam/ctl/scsi_ctl.c Fri Jun 30 06:10:18 2017 (r320492) +++ head/sys/cam/ctl/scsi_ctl.c Fri Jun 30 06:34:49 2017 (r320493) @@ -523,7 +523,7 @@ ctlferegister(struct cam_periph *periph, void *arg) new_ccb->ccb_h.io_ptr = new_io; LIST_INSERT_HEAD(&softc->atio_list, &new_ccb->ccb_h, periph_links.le); - xpt_setup_ccb(&new_ccb->ccb_h, periph->path, /*priority*/ 1); + xpt_setup_ccb(&new_ccb->ccb_h, periph->path, CAM_PRIORITY_NONE); new_ccb->ccb_h.func_code = XPT_ACCEPT_TARGET_IO; new_ccb->ccb_h.cbfcnp = ctlfedone; new_ccb->ccb_h.flags |= CAM_UNLOCKED; @@ -570,7 +570,7 @@ ctlferegister(struct cam_periph *periph, void *arg) new_ccb->ccb_h.io_ptr = new_io; LIST_INSERT_HEAD(&softc->inot_list, &new_ccb->ccb_h, periph_links.le); - xpt_setup_ccb(&new_ccb->ccb_h, periph->path, /*priority*/ 1); + xpt_setup_ccb(&new_ccb->ccb_h, periph->path, CAM_PRIORITY_NONE); new_ccb->ccb_h.func_code = XPT_IMMEDIATE_NOTIFY; new_ccb->ccb_h.cbfcnp = ctlfedone; new_ccb->ccb_h.flags |= CAM_UNLOCKED; @@ -1003,10 +1003,7 @@ ctlfe_requeue_ccb(struct cam_periph *periph, union ccb * target/lun. Reset the target and LUN fields back to the wildcard * values before we send them back down to the SIM. */ - if (softc->flags & CTLFE_LUN_WILDCARD) { - ccb->ccb_h.target_id = CAM_TARGET_WILDCARD; - ccb->ccb_h.target_lun = CAM_LUN_WILDCARD; - } + xpt_setup_ccb(&ccb->ccb_h, periph->path, CAM_PRIORITY_NONE); xpt_action(ccb); } From owner-svn-src-head@freebsd.org Fri Jun 30 07:04:11 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C921DD8A0BA; Fri, 30 Jun 2017 07:04:11 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8AC2082CE8; Fri, 30 Jun 2017 07:04:11 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5U74A7m065340; Fri, 30 Jun 2017 07:04:10 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5U74ABh065339; Fri, 30 Jun 2017 07:04:10 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201706300704.v5U74ABh065339@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Fri, 30 Jun 2017 07:04:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320494 - head/lib/libc/rpc X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: head/lib/libc/rpc X-SVN-Commit-Revision: 320494 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 07:04:11 -0000 Author: delphij Date: Fri Jun 30 07:04:10 2017 New Revision: 320494 URL: https://svnweb.freebsd.org/changeset/base/320494 Log: Revert r300385 and r300624 which was false positive reported by cppcheck. dup_ncp() tries to allocate a buffer of MAXNETCONFIGLINE as tmp, which is then assigned to p->nc_netid via strcpy, so the free(p->nc_netid) would have correctly released the memory in case nc_lookups() fails, therefore, the allerged leak never existed. MFC after: 3 days Modified: head/lib/libc/rpc/getnetconfig.c Modified: head/lib/libc/rpc/getnetconfig.c ============================================================================== --- head/lib/libc/rpc/getnetconfig.c Fri Jun 30 06:34:49 2017 (r320493) +++ head/lib/libc/rpc/getnetconfig.c Fri Jun 30 07:04:10 2017 (r320494) @@ -692,7 +692,7 @@ static struct netconfig * dup_ncp(struct netconfig *ncp) { struct netconfig *p; - char *tmp, *tmp2; + char *tmp; u_int i; if ((tmp=malloc(MAXNETCONFIGLINE)) == NULL) @@ -701,7 +701,6 @@ dup_ncp(struct netconfig *ncp) free(tmp); return(NULL); } - tmp2 = tmp; /* * First we dup all the data from matched netconfig buffer. Then we * adjust some of the member pointer to a pre-allocated buffer where @@ -723,7 +722,6 @@ dup_ncp(struct netconfig *ncp) if (p->nc_lookups == NULL) { free(p->nc_netid); free(p); - free(tmp2); return(NULL); } for (i=0; i < p->nc_nlookups; i++) { From owner-svn-src-head@freebsd.org Fri Jun 30 07:48:09 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DB68AD8AE3C; Fri, 30 Jun 2017 07:48:09 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A88EC840F5; Fri, 30 Jun 2017 07:48:09 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5U7m8mq082100; Fri, 30 Jun 2017 07:48:08 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5U7m8Yb082099; Fri, 30 Jun 2017 07:48:08 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201706300748.v5U7m8Yb082099@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Fri, 30 Jun 2017 07:48:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320495 - head/sys/cam/ctl X-SVN-Group: head X-SVN-Commit-Author: mav X-SVN-Commit-Paths: head/sys/cam/ctl X-SVN-Commit-Revision: 320495 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 07:48:10 -0000 Author: mav Date: Fri Jun 30 07:48:08 2017 New Revision: 320495 URL: https://svnweb.freebsd.org/changeset/base/320495 Log: Allow status aggregation for ramdisk reads. Modified: head/sys/cam/ctl/ctl_backend_ramdisk.c Modified: head/sys/cam/ctl/ctl_backend_ramdisk.c ============================================================================== --- head/sys/cam/ctl/ctl_backend_ramdisk.c Fri Jun 30 07:04:10 2017 (r320494) +++ head/sys/cam/ctl/ctl_backend_ramdisk.c Fri Jun 30 07:48:08 2017 (r320495) @@ -525,6 +525,11 @@ nospc: io->scsiio.kern_sg_entries = sgs; io->io_hdr.flags |= CTL_FLAG_ALLOCATED; PRIV(io)->len += lbas; + if ((ARGS(io)->flags & CTL_LLF_READ) && + ARGS(io)->len <= PRIV(io)->len) { + ctl_set_success(&io->scsiio); + ctl_serseq_done(io); + } #ifdef CTL_TIME_IO getbinuptime(&io->io_hdr.dma_start_bt); #endif From owner-svn-src-head@freebsd.org Fri Jun 30 14:05:35 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5E6FED92599; Fri, 30 Jun 2017 14:05:35 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E77166F4CB; Fri, 30 Jun 2017 14:05:34 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id v5UE5Te6042096 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 30 Jun 2017 17:05:29 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua v5UE5Te6042096 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id v5UE5T83042077; Fri, 30 Jun 2017 17:05:29 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 30 Jun 2017 17:05:29 +0300 From: Konstantin Belousov To: Warner Losh Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r320483 - head/sbin/nvmecontrol Message-ID: <20170630140529.GV1935@kib.kiev.ua> References: <201706292315.v5TNFTOp060309@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201706292315.v5TNFTOp060309@repo.freebsd.org> User-Agent: Mutt/1.8.3 (2017-05-23) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 14:05:35 -0000 On Thu, Jun 29, 2017 at 11:15:29PM +0000, Warner Losh wrote: > Author: imp > Date: Thu Jun 29 23:15:28 2017 > New Revision: 320483 > URL: https://svnweb.freebsd.org/changeset/base/320483 > > Log: > Improve wdc error log pulling. i386 buildworld fails with /scratch/tmp/kib/src/sbin/nvmecontrol/wdc.c:141:14: error: comparison of integer s of different signs: 'ssize_t' (aka 'int') and 'uint32_t' (aka 'unsigned int') [-Werror,-Wsign-compare] if (resid > len) ~~~~~ ^ ~~~ 1 error generated. --- wdc.o --- From owner-svn-src-head@freebsd.org Fri Jun 30 14:45:44 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 62F5CD93236; Fri, 30 Jun 2017 14:45:44 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 30CE7706A2; Fri, 30 Jun 2017 14:45:44 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5UEjhbQ058085; Fri, 30 Jun 2017 14:45:43 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5UEjhkM058084; Fri, 30 Jun 2017 14:45:43 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201706301445.v5UEjhkM058084@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Fri, 30 Jun 2017 14:45:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320497 - head/sys/arm64/include X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: head/sys/arm64/include X-SVN-Commit-Revision: 320497 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 14:45:44 -0000 Author: andrew Date: Fri Jun 30 14:45:43 2017 New Revision: 320497 URL: https://svnweb.freebsd.org/changeset/base/320497 Log: Remove a blank line accidentally added in r320403. Modified: head/sys/arm64/include/atomic.h Modified: head/sys/arm64/include/atomic.h ============================================================================== --- head/sys/arm64/include/atomic.h Fri Jun 30 09:34:50 2017 (r320496) +++ head/sys/arm64/include/atomic.h Fri Jun 30 14:45:43 2017 (r320497) @@ -448,7 +448,6 @@ atomic_thread_fence_acq(void) { dmb(ld); - } static __inline void From owner-svn-src-head@freebsd.org Fri Jun 30 15:49:38 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0C029D94747; Fri, 30 Jun 2017 15:49:38 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CD88F72A95; Fri, 30 Jun 2017 15:49:37 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5UFnbSX084056; Fri, 30 Jun 2017 15:49:37 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5UFnaFA084054; Fri, 30 Jun 2017 15:49:36 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201706301549.v5UFnaFA084054@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Fri, 30 Jun 2017 15:49:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320498 - in head/sys: kern vm X-SVN-Group: head X-SVN-Commit-Author: alc X-SVN-Commit-Paths: in head/sys: kern vm X-SVN-Commit-Revision: 320498 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 15:49:38 -0000 Author: alc Date: Fri Jun 30 15:49:36 2017 New Revision: 320498 URL: https://svnweb.freebsd.org/changeset/base/320498 Log: Clear the MAP_WIREFUTURE flag on the vm map in exec_new_vmspace() when it recycles the current vm space. Otherwise, an mlockall(MCL_FUTURE) could still be in effect on the process after an execve(2), which violates the specification for mlockall(2). It's pointless for vm_map_stack() to check the MEMLOCK limit. It will never be asked to wire the stack. Moreover, it doesn't even implement wiring of the stack. Reviewed by: kib, markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D11421 Modified: head/sys/kern/kern_exec.c head/sys/vm/vm_map.c Modified: head/sys/kern/kern_exec.c ============================================================================== --- head/sys/kern/kern_exec.c Fri Jun 30 14:45:43 2017 (r320497) +++ head/sys/kern/kern_exec.c Fri Jun 30 15:49:36 2017 (r320498) @@ -1091,6 +1091,10 @@ exec_new_vmspace(struct image_params *imgp, struct sys shmexit(vmspace); pmap_remove_pages(vmspace_pmap(vmspace)); vm_map_remove(map, vm_map_min(map), vm_map_max(map)); + /* An exec terminates mlockall(MCL_FUTURE). */ + vm_map_lock(map); + vm_map_modflags(map, 0, MAP_WIREFUTURE); + vm_map_unlock(map); } else { error = vmspace_exec(p, sv_minuser, sv->sv_maxuser); if (error) Modified: head/sys/vm/vm_map.c ============================================================================== --- head/sys/vm/vm_map.c Fri Jun 30 14:45:43 2017 (r320497) +++ head/sys/vm/vm_map.c Fri Jun 30 15:49:36 2017 (r320498) @@ -3557,25 +3557,23 @@ vmspace_fork(struct vmspace *vm1, vm_ooffset_t *fork_c return (vm2); } +/* + * Create a process's stack for exec_new_vmspace(). This function is never + * asked to wire the newly created stack. + */ int vm_map_stack(vm_map_t map, vm_offset_t addrbos, vm_size_t max_ssize, vm_prot_t prot, vm_prot_t max, int cow) { vm_size_t growsize, init_ssize; - rlim_t lmemlim, vmemlim; + rlim_t vmemlim; int rv; + MPASS((map->flags & MAP_WIREFUTURE) == 0); growsize = sgrowsiz; init_ssize = (max_ssize < growsize) ? max_ssize : growsize; vm_map_lock(map); - lmemlim = lim_cur(curthread, RLIMIT_MEMLOCK); vmemlim = lim_cur(curthread, RLIMIT_VMEM); - if (!old_mlock && map->flags & MAP_WIREFUTURE) { - if (ptoa(pmap_wired_count(map->pmap)) + init_ssize > lmemlim) { - rv = KERN_NO_SPACE; - goto out; - } - } /* If we would blow our VMEM resource limit, no go */ if (map->size + init_ssize > vmemlim) { rv = KERN_NO_SPACE; From owner-svn-src-head@freebsd.org Fri Jun 30 16:10:22 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 46079D94FB6; Fri, 30 Jun 2017 16:10:22 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 13155738A8; Fri, 30 Jun 2017 16:10:22 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5UGALP0092335; Fri, 30 Jun 2017 16:10:21 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5UGAL0R092334; Fri, 30 Jun 2017 16:10:21 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706301610.v5UGAL0R092334@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 30 Jun 2017 16:10:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320499 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 320499 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 16:10:22 -0000 Author: kib Date: Fri Jun 30 16:10:21 2017 New Revision: 320499 URL: https://svnweb.freebsd.org/changeset/base/320499 Log: Define ino64_trunc_error under same conditions as the code which uses the variable. Noted by: bde Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/vfs_syscalls.c Modified: head/sys/kern/vfs_syscalls.c ============================================================================== --- head/sys/kern/vfs_syscalls.c Fri Jun 30 15:49:36 2017 (r320498) +++ head/sys/kern/vfs_syscalls.c Fri Jun 30 16:10:21 2017 (r320499) @@ -2106,7 +2106,7 @@ cvtstat(struct stat *st, struct ostat *ost) } #endif /* COMPAT_43 */ -#if defined(COMPAT_FREEBSD11) +#if defined(COMPAT_43) || defined(COMPAT_FREEBSD11) int ino64_trunc_error; SYSCTL_INT(_vfs, OID_AUTO, ino64_trunc_error, CTLFLAG_RW, &ino64_trunc_error, 0, From owner-svn-src-head@freebsd.org Fri Jun 30 16:12:58 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6E548D951A3; Fri, 30 Jun 2017 16:12:58 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3C2D273CFA; Fri, 30 Jun 2017 16:12:58 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5UGCvvW096192; Fri, 30 Jun 2017 16:12:57 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5UGCv0e096190; Fri, 30 Jun 2017 16:12:57 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706301612.v5UGCv0e096190@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 30 Jun 2017 16:12:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320500 - head/sys/compat/freebsd32 X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/compat/freebsd32 X-SVN-Commit-Revision: 320500 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 16:12:58 -0000 Author: kib Date: Fri Jun 30 16:12:57 2017 New Revision: 320500 URL: https://svnweb.freebsd.org/changeset/base/320500 Log: Amend the layout of kevent32 on powerpc where uint64_t has 8-byte alignment. Reported,tested and assertion updates by: andreast Sponsored by: The FreeBSD Foundation Modified: head/sys/compat/freebsd32/freebsd32.h head/sys/compat/freebsd32/freebsd32_misc.c Modified: head/sys/compat/freebsd32/freebsd32.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32.h Fri Jun 30 16:10:21 2017 (r320499) +++ head/sys/compat/freebsd32/freebsd32.h Fri Jun 30 16:12:57 2017 (r320500) @@ -141,8 +141,14 @@ struct kevent32 { short filter; /* filter for event */ u_short flags; u_int fflags; +#ifdef __powerpc__ + uint32_t pad0; +#endif int32_t data1, data2; uint32_t udata; /* opaque user data identifier */ +#ifdef __powerpc__ + uint32_t pad1; +#endif uint32_t ext64[8]; }; Modified: head/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_misc.c Fri Jun 30 16:10:21 2017 (r320499) +++ head/sys/compat/freebsd32/freebsd32_misc.c Fri Jun 30 16:12:57 2017 (r320500) @@ -119,7 +119,11 @@ CTASSERT(sizeof(struct statfs32) == 256); CTASSERT(sizeof(struct rusage32) == 72); #endif CTASSERT(sizeof(struct sigaltstack32) == 12); +#ifdef __powerpc__ +CTASSERT(sizeof(struct kevent32) == 64); +#else CTASSERT(sizeof(struct kevent32) == 56); +#endif CTASSERT(sizeof(struct iovec32) == 8); CTASSERT(sizeof(struct msghdr32) == 28); #ifdef __amd64__ From owner-svn-src-head@freebsd.org Fri Jun 30 16:16:22 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7920FD95263; Fri, 30 Jun 2017 16:16:22 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4712C73E6E; Fri, 30 Jun 2017 16:16:22 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5UGGLgd096354; Fri, 30 Jun 2017 16:16:21 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5UGGLr4096353; Fri, 30 Jun 2017 16:16:21 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706301616.v5UGGLr4096353@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 30 Jun 2017 16:16:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320501 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 320501 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 16:16:22 -0000 Author: kib Date: Fri Jun 30 16:16:21 2017 New Revision: 320501 URL: https://svnweb.freebsd.org/changeset/base/320501 Log: Correct fences for sys/refcount.h. The acq barrier in refcount_acquire() has no use, constructor must ensure that the changes are visible before publication by other means. Last release must sync/with the constructor and all updaters. This is based on the refcount/shared_ptr analysis I heard at the Hans Boehm and Herb Sutter talks about C++ atomics. Reviewed by: alc, jhb, markj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D11270 Modified: head/sys/sys/refcount.h Modified: head/sys/sys/refcount.h ============================================================================== --- head/sys/sys/refcount.h Fri Jun 30 16:12:57 2017 (r320500) +++ head/sys/sys/refcount.h Fri Jun 30 16:16:21 2017 (r320501) @@ -50,7 +50,7 @@ refcount_acquire(volatile u_int *count) { KASSERT(*count < UINT_MAX, ("refcount %p overflowed", count)); - atomic_add_acq_int(count, 1); + atomic_add_int(count, 1); } static __inline int @@ -58,10 +58,20 @@ refcount_release(volatile u_int *count) { u_int old; - /* XXX: Should this have a rel membar? */ + atomic_thread_fence_rel(); old = atomic_fetchadd_int(count, -1); KASSERT(old > 0, ("negative refcount %p", count)); - return (old == 1); + if (old > 1) + return (0); + + /* + * Last reference. Signal the user to call the destructor. + * + * Ensure that the destructor sees all updates. The fence_rel + * at the start of the function synchronized with this fence. + */ + atomic_thread_fence_acq(); + return (1); } #endif /* ! __SYS_REFCOUNT_H__ */ From owner-svn-src-head@freebsd.org Fri Jun 30 16:34:18 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6E34AD958E9; Fri, 30 Jun 2017 16:34:18 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3D081749F9; Fri, 30 Jun 2017 16:34:18 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5UGYH8O004259; Fri, 30 Jun 2017 16:34:17 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5UGYHgF004258; Fri, 30 Jun 2017 16:34:17 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201706301634.v5UGYHgF004258@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 30 Jun 2017 16:34:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320502 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 320502 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 16:34:18 -0000 Author: emaste Date: Fri Jun 30 16:34:17 2017 New Revision: 320502 URL: https://svnweb.freebsd.org/changeset/base/320502 Log: bsd.linker.mk: add band-aid for linker invocation failure In some cases bsd.linker.mk reports an error like: make[4]: ".../share/mk/bsd.linker.mk" line 56: Unknown linker from LD=ld -m elf32ppc_fbsd:" For now change this to a .warning, and then assume GNU ld 2.17.50. At present the linker type detection is used only for enabling build-id, and we can carry on without it when type detection fails. Also, show errors from ${LD} --version to aid in failure diagnosis. Successful invocations of ${LD} --version produce no output on stderr so this will not create any spam in non-failing builds. Tested by: swills Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D11424 Modified: head/share/mk/bsd.linker.mk Modified: head/share/mk/bsd.linker.mk ============================================================================== --- head/share/mk/bsd.linker.mk Fri Jun 30 16:16:21 2017 (r320501) +++ head/share/mk/bsd.linker.mk Fri Jun 30 16:34:17 2017 (r320502) @@ -47,9 +47,9 @@ ${var}= ${${var}.${${X_}_ld_hash}} .if ${ld} == "LD" || (${ld} == "XLD" && ${XLD} != ${LD}) .if !defined(${X_}LINKER_TYPE) || !defined(${X_}LINKER_VERSION) -_ld_version!= ${${ld}} --version 2>/dev/null | head -n 1 || echo none +_ld_version!= (${${ld}} --version || echo none) | head -n 1 .if ${_ld_version} == "none" -.error Unable to determine linker type from ${ld}=${${ld}} +.warning Unable to determine linker type from ${ld}=${${ld}} .endif .if ${_ld_version:[1..2]} == "GNU ld" ${X_}LINKER_TYPE= bfd @@ -58,7 +58,9 @@ _v= ${_ld_version:M[1-9].[0-9]*:[1]} ${X_}LINKER_TYPE= lld _v= ${_ld_version:[2]} .else -.error Unknown linker from ${ld}=${${ld}}: ${_ld_version} +.warning Unknown linker from ${ld}=${${ld}}: ${_ld_version}, defaulting to bfd +${X_}LINKER_TYPE= bfd +_v= 2.17.50 .endif ${X_}LINKER_VERSION!= echo "${_v:M[1-9].[0-9]*}" | \ awk -F. '{print $$1 * 10000 + $$2 * 100 + $$3;}' From owner-svn-src-head@freebsd.org Fri Jun 30 17:45:53 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 54805D96D61; Fri, 30 Jun 2017 17:45:53 +0000 (UTC) (envelope-from jasone@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 163D076CE9; Fri, 30 Jun 2017 17:45:53 +0000 (UTC) (envelope-from jasone@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5UHjqVa033446; Fri, 30 Jun 2017 17:45:52 GMT (envelope-from jasone@FreeBSD.org) Received: (from jasone@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5UHjpdX033442; Fri, 30 Jun 2017 17:45:51 GMT (envelope-from jasone@FreeBSD.org) Message-Id: <201706301745.v5UHjpdX033442@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jasone set sender to jasone@FreeBSD.org using -f From: Jason Evans Date: Fri, 30 Jun 2017 17:45:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320504 - in head/contrib/jemalloc: . doc include/jemalloc/internal X-SVN-Group: head X-SVN-Commit-Author: jasone X-SVN-Commit-Paths: in head/contrib/jemalloc: . doc include/jemalloc/internal X-SVN-Commit-Revision: 320504 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 17:45:53 -0000 Author: jasone Date: Fri Jun 30 17:45:51 2017 New Revision: 320504 URL: https://svnweb.freebsd.org/changeset/base/320504 Log: Default the abort_conf malloc option to false. This avoids troublesome backward compatibility issues. Modified: head/contrib/jemalloc/FREEBSD-diffs head/contrib/jemalloc/FREEBSD-upgrade head/contrib/jemalloc/doc/jemalloc.3 head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h Modified: head/contrib/jemalloc/FREEBSD-diffs ============================================================================== --- head/contrib/jemalloc/FREEBSD-diffs Fri Jun 30 17:43:13 2017 (r320503) +++ head/contrib/jemalloc/FREEBSD-diffs Fri Jun 30 17:45:51 2017 (r320504) @@ -1,8 +1,8 @@ diff --git a/doc/jemalloc.xml.in b/doc/jemalloc.xml.in -index 21e401ac..f977c5f5 100644 +index 21e401ac..c26f9f4a 100644 --- a/doc/jemalloc.xml.in +++ b/doc/jemalloc.xml.in -@@ -53,11 +53,21 @@ +@@ -53,11 +53,22 @@ This manual describes jemalloc @jemalloc_version@. More information can be found at the jemalloc website. @@ -10,7 +10,8 @@ index 21e401ac..f977c5f5 100644 + The following configuration options are enabled in libc's built-in + jemalloc: , + , , -+ , and . ++ , , and ++ . + Additionally, is enabled in development + versions of FreeBSD (controlled by the + MALLOC_PRODUCTION make variable). @@ -25,7 +26,7 @@ index 21e401ac..f977c5f5 100644 Standard API -@@ -3252,4 +3262,18 @@ malloc_conf = "narenas:1";]]> +@@ -3252,4 +3263,18 @@ malloc_conf = "narenas:1";]]> The posix_memalign() function conforms to IEEE Std 1003.1-2001 (POSIX.1). Modified: head/contrib/jemalloc/FREEBSD-upgrade ============================================================================== --- head/contrib/jemalloc/FREEBSD-upgrade Fri Jun 30 17:43:13 2017 (r320503) +++ head/contrib/jemalloc/FREEBSD-upgrade Fri Jun 30 17:45:51 2017 (r320504) @@ -96,6 +96,7 @@ do_extract_helper() { do_autogen() { ./autogen.sh --enable-xmalloc --enable-utrace \ + --with-malloc-conf=abort_conf:false \ --with-xslroot=/usr/local/share/xsl/docbook --with-private-namespace=__ \ --with-lg-page-sizes=12,13,14,16 } Modified: head/contrib/jemalloc/doc/jemalloc.3 ============================================================================== --- head/contrib/jemalloc/doc/jemalloc.3 Fri Jun 30 17:43:13 2017 (r320503) +++ head/contrib/jemalloc/doc/jemalloc.3 Fri Jun 30 17:45:51 2017 (r320504) @@ -2,12 +2,12 @@ .\" Title: JEMALLOC .\" Author: Jason Evans .\" Generator: DocBook XSL Stylesheets v1.76.1 -.\" Date: 06/14/2017 +.\" Date: 06/29/2017 .\" Manual: User Manual .\" Source: jemalloc 5.0.0-4-g84f6c2cae0fb1399377ef6aea9368444c4987cc6 .\" Language: English .\" -.TH "JEMALLOC" "3" "06/14/2017" "jemalloc 5.0.0-4-g84f6c2cae0fb" "User Manual" +.TH "JEMALLOC" "3" "06/29/2017" "jemalloc 5.0.0-4-g84f6c2cae0fb" "User Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -38,8 +38,9 @@ The following configuration options are enabled in lib \fB\-\-enable\-fill\fR, \fB\-\-enable\-lazy\-lock\fR, \fB\-\-enable\-stats\fR, -\fB\-\-enable\-utrace\fR, and -\fB\-\-enable\-xmalloc\fR\&. Additionally, +\fB\-\-enable\-utrace\fR, +\fB\-\-enable\-xmalloc\fR, and +\fB\-\-with\-malloc\-conf=abort_conf:false\fR\&. Additionally, \fB\-\-enable\-debug\fR is enabled in development versions of FreeBSD (controlled by the \fBMALLOC_PRODUCTION\fR Modified: head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h ============================================================================== --- head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h Fri Jun 30 17:43:13 2017 (r320503) +++ head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h Fri Jun 30 17:45:51 2017 (r320504) @@ -329,7 +329,7 @@ /* #undef JEMALLOC_EXPORT */ /* config.malloc_conf options string. */ -#define JEMALLOC_CONFIG_MALLOC_CONF "" +#define JEMALLOC_CONFIG_MALLOC_CONF "abort_conf:false" /* If defined, jemalloc takes the malloc/free/etc. symbol names. */ #define JEMALLOC_IS_MALLOC 1 From owner-svn-src-head@freebsd.org Fri Jun 30 20:01:33 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1C496D996D1; Fri, 30 Jun 2017 20:01:33 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D29C87ADAC; Fri, 30 Jun 2017 20:01:32 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5UK1VOS089190; Fri, 30 Jun 2017 20:01:31 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5UK1Vaf089189; Fri, 30 Jun 2017 20:01:31 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <201706302001.v5UK1Vaf089189@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Fri, 30 Jun 2017 20:01:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320506 - head/share/misc X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/share/misc X-SVN-Commit-Revision: 320506 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 20:01:33 -0000 Author: kevans Date: Fri Jun 30 20:01:31 2017 New Revision: 320506 URL: https://svnweb.freebsd.org/changeset/base/320506 Log: Add myself to commiters-src.dot, emaste@ as mentor; sort his mentees while here Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D11429 Modified: head/share/misc/committers-src.dot Modified: head/share/misc/committers-src.dot ============================================================================== --- head/share/misc/committers-src.dot Fri Jun 30 19:22:35 2017 (r320505) +++ head/share/misc/committers-src.dot Fri Jun 30 20:01:31 2017 (r320506) @@ -219,6 +219,7 @@ kan [label="Alexander Kabaev\nkan@FreeBSD.org\n2002/07 karels [label="Mike Karels\nkarels@FreeBSD.org\n2016/06/09"] ken [label="Ken Merry\nken@FreeBSD.org\n1998/09/08"] kensmith [label="Ken Smith\nkensmith@FreeBSD.org\n2004/01/23"] +kevans [label="Kyle Evans\nkevans@FreeBSD.org\n2017/06/20"] kevlo [label="Kevin Lo\nkevlo@FreeBSD.org\n2006/07/23"] kib [label="Konstantin Belousov\nkib@FreeBSD.org\n2006/06/03"] kmacy [label="Kip Macy\nkmacy@FreeBSD.org\n2005/06/01"] @@ -466,9 +467,10 @@ eivind -> des eivind -> rwatson emaste -> achim -emaste -> rstone emaste -> dteske +emaste -> kevans emaste -> markj +emaste -> rstone emax -> markus From owner-svn-src-head@freebsd.org Fri Jun 30 20:23:47 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D8A7AD99F2A; Fri, 30 Jun 2017 20:23:47 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A7E0E7BB3F; Fri, 30 Jun 2017 20:23:47 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5UKNkup000896; Fri, 30 Jun 2017 20:23:46 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5UKNkxZ000895; Fri, 30 Jun 2017 20:23:46 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706302023.v5UKNkxZ000895@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 30 Jun 2017 20:23:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320508 - head/lib/libc/stdio X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/lib/libc/stdio X-SVN-Commit-Revision: 320508 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 20:23:47 -0000 Author: kib Date: Fri Jun 30 20:23:46 2017 New Revision: 320508 URL: https://svnweb.freebsd.org/changeset/base/320508 Log: Fix typo in the r320472 change to fgetws(). Return proper value. Reported by: Oleg Ginzburg Reviewed by: vangyzen Sponsored by: The FreeBSD Foundation MFC after: 13 days Modified: head/lib/libc/stdio/fgetws.c Modified: head/lib/libc/stdio/fgetws.c ============================================================================== --- head/lib/libc/stdio/fgetws.c Fri Jun 30 20:06:15 2017 (r320507) +++ head/lib/libc/stdio/fgetws.c Fri Jun 30 20:23:46 2017 (r320508) @@ -116,7 +116,7 @@ ok: ret = ws; end: FUNLOCKFILE_CANCELSAFE(); - return (ws); + return (ret); error: ret = NULL; From owner-svn-src-head@freebsd.org Fri Jun 30 20:27:53 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 05F2ED9A01F; Fri, 30 Jun 2017 20:27:53 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C89047BD97; Fri, 30 Jun 2017 20:27:52 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5UKRqNk001262; Fri, 30 Jun 2017 20:27:52 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5UKRpeQ001259; Fri, 30 Jun 2017 20:27:51 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201706302027.v5UKRpeQ001259@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 30 Jun 2017 20:27:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320509 - in head/lib/libc: include stdio X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: in head/lib/libc: include stdio X-SVN-Commit-Revision: 320509 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 20:27:53 -0000 Author: kib Date: Fri Jun 30 20:27:51 2017 New Revision: 320509 URL: https://svnweb.freebsd.org/changeset/base/320509 Log: In the stdio cleanup push and pop wrappers, always call libc stubs for __pthread_cleanup_push/pop_imp instead of symbols also exported from libthr. This prevents calls into libthr if libthr is not yet initialized. The situation occurs e.g. when an LD_PRELOADed object is not linked against libthr, but the main binary is. Reported and tested by: jbeich PR: 220381 Discussed with: vangyzen Sponsored by: The FreeBSD Foundation MFC after: 13 days Modified: head/lib/libc/include/libc_private.h head/lib/libc/stdio/local.h Modified: head/lib/libc/include/libc_private.h ============================================================================== --- head/lib/libc/include/libc_private.h Fri Jun 30 20:23:46 2017 (r320508) +++ head/lib/libc/include/libc_private.h Fri Jun 30 20:27:51 2017 (r320509) @@ -415,6 +415,11 @@ void __libc_map_stacks_exec(void); void _pthread_cancel_enter(int); void _pthread_cancel_leave(int); +struct _pthread_cleanup_info; +void ___pthread_cleanup_push_imp(void (*)(void *), void *, + struct _pthread_cleanup_info *); +void ___pthread_cleanup_pop_imp(int); + void __throw_constraint_handler_s(const char * restrict msg, int error); #endif /* _LIBC_PRIVATE_H_ */ Modified: head/lib/libc/stdio/local.h ============================================================================== --- head/lib/libc/stdio/local.h Fri Jun 30 20:23:46 2017 (r320508) +++ head/lib/libc/stdio/local.h Fri Jun 30 20:27:51 2017 (r320509) @@ -148,11 +148,11 @@ void __stdio_cancel_cleanup(void *); struct _pthread_cleanup_info __cleanup_info__; \ if (__isthreaded) { \ _FLOCKFILE(fp); \ - __pthread_cleanup_push_imp( \ + ___pthread_cleanup_push_imp( \ __stdio_cancel_cleanup, (fp), \ &__cleanup_info__); \ } else { \ - __pthread_cleanup_push_imp( \ + ___pthread_cleanup_push_imp( \ __stdio_cancel_cleanup, NULL, \ &__cleanup_info__); \ } \ @@ -160,7 +160,7 @@ void __stdio_cancel_cleanup(void *); #define FUNLOCKFILE_CANCELSAFE() \ (void)0; \ } \ - __pthread_cleanup_pop_imp(1); \ + ___pthread_cleanup_pop_imp(1); \ } #endif /* _STDIO_LOCAL_H */ From owner-svn-src-head@freebsd.org Fri Jun 30 22:01:20 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1FC95D9B8CC; Fri, 30 Jun 2017 22:01:20 +0000 (UTC) (envelope-from rlibby@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E34E07E740; Fri, 30 Jun 2017 22:01:19 +0000 (UTC) (envelope-from rlibby@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5UM1Jrq041790; Fri, 30 Jun 2017 22:01:19 GMT (envelope-from rlibby@FreeBSD.org) Received: (from rlibby@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5UM1JKR041789; Fri, 30 Jun 2017 22:01:19 GMT (envelope-from rlibby@FreeBSD.org) Message-Id: <201706302201.v5UM1JKR041789@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rlibby set sender to rlibby@FreeBSD.org using -f From: Ryan Libby Date: Fri, 30 Jun 2017 22:01:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320511 - head/sys/geom/virstor X-SVN-Group: head X-SVN-Commit-Author: rlibby X-SVN-Commit-Paths: head/sys/geom/virstor X-SVN-Commit-Revision: 320511 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 22:01:20 -0000 Author: rlibby Date: Fri Jun 30 22:01:18 2017 New Revision: 320511 URL: https://svnweb.freebsd.org/changeset/base/320511 Log: g_virstor.h: macro parenthesization Build with gcc -Wint-in-bool-context revealed a macro parenthesization error (invoking LOG_MSG with a ternary expression for lvl). Reviewed by: markj Approved by: markj (mentor) Sponsored by: Dell EMC Isilon Differential revision: https://reviews.freebsd.org/D11411 Modified: head/sys/geom/virstor/g_virstor.h Modified: head/sys/geom/virstor/g_virstor.h ============================================================================== --- head/sys/geom/virstor/g_virstor.h Fri Jun 30 21:32:48 2017 (r320510) +++ head/sys/geom/virstor/g_virstor.h Fri Jun 30 22:01:18 2017 (r320511) @@ -48,8 +48,8 @@ struct virstor_map_entry { #define LOG_MSG(lvl, ...) do { \ if (g_virstor_debug >= (lvl)) { \ printf("GEOM_" G_VIRSTOR_CLASS_NAME); \ - if (lvl > 0) \ - printf("[%u]", lvl); \ + if ((lvl) > 0) \ + printf("[%u]", (lvl)); \ printf(": "); \ printf(__VA_ARGS__); \ printf("\n"); \ @@ -60,8 +60,8 @@ struct virstor_map_entry { #define LOG_REQ(lvl, bp, ...) do { \ if (g_virstor_debug >= (lvl)) { \ printf("GEOM_" G_VIRSTOR_CLASS_NAME); \ - if (lvl > 0) \ - printf("[%u]", lvl); \ + if ((lvl) > 0) \ + printf("[%u]", (lvl)); \ printf(": "); \ printf(__VA_ARGS__); \ printf(" "); \ From owner-svn-src-head@freebsd.org Fri Jun 30 22:06:26 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 51EB9D9BB6D; Fri, 30 Jun 2017 22:06:26 +0000 (UTC) (envelope-from rlibby@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 197E17EBAA; Fri, 30 Jun 2017 22:06:26 +0000 (UTC) (envelope-from rlibby@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5UM6Pko043014; Fri, 30 Jun 2017 22:06:25 GMT (envelope-from rlibby@FreeBSD.org) Received: (from rlibby@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5UM6Pgo043013; Fri, 30 Jun 2017 22:06:25 GMT (envelope-from rlibby@FreeBSD.org) Message-Id: <201706302206.v5UM6Pgo043013@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rlibby set sender to rlibby@FreeBSD.org using -f From: Ryan Libby Date: Fri, 30 Jun 2017 22:06:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320513 - head/sys/dev/mpt X-SVN-Group: head X-SVN-Commit-Author: rlibby X-SVN-Commit-Paths: head/sys/dev/mpt X-SVN-Commit-Revision: 320513 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 22:06:26 -0000 Author: rlibby Date: Fri Jun 30 22:06:24 2017 New Revision: 320513 URL: https://svnweb.freebsd.org/changeset/base/320513 Log: mpt.h: macro parenthesization Build with gcc -Wint-in-bool-context revealed a macro parenthesization error (invoking mpt_lprt with a ternary expression for level). Reviewed by: markj Approved by: markj (mentor) Sponsored by: Dell EMC Isilon Differential revision: https://reviews.freebsd.org/D11412 Modified: head/sys/dev/mpt/mpt.h Modified: head/sys/dev/mpt/mpt.h ============================================================================== --- head/sys/dev/mpt/mpt.h Fri Jun 30 22:04:10 2017 (r320512) +++ head/sys/dev/mpt/mpt.h Fri Jun 30 22:06:24 2017 (r320513) @@ -932,14 +932,14 @@ enum { #define mpt_lprt(mpt, level, ...) \ do { \ - if (level <= (mpt)->verbose) \ + if ((level) <= (mpt)->verbose) \ mpt_prt(mpt, __VA_ARGS__); \ } while (0) #if 0 #define mpt_lprtc(mpt, level, ...) \ do { \ - if (level <= (mpt)->verbose) \ + if ((level) <= (mpt)->verbose) \ mpt_prtc(mpt, __VA_ARGS__); \ } while (0) #endif From owner-svn-src-head@freebsd.org Fri Jun 30 22:14:23 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BCE4CD9C0CC; Fri, 30 Jun 2017 22:14:23 +0000 (UTC) (envelope-from rlibby@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7E7077F7B2; Fri, 30 Jun 2017 22:14:23 +0000 (UTC) (envelope-from rlibby@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5UMEMto048793; Fri, 30 Jun 2017 22:14:22 GMT (envelope-from rlibby@FreeBSD.org) Received: (from rlibby@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5UMEMe0048792; Fri, 30 Jun 2017 22:14:22 GMT (envelope-from rlibby@FreeBSD.org) Message-Id: <201706302214.v5UMEMe0048792@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rlibby set sender to rlibby@FreeBSD.org using -f From: Ryan Libby Date: Fri, 30 Jun 2017 22:14:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320517 - head/sys/dev/xen/netfront X-SVN-Group: head X-SVN-Commit-Author: rlibby X-SVN-Commit-Paths: head/sys/dev/xen/netfront X-SVN-Commit-Revision: 320517 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 22:14:23 -0000 Author: rlibby Date: Fri Jun 30 22:14:22 2017 New Revision: 320517 URL: https://svnweb.freebsd.org/changeset/base/320517 Log: netfront.c: avoid gcc variably-modified warning gcc produces a "variably modified X at file scope" warning for structures that use these size definitions. I think the definitions are actually fine but can be rephrased with the __CONST_RING_SIZE macro more cleanly anyway. Reviewed by: markj, royger Approved by: markj (mentor) Sponsored by: Dell EMC Isilon Differential revision: https://reviews.freebsd.org/D11417 Modified: head/sys/dev/xen/netfront/netfront.c Modified: head/sys/dev/xen/netfront/netfront.c ============================================================================== --- head/sys/dev/xen/netfront/netfront.c Fri Jun 30 22:13:28 2017 (r320516) +++ head/sys/dev/xen/netfront/netfront.c Fri Jun 30 22:14:22 2017 (r320517) @@ -74,8 +74,8 @@ __FBSDID("$FreeBSD$"); /* Features supported by all backends. TSO and LRO can be negotiated */ #define XN_CSUM_FEATURES (CSUM_TCP | CSUM_UDP) -#define NET_TX_RING_SIZE __RING_SIZE((netif_tx_sring_t *)0, PAGE_SIZE) -#define NET_RX_RING_SIZE __RING_SIZE((netif_rx_sring_t *)0, PAGE_SIZE) +#define NET_TX_RING_SIZE __CONST_RING_SIZE(netif_tx, PAGE_SIZE) +#define NET_RX_RING_SIZE __CONST_RING_SIZE(netif_rx, PAGE_SIZE) #define NET_RX_SLOTS_MIN (XEN_NETIF_NR_SLOTS_MIN + 1) From owner-svn-src-head@freebsd.org Fri Jun 30 23:53:41 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 70676D9DE45; Fri, 30 Jun 2017 23:53:41 +0000 (UTC) (envelope-from phil@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3DE4483294; Fri, 30 Jun 2017 23:53:41 +0000 (UTC) (envelope-from phil@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5UNreZJ090806; Fri, 30 Jun 2017 23:53:40 GMT (envelope-from phil@FreeBSD.org) Received: (from phil@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5UNreVP090805; Fri, 30 Jun 2017 23:53:40 GMT (envelope-from phil@FreeBSD.org) Message-Id: <201706302353.v5UNreVP090805@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: phil set sender to phil@FreeBSD.org using -f From: Phil Shafer Date: Fri, 30 Jun 2017 23:53:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320521 - head/lib/libxo/tests X-SVN-Group: head X-SVN-Commit-Author: phil X-SVN-Commit-Paths: head/lib/libxo/tests X-SVN-Commit-Revision: 320521 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Jun 2017 23:53:41 -0000 Author: phil Date: Fri Jun 30 23:53:40 2017 New Revision: 320521 URL: https://svnweb.freebsd.org/changeset/base/320521 Log: Fix functional_test.sh to use --libxo options instead of the deprecated LIBXO_OPTIONS environment variable. Submitted by: phil Modified: head/lib/libxo/tests/functional_test.sh Modified: head/lib/libxo/tests/functional_test.sh ============================================================================== --- head/lib/libxo/tests/functional_test.sh Fri Jun 30 22:19:18 2017 (r320520) +++ head/lib/libxo/tests/functional_test.sh Fri Jun 30 23:53:40 2017 (r320521) @@ -39,14 +39,14 @@ check() [ -s "${out_file}" ] && out_flag="-o file:${out_file}" if [ "$xo_fmt" = "E" ]; then - LIBXO_OPTIONS="warn,encoder=test" + libxo_options=" warn,encoder=test" else - LIBXO_OPTIONS=":W${xo_fmt}" + libxo_options=":W${xo_fmt}" fi atf_check -s exit:0 -e file:${err_file} -o file:${out_file} \ env LC_ALL=en_US.UTF-8 \ - LIBXO_OPTIONS="${LIBXO_OPTIONS}" TZ="EST" "${SRCDIR}/${tc}" \ + TZ="EST" "${SRCDIR}/${tc}" --libxo${libxo_options}\ } From owner-svn-src-head@freebsd.org Sat Jul 1 02:19:52 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E2489DA300D; Sat, 1 Jul 2017 02:19:52 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4B435326F; Sat, 1 Jul 2017 02:19:52 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v612Jnkj047874; Sat, 1 Jul 2017 02:19:49 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v612JnCm047873; Sat, 1 Jul 2017 02:19:49 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201707010219.v612JnCm047873@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sat, 1 Jul 2017 02:19:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320522 - head/sbin/nvmecontrol X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sbin/nvmecontrol X-SVN-Commit-Revision: 320522 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Jul 2017 02:19:53 -0000 Author: imp Date: Sat Jul 1 02:19:48 2017 New Revision: 320522 URL: https://svnweb.freebsd.org/changeset/base/320522 Log: Fix sign of resid and add a mostly useless cast to cope with signed vs unsigned check warnings from traditional unix code construsts bogusly flagged as potentially unsafe. Modified: head/sbin/nvmecontrol/wdc.c Modified: head/sbin/nvmecontrol/wdc.c ============================================================================== --- head/sbin/nvmecontrol/wdc.c Fri Jun 30 23:53:40 2017 (r320521) +++ head/sbin/nvmecontrol/wdc.c Sat Jul 1 02:19:48 2017 (r320522) @@ -105,7 +105,7 @@ wdc_do_dump(int fd, char *tmpl, const char *suffix, ui int fd2; uint8_t *buf; uint32_t len, offset; - ssize_t resid; + size_t resid; wdc_append_serial_name(fd, tmpl, MAXPATHLEN, suffix); @@ -142,7 +142,7 @@ wdc_do_dump(int fd, char *tmpl, const char *suffix, ui resid = len; first = 0; } - if (write(fd2, buf, resid) != resid) + if (write(fd2, buf, resid) != (ssize_t)resid) err(1, "write"); offset += resid; len -= resid; From owner-svn-src-head@freebsd.org Sat Jul 1 05:27:41 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6B2B4D8D928; Sat, 1 Jul 2017 05:27:41 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 476EE791B9; Sat, 1 Jul 2017 05:27:41 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v615Rele026695; Sat, 1 Jul 2017 05:27:40 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v615RekV026694; Sat, 1 Jul 2017 05:27:40 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201707010527.v615RekV026694@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Sat, 1 Jul 2017 05:27:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320527 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: alc X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 320527 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Jul 2017 05:27:41 -0000 Author: alc Date: Sat Jul 1 05:27:40 2017 New Revision: 320527 URL: https://svnweb.freebsd.org/changeset/base/320527 Log: Change blst_leaf_alloc() to handle a cursor argument, and to improve performance. To find in the leaf bitmap all ranges of sufficient length, use a doubling strategy with shift-and-and until each bit still set represents a bit sequence of length 'count', or until the bitmask is zero. In the latter case, update the hint based on the first bit sequence length not found to be available. For example, seeking an interval of length 12, the set bits of the bitmap would represent intervals of length 1, then 2, then 3, then 6, then 12. If no bits are set at the point when each bit represents an interval of length 6, then the hint can be updated to 5 and the search terminated. If long-enough intervals are found, discard those before the cursor. If any remain, use binary search to find the position of the first of them, and allocate that interval. Submitted by: Doug Moore Reviewed by: kib, markj MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D11426 Modified: head/sys/kern/subr_blist.c Modified: head/sys/kern/subr_blist.c ============================================================================== --- head/sys/kern/subr_blist.c Sat Jul 1 03:39:38 2017 (r320526) +++ head/sys/kern/subr_blist.c Sat Jul 1 05:27:40 2017 (r320527) @@ -121,7 +121,8 @@ void panic(const char *ctl, ...); * static support functions */ -static daddr_t blst_leaf_alloc(blmeta_t *scan, daddr_t blk, int count); +static daddr_t blst_leaf_alloc(blmeta_t *scan, daddr_t blk, int count, + daddr_t cursor); static daddr_t blst_meta_alloc(blmeta_t *scan, daddr_t blk, daddr_t count, daddr_t radix, daddr_t skip, daddr_t cursor); static void blst_leaf_free(blmeta_t *scan, daddr_t relblk, int count); @@ -227,7 +228,8 @@ blist_alloc(blist_t bl, daddr_t count) */ while (count <= bl->bl_root->bm_bighint) { if (bl->bl_radix == BLIST_BMAP_RADIX) - blk = blst_leaf_alloc(bl->bl_root, 0, count); + blk = blst_leaf_alloc(bl->bl_root, 0, count, + bl->bl_cursor); else blk = blst_meta_alloc(bl->bl_root, 0, count, bl->bl_radix, bl->bl_skip, bl->bl_cursor); @@ -352,77 +354,92 @@ blist_print(blist_t bl) /* * blist_leaf_alloc() - allocate at a leaf in the radix tree (a bitmap). * - * This is the core of the allocator and is optimized for the 1 block - * and the BLIST_BMAP_RADIX block allocation cases. Other cases are - * somewhat slower. The 1 block allocation case is log2 and extremely - * quick. + * This is the core of the allocator and is optimized for the + * BLIST_BMAP_RADIX block allocation case. Otherwise, execution + * time is proportional to log2(count) + log2(BLIST_BMAP_RADIX). */ static daddr_t -blst_leaf_alloc( - blmeta_t *scan, - daddr_t blk, - int count -) { - u_daddr_t orig = scan->u.bmu_bitmap; +blst_leaf_alloc(blmeta_t *scan, daddr_t blk, int count, daddr_t cursor) +{ + u_daddr_t mask; + int count1, hi, lo, mid, num_shifts, range1, range_ext; - if (orig == 0) { + if (count == BLIST_BMAP_RADIX) { /* - * Optimize bitmap all-allocated case. Also, count = 1 - * case assumes at least 1 bit is free in the bitmap, so - * we have to take care of this case here. + * Optimize allocation of BLIST_BMAP_RADIX bits. If this wasn't + * a special case, then forming the final value of 'mask' below + * would require special handling to avoid an invalid left shift + * when count equals the number of bits in mask. */ + if (~scan->u.bmu_bitmap != 0) { + scan->bm_bighint = BLIST_BMAP_RADIX - 1; + return (SWAPBLK_NONE); + } + if (cursor != blk) + return (SWAPBLK_NONE); + scan->u.bmu_bitmap = 0; scan->bm_bighint = 0; - return(SWAPBLK_NONE); + return (blk); } - if (count == 1) { + range1 = 0; + count1 = count - 1; + num_shifts = fls(count1); + mask = scan->u.bmu_bitmap; + while (mask != 0 && num_shifts > 0) { /* - * Optimized code to allocate one bit out of the bitmap + * If bit i is set in mask, then bits in [i, i+range1] are set + * in scan->u.bmu_bitmap. The value of range1 is equal to + * count1 >> num_shifts. Grow range and reduce num_shifts to 0, + * while preserving these invariants. The updates to mask leave + * fewer bits set, but each bit that remains set represents a + * longer string of consecutive bits set in scan->u.bmu_bitmap. */ - u_daddr_t mask; - int j = BLIST_BMAP_RADIX/2; - int r = 0; - - mask = (u_daddr_t)-1 >> (BLIST_BMAP_RADIX/2); - - while (j) { - if ((orig & mask) == 0) { - r += j; - orig >>= j; - } - j >>= 1; - mask >>= j; - } - scan->u.bmu_bitmap &= ~((u_daddr_t)1 << r); - return(blk + r); + num_shifts--; + range_ext = range1 + ((count1 >> num_shifts) & 1); + mask &= mask >> range_ext; + range1 += range_ext; } - if (count <= BLIST_BMAP_RADIX) { + if (mask == 0) { /* - * non-optimized code to allocate N bits out of the bitmap. - * The more bits, the faster the code runs. It will run - * the slowest allocating 2 bits, but since there aren't any - * memory ops in the core loop (or shouldn't be, anyway), - * you probably won't notice the difference. + * Update bighint. There is no allocation bigger than range1 + * available in this leaf. */ - int j; - int n = BLIST_BMAP_RADIX - count; - u_daddr_t mask; + scan->bm_bighint = range1; + return (SWAPBLK_NONE); + } - mask = (u_daddr_t)-1 >> n; + /* + * Discard any candidates that appear before the cursor. + */ + lo = cursor - blk; + mask &= ~(u_daddr_t)0 << lo; - for (j = 0; j <= n; ++j) { - if ((orig & mask) == mask) { - scan->u.bmu_bitmap &= ~mask; - return(blk + j); - } - mask = (mask << 1); - } + if (mask == 0) + return (SWAPBLK_NONE); + + /* + * The least significant set bit in mask marks the start of the first + * available range of sufficient size. Clear all the bits but that one, + * and then perform a binary search to find its position. + */ + mask &= -mask; + hi = BLIST_BMAP_RADIX - count1; + while (lo + 1 < hi) { + mid = (lo + hi) >> 1; + if ((mask >> mid) != 0) + lo = mid; + else + hi = mid; } + /* - * We couldn't allocate count in this subtree, update bighint. + * Set in mask exactly the bits being allocated, and clear them from + * the set of available bits. */ - scan->bm_bighint = count - 1; - return(SWAPBLK_NONE); + mask = (mask << count) - mask; + scan->u.bmu_bitmap &= ~mask; + return (blk + lo); } /* @@ -491,7 +508,8 @@ blst_meta_alloc(blmeta_t *scan, daddr_t blk, daddr_t c * The allocation might fit in the i'th subtree. */ if (next_skip == 1) { - r = blst_leaf_alloc(&scan[i], blk, count); + r = blst_leaf_alloc(&scan[i], blk, count, + cursor > blk ? cursor : blk); } else { r = blst_meta_alloc(&scan[i], blk, count, radix, next_skip - 1, cursor > blk ? From owner-svn-src-head@freebsd.org Sat Jul 1 05:35:35 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2B42ED8EDF6; Sat, 1 Jul 2017 05:35:35 +0000 (UTC) (envelope-from jah@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BC71C79BA4; Sat, 1 Jul 2017 05:35:34 +0000 (UTC) (envelope-from jah@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v615ZXpZ031187; Sat, 1 Jul 2017 05:35:33 GMT (envelope-from jah@FreeBSD.org) Received: (from jah@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v615ZTSY031146; Sat, 1 Jul 2017 05:35:29 GMT (envelope-from jah@FreeBSD.org) Message-Id: <201707010535.v615ZTSY031146@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jah set sender to jah@FreeBSD.org using -f From: "Jason A. Harmening" Date: Sat, 1 Jul 2017 05:35:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320528 - in head/sys: amd64/include arm/arm arm/include arm64/arm64 arm64/include dev/aac dev/aacraid dev/bnxt dev/cxgb dev/cxgb/ulp/iw_cxgb dev/hyperv/storvsc dev/mfi dev/tsec dev/xdm... X-SVN-Group: head X-SVN-Commit-Author: jah X-SVN-Commit-Paths: in head/sys: amd64/include arm/arm arm/include arm64/arm64 arm64/include dev/aac dev/aacraid dev/bnxt dev/cxgb dev/cxgb/ulp/iw_cxgb dev/hyperv/storvsc dev/mfi dev/tsec dev/xdma dev/xen/blkfront i386/i... X-SVN-Commit-Revision: 320528 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Jul 2017 05:35:35 -0000 Author: jah Date: Sat Jul 1 05:35:29 2017 New Revision: 320528 URL: https://svnweb.freebsd.org/changeset/base/320528 Log: Clean up MD pollution of bus_dma.h: --Remove special-case handling of sparc64 bus_dmamap* functions. Replace with a more generic mechanism that allows MD busdma implementations to generate inline mapping functions by defining WANT_INLINE_DMAMAP in . This is currently useful for sparc64, x86, and arm64, which all implement non-load dmamap operations as simple wrappers around map objects which may be bus- or device-specific. --Remove NULL-checked bus_dmamap macros. Implement the equivalent NULL checks in the inlined x86 implementation. For non-x86 platforms, these checks are a minor pessimization as those platforms do not currently allow NULL maps. NULL maps were originally allowed on arm64, which appears to have been the motivation behind adding arm[64]-specific barriers to bus_dma.h, but that support was removed in r299463. --Simplify the internal interface used by the bus_dmamap_load* variants and move it to bus_dma_internal.h --Fix some drivers that directly include sys/bus_dma.h despite the recommendations of bus_dma(9) Reviewed by: kib (previous revision), marius Differential Revision: https://reviews.freebsd.org/D10729 Added: head/sys/sys/bus_dma_internal.h (contents, props changed) head/sys/x86/include/bus_dma.h (contents, props changed) Modified: head/sys/amd64/include/bus_dma.h head/sys/arm/arm/busdma_machdep-v4.c head/sys/arm/arm/busdma_machdep-v6.c head/sys/arm/include/bus_dma.h head/sys/arm64/arm64/busdma_machdep.c head/sys/arm64/include/bus_dma.h head/sys/arm64/include/bus_dma_impl.h head/sys/dev/aac/aac.c head/sys/dev/aacraid/aacraid.c head/sys/dev/bnxt/bnxt.h head/sys/dev/cxgb/cxgb_adapter.h head/sys/dev/cxgb/cxgb_main.c head/sys/dev/cxgb/cxgb_sge.c head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cq.c head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_dbg.c head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_ev.c head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.c head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_mem.c head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.c head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c head/sys/dev/mfi/mfi.c head/sys/dev/mfi/mfi_cam.c head/sys/dev/tsec/if_tsec.c head/sys/dev/xdma/xdma.c head/sys/dev/xen/blkfront/blkfront.c head/sys/i386/include/bus_dma.h head/sys/mips/include/bus_dma.h head/sys/mips/mips/busdma_machdep.c head/sys/net/iflib.h head/sys/powerpc/include/bus_dma.h head/sys/powerpc/powerpc/busdma_machdep.c head/sys/riscv/include/bus_dma.h head/sys/riscv/riscv/busdma_machdep.c head/sys/sparc64/include/bus_dma.h head/sys/sys/bus_dma.h head/sys/x86/include/busdma_impl.h head/sys/x86/iommu/busdma_dmar.c head/sys/x86/x86/busdma_bounce.c head/sys/x86/x86/busdma_machdep.c Modified: head/sys/amd64/include/bus_dma.h ============================================================================== --- head/sys/amd64/include/bus_dma.h Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/amd64/include/bus_dma.h Sat Jul 1 05:35:29 2017 (r320528) @@ -29,6 +29,6 @@ #ifndef _AMD64_BUS_DMA_H_ #define _AMD64_BUS_DMA_H_ -#include +#include #endif /* _AMD64_BUS_DMA_H_ */ Modified: head/sys/arm/arm/busdma_machdep-v4.c ============================================================================== --- head/sys/arm/arm/busdma_machdep-v4.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/arm/arm/busdma_machdep-v4.c Sat Jul 1 05:35:29 2017 (r320528) @@ -1008,7 +1008,7 @@ _bus_dmamap_load_phys(bus_dma_tag_t dmat, bus_dmamap_t * Did we fit? */ if (buflen != 0) { - _bus_dmamap_unload(dmat, map); + bus_dmamap_unload(dmat, map); return (EFBIG); /* XXX better return value here? */ } return (0); @@ -1129,14 +1129,14 @@ cleanup: * Did we fit? */ if (buflen != 0) { - _bus_dmamap_unload(dmat, map); + bus_dmamap_unload(dmat, map); return (EFBIG); /* XXX better return value here? */ } return (0); } void -__bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, struct memdesc *mem, +_bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) { @@ -1161,7 +1161,7 @@ _bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t * Release the mapping held by map. */ void -_bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) +bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) { struct bounce_page *bpage; struct bounce_zone *bz; @@ -1334,7 +1334,7 @@ _bus_dmamap_sync_bp(bus_dma_tag_t dmat, bus_dmamap_t m } void -_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) +bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) { struct sync_list *sl, *end; int bufaligned; Modified: head/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- head/sys/arm/arm/busdma_machdep-v6.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/arm/arm/busdma_machdep-v6.c Sat Jul 1 05:35:29 2017 (r320528) @@ -1070,7 +1070,7 @@ _bus_dmamap_load_phys(bus_dma_tag_t dmat, bus_dmamap_t * Did we fit? */ if (buflen != 0) { - _bus_dmamap_unload(dmat, map); + bus_dmamap_unload(dmat, map); return (EFBIG); /* XXX better return value here? */ } return (0); @@ -1195,14 +1195,14 @@ cleanup: * Did we fit? */ if (buflen != 0) { - _bus_dmamap_unload(dmat, map); + bus_dmamap_unload(dmat, map); return (EFBIG); /* XXX better return value here? */ } return (0); } void -__bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, struct memdesc *mem, +_bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) { @@ -1226,7 +1226,7 @@ _bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t * Release the mapping held by map. */ void -_bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) +bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) { struct bounce_page *bpage; struct bounce_zone *bz; @@ -1326,7 +1326,7 @@ dma_dcache_sync(struct sync_list *sl, bus_dmasync_op_t } void -_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) +bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) { struct bounce_page *bpage; struct sync_list *sl, *end; Modified: head/sys/arm/include/bus_dma.h ============================================================================== --- head/sys/arm/include/bus_dma.h Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/arm/include/bus_dma.h Sat Jul 1 05:35:29 2017 (r320528) @@ -67,6 +67,7 @@ #define _ARM_BUS_DMA_H #include +#include /* Bus Space DMA macros */ Modified: head/sys/arm64/arm64/busdma_machdep.c ============================================================================== --- head/sys/arm64/arm64/busdma_machdep.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/arm64/arm64/busdma_machdep.c Sat Jul 1 05:35:29 2017 (r320528) @@ -223,133 +223,3 @@ bus_dma_tag_destroy(bus_dma_tag_t dmat) return (tc->impl->tag_destroy(dmat)); } -/* - * Allocate a handle for mapping from kva/uva/physical - * address space into bus device space. - */ -int -bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp) -{ - struct bus_dma_tag_common *tc; - - tc = (struct bus_dma_tag_common *)dmat; - return (tc->impl->map_create(dmat, flags, mapp)); -} - -/* - * Destroy a handle for mapping from kva/uva/physical - * address space into bus device space. - */ -int -bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map) -{ - struct bus_dma_tag_common *tc; - - tc = (struct bus_dma_tag_common *)dmat; - return (tc->impl->map_destroy(dmat, map)); -} - - -/* - * Allocate a piece of memory that can be efficiently mapped into - * bus device space based on the constraints listed in the dma tag. - * A dmamap to for use with dmamap_load is also allocated. - */ -int -bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, - bus_dmamap_t *mapp) -{ - struct bus_dma_tag_common *tc; - - tc = (struct bus_dma_tag_common *)dmat; - return (tc->impl->mem_alloc(dmat, vaddr, flags, mapp)); -} - -/* - * Free a piece of memory and it's allociated dmamap, that was allocated - * via bus_dmamem_alloc. Make the same choice for free/contigfree. - */ -void -bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map) -{ - struct bus_dma_tag_common *tc; - - tc = (struct bus_dma_tag_common *)dmat; - tc->impl->mem_free(dmat, vaddr, map); -} - -int -_bus_dmamap_load_phys(bus_dma_tag_t dmat, bus_dmamap_t map, vm_paddr_t buf, - bus_size_t buflen, int flags, bus_dma_segment_t *segs, int *segp) -{ - struct bus_dma_tag_common *tc; - - tc = (struct bus_dma_tag_common *)dmat; - return (tc->impl->load_phys(dmat, map, buf, buflen, flags, segs, - segp)); -} - -int -_bus_dmamap_load_ma(bus_dma_tag_t dmat, bus_dmamap_t map, struct vm_page **ma, - bus_size_t tlen, int ma_offs, int flags, bus_dma_segment_t *segs, - int *segp) -{ - struct bus_dma_tag_common *tc; - - tc = (struct bus_dma_tag_common *)dmat; - return (tc->impl->load_ma(dmat, map, ma, tlen, ma_offs, flags, - segs, segp)); -} - -int -_bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, - bus_size_t buflen, pmap_t pmap, int flags, bus_dma_segment_t *segs, - int *segp) -{ - struct bus_dma_tag_common *tc; - - tc = (struct bus_dma_tag_common *)dmat; - return (tc->impl->load_buffer(dmat, map, buf, buflen, pmap, flags, segs, - segp)); -} - -void -__bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, - struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) -{ - struct bus_dma_tag_common *tc; - - tc = (struct bus_dma_tag_common *)dmat; - tc->impl->map_waitok(dmat, map, mem, callback, callback_arg); -} - -bus_dma_segment_t * -_bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t map, - bus_dma_segment_t *segs, int nsegs, int error) -{ - struct bus_dma_tag_common *tc; - - tc = (struct bus_dma_tag_common *)dmat; - return (tc->impl->map_complete(dmat, map, segs, nsegs, error)); -} - -/* - * Release the mapping held by map. - */ -void -_bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) -{ - struct bus_dma_tag_common *tc; - - tc = (struct bus_dma_tag_common *)dmat; - tc->impl->map_unload(dmat, map); -} - -void -_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) -{ - struct bus_dma_tag_common *tc; - - tc = (struct bus_dma_tag_common *)dmat; - tc->impl->map_sync(dmat, map, op); -} Modified: head/sys/arm64/include/bus_dma.h ============================================================================== --- head/sys/arm64/include/bus_dma.h Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/arm64/include/bus_dma.h Sat Jul 1 05:35:29 2017 (r320528) @@ -3,6 +3,139 @@ #ifndef _MACHINE_BUS_DMA_H_ #define _MACHINE_BUS_DMA_H_ +#define WANT_INLINE_DMAMAP #include + +#include + +/* + * Allocate a handle for mapping from kva/uva/physical + * address space into bus device space. + */ +static inline int +bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + return (tc->impl->map_create(dmat, flags, mapp)); +} + +/* + * Destroy a handle for mapping from kva/uva/physical + * address space into bus device space. + */ +static inline int +bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + return (tc->impl->map_destroy(dmat, map)); +} + +/* + * Allocate a piece of memory that can be efficiently mapped into + * bus device space based on the constraints listed in the dma tag. + * A dmamap to for use with dmamap_load is also allocated. + */ +static inline int +bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, + bus_dmamap_t *mapp) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + return (tc->impl->mem_alloc(dmat, vaddr, flags, mapp)); +} + +/* + * Free a piece of memory and it's allociated dmamap, that was allocated + * via bus_dmamem_alloc. Make the same choice for free/contigfree. + */ +static inline void +bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + tc->impl->mem_free(dmat, vaddr, map); +} + +/* + * Release the mapping held by map. + */ +static inline void +bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + tc->impl->map_unload(dmat, map); +} + +static inline void +bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + tc->impl->map_sync(dmat, map, op); +} + +static inline int +_bus_dmamap_load_phys(bus_dma_tag_t dmat, bus_dmamap_t map, vm_paddr_t buf, + bus_size_t buflen, int flags, bus_dma_segment_t *segs, int *segp) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + return (tc->impl->load_phys(dmat, map, buf, buflen, flags, segs, + segp)); +} + +static inline int +_bus_dmamap_load_ma(bus_dma_tag_t dmat, bus_dmamap_t map, struct vm_page **ma, + bus_size_t tlen, int ma_offs, int flags, bus_dma_segment_t *segs, + int *segp) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + return (tc->impl->load_ma(dmat, map, ma, tlen, ma_offs, flags, + segs, segp)); +} + +static inline int +_bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, + bus_size_t buflen, struct pmap *pmap, int flags, bus_dma_segment_t *segs, + int *segp) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + return (tc->impl->load_buffer(dmat, map, buf, buflen, pmap, flags, segs, + segp)); +} + +static inline void +_bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, + struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + tc->impl->map_waitok(dmat, map, mem, callback, callback_arg); +} + +static inline bus_dma_segment_t * +_bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dma_segment_t *segs, int nsegs, int error) +{ + struct bus_dma_tag_common *tc; + + tc = (struct bus_dma_tag_common *)dmat; + return (tc->impl->map_complete(dmat, map, segs, nsegs, error)); +} #endif /* !_MACHINE_BUS_DMA_H_ */ Modified: head/sys/arm64/include/bus_dma_impl.h ============================================================================== --- head/sys/arm64/include/bus_dma_impl.h Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/arm64/include/bus_dma_impl.h Sat Jul 1 05:35:29 2017 (r320528) @@ -70,7 +70,7 @@ struct bus_dma_impl { vm_paddr_t buf, bus_size_t buflen, int flags, bus_dma_segment_t *segs, int *segp); int (*load_buffer)(bus_dma_tag_t dmat, bus_dmamap_t map, - void *buf, bus_size_t buflen, pmap_t pmap, int flags, + void *buf, bus_size_t buflen, struct pmap *pmap, int flags, bus_dma_segment_t *segs, int *segp); void (*map_waitok)(bus_dma_tag_t dmat, bus_dmamap_t map, struct memdesc *mem, bus_dmamap_callback_t *callback, Modified: head/sys/dev/aac/aac.c ============================================================================== --- head/sys/dev/aac/aac.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/aac/aac.c Sat Jul 1 05:35:29 2017 (r320528) @@ -55,7 +55,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include Modified: head/sys/dev/aacraid/aacraid.c ============================================================================== --- head/sys/dev/aacraid/aacraid.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/aacraid/aacraid.c Sat Jul 1 05:35:29 2017 (r320528) @@ -56,7 +56,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include Modified: head/sys/dev/bnxt/bnxt.h ============================================================================== --- head/sys/dev/bnxt/bnxt.h Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/bnxt/bnxt.h Sat Jul 1 05:35:29 2017 (r320528) @@ -32,12 +32,12 @@ __FBSDID("$FreeBSD$"); #ifndef _BNXT_H #define _BNXT_H -#include -#include -#include +#include #include #include #include + +#include #include #include Modified: head/sys/dev/cxgb/cxgb_adapter.h ============================================================================== --- head/sys/dev/cxgb/cxgb_adapter.h Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/cxgb/cxgb_adapter.h Sat Jul 1 05:35:29 2017 (r320528) @@ -54,7 +54,6 @@ $FreeBSD$ #include #include -#include #include #include Modified: head/sys/dev/cxgb/cxgb_main.c ============================================================================== --- head/sys/dev/cxgb/cxgb_main.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/cxgb/cxgb_main.c Sat Jul 1 05:35:29 2017 (r320528) @@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: head/sys/dev/cxgb/cxgb_sge.c ============================================================================== --- head/sys/dev/cxgb/cxgb_sge.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/cxgb/cxgb_sge.c Sat Jul 1 05:35:29 2017 (r320528) @@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c ============================================================================== --- head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c Sat Jul 1 05:35:29 2017 (r320528) @@ -39,7 +39,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c ============================================================================== --- head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c Sat Jul 1 05:35:29 2017 (r320528) @@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cq.c ============================================================================== --- head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cq.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cq.c Sat Jul 1 05:35:29 2017 (r320528) @@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_dbg.c ============================================================================== --- head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_dbg.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_dbg.c Sat Jul 1 05:35:29 2017 (r320528) @@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_ev.c ============================================================================== --- head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_ev.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_ev.c Sat Jul 1 05:35:29 2017 (r320528) @@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.c ============================================================================== --- head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.c Sat Jul 1 05:35:29 2017 (r320528) @@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_mem.c ============================================================================== --- head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_mem.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_mem.c Sat Jul 1 05:35:29 2017 (r320528) @@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c ============================================================================== --- head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c Sat Jul 1 05:35:29 2017 (r320528) @@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c ============================================================================== --- head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c Sat Jul 1 05:35:29 2017 (r320528) @@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.c ============================================================================== --- head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.c Sat Jul 1 05:35:29 2017 (r320528) @@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c ============================================================================== --- head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c Sat Jul 1 05:35:29 2017 (r320528) @@ -62,7 +62,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: head/sys/dev/mfi/mfi.c ============================================================================== --- head/sys/dev/mfi/mfi.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/mfi/mfi.c Sat Jul 1 05:35:29 2017 (r320528) @@ -67,7 +67,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: head/sys/dev/mfi/mfi_cam.c ============================================================================== --- head/sys/dev/mfi/mfi_cam.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/mfi/mfi_cam.c Sat Jul 1 05:35:29 2017 (r320528) @@ -39,7 +39,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: head/sys/dev/tsec/if_tsec.c ============================================================================== --- head/sys/dev/tsec/if_tsec.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/tsec/if_tsec.c Sat Jul 1 05:35:29 2017 (r320528) @@ -37,7 +37,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include Modified: head/sys/dev/xdma/xdma.c ============================================================================== --- head/sys/dev/xdma/xdma.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/xdma/xdma.c Sat Jul 1 05:35:29 2017 (r320528) @@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include Modified: head/sys/dev/xen/blkfront/blkfront.c ============================================================================== --- head/sys/dev/xen/blkfront/blkfront.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/dev/xen/blkfront/blkfront.c Sat Jul 1 05:35:29 2017 (r320528) @@ -49,7 +49,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include Modified: head/sys/i386/include/bus_dma.h ============================================================================== --- head/sys/i386/include/bus_dma.h Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/i386/include/bus_dma.h Sat Jul 1 05:35:29 2017 (r320528) @@ -29,6 +29,6 @@ #ifndef _I386_BUS_DMA_H_ #define _I386_BUS_DMA_H_ -#include +#include #endif /* _I386_BUS_DMA_H_ */ Modified: head/sys/mips/include/bus_dma.h ============================================================================== --- head/sys/mips/include/bus_dma.h Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/mips/include/bus_dma.h Sat Jul 1 05:35:29 2017 (r320528) @@ -30,5 +30,6 @@ #define _MIPS_BUS_DMA_H_ #include +#include #endif /* _MIPS_BUS_DMA_H_ */ Modified: head/sys/mips/mips/busdma_machdep.c ============================================================================== --- head/sys/mips/mips/busdma_machdep.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/mips/mips/busdma_machdep.c Sat Jul 1 05:35:29 2017 (r320528) @@ -930,7 +930,7 @@ _bus_dmamap_load_phys(bus_dma_tag_t dmat, bus_dmamap_t * Did we fit? */ if (buflen != 0) { - _bus_dmamap_unload(dmat, map); + bus_dmamap_unload(dmat, map); return (EFBIG); /* XXX better return value here? */ } return (0); @@ -1028,14 +1028,14 @@ cleanup: * Did we fit? */ if (buflen != 0) { - _bus_dmamap_unload(dmat, map); + bus_dmamap_unload(dmat, map); error = EFBIG; /* XXX better return value here? */ } return (error); } void -__bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, +_bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) { @@ -1060,7 +1060,7 @@ _bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t * Release the mapping held by map. */ void -_bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) +bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) { struct bounce_page *bpage; @@ -1233,7 +1233,7 @@ _bus_dmamap_sync_bp(bus_dma_tag_t dmat, bus_dmamap_t m } void -_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) +bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) { struct sync_list *sl, *end; int aligned; Modified: head/sys/net/iflib.h ============================================================================== --- head/sys/net/iflib.h Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/net/iflib.h Sat Jul 1 05:35:29 2017 (r320528) @@ -33,7 +33,6 @@ #include #include #include -#include #include #include Modified: head/sys/powerpc/include/bus_dma.h ============================================================================== --- head/sys/powerpc/include/bus_dma.h Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/powerpc/include/bus_dma.h Sat Jul 1 05:35:29 2017 (r320528) @@ -29,6 +29,7 @@ #define _POWERPC_BUS_DMA_H_ #include +#include struct device; Modified: head/sys/powerpc/powerpc/busdma_machdep.c ============================================================================== --- head/sys/powerpc/powerpc/busdma_machdep.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/powerpc/powerpc/busdma_machdep.c Sat Jul 1 05:35:29 2017 (r320528) @@ -841,7 +841,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat, } void -__bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, +_bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) { @@ -879,7 +879,7 @@ _bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t * Release the mapping held by map. */ void -_bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) +bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) { struct bounce_page *bpage; @@ -895,7 +895,7 @@ _bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t ma } void -_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) +bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) { struct bounce_page *bpage; vm_offset_t datavaddr, tempvaddr; Modified: head/sys/riscv/include/bus_dma.h ============================================================================== --- head/sys/riscv/include/bus_dma.h Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/riscv/include/bus_dma.h Sat Jul 1 05:35:29 2017 (r320528) @@ -4,5 +4,6 @@ #define _MACHINE_BUS_DMA_H_ #include +#include #endif /* !_MACHINE_BUS_DMA_H_ */ Modified: head/sys/riscv/riscv/busdma_machdep.c ============================================================================== --- head/sys/riscv/riscv/busdma_machdep.c Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/riscv/riscv/busdma_machdep.c Sat Jul 1 05:35:29 2017 (r320528) @@ -69,7 +69,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap } void -__bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, +_bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg) { @@ -88,14 +88,14 @@ _bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t * Release the mapping held by map. */ void -_bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) +bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) { panic("busdma"); } void -_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) +bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) { panic("busdma"); Modified: head/sys/sparc64/include/bus_dma.h ============================================================================== --- head/sys/sparc64/include/bus_dma.h Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/sparc64/include/bus_dma.h Sat Jul 1 05:35:29 2017 (r320528) @@ -68,6 +68,7 @@ #ifndef _SPARC64_BUS_DMA_H #define _SPARC64_BUS_DMA_H +#define WANT_INLINE_DMAMAP #include /* DMA support */ @@ -124,29 +125,95 @@ struct bus_dma_tag { struct bus_dma_methods *dt_mt; }; -#define bus_dmamap_create(t, f, p) \ - ((t)->dt_mt->dm_dmamap_create((t), (f), (p))) -#define bus_dmamap_destroy(t, p) \ - ((t)->dt_mt->dm_dmamap_destroy((t), (p))) -#define _bus_dmamap_load_phys(t, m, b, l, f, s, sp) \ - ((t)->dt_mt->dm_dmamap_load_phys((t), (m), (b), (l), \ - (f), (s), (sp))) -#define _bus_dmamap_load_buffer(t, m, b, l, p, f, s, sp) \ - ((t)->dt_mt->dm_dmamap_load_buffer((t), (m), (b), (l), (p), \ - (f), (s), (sp))) -#define _bus_dmamap_waitok(t, m, mem, c, ca) \ - ((t)->dt_mt->dm_dmamap_waitok((t), (m), (mem), (c), (ca))) -#define _bus_dmamap_complete(t, m, s, n, e) \ - ((t)->dt_mt->dm_dmamap_complete((t), (m), (s), (n), (e))) -#define bus_dmamap_unload(t, p) \ - ((t)->dt_mt->dm_dmamap_unload((t), (p))) -#define bus_dmamap_sync(t, m, op) \ - ((t)->dt_mt->dm_dmamap_sync((t), (m), (op))) -#define bus_dmamem_alloc(t, v, f, m) \ - ((t)->dt_mt->dm_dmamem_alloc((t), (v), (f), (m))) -#define bus_dmamem_free(t, v, m) \ - ((t)->dt_mt->dm_dmamem_free((t), (v), (m))) -#define _bus_dmamap_load_ma(t, m, a, tt, o, f, s, p) \ - bus_dmamap_load_ma_triv((t), (m), (a), (tt), (o), (f), (s), (p)) +static inline int +bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp) +{ + + return (dmat->dt_mt->dm_dmamap_create(dmat, flags, mapp)); +} + +static inline int +bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map) +{ + + return (dmat->dt_mt->dm_dmamap_destroy(dmat, map)); +} + +static inline void +bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) +{ + + dmat->dt_mt->dm_dmamap_sync(dmat, map, op); +} + +static inline void +bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) +{ + + dmat->dt_mt->dm_dmamap_unload(dmat, map); +} + +static inline int +bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, bus_dmamap_t *mapp) +{ + + return (dmat->dt_mt->dm_dmamem_alloc(dmat, vaddr, flags, mapp)); +} + +static inline void +bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map) +{ + + dmat->dt_mt->dm_dmamem_free(dmat, vaddr, map); +} + +static inline bus_dma_segment_t* +_bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dma_segment_t *segs, int nsegs, int error) +{ + + return (dmat->dt_mt->dm_dmamap_complete(dmat, map, segs, + nsegs, error)); +} + +static inline int +_bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, + void *buf, bus_size_t buflen, struct pmap *pmap, + int flags, bus_dma_segment_t *segs, int *segp) +{ + + return (dmat->dt_mt->dm_dmamap_load_buffer(dmat, map, buf, buflen, + pmap, flags, segs, segp)); +} + +static inline int +_bus_dmamap_load_ma(bus_dma_tag_t dmat, bus_dmamap_t map, + struct vm_page **ma, bus_size_t tlen, int ma_offs, + int flags, bus_dma_segment_t *segs, int *segp) +{ + + return (bus_dmamap_load_ma_triv(dmat, map, ma, tlen, ma_offs, flags, + segs, segp)); +} + +static inline int +_bus_dmamap_load_phys(bus_dma_tag_t dmat, bus_dmamap_t map, + vm_paddr_t paddr, bus_size_t buflen, + int flags, bus_dma_segment_t *segs, int *segp) +{ + + return (dmat->dt_mt->dm_dmamap_load_phys(dmat, map, paddr, buflen, + flags, segs, segp)); +} + +static inline void +_bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, + struct memdesc *mem, bus_dmamap_callback_t *callback, + void *callback_arg) +{ + + return (dmat->dt_mt->dm_dmamap_waitok(dmat, map, mem, callback, + callback_arg)); +} #endif /* !_SPARC64_BUS_DMA_H_ */ Modified: head/sys/sys/bus_dma.h ============================================================================== --- head/sys/sys/bus_dma.h Sat Jul 1 05:27:40 2017 (r320527) +++ head/sys/sys/bus_dma.h Sat Jul 1 05:35:29 2017 (r320528) @@ -248,105 +248,49 @@ int bus_dmamap_load_ma_triv(bus_dma_tag_t dmat, bus_dm struct vm_page **ma, bus_size_t tlen, int ma_offs, int flags, bus_dma_segment_t *segs, int *segp); -/* - * XXX sparc64 uses the same interface, but a much different implementation. - * for the sparc64 arch contains the equivalent - * declarations. - */ -#if !defined(__sparc64__) +#ifdef WANT_INLINE_DMAMAP +#define BUS_DMAMAP_OP static inline +#else +#define BUS_DMAMAP_OP +#endif /* * Allocate a handle for mapping from kva/uva/physical * address space into bus device space. */ -int bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp); +BUS_DMAMAP_OP int bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp); /* * Destroy a handle for mapping from kva/uva/physical * address space into bus device space. */ -int bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map); +BUS_DMAMAP_OP int bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map); /* * Allocate a piece of memory that can be efficiently mapped into * bus device space based on the constraints listed in the dma tag. * A dmamap to for use with dmamap_load is also allocated. */ -int bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, +BUS_DMAMAP_OP int bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, bus_dmamap_t *mapp); /* * Free a piece of memory and its allocated dmamap, that was allocated * via bus_dmamem_alloc. */ -void bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map); +BUS_DMAMAP_OP void bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map); /* * Perform a synchronization operation on the given map. If the map - * is NULL we have a fully IO-coherent system. On every ARM architecture - * there must be a memory barrier placed to ensure that all data - * accesses are visible before going any further. + * is NULL we have a fully IO-coherent system. */ -void _bus_dmamap_sync(bus_dma_tag_t, bus_dmamap_t, bus_dmasync_op_t); -#if defined(__arm__) - #define __BUS_DMAMAP_SYNC_DEFAULT mb() -#elif defined(__aarch64__) - #define __BUS_DMAMAP_SYNC_DEFAULT dmb(sy) -#else - #define __BUS_DMAMAP_SYNC_DEFAULT do {} while (0) -#endif -#define bus_dmamap_sync(dmat, dmamap, op) \ - do { \ - if ((dmamap) != NULL) \ - _bus_dmamap_sync(dmat, dmamap, op); \ - else \ - __BUS_DMAMAP_SYNC_DEFAULT; \ - } while (0) +BUS_DMAMAP_OP void bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t dmamap, bus_dmasync_op_t op); /* * Release the mapping held by map. */ -void _bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map); -#define bus_dmamap_unload(dmat, dmamap) \ - do { \ - if ((dmamap) != NULL) \ - _bus_dmamap_unload(dmat, dmamap); \ - } while (0) +BUS_DMAMAP_OP void bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t dmamap); -/* - * The following functions define the interface between the MD and MI - * busdma layers. These are not intended for consumption by driver - * software. - */ -void __bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map, - struct memdesc *mem, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Sat Jul 1 06:23:27 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 487C2D95196 for ; Sat, 1 Jul 2017 06:23:27 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-15.reflexion.net [208.70.210.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D87BD7B0A0 for ; Sat, 1 Jul 2017 06:23:26 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 32745 invoked from network); 1 Jul 2017 06:23:24 -0000 Received: from unknown (HELO rtc-sm-01.app.dca.reflexion.local) (10.81.150.1) by 0 (rfx-qmail) with SMTP; 1 Jul 2017 06:23:24 -0000 Received: by rtc-sm-01.app.dca.reflexion.local (Reflexion email security v8.40.1) with SMTP; Sat, 01 Jul 2017 02:23:24 -0400 (EDT) Received: (qmail 14501 invoked from network); 1 Jul 2017 06:23:24 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (AES256-SHA encrypted) SMTP; 1 Jul 2017 06:23:24 -0000 Received: from [192.168.1.114] (c-76-115-7-162.hsd1.or.comcast.net [76.115.7.162]) by iron2.pdx.net (Postfix) with ESMTPSA id D379FEC9004; Fri, 30 Jun 2017 23:23:23 -0700 (PDT) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: svn commit: r320502 - head/share/mk [problem is ITOOLS in Makefile.inc1 is missing head from its list --at least for powerpc64] Message-Id: Date: Fri, 30 Jun 2017 23:23:23 -0700 Cc: Steve Wills To: Ed Maste , svn-src-head@freebsd.org X-Mailer: Apple Mail (2.3273) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Jul 2017 06:23:27 -0000 In /usr/src/Makefile.inc1 : ITOOLS= [ awk cap_mkdb cat chflags chmod chown cmp cp \ date echo egrep find grep id install ${_install-info} \ ln make mkdir mtree mv pwd_mkdb \ rm sed services_mkdb sh strip sysctl test true uname wc ${_zoneinfo} \ ${LOCAL_ITOOLS} does not list "head" as a tool and so is not put in place with the other tools. head is used in: Modified: head/share/mk/bsd.linker.mk . . . -_ld_version!= ${${ld}} --version 2>/dev/null | head -n 1 || echo none +_ld_version!= (${${ld}} --version || echo none) | head -n 1 . . . (either way) and so should be made available. In my environment I've just been using LOCAL_ITOOLS=head to avoid the issue for powerpc64 and its install32 activity. === Mark Millard markmi at dsl-only.net From owner-svn-src-head@freebsd.org Sat Jul 1 09:38:53 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5E54FDA7158; Sat, 1 Jul 2017 09:38:53 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3530C7FD41; Sat, 1 Jul 2017 09:38:53 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v619cqjG028334; Sat, 1 Jul 2017 09:38:52 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v619cquC028333; Sat, 1 Jul 2017 09:38:52 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201707010938.v619cquC028333@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Sat, 1 Jul 2017 09:38:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320529 - head/sys/arm64/arm64 X-SVN-Group: head X-SVN-Commit-Author: andrew X-SVN-Commit-Paths: head/sys/arm64/arm64 X-SVN-Commit-Revision: 320529 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Jul 2017 09:38:53 -0000 Author: andrew Date: Sat Jul 1 09:38:52 2017 New Revision: 320529 URL: https://svnweb.freebsd.org/changeset/base/320529 Log: Remove all calls to cpu_dcache_wb_range from the arm64 pmap code. These were unneeded as we tell the tlb the pagetables are in cached memory. This gives us a small, but statistically significant improvement over just removing the PTE_SYNC cases. While here remove PTE_SYNC, it's now unneeded. Sponsored by: DARPA, AFRL Modified: head/sys/arm64/arm64/pmap.c Modified: head/sys/arm64/arm64/pmap.c ============================================================================== --- head/sys/arm64/arm64/pmap.c Sat Jul 1 05:35:29 2017 (r320528) +++ head/sys/arm64/arm64/pmap.c Sat Jul 1 09:38:52 2017 (r320529) @@ -504,12 +504,6 @@ pmap_l3_valid(pt_entry_t l3) CTASSERT(L1_BLOCK == L2_BLOCK); -#if 0 -#define PTE_SYNC(pte) cpu_dcache_wb_range((vm_offset_t)pte, sizeof(*pte)) -#else -#define PTE_SYNC(pte) (void)0 -#endif - /* * Checks if the page is dirty. We currently lack proper tracking of this on * arm64 so for now assume is a page mapped as rw was accessed it is. @@ -594,8 +588,6 @@ pmap_bootstrap_dmap(vm_offset_t kern_l1, vm_paddr_t mi dmap_phys_max = pa; dmap_max_addr = va; - cpu_dcache_wb_range((vm_offset_t)pagetable_dmap, - PAGE_SIZE * DMAP_TABLES); cpu_tlb_flushID(); } @@ -624,11 +616,7 @@ pmap_bootstrap_l2(vm_offset_t l1pt, vm_offset_t va, vm /* Clean the L2 page table */ memset((void *)l2_start, 0, l2pt - l2_start); - cpu_dcache_wb_range(l2_start, l2pt - l2_start); - /* Flush the l1 table to ram */ - cpu_dcache_wb_range((vm_offset_t)l1, PAGE_SIZE); - return l2pt; } @@ -659,10 +647,7 @@ pmap_bootstrap_l3(vm_offset_t l1pt, vm_offset_t va, vm /* Clean the L2 page table */ memset((void *)l3_start, 0, l3pt - l3_start); - cpu_dcache_wb_range(l3_start, l3pt - l3_start); - cpu_dcache_wb_range((vm_offset_t)l2, PAGE_SIZE); - return l3pt; } @@ -1131,7 +1116,6 @@ pmap_kenter(vm_offset_t sva, vm_size_t size, vm_paddr_ pte = pmap_l2_to_l3(pde, va); pmap_load_store(pte, (pa & ~L3_OFFSET) | attr); - PTE_SYNC(pte); va += PAGE_SIZE; pa += PAGE_SIZE; @@ -1161,7 +1145,6 @@ pmap_kremove(vm_offset_t va) KASSERT(lvl == 3, ("pmap_kremove: Invalid pte level %d", lvl)); pmap_load_clear(pte); - PTE_SYNC(pte); pmap_invalidate_page(kernel_pmap, va); } @@ -1184,7 +1167,6 @@ pmap_kremove_device(vm_offset_t sva, vm_size_t size) KASSERT(lvl == 3, ("Invalid device pagetable level: %d != 3", lvl)); pmap_load_clear(pte); - PTE_SYNC(pte); va += PAGE_SIZE; size -= PAGE_SIZE; @@ -1244,7 +1226,6 @@ pmap_qenter(vm_offset_t sva, vm_page_t *ma, int count) pa |= ATTR_XN; pte = pmap_l2_to_l3(pde, va); pmap_load_store(pte, pa); - PTE_SYNC(pte); va += L3_SIZE; } @@ -1271,7 +1252,6 @@ pmap_qremove(vm_offset_t sva, int count) ("Invalid device pagetable level: %d != 3", lvl)); if (pte != NULL) { pmap_load_clear(pte); - PTE_SYNC(pte); } va += PAGE_SIZE; @@ -1343,21 +1323,18 @@ _pmap_unwire_l3(pmap_t pmap, vm_offset_t va, vm_page_t l0 = pmap_l0(pmap, va); pmap_load_clear(l0); - PTE_SYNC(l0); } else if (m->pindex >= NUL2E) { /* l2 page */ pd_entry_t *l1; l1 = pmap_l1(pmap, va); pmap_load_clear(l1); - PTE_SYNC(l1); } else { /* l3 page */ pd_entry_t *l2; l2 = pmap_l2(pmap, va); pmap_load_clear(l2); - PTE_SYNC(l2); } pmap_resident_count_dec(pmap, 1); if (m->pindex < NUL2E) { @@ -1498,7 +1475,6 @@ _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex, str l0index = ptepindex - (NUL2E + NUL1E); l0 = &pmap->pm_l0[l0index]; pmap_load_store(l0, VM_PAGE_TO_PHYS(m) | L0_TABLE); - PTE_SYNC(l0); } else if (ptepindex >= NUL2E) { vm_pindex_t l0index, l1index; pd_entry_t *l0, *l1; @@ -1527,7 +1503,6 @@ _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex, str l1 = (pd_entry_t *)PHYS_TO_DMAP(pmap_load(l0) & ~ATTR_MASK); l1 = &l1[ptepindex & Ln_ADDR_MASK]; pmap_load_store(l1, VM_PAGE_TO_PHYS(m) | L1_TABLE); - PTE_SYNC(l1); } else { vm_pindex_t l0index, l1index; pd_entry_t *l0, *l1, *l2; @@ -1574,7 +1549,6 @@ _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex, str l2 = (pd_entry_t *)PHYS_TO_DMAP(pmap_load(l1) & ~ATTR_MASK); l2 = &l2[ptepindex & Ln_ADDR_MASK]; pmap_load_store(l2, VM_PAGE_TO_PHYS(m) | L2_TABLE); - PTE_SYNC(l2); } pmap_resident_count_inc(pmap, 1); @@ -1727,7 +1701,6 @@ pmap_growkernel(vm_offset_t addr) pmap_zero_page(nkpg); paddr = VM_PAGE_TO_PHYS(nkpg); pmap_load_store(l1, paddr | L1_TABLE); - PTE_SYNC(l1); continue; /* try again */ } l2 = pmap_l1_to_l2(l1, kernel_vm_end); @@ -1749,7 +1722,6 @@ pmap_growkernel(vm_offset_t addr) pmap_zero_page(nkpg); paddr = VM_PAGE_TO_PHYS(nkpg); pmap_load_store(l2, paddr | L2_TABLE); - PTE_SYNC(l2); pmap_invalidate_page(kernel_pmap, kernel_vm_end); kernel_vm_end = (kernel_vm_end + L2_SIZE) & ~L2_OFFSET; @@ -1883,7 +1855,6 @@ reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **l if ((tpte & ATTR_SW_WIRED) != 0) continue; tpte = pmap_load_clear(pte); - PTE_SYNC(pte); pmap_invalidate_page(pmap, va); m = PHYS_TO_VM_PAGE(tpte & ~ATTR_MASK); if (pmap_page_dirty(tpte)) @@ -2272,7 +2243,6 @@ pmap_remove_l3(pmap_t pmap, pt_entry_t *l3, vm_offset_ PMAP_LOCK_ASSERT(pmap, MA_OWNED); old_l3 = pmap_load_clear(l3); - PTE_SYNC(l3); pmap_invalidate_page(pmap, va); if (old_l3 & ATTR_SW_WIRED) pmap->pm_stats.wired_count -= 1; @@ -2493,7 +2463,6 @@ retry: pte = pmap_l2_to_l3(pde, pv->pv_va); tpte = pmap_load(pte); pmap_load_clear(pte); - PTE_SYNC(pte); pmap_invalidate_page(pmap, pv->pv_va); if (tpte & ATTR_SW_WIRED) pmap->pm_stats.wired_count--; @@ -2595,7 +2564,6 @@ pmap_protect(pmap_t pmap, vm_offset_t sva, vm_offset_t nbits |= ATTR_XN; pmap_set(l3p, nbits); - PTE_SYNC(l3p); /* XXX: Use pmap_invalidate_range */ pmap_invalidate_page(pmap, va); } @@ -2657,12 +2625,10 @@ pmap_update_entry(pmap_t pmap, pd_entry_t *pte, pd_ent /* Clear the old mapping */ pmap_load_clear(pte); - PTE_SYNC(pte); pmap_invalidate_range(pmap, va, va + size); /* Create the new mapping */ pmap_load_store(pte, newpte); - PTE_SYNC(pte); critical_exit(); intr_restore(intr); @@ -2886,7 +2852,6 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, v l1_pa = VM_PAGE_TO_PHYS(l1_m); pmap_load_store(pde, l1_pa | L0_TABLE); - PTE_SYNC(pde); /* FALLTHROUGH */ case 0: /* Get the l1 pde to update */ @@ -2903,7 +2868,6 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, v l2_pa = VM_PAGE_TO_PHYS(l2_m); pmap_load_store(pde, l2_pa | L1_TABLE); - PTE_SYNC(pde); /* FALLTHROUGH */ case 1: /* Get the l2 pde to update */ @@ -2919,7 +2883,6 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, v l3_pa = VM_PAGE_TO_PHYS(l3_m); pmap_load_store(pde, l3_pa | L2_TABLE); - PTE_SYNC(pde); break; } } @@ -3023,7 +2986,6 @@ validate: } } else { pmap_load_store(l3, new_l3); - PTE_SYNC(l3); pmap_invalidate_page(pmap, va); if (pmap_page_dirty(orig_l3) && (orig_l3 & ATTR_SW_MANAGED) != 0) @@ -3033,7 +2995,6 @@ validate: pmap_load_store(l3, new_l3); } - PTE_SYNC(l3); pmap_invalidate_page(pmap, va); if (pmap != pmap_kernel()) { @@ -3231,7 +3192,6 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, v if ((m->oflags & VPO_UNMANAGED) == 0) pa |= ATTR_SW_MANAGED; pmap_load_store(l3, pa); - PTE_SYNC(l3); pmap_invalidate_page(pmap, va); return (mpte); } @@ -3641,7 +3601,6 @@ pmap_remove_pages(pmap_t pmap) (uintmax_t)tpte)); pmap_load_clear(pte); - PTE_SYNC(pte); /* * Update the vm_page_t clean/reference bits. @@ -4416,7 +4375,6 @@ pmap_demote_l1(pmap_t pmap, pt_entry_t *l1, vm_offset_ l2[i] = newl2 | phys; phys += L2_SIZE; } - cpu_dcache_wb_range((vm_offset_t)l2, PAGE_SIZE); KASSERT(l2[0] == ((oldl1 & ~ATTR_DESCR_MASK) | L2_BLOCK), ("Invalid l2 page (%lx != %lx)", l2[0], (oldl1 & ~ATTR_DESCR_MASK) | L2_BLOCK)); @@ -4494,7 +4452,6 @@ pmap_demote_l2_locked(pmap_t pmap, pt_entry_t *l2, vm_ l3[i] = newl3 | phys; phys += L3_SIZE; } - cpu_dcache_wb_range((vm_offset_t)l3, PAGE_SIZE); } KASSERT(l3[0] == ((oldl2 & ~ATTR_DESCR_MASK) | L3_PAGE), ("Invalid l3 page (%lx != %lx)", l3[0], From owner-svn-src-head@freebsd.org Sat Jul 1 10:04:44 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 15FE2DA929D; Sat, 1 Jul 2017 10:04:44 +0000 (UTC) (envelope-from jlh@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B893E80AF9; Sat, 1 Jul 2017 10:04:43 +0000 (UTC) (envelope-from jlh@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v61A4gcU040505; Sat, 1 Jul 2017 10:04:42 GMT (envelope-from jlh@FreeBSD.org) Received: (from jlh@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v61A4gW5040503; Sat, 1 Jul 2017 10:04:42 GMT (envelope-from jlh@FreeBSD.org) Message-Id: <201707011004.v61A4gW5040503@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jlh set sender to jlh@FreeBSD.org using -f From: Jeremie Le Hen Date: Sat, 1 Jul 2017 10:04:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320530 - in head: . share/mk X-SVN-Group: head X-SVN-Commit-Author: jlh X-SVN-Commit-Paths: in head: . share/mk X-SVN-Commit-Revision: 320530 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Jul 2017 10:04:44 -0000 Author: jlh Date: Sat Jul 1 10:04:42 2017 New Revision: 320530 URL: https://svnweb.freebsd.org/changeset/base/320530 Log: Disable RCMDS by default. This was announced in this thread: https://lists.freebsd.org/pipermail/freebsd-arch/2017-June/018239.html Applying plan proposed by ngie@ in: https://lists.freebsd.org/pipermail/freebsd-arch/2017-June/018249.html The port has been submitted as net/bsdrcmds in r444814. Approved by: bapt, roberto, and others Modified: head/UPDATING head/share/mk/src.opts.mk Modified: head/UPDATING ============================================================================== --- head/UPDATING Sat Jul 1 09:38:52 2017 (r320529) +++ head/UPDATING Sat Jul 1 10:04:42 2017 (r320530) @@ -51,6 +51,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: ****************************** SPECIAL WARNING: ****************************** +20170701: + WITHOUT_RCMDS is now the default. Set WITH_RCMDS if you need them to be + built with the base system. + 20170625: The FreeBSD/powerpc platform now uses a 64-bit type for time_t. This is a very major ABI incompatible change, so users of FreeBSD/powerpc must Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Sat Jul 1 09:38:52 2017 (r320529) +++ head/share/mk/src.opts.mk Sat Jul 1 10:04:42 2017 (r320530) @@ -144,7 +144,6 @@ __DEFAULT_YES_OPTIONS = \ PPP \ QUOTAS \ RADIUS_SUPPORT \ - RCMDS \ RBOOTD \ RESCUE \ ROUTED \ @@ -185,6 +184,7 @@ __DEFAULT_NO_OPTIONS = \ NAND \ OFED \ OPENLDAP \ + RCMDS \ REPRODUCIBLE_BUILD \ RPCBIND_WARMSTART_SUPPORT \ SHARED_TOOLCHAIN \ From owner-svn-src-head@freebsd.org Sat Jul 1 15:58:58 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D1DDBD8D111; Sat, 1 Jul 2017 15:58:58 +0000 (UTC) (envelope-from jah@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A188066049; Sat, 1 Jul 2017 15:58:58 +0000 (UTC) (envelope-from jah@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v61FwvPY084613; Sat, 1 Jul 2017 15:58:57 GMT (envelope-from jah@FreeBSD.org) Received: (from jah@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v61Fwv0n084612; Sat, 1 Jul 2017 15:58:57 GMT (envelope-from jah@FreeBSD.org) Message-Id: <201707011558.v61Fwv0n084612@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jah set sender to jah@FreeBSD.org using -f From: "Jason A. Harmening" Date: Sat, 1 Jul 2017 15:58:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320545 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: jah X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 320545 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Jul 2017 15:58:58 -0000 Author: jah Date: Sat Jul 1 15:58:57 2017 New Revision: 320545 URL: https://svnweb.freebsd.org/changeset/base/320545 Log: Bump __FreeBSD_version due to r320528, cleanup and inlining of bus_dmamap* functions. Reported by: David Wolfskill Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Sat Jul 1 13:25:06 2017 (r320544) +++ head/sys/sys/param.h Sat Jul 1 15:58:57 2017 (r320545) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1200036 /* Master, propagated to newvers */ +#define __FreeBSD_version 1200037 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-head@freebsd.org Sat Jul 1 16:42:11 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2DC88D8DF25; Sat, 1 Jul 2017 16:42:11 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E63E567407; Sat, 1 Jul 2017 16:42:10 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v61Gg9p5005064; Sat, 1 Jul 2017 16:42:09 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v61Gg9f6005062; Sat, 1 Jul 2017 16:42:09 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201707011642.v61Gg9f6005062@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Sat, 1 Jul 2017 16:42:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320546 - in head/sys: amd64/amd64 i386/i386 X-SVN-Group: head X-SVN-Commit-Author: alc X-SVN-Commit-Paths: in head/sys: amd64/amd64 i386/i386 X-SVN-Commit-Revision: 320546 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Jul 2017 16:42:11 -0000 Author: alc Date: Sat Jul 1 16:42:09 2017 New Revision: 320546 URL: https://svnweb.freebsd.org/changeset/base/320546 Log: When "force" is specified to pmap_invalidate_cache_range(), the given start address is not required to be page aligned. However, the loop within pmap_invalidate_cache_range() that performs the actual cache line invalidations requires that the starting address be truncated to a multiple of the cache line size. This change corrects an error in that truncation. Submitted by: Brett Gutstein Reviewed by: kib MFC after: 1 week Modified: head/sys/amd64/amd64/pmap.c head/sys/i386/i386/pmap.c Modified: head/sys/amd64/amd64/pmap.c ============================================================================== --- head/sys/amd64/amd64/pmap.c Sat Jul 1 15:58:57 2017 (r320545) +++ head/sys/amd64/amd64/pmap.c Sat Jul 1 16:42:09 2017 (r320546) @@ -1868,7 +1868,7 @@ pmap_invalidate_cache_range(vm_offset_t sva, vm_offset { if (force) { - sva &= ~(vm_offset_t)cpu_clflush_line_size; + sva &= ~(vm_offset_t)(cpu_clflush_line_size - 1); } else { KASSERT((sva & PAGE_MASK) == 0, ("pmap_invalidate_cache_range: sva not page-aligned")); Modified: head/sys/i386/i386/pmap.c ============================================================================== --- head/sys/i386/i386/pmap.c Sat Jul 1 15:58:57 2017 (r320545) +++ head/sys/i386/i386/pmap.c Sat Jul 1 16:42:09 2017 (r320546) @@ -1289,7 +1289,7 @@ pmap_invalidate_cache_range(vm_offset_t sva, vm_offset { if (force) { - sva &= ~(vm_offset_t)cpu_clflush_line_size; + sva &= ~(vm_offset_t)(cpu_clflush_line_size - 1); } else { KASSERT((sva & PAGE_MASK) == 0, ("pmap_invalidate_cache_range: sva not page-aligned")); From owner-svn-src-head@freebsd.org Sat Jul 1 18:48:17 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 34BBAD900C9; Sat, 1 Jul 2017 18:48:17 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E6C2C6E168; Sat, 1 Jul 2017 18:48:16 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v61ImG0X053878; Sat, 1 Jul 2017 18:48:16 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v61ImFlR053875; Sat, 1 Jul 2017 18:48:15 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201707011848.v61ImFlR053875@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 1 Jul 2017 18:48:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320547 - in head/sys/boot: arm/uboot efi/boot1 efi/loader X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: in head/sys/boot: arm/uboot efi/boot1 efi/loader X-SVN-Commit-Revision: 320547 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Jul 2017 18:48:17 -0000 Author: emaste Date: Sat Jul 1 18:48:15 2017 New Revision: 320547 URL: https://svnweb.freebsd.org/changeset/base/320547 Log: Link EFI/uboot loaders with -znotext By default LLD links with relocations disallowed against readonly sections (e.g., .text), but the 32-bit ARM EFI & uboot boot bits require such relocations. -znotext is either ignored as an unknown -z option (in-tree lld 2.17.50) or is already the default (GNU ld or GNU gold from ports) so we can just add it unconditionally to allow building with LLD. This is similar to the change in r320179 for the kernel link. Sponsored by: The FreeBSD Foundation Modified: head/sys/boot/arm/uboot/Makefile head/sys/boot/efi/boot1/Makefile head/sys/boot/efi/loader/Makefile Modified: head/sys/boot/arm/uboot/Makefile ============================================================================== --- head/sys/boot/arm/uboot/Makefile Sat Jul 1 16:42:09 2017 (r320546) +++ head/sys/boot/arm/uboot/Makefile Sat Jul 1 18:48:15 2017 (r320547) @@ -100,6 +100,7 @@ CLEANFILES+= loader.help CFLAGS+= -ffreestanding -msoft-float LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.${MACHINE_CPUARCH} +LDFLAGS+= -Wl,-znotext # Pull in common loader code .PATH: ${.CURDIR}/../../uboot/common Modified: head/sys/boot/efi/boot1/Makefile ============================================================================== --- head/sys/boot/efi/boot1/Makefile Sat Jul 1 16:42:09 2017 (r320546) +++ head/sys/boot/efi/boot1/Makefile Sat Jul 1 18:48:15 2017 (r320547) @@ -68,7 +68,7 @@ FILES= boot1.efi boot1.efifat FILESMODE_boot1.efi= ${BINMODE} LDSCRIPT= ${.CURDIR}/../loader/arch/${MACHINE}/ldscript.${MACHINE} -LDFLAGS+= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared +LDFLAGS+= -Wl,-T${LDSCRIPT},-Bsymbolic,-znotext -shared .if ${MACHINE_CPUARCH} == "aarch64" CFLAGS+= -mgeneral-regs-only Modified: head/sys/boot/efi/loader/Makefile ============================================================================== --- head/sys/boot/efi/loader/Makefile Sat Jul 1 16:42:09 2017 (r320546) +++ head/sys/boot/efi/loader/Makefile Sat Jul 1 18:48:15 2017 (r320547) @@ -116,7 +116,7 @@ FILES+= loader.efi FILESMODE_loader.efi= ${BINMODE} LDSCRIPT= ${.CURDIR}/arch/${MACHINE}/ldscript.${MACHINE} -LDFLAGS+= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared +LDFLAGS+= -Wl,-T${LDSCRIPT},-Bsymbolic,-znotext -shared CLEANFILES+= loader.efi From owner-svn-src-head@freebsd.org Sat Jul 1 19:11:00 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C10FBD90539; Sat, 1 Jul 2017 19:11:00 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8702B6E9D3; Sat, 1 Jul 2017 19:11:00 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v61JAxGI062750; Sat, 1 Jul 2017 19:10:59 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v61JAxFU062749; Sat, 1 Jul 2017 19:10:59 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201707011910.v61JAxFU062749@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 1 Jul 2017 19:10:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320549 - head/share/mk X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/share/mk X-SVN-Commit-Revision: 320549 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Jul 2017 19:11:00 -0000 Author: emaste Date: Sat Jul 1 19:10:59 2017 New Revision: 320549 URL: https://svnweb.freebsd.org/changeset/base/320549 Log: Do not build clang for all riscv*, not just riscv64 Previous test matching on "riscv64" was invalidated by the addition of riscv64sf. Sponsored by: The FreeBSD Foundation Modified: head/share/mk/src.opts.mk Modified: head/share/mk/src.opts.mk ============================================================================== --- head/share/mk/src.opts.mk Sat Jul 1 19:06:14 2017 (r320548) +++ head/share/mk/src.opts.mk Sat Jul 1 19:10:59 2017 (r320549) @@ -222,7 +222,7 @@ __TT=${MACHINE} # Clang is enabled, and will be installed as the default /usr/bin/cc. __DEFAULT_YES_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_FULL CLANG_IS_CC LLD __DEFAULT_NO_OPTIONS+=GCC GCC_BOOTSTRAP GNUCXX GPL_DTC -.elif ${COMPILER_FEATURES:Mc++11} && ${__T} != "riscv64" && ${__T} != "sparc64" +.elif ${COMPILER_FEATURES:Mc++11} && ${__T:Mriscv*} == "" && ${__T} != "sparc64" # If an external compiler that supports C++11 is used as ${CC} and Clang # supports the target, then Clang is enabled but GCC is installed as the # default /usr/bin/cc. From owner-svn-src-head@freebsd.org Sat Jul 1 20:25:23 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7ED3ED91B76; Sat, 1 Jul 2017 20:25:23 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4C66A70A56; Sat, 1 Jul 2017 20:25:23 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v61KPMBw094741; Sat, 1 Jul 2017 20:25:22 GMT (envelope-from allanjude@FreeBSD.org) Received: (from allanjude@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v61KPMkh094740; Sat, 1 Jul 2017 20:25:22 GMT (envelope-from allanjude@FreeBSD.org) Message-Id: <201707012025.v61KPMkh094740@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: allanjude set sender to allanjude@FreeBSD.org using -f From: Allan Jude Date: Sat, 1 Jul 2017 20:25:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320553 - head/sys/boot/efi/libefi X-SVN-Group: head X-SVN-Commit-Author: allanjude X-SVN-Commit-Paths: head/sys/boot/efi/libefi X-SVN-Commit-Revision: 320553 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Jul 2017 20:25:23 -0000 Author: allanjude Date: Sat Jul 1 20:25:22 2017 New Revision: 320553 URL: https://svnweb.freebsd.org/changeset/base/320553 Log: Integer underflow in efipart_realstrategy when I/O starts after end of disk This fixes an integer underflow in efipart_realstrategy, which causes crashes when an I/O operation's start point is after the end of the disk. This can happen when trying to detect filesystems on very small disks. This can occur if a BIOS freebsd-boot partition exists on a system when the EFI loader is being used. PR: 219000 Submitted by: Eric McCorkle Reviewed by: cem (previous version), tsoome (previous version) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D10559 Modified: head/sys/boot/efi/libefi/efipart.c Modified: head/sys/boot/efi/libefi/efipart.c ============================================================================== --- head/sys/boot/efi/libefi/efipart.c Sat Jul 1 20:08:45 2017 (r320552) +++ head/sys/boot/efi/libefi/efipart.c Sat Jul 1 20:25:22 2017 (r320553) @@ -888,6 +888,7 @@ efipart_realstrategy(void *devdata, int rw, daddr_t bl char *blkbuf; size_t blkoff, blksz; int error; + size_t diskend, readstart; if (dev == NULL || blk < 0) return (EINVAL); @@ -925,7 +926,15 @@ efipart_realstrategy(void *devdata, int rw, daddr_t bl /* make sure we don't read past disk end */ if ((off + size) / blkio->Media->BlockSize > d_offset + disk_blocks) { - size = d_offset + disk_blocks - off / blkio->Media->BlockSize; + diskend = d_offset + disk_blocks; + readstart = off / blkio->Media->BlockSize; + + if (diskend <= readstart) { + *rsize = 0; + + return (EIO); + } + size = diskend - readstart; size = size * blkio->Media->BlockSize; } From owner-svn-src-head@freebsd.org Sat Jul 1 21:18:07 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F16B6D92FE5; Sat, 1 Jul 2017 21:18:07 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BD73E731B2; Sat, 1 Jul 2017 21:18:07 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v61LI6as018110; Sat, 1 Jul 2017 21:18:06 GMT (envelope-from allanjude@FreeBSD.org) Received: (from allanjude@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v61LI61I018108; Sat, 1 Jul 2017 21:18:06 GMT (envelope-from allanjude@FreeBSD.org) Message-Id: <201707012118.v61LI61I018108@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: allanjude set sender to allanjude@FreeBSD.org using -f From: Allan Jude Date: Sat, 1 Jul 2017 21:18:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320554 - in head: lib/libmd sys/modules/crypto X-SVN-Group: head X-SVN-Commit-Author: allanjude X-SVN-Commit-Paths: in head: lib/libmd sys/modules/crypto X-SVN-Commit-Revision: 320554 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Jul 2017 21:18:08 -0000 Author: allanjude Date: Sat Jul 1 21:18:06 2017 New Revision: 320554 URL: https://svnweb.freebsd.org/changeset/base/320554 Log: Increase loop unrolling for skein hashes This patch was inspired by an opposite change made to shrink the code for the boot loader. On my i7-4770, it increases the skein1024 speed from 470 to 550 MB/s Reviewed by: sbruno MFC after: 1 month Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D7824 Modified: head/lib/libmd/Makefile head/sys/modules/crypto/Makefile Modified: head/lib/libmd/Makefile ============================================================================== --- head/lib/libmd/Makefile Sat Jul 1 20:25:22 2017 (r320553) +++ head/lib/libmd/Makefile Sat Jul 1 21:18:06 2017 (r320554) @@ -88,6 +88,8 @@ sys/md5.h: ${SRCTOP}/sys/${.TARGET} .NOMETA CFLAGS+= -I${.CURDIR} -I${SRCTOP}/sys/crypto/sha2 CFLAGS+= -I${SRCTOP}/sys/crypto/skein CFLAGS+= -DWEAK_REFS +# unroll the 256 and 512 loops, half unroll the 1024 +CFLAGS+= -DSKEIN_LOOP=995 .PATH: ${.CURDIR}/${MACHINE_ARCH} ${SRCTOP}/sys/crypto/sha2 .PATH: ${SRCTOP}/sys/crypto/skein ${SRCTOP}/sys/crypto/skein/${MACHINE_ARCH} @@ -101,6 +103,8 @@ CFLAGS+= -DRMD160_ASM .endif .if exists(${MACHINE_ARCH}/skein_block_asm.s) AFLAGS += --strip-local-absolute +# Fully unroll all loops in the assembly optimized version +AFLAGS+= --defsym SKEIN_LOOP=0 SRCS+= skein_block_asm.s CFLAGS+= -DSKEIN_ASM -DSKEIN_USE_ASM=1792 # list of block functions to replace with assembly: 256+512+1024 = 1792 .endif Modified: head/sys/modules/crypto/Makefile ============================================================================== --- head/sys/modules/crypto/Makefile Sat Jul 1 20:25:22 2017 (r320553) +++ head/sys/modules/crypto/Makefile Sat Jul 1 21:18:06 2017 (r320554) @@ -19,11 +19,15 @@ SRCS += camellia.c camellia-api.c SRCS += des_ecb.c des_enc.c des_setkey.c SRCS += sha1.c sha256c.c sha512c.c SRCS += skein.c skein_block.c +# unroll the 256 and 512 loops, half unroll the 1024 +CFLAGS+= -DSKEIN_LOOP=995 .if exists(${MACHINE_ARCH}/skein_block_asm.s) .PATH: ${SRCTOP}/sys/crypto/skein/${MACHINE_ARCH} SRCS += skein_block_asm.s CFLAGS += -DSKEIN_ASM -DSKEIN_USE_ASM=1792 # list of block functions to replace with assembly: 256+512+1024 = 1792 ACFLAGS += -DELF -Wa,--noexecstack +# Fully unroll all loops in the assembly optimized version +AFLAGS+= --defsym SKEIN_LOOP=0 .endif SRCS += siphash.c SRCS += gmac.c gfmult.c From owner-svn-src-head@freebsd.org Sat Jul 1 21:34:58 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D8377D933C0; Sat, 1 Jul 2017 21:34:58 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AE9AA73834; Sat, 1 Jul 2017 21:34:58 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v61LYv5K026066; Sat, 1 Jul 2017 21:34:57 GMT (envelope-from allanjude@FreeBSD.org) Received: (from allanjude@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v61LYvFc026064; Sat, 1 Jul 2017 21:34:57 GMT (envelope-from allanjude@FreeBSD.org) Message-Id: <201707012134.v61LYvFc026064@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: allanjude set sender to allanjude@FreeBSD.org using -f From: Allan Jude Date: Sat, 1 Jul 2017 21:34:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320555 - head/usr.sbin/diskinfo X-SVN-Group: head X-SVN-Commit-Author: allanjude X-SVN-Commit-Paths: head/usr.sbin/diskinfo X-SVN-Commit-Revision: 320555 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Jul 2017 21:34:59 -0000 Author: allanjude Date: Sat Jul 1 21:34:57 2017 New Revision: 320555 URL: https://svnweb.freebsd.org/changeset/base/320555 Log: Add -s (serial) and -p (physpath) to diskinfo Return the bare requested information, intended for scripting. The serial number of a SAS/SCSI device can be returned with 'camcontrol inquiry disk -S', but there is no similar switch for SATA. This provides a way to get this information from both SAS and SATA disks the -s and -p flags are mutually exclusive, and cannot be used with any other flags. Reviewed by: rpokala, wblock MFC after: 1 month Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D7828 Modified: head/usr.sbin/diskinfo/diskinfo.8 head/usr.sbin/diskinfo/diskinfo.c Modified: head/usr.sbin/diskinfo/diskinfo.8 ============================================================================== --- head/usr.sbin/diskinfo/diskinfo.8 Sat Jul 1 21:18:06 2017 (r320554) +++ head/usr.sbin/diskinfo/diskinfo.8 Sat Jul 1 21:34:57 2017 (r320555) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 22, 2016 +.Dd July 1, 2017 .Dt DISKINFO 8 .Os .Sh NAME @@ -38,6 +38,12 @@ .Nm .Op Fl citv .Ar disk ... +.Nm +.Op Fl p +.Ar disk ... +.Nm +.Op Fl s +.Ar disk ... .Sh DESCRIPTION The .Nm @@ -52,6 +58,12 @@ Print fields one per line with a descriptive comment. Perform a simple measurement of the I/O read command overhead. .It Fl i Perform a simple IOPS benchmark. +.It Fl p +Return the physical path of the disk. +This is a string that identifies the physical path to the disk in the +storage enclsoure. +.It Fl s +Return the disk serial number .It Fl t Perform a simple and rather naive benchmark of the disks seek and transfer performance. @@ -62,6 +74,13 @@ with the following fields: device name, sectorsize, me media size in sectors, stripe size, stripe offset, firmware cylinders, firmware heads, and firmware sectors. The last three fields are only present if the information is available. +.It Fl i +Return the disk ident, usually the serial number. +.It Fl p +Return the physical path of the disk. +This is a string that identifies the physical path to the disk in the +storage enclsoure. +.El .Sh HISTORY The .Nm Modified: head/usr.sbin/diskinfo/diskinfo.c ============================================================================== --- head/usr.sbin/diskinfo/diskinfo.c Sat Jul 1 21:18:06 2017 (r320554) +++ head/usr.sbin/diskinfo/diskinfo.c Sat Jul 1 21:34:57 2017 (r320555) @@ -55,7 +55,7 @@ usage(void) exit (1); } -static int opt_c, opt_i, opt_t, opt_v; +static int opt_c, opt_i, opt_p, opt_s, opt_t, opt_v; static void speeddisk(int fd, off_t mediasize, u_int sectorsize); static void commandtime(int fd, off_t mediasize, u_int sectorsize); @@ -74,7 +74,7 @@ main(int argc, char **argv) u_int sectorsize, fwsectors, fwheads, zoned = 0; uint32_t zone_mode; - while ((ch = getopt(argc, argv, "citv")) != -1) { + while ((ch = getopt(argc, argv, "cipstv")) != -1) { switch (ch) { case 'c': opt_c = 1; @@ -84,6 +84,12 @@ main(int argc, char **argv) opt_i = 1; opt_v = 1; break; + case 'p': + opt_p = 1; + break; + case 's': + opt_s = 1; + break; case 't': opt_t = 1; opt_v = 1; @@ -101,6 +107,11 @@ main(int argc, char **argv) if (argc < 1) usage(); + if ((opt_p && opt_s) || ((opt_p || opt_s) && (opt_c || opt_i || opt_t || opt_v))) { + warnx("-p or -s cannot be used with other options"); + usage(); + } + for (i = 0; i < argc; i++) { fd = open(argv[i], O_RDONLY | O_DIRECT); if (fd < 0 && errno == ENOENT && *argv[i] != '/') { @@ -124,7 +135,27 @@ main(int argc, char **argv) fwheads = 0; stripesize = sb.st_blksize; stripeoffset = 0; + if (opt_p || opt_s) { + warnx("-p and -s only operate on physical devices: %s", argv[i]); + goto out; + } } else { + if (opt_p) { + if (ioctl(fd, DIOCGPHYSPATH, physpath) == 0) { + printf("%s\n", physpath); + } else { + warnx("Failed to determine physpath for: %s", argv[i]); + } + goto out; + } + if (opt_s) { + if (ioctl(fd, DIOCGIDENT, ident) == 0) { + printf("%s\n", ident); + } else { + warnx("Failed to determine serial number for: %s", argv[i]); + } + goto out; + } error = ioctl(fd, DIOCGMEDIASIZE, &mediasize); if (error) { warnx("%s: ioctl(DIOCGMEDIASIZE) failed, probably not a disk.", argv[i]); From owner-svn-src-head@freebsd.org Sat Jul 1 22:52:19 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4D00CD9489E; Sat, 1 Jul 2017 22:52:19 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1A68475999; Sat, 1 Jul 2017 22:52:19 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v61MqIoK058349; Sat, 1 Jul 2017 22:52:18 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v61MqIts058346; Sat, 1 Jul 2017 22:52:18 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201707012252.v61MqIts058346@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 1 Jul 2017 22:52:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320558 - head/sys/compat/freebsd32 X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/compat/freebsd32 X-SVN-Commit-Revision: 320558 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Jul 2017 22:52:19 -0000 Author: kib Date: Sat Jul 1 22:52:17 2017 New Revision: 320558 URL: https://svnweb.freebsd.org/changeset/base/320558 Log: Port PowerPC kqueue(2) compat32 fix in r320500 to MIPS. All 32bit MIPS ABIs align uint64_t on 8-byte. Since struct kevent32 is defined using 32bit types to avoid extra alignment on amd64/i386, layout of the structure needs paddings on PowerPC and apparently MIPS. Reviewed by: jhb Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D11434 Modified: head/sys/compat/freebsd32/freebsd32.h head/sys/compat/freebsd32/freebsd32_misc.c Modified: head/sys/compat/freebsd32/freebsd32.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32.h Sat Jul 1 22:21:11 2017 (r320557) +++ head/sys/compat/freebsd32/freebsd32.h Sat Jul 1 22:52:17 2017 (r320558) @@ -141,12 +141,12 @@ struct kevent32 { short filter; /* filter for event */ u_short flags; u_int fflags; -#ifdef __powerpc__ +#ifndef __amd64__ uint32_t pad0; #endif int32_t data1, data2; uint32_t udata; /* opaque user data identifier */ -#ifdef __powerpc__ +#ifndef __amd64__ uint32_t pad1; #endif uint32_t ext64[8]; Modified: head/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_misc.c Sat Jul 1 22:21:11 2017 (r320557) +++ head/sys/compat/freebsd32/freebsd32_misc.c Sat Jul 1 22:52:17 2017 (r320558) @@ -119,10 +119,10 @@ CTASSERT(sizeof(struct statfs32) == 256); CTASSERT(sizeof(struct rusage32) == 72); #endif CTASSERT(sizeof(struct sigaltstack32) == 12); -#ifdef __powerpc__ -CTASSERT(sizeof(struct kevent32) == 64); -#else +#ifdef __amd64__ CTASSERT(sizeof(struct kevent32) == 56); +#else +CTASSERT(sizeof(struct kevent32) == 64); #endif CTASSERT(sizeof(struct iovec32) == 8); CTASSERT(sizeof(struct msghdr32) == 28); From owner-svn-src-head@freebsd.org Sat Jul 1 23:39:51 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 90D36D95320; Sat, 1 Jul 2017 23:39:51 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 550AC76AD0; Sat, 1 Jul 2017 23:39:51 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v61Ndo8S076164; Sat, 1 Jul 2017 23:39:50 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v61NdoE9076163; Sat, 1 Jul 2017 23:39:50 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201707012339.v61NdoE9076163@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Sat, 1 Jul 2017 23:39:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320560 - head/sys/vm X-SVN-Group: head X-SVN-Commit-Author: alc X-SVN-Commit-Paths: head/sys/vm X-SVN-Commit-Revision: 320560 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Jul 2017 23:39:51 -0000 Author: alc Date: Sat Jul 1 23:39:49 2017 New Revision: 320560 URL: https://svnweb.freebsd.org/changeset/base/320560 Log: Modify vm_map_growstack() to protect itself from the possibility of the gap entry in the vm map being smaller than the sysctl-derived stack guard size. Otherwise, the value of max_grow can suffer from overflow, and the roundup(grow_amount, sgrowsiz) will not be properly capped, resulting in an assertion failure. In collaboration with: kib MFC after: 3 days Modified: head/sys/vm/vm_map.c Modified: head/sys/vm/vm_map.c ============================================================================== --- head/sys/vm/vm_map.c Sat Jul 1 22:54:52 2017 (r320559) +++ head/sys/vm/vm_map.c Sat Jul 1 23:39:49 2017 (r320560) @@ -3685,7 +3685,7 @@ vm_map_growstack(vm_map_t map, vm_offset_t addr, vm_ma struct vmspace *vm; struct ucred *cred; vm_offset_t gap_end, gap_start, grow_start; - size_t grow_amount, max_grow; + size_t grow_amount, guard, max_grow; rlim_t lmemlim, stacklim, vmemlim; int rv, rv1; bool gap_deleted, grow_down, is_procstack; @@ -3701,6 +3701,7 @@ vm_map_growstack(vm_map_t map, vm_offset_t addr, vm_ma MPASS(map == &p->p_vmspace->vm_map); MPASS(!map->system_map); + guard = stack_guard_page * PAGE_SIZE; lmemlim = lim_cur(curthread, RLIMIT_MEMLOCK); stacklim = lim_cur(curthread, RLIMIT_STACK); vmemlim = lim_cur(curthread, RLIMIT_VMEM); @@ -3727,8 +3728,10 @@ retry: } else { return (KERN_FAILURE); } - max_grow = gap_entry->end - gap_entry->start - stack_guard_page * - PAGE_SIZE; + max_grow = gap_entry->end - gap_entry->start; + if (guard > max_grow) + return (KERN_NO_SPACE); + max_grow -= guard; if (grow_amount > max_grow) return (KERN_NO_SPACE);