From owner-svn-src-projects@FreeBSD.ORG Sun Nov 9 00:36:42 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1FFB9746; Sun, 9 Nov 2014 00:36:42 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 09BD9206; Sun, 9 Nov 2014 00:36:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sA90agAL030712; Sun, 9 Nov 2014 00:36:42 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sA90aeAj030701; Sun, 9 Nov 2014 00:36:40 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201411090036.sA90aeAj030701@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sun, 9 Nov 2014 00:36:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274301 - in projects/routing/sys: kern net netinet netinet6 netpfil/ipfw netpfil/pf nfs X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2014 00:36:42 -0000 Author: melifaro Date: Sun Nov 9 00:36:39 2014 New Revision: 274301 URL: https://svnweb.freebsd.org/changeset/base/274301 Log: Separate radix and routing: use different structures for route and for other customers. Introduce new 'struct rib_head' for routing purposes and make all routing api use it. Modified: projects/routing/sys/kern/vfs_export.c projects/routing/sys/net/radix.c projects/routing/sys/net/radix.h projects/routing/sys/net/radix_mpath.c projects/routing/sys/net/route.c projects/routing/sys/net/route.h projects/routing/sys/net/route_internal.h projects/routing/sys/net/rt_nhops.c projects/routing/sys/net/rt_nhops.h projects/routing/sys/net/rtsock.c projects/routing/sys/netinet/in_rmx.c projects/routing/sys/netinet/in_var.h projects/routing/sys/netinet/ip_icmp.c projects/routing/sys/netinet6/in6_rmx.c projects/routing/sys/netinet6/nd6_rtr.c projects/routing/sys/netpfil/ipfw/ip_fw_table_algo.c projects/routing/sys/netpfil/pf/pf_table.c projects/routing/sys/nfs/bootp_subr.c Modified: projects/routing/sys/kern/vfs_export.c ============================================================================== --- projects/routing/sys/kern/vfs_export.c Sat Nov 8 19:38:34 2014 (r274300) +++ projects/routing/sys/kern/vfs_export.c Sun Nov 9 00:36:39 2014 (r274301) @@ -199,7 +199,7 @@ vfs_hang_addrlist(struct mount *mp, stru goto out; } RADIX_NODE_HEAD_LOCK(rnh); - rn = (*rnh->rnh_addaddr)(saddr, smask, rnh, np->netc_rnodes); + rn = (*rnh->rnh_addaddr)(saddr, smask, &rnh->rh, np->netc_rnodes); RADIX_NODE_HEAD_UNLOCK(rnh); if (rn == NULL || np != (struct netcred *)rn) { /* already exists */ error = EPERM; @@ -231,7 +231,7 @@ vfs_free_netcred(struct radix_node *rn, struct radix_node_head *rnh = (struct radix_node_head *) w; struct ucred *cred; - (*rnh->rnh_deladdr) (rn->rn_key, rn->rn_mask, rnh); + (*rnh->rnh_deladdr) (rn->rn_key, rn->rn_mask, &rnh->rh); cred = ((struct netcred *)rn)->netc_anon; if (cred != NULL) crfree(cred); @@ -256,7 +256,7 @@ vfs_free_addrlist_af(struct radix_node_h rnh = *prnh; RADIX_NODE_HEAD_LOCK(rnh); - (*rnh->rnh_walktree) (rnh, vfs_free_netcred, rnh); + (*rnh->rnh_walktree)(&rnh->rh, vfs_free_netcred, &rnh->rh); RADIX_NODE_HEAD_UNLOCK(rnh); RADIX_NODE_HEAD_DESTROY(rnh); free(rnh, M_RTABLE); @@ -470,7 +470,7 @@ vfs_export_lookup(struct mount *mp, stru if (rnh != NULL) { RADIX_NODE_HEAD_RLOCK(rnh); np = (struct netcred *) - (*rnh->rnh_matchaddr)(saddr, rnh); + (*rnh->rnh_matchaddr)(saddr, &rnh->rh); RADIX_NODE_HEAD_RUNLOCK(rnh); if (np && np->netc_rnodes->rn_flags & RNF_ROOT) np = NULL; Modified: projects/routing/sys/net/radix.c ============================================================================== --- projects/routing/sys/net/radix.c Sat Nov 8 19:38:34 2014 (r274300) +++ projects/routing/sys/net/radix.c Sun Nov 9 00:36:39 2014 (r274301) @@ -56,9 +56,6 @@ #include #endif /* !_KERNEL */ -static int rn_walktree_from(struct radix_head *h, void *a, void *m, - walktree_f_t *f, void *w); -static int rn_walktree(struct radix_head *, walktree_f_t *, void *); static struct radix_node *rn_insert(void *, struct radix_head *, int *, struct radix_node [2]), @@ -68,7 +65,6 @@ static struct radix_node static struct radix_node *rn_addmask(void *, struct radix_head *, int, int); static void rn_detachhead_internal(void **head); -static int rn_inithead_internal(void **head, int off); #define RADIX_MAX_KEY_LEN 32 @@ -225,7 +221,7 @@ rn_lookup(void *v_arg, void *m_arg, stru /* * Most common case: search exact prefix/mask */ - x = rn_addmask(m_arg, head->rnh_masks, 1, + x = rn_addmask(m_arg, head->s.rnh_masks, 1, head->rnh_treetop->rn_offset); if (x == NULL) return (NULL); @@ -507,7 +503,7 @@ rn_addmask(void *n_arg, struct radix_hea if (skip == 0) skip = 1; if (mlen <= skip) - return (((struct radix_node_head *)maskhead)->rnh_nodes); + return (maskhead->s.mask_nodes); bzero(addmask_key, RADIX_MAX_KEY_LEN); if (skip > 1) @@ -520,7 +516,7 @@ rn_addmask(void *n_arg, struct radix_hea cp--; mlen = cp - addmask_key; if (mlen <= skip) - return (((struct radix_node_head *)maskhead)->rnh_nodes); + return (maskhead->s.mask_nodes); *addmask_key = mlen; x = rn_search(addmask_key, maskhead->rnh_treetop); if (bcmp(addmask_key, x->rn_key, mlen) != 0) @@ -619,7 +615,7 @@ rn_addroute(void *v_arg, void *n_arg, st * nodes and possibly save time in calculating indices. */ if (netmask) { - x = rn_addmask(netmask, head->rnh_masks, 0, top->rn_offset); + x = rn_addmask(netmask, head->s.rnh_masks, 0, top->rn_offset); if (x == NULL) return (0); b_leaf = x->rn_bit; @@ -797,7 +793,7 @@ rn_delete(void *v_arg, void *netmask_arg * Delete our route from mask lists. */ if (netmask) { - x = rn_addmask(netmask, head->rnh_masks, 1, head_off); + x = rn_addmask(netmask, head->s.rnh_masks, 1, head_off); if (x == NULL) return (0); netmask = x->rn_key; @@ -961,7 +957,7 @@ out: * This is the same as rn_walktree() except for the parameters and the * exit. */ -static int +int rn_walktree_from(struct radix_head *h, void *a, void *m, walktree_f_t *f, void *w) { @@ -1067,7 +1063,7 @@ rn_walktree_from(struct radix_head *h, v return (0); } -static int +int rn_walktree(struct radix_head *h, walktree_f_t *f, void *w) { int error; @@ -1107,76 +1103,75 @@ rn_walktree(struct radix_head *h, walktr } /* - * Allocate and initialize an empty tree. This has 3 nodes, which are - * part of the radix_node_head (in the order ) and are + * Initialize an empty tree. This has 3 nodes, which are passed + * via base_nodes (in the order ) and are * marked RNF_ROOT so they cannot be freed. * The leaves have all-zero and all-one keys, with significant * bits starting at 'off'. - * Return 1 on success, 0 on error. */ -static int -rn_inithead_internal(void **head, int off) +void +rn_inithead_internal(struct radix_head *rh, struct radix_node *base_nodes, int off) { - struct radix_node_head *rnh; struct radix_node *t, *tt, *ttt; - if (*head) - return (1); - R_Zalloc(rnh, struct radix_node_head *, sizeof (*rnh)); - if (rnh == 0) - return (0); - *head = rnh; - t = rn_newpair(rn_zeros, off, rnh->rnh_nodes); - ttt = rnh->rnh_nodes + 2; + + t = rn_newpair(rn_zeros, off, base_nodes); + ttt = base_nodes + 2; t->rn_right = ttt; t->rn_parent = t; - tt = t->rn_left; /* ... which in turn is rnh->rnh_nodes */ + tt = t->rn_left; /* ... which in turn is base_nodes */ tt->rn_flags = t->rn_flags = RNF_ROOT | RNF_ACTIVE; tt->rn_bit = -1 - off; *ttt = *tt; ttt->rn_key = rn_ones; - rnh->rnh_addaddr = (rn_addaddr_f_t *)rn_addroute; - rnh->rnh_deladdr = (rn_deladdr_f_t *)rn_delete; - rnh->rnh_matchaddr = (rn_matchaddr_f_t *)rn_match; - rnh->rnh_lookup = (rn_lookup_f_t *)rn_lookup; - rnh->rnh_walktree = (rn_walktree_t *)rn_walktree; - rnh->rnh_walktree_from = (rn_walktree_from_t *)rn_walktree_from; - rnh->rh.rnh_treetop = t; - return (1); + + rh->rnh_treetop = t; } static void rn_detachhead_internal(void **head) { - struct radix_node_head *rnh; KASSERT((head != NULL && *head != NULL), ("%s: head already freed", __func__)); - rnh = *head; /* Free nodes. */ - Free(rnh); + Free(*head); *head = NULL; } +/* BELOW ARE FUNCTIONS TO SUPPORT struct radix_node_head USERS */ int rn_inithead(void **head, int off) { struct radix_node_head *rnh; + struct radix_mask_head *rmh; if (*head != NULL) return (1); - if (rn_inithead_internal(head, off) == 0) - return (0); - - rnh = (struct radix_node_head *)(*head); - - if (rn_inithead_internal((void **)&rnh->rh.rnh_masks, 0) == 0) { - rn_detachhead_internal(head); - return (0); + R_Zalloc(rnh, struct radix_node_head *, sizeof (*rnh)); + R_Zalloc(rmh, struct radix_mask_head *, sizeof (*rmh)); + if (rnh == NULL || rmh == NULL) { + if (rnh != NULL) + Free(rnh); + return (1); } + /* Init trees */ + rn_inithead_internal(&rnh->rh, rnh->rnh_nodes, off); + rn_inithead_internal(&rmh->head, rmh->mask_nodes, 0); + rnh->rh.s.rnh_masks = &rmh->head; + rmh->head.s.mask_nodes = rmh->mask_nodes; + + /* Finally, set base callbacks */ + rnh->rnh_addaddr = rn_addroute; + rnh->rnh_deladdr = rn_delete; + rnh->rnh_matchaddr = rn_match; + rnh->rnh_lookup = rn_lookup; + rnh->rnh_walktree = rn_walktree; + rnh->rnh_walktree_from = rn_walktree_from; + return (1); } @@ -1202,8 +1197,8 @@ rn_detachhead(void **head) rnh = *head; - rn_walktree(rnh->rh.rnh_masks, rn_freeentry, rnh->rh.rnh_masks); - rn_detachhead_internal((void **)&rnh->rh.rnh_masks); + rn_walktree(rnh->rh.s.rnh_masks, rn_freeentry, rnh->rh.s.rnh_masks); + rn_detachhead_internal((void **)&rnh->rh.s.rnh_masks); rn_detachhead_internal(head); return (1); } Modified: projects/routing/sys/net/radix.h ============================================================================== --- projects/routing/sys/net/radix.h Sat Nov 8 19:38:34 2014 (r274300) +++ projects/routing/sys/net/radix.h Sun Nov 9 00:36:39 2014 (r274301) @@ -101,26 +101,29 @@ struct radix_mask { #define rm_mask rm_rmu.rmu_mask #define rm_leaf rm_rmu.rmu_leaf /* extra field would make 32 bytes */ -struct radix_node_head; +struct radix_head; typedef int walktree_f_t(struct radix_node *, void *); typedef struct radix_node *rn_matchaddr_f_t(void *v, - struct radix_node_head *head); + struct radix_head *head); typedef struct radix_node *rn_addaddr_f_t(void *v, void *mask, - struct radix_node_head *head, struct radix_node nodes[]); + struct radix_head *head, struct radix_node nodes[]); typedef struct radix_node *rn_deladdr_f_t(void *v, void *mask, - struct radix_node_head *head); + struct radix_head *head); typedef struct radix_node *rn_lookup_f_t(void *v, void *mask, - struct radix_node_head *head); -typedef int rn_walktree_t(struct radix_node_head *head, walktree_f_t *f, + struct radix_head *head); +typedef int rn_walktree_t(struct radix_head *head, walktree_f_t *f, void *w); -typedef int rn_walktree_from_t(struct radix_node_head *head, +typedef int rn_walktree_from_t(struct radix_head *head, void *a, void *m, walktree_f_t *f, void *w); -typedef void rn_close_t(struct radix_node *rn, struct radix_node_head *head); +typedef void rn_close_t(struct radix_node *rn, struct radix_head *head); struct radix_head { struct radix_node *rnh_treetop; - struct radix_head *rnh_masks; /* Storage for our masks */ + union { + struct radix_head *rnh_masks; /* Storage for our masks */ + struct radix_node *mask_nodes; + } s; }; struct radix_node_head { @@ -140,6 +143,14 @@ struct radix_node_head { #endif }; +/* XXX: Temporarily xported to support external radix users */ +struct radix_mask_head { + struct radix_head head; + struct radix_node mask_nodes[3]; +}; +void rn_inithead_internal(struct radix_head *rh, struct radix_node *base_nodes, + int off); + #ifndef _KERNEL #define R_Malloc(p, t, n) (p = (t) malloc((unsigned int)(n))) #define R_Zalloc(p, t, n) (p = (t) calloc(1,(unsigned int)(n))) @@ -172,5 +183,8 @@ struct radix_node *rn_delete(void *, voi struct radix_node *rn_lookup (void *v_arg, void *m_arg, struct radix_head *head); struct radix_node *rn_match(void *, struct radix_head *); +int rn_walktree_from(struct radix_head *h, void *a, void *m, + walktree_f_t *f, void *w); +int rn_walktree(struct radix_head *, walktree_f_t *, void *); #endif /* _RADIX_H_ */ Modified: projects/routing/sys/net/radix_mpath.c ============================================================================== --- projects/routing/sys/net/radix_mpath.c Sat Nov 8 19:38:34 2014 (r274300) +++ projects/routing/sys/net/radix_mpath.c Sun Nov 9 00:36:39 2014 (r274301) @@ -167,7 +167,7 @@ rt_mpath_conflict(struct radix_node_head struct rtentry *rt1; rn = (struct radix_node *)rt; - rn1 = rnh->rnh_lookup(rt_key(rt), netmask, rnh); + rn1 = rnh->rnh_lookup(rt_key(rt), netmask, &rnh->rh); if (!rn1 || rn1->rn_flags & RNF_ROOT) return (0); Modified: projects/routing/sys/net/route.c ============================================================================== --- projects/routing/sys/net/route.c Sat Nov 8 19:38:34 2014 (r274300) +++ projects/routing/sys/net/route.c Sun Nov 9 00:36:39 2014 (r274301) @@ -116,7 +116,7 @@ SYSCTL_UINT(_net, OID_AUTO, add_addr_all VNET_DEFINE(struct rtstat, rtstat); #define V_rtstat VNET(rtstat) -VNET_DEFINE(struct radix_node_head *, rt_tables); +VNET_DEFINE(struct rib_head *, rt_tables); #define V_rt_tables VNET(rt_tables) VNET_DEFINE(int, rttrash); /* routes not in table but not freed */ @@ -138,7 +138,7 @@ VNET_DEFINE(int, rttrash); /* routes no static VNET_DEFINE(uma_zone_t, rtzone); /* Routing table UMA zone. */ #define V_rtzone VNET(rtzone) -static int rtrequest1_fib_change(struct radix_node_head *, struct rt_addrinfo *, +static int rtrequest1_fib_change(struct rib_head *, struct rt_addrinfo *, struct rtentry **, u_int); static void rt_setmetrics(const struct rt_addrinfo *, struct rtentry *); static int rt_ifdelroute(struct rtentry *rt, void *arg); @@ -160,25 +160,25 @@ sysctl_my_fibnum(SYSCTL_HANDLER_ARGS) SYSCTL_PROC(_net, OID_AUTO, my_fibnum, CTLTYPE_INT|CTLFLAG_RD, NULL, 0, &sysctl_my_fibnum, "I", "default FIB of caller"); -static __inline struct radix_node_head ** +static __inline struct rib_head ** rt_tables_get_rnh_ptr(int table, int fam) { - struct radix_node_head **rnh; + struct rib_head **rh; KASSERT(table >= 0 && table < rt_numfibs, ("%s: table out of bounds.", __func__)); KASSERT(fam >= 0 && fam < (AF_MAX+1), ("%s: fam out of bounds.", __func__)); - /* rnh is [fib=0][af=0]. */ - rnh = (struct radix_node_head **)V_rt_tables; + /* rh is [fib=0][af=0]. */ + rh = (struct rib_head **)V_rt_tables; /* Get the offset to the requested table and fam. */ - rnh += table * (AF_MAX+1) + fam; + rh += table * (AF_MAX+1) + fam; - return (rnh); + return (rh); } -struct radix_node_head * +struct rib_head * rt_tables_get_rnh(int table, int fam) { @@ -247,12 +247,12 @@ static void vnet_route_init(const void *unused __unused) { struct domain *dom; - struct radix_node_head **rnh; + struct rib_head **rh; int table; int fam; V_rt_tables = malloc(rt_numfibs * (AF_MAX+1) * - sizeof(struct radix_node_head *), M_RTABLE, M_WAITOK|M_ZERO); + sizeof(struct rib_head *), M_RTABLE, M_WAITOK|M_ZERO); V_rtzone = uma_zcreate("rtentry", sizeof(struct rtentry), rtentry_ctor, rtentry_dtor, @@ -266,10 +266,10 @@ vnet_route_init(const void *unused __unu if (table != 0 && fam != AF_INET6 && fam != AF_INET) break; - rnh = rt_tables_get_rnh_ptr(table, fam); - if (rnh == NULL) - panic("%s: rnh NULL", __func__); - dom->dom_rtattach((void **)rnh, 0); + rh = rt_tables_get_rnh_ptr(table, fam); + if (rh == NULL) + panic("%s: rh NULL", __func__); + dom->dom_rtattach((void **)rh, 0); } } } @@ -283,7 +283,7 @@ vnet_route_uninit(const void *unused __u int table; int fam; struct domain *dom; - struct radix_node_head **rnh; + struct rib_head **rh; for (dom = domains; dom; dom = dom->dom_next) { if (dom->dom_rtdetach == NULL) @@ -295,10 +295,10 @@ vnet_route_uninit(const void *unused __u if (table != 0 && fam != AF_INET6 && fam != AF_INET) break; - rnh = rt_tables_get_rnh_ptr(table, fam); - if (rnh == NULL) - panic("%s: rnh NULL", __func__); - dom->dom_rtdetach((void **)rnh, 0); + rh = rt_tables_get_rnh_ptr(table, fam); + if (rh == NULL) + panic("%s: rh NULL", __func__); + dom->dom_rtdetach((void **)rh, 0); } } @@ -309,6 +309,44 @@ VNET_SYSUNINIT(vnet_route_uninit, SI_SUB vnet_route_uninit, 0); #endif +struct rib_head * +rt_table_init(int offset) +{ + struct rib_head *rh; + + rh = malloc(sizeof(struct rib_head), M_RTABLE, M_WAITOK | M_ZERO); + + /* XXX: These details should be hidded inside radix.c */ + /* Init masks tree */ + rn_inithead_internal(&rh->head, rh->rnh_nodes, offset); + rn_inithead_internal(&rh->rmhead.head, rh->rmhead.mask_nodes, 0); + rh->head.s.rnh_masks = &rh->rmhead.head; + rh->rmhead.head.s.mask_nodes = rh->rmhead.mask_nodes; + + /* Init locks */ + rw_init(&rh->rib_lock, "rib head"); + + /* Finally, set base callbacks */ + rh->rnh_addaddr = rn_addroute; + rh->rnh_deladdr = rn_delete; + rh->rnh_matchaddr = rn_match; + rh->rnh_lookup = rn_lookup; + rh->rnh_walktree = rn_walktree; + rh->rnh_walktree_from = rn_walktree_from; + + return (rh); +} + +void +rt_table_destroy(struct rib_head *rh) +{ + + /* Assume table is already empty */ + rw_destroy(&rh->rib_lock); + free(rh, M_RTABLE); +} + + #ifndef _SYS_SYSPROTO_H_ struct setfib_args { int fibnum; @@ -388,7 +426,7 @@ struct rtentry * rtalloc1_fib(struct sockaddr *dst, int report, u_long ignflags, u_int fibnum) { - struct radix_node_head *rnh; + struct rib_head *rh; struct radix_node *rn; struct rtentry *newrt; struct rt_addrinfo info; @@ -396,9 +434,9 @@ rtalloc1_fib(struct sockaddr *dst, int r int needlock; KASSERT((fibnum < rt_numfibs), ("rtalloc1_fib: bad fibnum")); - rnh = rt_tables_get_rnh(fibnum, dst->sa_family); + rh = rt_tables_get_rnh(fibnum, dst->sa_family); newrt = NULL; - if (rnh == NULL) + if (rh == NULL) goto miss; /* @@ -406,22 +444,22 @@ rtalloc1_fib(struct sockaddr *dst, int r */ needlock = !(ignflags & RTF_RNH_LOCKED); if (needlock) - RADIX_NODE_HEAD_RLOCK(rnh); + RIB_RLOCK(rh); #ifdef INVARIANTS else - RADIX_NODE_HEAD_LOCK_ASSERT(rnh); + RIB_LOCK_ASSERT(rh); #endif - rn = rnh->rnh_matchaddr(dst, rnh); + rn = rh->rnh_matchaddr(dst, &rh->head); if (rn && ((rn->rn_flags & RNF_ROOT) == 0)) { newrt = RNTORT(rn); RT_LOCK(newrt); RT_ADDREF(newrt); if (needlock) - RADIX_NODE_HEAD_RUNLOCK(rnh); + RIB_RUNLOCK(rh); goto done; } else if (needlock) - RADIX_NODE_HEAD_RUNLOCK(rnh); + RIB_RUNLOCK(rh); /* * Either we hit the root or couldn't find any match, @@ -454,11 +492,11 @@ done: void rtfree(struct rtentry *rt) { - struct radix_node_head *rnh; + struct rib_head *rh; KASSERT(rt != NULL,("%s: NULL rt", __func__)); - rnh = rt_tables_get_rnh(rt->rt_fibnum, rt_key(rt)->sa_family); - KASSERT(rnh != NULL,("%s: NULL rnh", __func__)); + rh = rt_tables_get_rnh(rt->rt_fibnum, rt_key(rt)->sa_family); + KASSERT(rh != NULL,("%s: NULL rh", __func__)); RT_LOCK_ASSERT(rt); @@ -481,8 +519,8 @@ rtfree(struct rtentry *rt) * typically calls rtexpunge which clears the RTF_UP flag * on the entry so that the code below reclaims the storage. */ - if (rt->rt_refcnt == 0 && rnh->rnh_close) - rnh->rnh_close((struct radix_node *)rt, rnh); + if (rt->rt_refcnt == 0 && rh->rnh_close) + rh->rnh_close((struct radix_node *)rt, &rh->head); /* * If we are no longer "up" (and ref == 0) @@ -557,11 +595,11 @@ rtredirect_fib(struct sockaddr *dst, short *stat = NULL; struct rt_addrinfo info; struct ifaddr *ifa; - struct radix_node_head *rnh; + struct rib_head *rh; ifa = NULL; - rnh = rt_tables_get_rnh(fibnum, dst->sa_family); - if (rnh == NULL) { + rh = rt_tables_get_rnh(fibnum, dst->sa_family); + if (rh == NULL) { error = EAFNOSUPPORT; goto out; } @@ -615,7 +653,7 @@ rtredirect_fib(struct sockaddr *dst, info.rti_ifa = ifa; info.rti_flags = flags; if (rt0 != NULL) - RT_UNLOCK(rt0); /* drop lock to avoid LOR with RNH */ + RT_UNLOCK(rt0); /* drop lock to avoid LOR with rh */ error = rtrequest1_fib(RTM_ADD, &info, &rt, fibnum); if (rt != NULL) { RT_LOCK(rt); @@ -641,11 +679,11 @@ rtredirect_fib(struct sockaddr *dst, * add the key and gateway (in one malloc'd chunk). */ RT_UNLOCK(rt); - RADIX_NODE_HEAD_LOCK(rnh); + RIB_WLOCK(rh); RT_LOCK(rt); rt_setgate(rt, rt_key(rt), gateway); gwrt = rtalloc1(gateway, 1, RTF_RNH_LOCKED); - RADIX_NODE_HEAD_UNLOCK(rnh); + RIB_WUNLOCK(rh); EVENTHANDLER_INVOKE(route_redirect_event, rt, gwrt, dst); RTFREE_LOCKED(gwrt); } @@ -810,35 +848,35 @@ rtrequest_fib(int req, void rt_foreach_fib(int af, rt_setwarg_t *setwa_f, rt_walktree_f_t *wa_f, void *arg) { - struct radix_node_head *rnh; + struct rib_head *rh; uint32_t fibnum; int i; for (fibnum = 0; fibnum < rt_numfibs; fibnum++) { /* Do we want some specific family? */ if (af != AF_UNSPEC) { - rnh = rt_tables_get_rnh(fibnum, af); - if (rnh == NULL) + rh = rt_tables_get_rnh(fibnum, af); + if (rh == NULL) continue; if (setwa_f != NULL) - setwa_f(rnh, fibnum, i, arg); + setwa_f(rh, fibnum, i, arg); - RADIX_NODE_HEAD_LOCK(rnh); - rnh->rnh_walktree(rnh, (walktree_f_t *)wa_f, arg); - RADIX_NODE_HEAD_UNLOCK(rnh); + RIB_WLOCK(rh); + rh->rnh_walktree(&rh->head, (walktree_f_t *)wa_f, arg); + RIB_WUNLOCK(rh); continue; } for (i = 1; i <= AF_MAX; i++) { - rnh = rt_tables_get_rnh(fibnum, i); - if (rnh == NULL) + rh = rt_tables_get_rnh(fibnum, i); + if (rh == NULL) continue; if (setwa_f != NULL) - setwa_f(rnh, fibnum, i, arg); + setwa_f(rh, fibnum, i, arg); - RADIX_NODE_HEAD_LOCK(rnh); - rnh->rnh_walktree(rnh, (walktree_f_t *)wa_f, arg); - RADIX_NODE_HEAD_UNLOCK(rnh); + RIB_WLOCK(rh); + rh->rnh_walktree(&rh->head, (walktree_f_t *)wa_f, arg); + RIB_WUNLOCK(rh); } } } @@ -846,12 +884,12 @@ rt_foreach_fib(int af, rt_setwarg_t *set /* * Delete Routes for a Network Interface * - * Called for each routing entry via the rnh->rnh_walktree() call above + * Called for each routing entry via the rh->rnh_walktree() call above * to delete all route entries referencing a detaching network interface. * * Arguments: * rt pointer to rtentry - * arg argument passed to rnh->rnh_walktree() - detaching interface + * arg argument passed to rh->rnh_walktree() - detaching interface * * Returns: * 0 successful @@ -963,7 +1001,7 @@ rt_getifa_fib(struct rt_addrinfo *info, * The route must be locked. */ int -rt_expunge(struct radix_node_head *rnh, struct rtentry *rt) +rt_expunge(struct rib_head *rh, struct rtentry *rt) { #if !defined(RADIX_MPATH) struct radix_node *rn; @@ -976,7 +1014,7 @@ rt_expunge(struct radix_node_head *rnh, int error = 0; RT_LOCK_ASSERT(rt); - RADIX_NODE_HEAD_LOCK_ASSERT(rnh); + RIB_LOCK_ASSERT(rh); #ifdef RADIX_MPATH fib = rt->rt_fibnum; @@ -1001,7 +1039,7 @@ rt_expunge(struct radix_node_head *rnh, * Remove the item from the tree; it should be there, * but when callers invoke us blindly it may not (sigh). */ - rn = rnh->rnh_deladdr(rt_key(rt), rt_mask(rt), rnh); + rn = rh->rnh_deladdr(rt_key(rt), rt_mask(rt), &rh->head); if (rn == NULL) { error = ESRCH; goto bad; @@ -1093,7 +1131,7 @@ rt_print(char *buf, int buflen, struct r #ifdef RADIX_MPATH static int rn_mpath_update(int req, struct rt_addrinfo *info, - struct radix_node_head *rnh, struct rtentry **ret_nrt) + struct rib_head *rh, struct rtentry **ret_nrt) { /* * if we got multipath routes, we require users to specify @@ -1103,7 +1141,7 @@ rn_mpath_update(int req, struct rt_addri struct radix_node *rn; int error = 0; - rn = rnh->rnh_lookup(dst, netmask, rnh); + rn = rh->rnh_lookup(dst, netmask, rh); if (rn == NULL) return (ESRCH); rto = rt = RNTORT(rn); @@ -1142,7 +1180,7 @@ rn_mpath_update(int req, struct rt_addri * remove from tree before returning it * to the caller */ - rn = rnh->rnh_deladdr(dst, netmask, rnh); + rn = rh->rnh_deladdr(dst, netmask, rh); KASSERT(rt == RNTORT(rn), ("radix node disappeared")); goto gwdelete; } @@ -1207,7 +1245,7 @@ rtrequest1_fib(int req, struct rt_addrin struct rtentry *rt0; #endif struct radix_node *rn; - struct radix_node_head *rnh; + struct rib_head *rh; struct ifaddr *ifa; struct sockaddr *ndst; struct sockaddr_storage mdst; @@ -1227,15 +1265,15 @@ rtrequest1_fib(int req, struct rt_addrin /* * Find the correct routing tree to use for this Address Family */ - rnh = rt_tables_get_rnh(fibnum, dst->sa_family); - if (rnh == NULL) + rh = rt_tables_get_rnh(fibnum, dst->sa_family); + if (rh == NULL) return (EAFNOSUPPORT); needlock = ((flags & RTF_RNH_LOCKED) == 0); flags &= ~RTF_RNH_LOCKED; if (needlock) - RADIX_NODE_HEAD_LOCK(rnh); + RIB_WLOCK(rh); else - RADIX_NODE_HEAD_LOCK_ASSERT(rnh); + RIB_LOCK_ASSERT(rh); /* * If we are adding a host route then we don't want to put * a netmask in the tree, nor do we want to clone it. @@ -1250,8 +1288,8 @@ rtrequest1_fib(int req, struct rt_addrin dst = (struct sockaddr *)&mdst; } #ifdef RADIX_MPATH - if (rn_mpath_capable(rnh)) { - error = rn_mpath_update(req, info, rnh, ret_nrt); + if (rn_mpath_capable(rh)) { + error = rn_mpath_update(req, info, rh, ret_nrt); /* * "bad" holds true for the success case * as well @@ -1263,8 +1301,8 @@ rtrequest1_fib(int req, struct rt_addrin #endif if ((flags & RTF_PINNED) == 0) { /* Check if target route can be deleted */ - rt = (struct rtentry *)rnh->rnh_lookup(dst, - netmask, rnh); + rt = (struct rtentry *)rh->rnh_lookup(dst, + netmask, &rh->head); if ((rt != NULL) && (rt->rt_flags & RTF_PINNED)) senderr(EADDRINUSE); } @@ -1273,7 +1311,7 @@ rtrequest1_fib(int req, struct rt_addrin * Remove the item from the tree and return it. * Complain if it is not there and do no more processing. */ - rn = rnh->rnh_deladdr(dst, netmask, rnh); + rn = rh->rnh_deladdr(dst, netmask, &rh->head); if (rn == NULL) senderr(ESRCH); if (rn->rn_flags & (RNF_ACTIVE | RNF_ROOT)) @@ -1359,7 +1397,7 @@ rtrequest1_fib(int req, struct rt_addrin /* * We use the ifa reference returned by rt_getifa_fib(). - * This moved from below so that rnh->rnh_addaddr() can + * This moved from below so that rh->rnh_addaddr() can * examine the ifa and ifa->ifa_ifp if it so desires. */ rt->rt_ifa = ifa; @@ -1370,8 +1408,8 @@ rtrequest1_fib(int req, struct rt_addrin #ifdef RADIX_MPATH /* do not permit exactly the same dst/mask/gw pair */ - if (rn_mpath_capable(rnh) && - rt_mpath_conflict(rnh, rt, netmask)) { + if (rn_mpath_capable(rh) && + rt_mpath_conflict(rh, rt, netmask)) { ifa_free(rt->rt_ifa); Free(rt_key(rt)); uma_zfree(V_rtzone, rt); @@ -1390,7 +1428,7 @@ rtrequest1_fib(int req, struct rt_addrin case AF_INET: #endif #if defined(INET6) || defined(INET) - rn = rnh->rnh_matchaddr(dst, rnh); + rn = rh->rnh_matchaddr(dst, rh); if (rn && ((rn->rn_flags & RNF_ROOT) == 0)) { struct sockaddr *mask; u_char *m, *n; @@ -1433,7 +1471,7 @@ rtrequest1_fib(int req, struct rt_addrin #endif /* FLOWTABLE */ /* XXX mtu manipulation will be done in rnh_addaddr -- itojun */ - rn = rnh->rnh_addaddr(ndst, netmask, rnh, rt->rt_nodes); + rn = rh->rnh_addaddr(ndst, netmask, &rh->head, rt->rt_nodes); /* * If it still failed to go into the tree, * then un-make it (this should be a function) @@ -1473,14 +1511,14 @@ rtrequest1_fib(int req, struct rt_addrin RT_UNLOCK(rt); break; case RTM_CHANGE: - error = rtrequest1_fib_change(rnh, info, ret_nrt, fibnum); + error = rtrequest1_fib_change(rh, info, ret_nrt, fibnum); break; default: error = EOPNOTSUPP; } bad: if (needlock) - RADIX_NODE_HEAD_UNLOCK(rnh); + RIB_WUNLOCK(rh); return (error); #undef senderr } @@ -1493,7 +1531,7 @@ bad: #undef flags static int -rtrequest1_fib_change(struct radix_node_head *rnh, struct rt_addrinfo *info, +rtrequest1_fib_change(struct rib_head *rh, struct rt_addrinfo *info, struct rtentry **ret_nrt, u_int fibnum) { struct rtentry *rt = NULL; @@ -1501,8 +1539,8 @@ rtrequest1_fib_change(struct radix_node_ int free_ifa = 0; int family, mtu; - rt = (struct rtentry *)rnh->rnh_lookup(info->rti_info[RTAX_DST], - info->rti_info[RTAX_NETMASK], rnh); + rt = (struct rtentry *)rh->rnh_lookup(info->rti_info[RTAX_DST], + info->rti_info[RTAX_NETMASK], &rh->head); if (rt == NULL) return (ESRCH); @@ -1512,7 +1550,7 @@ rtrequest1_fib_change(struct radix_node_ * If we got multipath routes, * we require users to specify a matching RTAX_GATEWAY. */ - if (rn_mpath_capable(rnh)) { + if (rn_mpath_capable(rh)) { rt = rt_mpath_matchgate(rt, info->rti_info[RTAX_GATEWAY]); if (rt == NULL) return (ESRCH); @@ -1609,13 +1647,13 @@ rt_setgate(struct rtentry *rt, struct so /* XXX dst may be overwritten, can we move this to below */ int dlen = SA_SIZE(dst), glen = SA_SIZE(gate); #ifdef INVARIANTS - struct radix_node_head *rnh; + struct rib_head *rh; - rnh = rt_tables_get_rnh(rt->rt_fibnum, dst->sa_family); + rh = rt_tables_get_rnh(rt->rt_fibnum, dst->sa_family); #endif RT_LOCK_ASSERT(rt); - RADIX_NODE_HEAD_LOCK_ASSERT(rnh); + RIB_LOCK_ASSERT(rh); /* * Prepare to store the gateway in rt->rt_gateway. @@ -1688,7 +1726,7 @@ rtinit1(struct ifaddr *ifa, int cmd, int int didwork = 0; int a_failure = 0; static struct sockaddr_dl null_sdl = {sizeof(null_sdl), AF_LINK}; - struct radix_node_head *rnh; + struct rib_head *rh; if (flags & RTF_HOST) { dst = ifa->ifa_dstaddr; @@ -1752,14 +1790,14 @@ rtinit1(struct ifaddr *ifa, int cmd, int * Look up an rtentry that is in the routing tree and * contains the correct info. */ - rnh = rt_tables_get_rnh(fibnum, dst->sa_family); - if (rnh == NULL) + rh = rt_tables_get_rnh(fibnum, dst->sa_family); + if (rh == NULL) /* this table doesn't exist but others might */ continue; - RADIX_NODE_HEAD_RLOCK(rnh); - rn = rnh->rnh_lookup(dst, netmask, rnh); + RIB_RLOCK(rh); + rn = rh->rnh_lookup(dst, netmask, &rh->head); #ifdef RADIX_MPATH - if (rn_mpath_capable(rnh)) { + if (rn_mpath_capable(rh)) { if (rn == NULL) error = ESRCH; @@ -1782,7 +1820,7 @@ rtinit1(struct ifaddr *ifa, int cmd, int error = (rn == NULL || (rn->rn_flags & RNF_ROOT) || RNTORT(rn)->rt_ifa != ifa); - RADIX_NODE_HEAD_RUNLOCK(rnh); + RIB_RUNLOCK(rh); if (error) { /* this is only an error if bad on ALL tables */ continue; @@ -1814,8 +1852,8 @@ rtinit1(struct ifaddr *ifa, int cmd, int * RTM_DELETE message, and retry adding * interface prefix. */ - rnh = rt_tables_get_rnh(fibnum, dst->sa_family); - RADIX_NODE_HEAD_LOCK(rnh); + rh = rt_tables_get_rnh(fibnum, dst->sa_family); + RIB_WLOCK(rh); /* Delete old prefix */ info.rti_ifa = NULL; @@ -1829,7 +1867,7 @@ rtinit1(struct ifaddr *ifa, int cmd, int error = rtrequest1_fib(cmd, &info, &rt, fibnum); } - RADIX_NODE_HEAD_UNLOCK(rnh); + RIB_WUNLOCK(rh); } Modified: projects/routing/sys/net/route.h ============================================================================== --- projects/routing/sys/net/route.h Sat Nov 8 19:38:34 2014 (r274300) +++ projects/routing/sys/net/route.h Sun Nov 9 00:36:39 2014 (r274301) @@ -107,6 +107,7 @@ VNET_DECLARE(u_int, rt_add_addr_allfibs) #endif #endif +struct rib_head; struct rtentry; #if !defined(_KERNEL) || defined(_WANT_RTENTRY) /* This structure is kept for compatibility reasons only */ @@ -292,7 +293,7 @@ struct rt_addrinfo { #define RT_LINK_IS_UP(ifp) (!((ifp)->if_capabilities & IFCAP_LINKSTATE) \ || (ifp)->if_link_state == LINK_STATE_UP) -struct radix_node_head *rt_tables_get_rnh(int, int); +struct rib_head *rt_tables_get_rnh(int, int); struct ifmultiaddr; @@ -324,12 +325,12 @@ int rtsock_routemsg(int, struct ifnet *i * RTFREE() uses an unlocked entry. */ -int rt_expunge(struct radix_node_head *, struct rtentry *); +int rt_expunge(struct rib_head *, struct rtentry *); void rtfree(struct rtentry *); int rt_check(struct rtentry **, struct rtentry **, struct sockaddr *); typedef int rt_walktree_f_t(struct rtentry *, void *); -typedef void rt_setwarg_t(struct radix_node_head *, uint32_t, int, void *); +typedef void rt_setwarg_t(struct rib_head *, uint32_t, int, void *); void rt_foreach_fib(int af, rt_setwarg_t *, rt_walktree_f_t *, void *); void rt_flushifroutes(struct ifnet *ifp); Modified: projects/routing/sys/net/route_internal.h ============================================================================== --- projects/routing/sys/net/route_internal.h Sat Nov 8 19:38:34 2014 (r274300) +++ projects/routing/sys/net/route_internal.h Sun Nov 9 00:36:39 2014 (r274301) @@ -30,6 +30,31 @@ #ifndef _NET_ROUTE_INTERNAL_H_ #define _NET_ROUTE_INTERNAL_H_ +struct rib_head { + struct radix_head head; + rn_matchaddr_f_t *rnh_matchaddr; /* longest match for sockaddr */ + rn_addaddr_f_t *rnh_addaddr; /* add based on sockaddr*/ + rn_deladdr_f_t *rnh_deladdr; /* remove based on sockaddr */ + rn_lookup_f_t *rnh_lookup; /* exact match for sockaddr */ + rn_walktree_t *rnh_walktree; /* traverse tree */ + rn_walktree_from_t *rnh_walktree_from; /* traverse tree below a */ + rn_close_t *rnh_close; /*do something when the last ref drops*/ + struct radix_node rnh_nodes[3]; /* empty tree for common case */ + struct rwlock rib_lock; /* locks entire radix tree */ + struct radix_mask_head rmhead; /* masks radix head */ +}; + +#define RIB_RLOCK(rh) rw_rlock(&(rh)->rib_lock) +#define RIB_RUNLOCK(rh) rw_runlock(&(rh)->rib_lock) +#define RIB_WLOCK(rh) rw_wlock(&(rh)->rib_lock) +#define RIB_WUNLOCK(rh) rw_wunlock(&(rh)->rib_lock) +#define RIB_LOCK_ASSERT(rh) rw_assert(&(rh)->rib_lock, RA_LOCKED) +#define RIB_WLOCK_ASSERT(rh) rw_assert(&(rh)->rib_lock, RA_WLOCKED) + +struct rib_head *rt_table_init(int offset); +void rt_table_destroy(struct rib_head *rh); + + struct rtentry { struct radix_node rt_nodes[2]; /* tree glue, and other values */ /* Modified: projects/routing/sys/net/rt_nhops.c ============================================================================== --- projects/routing/sys/net/rt_nhops.c Sat Nov 8 19:38:34 2014 (r274300) +++ projects/routing/sys/net/rt_nhops.c Sun Nov 9 00:36:39 2014 (r274301) @@ -194,8 +194,8 @@ fib_choose_prepend(uint32_t fibnum, stru idx = nh_multi->nh_nhops[flowid % nh_multi->nh_count]; #if 0 KASSERT((fibnum < rt_numfibs), ("fib4_lookup_prependĀ§: bad fibnum")); - rnh = rt_tables_get_rnh(fibnum, AF_INET); - //nh_src = &rnh->nhops[i]; + rh = rt_tables_get_rnh(fibnum, AF_INET); + //nh_src = &rh->nhops[i]; #endif } *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sun Nov 9 00:43:15 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4F214876; Sun, 9 Nov 2014 00:43:15 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3B8692E2; Sun, 9 Nov 2014 00:43:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sA90hF2l034979; Sun, 9 Nov 2014 00:43:15 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sA90hEPM034977; Sun, 9 Nov 2014 00:43:14 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201411090043.sA90hEPM034977@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sun, 9 Nov 2014 00:43:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274302 - projects/routing/sys/net X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2014 00:43:15 -0000 Author: melifaro Date: Sun Nov 9 00:43:14 2014 New Revision: 274302 URL: https://svnweb.freebsd.org/changeset/base/274302 Log: Remove unused fields from old radix_node_head. Modified: projects/routing/sys/net/radix.h projects/routing/sys/net/radix_mpath.c Modified: projects/routing/sys/net/radix.h ============================================================================== --- projects/routing/sys/net/radix.h Sun Nov 9 00:36:39 2014 (r274301) +++ projects/routing/sys/net/radix.h Sun Nov 9 00:43:14 2014 (r274302) @@ -128,8 +128,6 @@ struct radix_head { struct radix_node_head { struct radix_head rh; - u_int rnh_gen; /* generation counter */ - int rnh_multipath; /* multipath capable ? */ rn_matchaddr_f_t *rnh_matchaddr; /* longest match for sockaddr */ rn_addaddr_f_t *rnh_addaddr; /* add based on sockaddr*/ rn_deladdr_f_t *rnh_deladdr; /* remove based on sockaddr */ Modified: projects/routing/sys/net/radix_mpath.c ============================================================================== --- projects/routing/sys/net/radix_mpath.c Sun Nov 9 00:36:39 2014 (r274301) +++ projects/routing/sys/net/radix_mpath.c Sun Nov 9 00:43:14 2014 (r274302) @@ -61,7 +61,7 @@ int rn_mpath_capable(struct radix_node_head *rnh) { - return rnh->rnh_multipath; + return 0; } struct radix_node * @@ -270,7 +270,6 @@ rn4_mpath_inithead(void **head, int off) hashjitter = arc4random(); if (in_inithead(head, off) == 1) { rnh = (struct radix_node_head *)*head; - rnh->rnh_multipath = 1; return 1; } else return 0; @@ -286,7 +285,6 @@ rn6_mpath_inithead(void **head, int off) hashjitter = arc4random(); if (in6_inithead(head, off) == 1) { rnh = (struct radix_node_head *)*head; - rnh->rnh_multipath = 1; return 1; } else return 0; From owner-svn-src-projects@FreeBSD.ORG Sun Nov 9 14:07:32 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6C3E9A44; Sun, 9 Nov 2014 14:07:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 55608C9C; Sun, 9 Nov 2014 14:07:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sA9E7Whs092673; Sun, 9 Nov 2014 14:07:32 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sA9E7OgG092637; Sun, 9 Nov 2014 14:07:24 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411091407.sA9E7OgG092637@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Sun, 9 Nov 2014 14:07:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274311 - in projects/ifnet: cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/lib/libzpool/common contrib/llvm/lib/MC/MCParser contrib/llvm/patches share/mk sys/amd64/amd64 sys... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2014 14:07:32 -0000 Author: glebius Date: Sun Nov 9 14:07:24 2014 New Revision: 274311 URL: https://svnweb.freebsd.org/changeset/base/274311 Log: Merge head r256150 through r274310. Added: projects/ifnet/contrib/llvm/patches/patch-r274286-llvm-r201784-asm-dollar.diff - copied unchanged from r274310, head/contrib/llvm/patches/patch-r274286-llvm-r201784-asm-dollar.diff Modified: projects/ifnet/cddl/contrib/opensolaris/cmd/zdb/zdb.c projects/ifnet/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c projects/ifnet/contrib/llvm/lib/MC/MCParser/AsmParser.cpp projects/ifnet/share/mk/bsd.lib.mk projects/ifnet/share/mk/bsd.own.mk projects/ifnet/share/mk/bsd.prog.mk projects/ifnet/sys/amd64/amd64/support.S projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/ifnet/sys/modules/if_gre/Makefile projects/ifnet/sys/net/if.c projects/ifnet/sys/net/if_clone.c projects/ifnet/sys/net/if_clone.h projects/ifnet/sys/net/if_ethersubr.c projects/ifnet/sys/net/if_gre.c projects/ifnet/sys/net/if_var.h projects/ifnet/sys/netinet/tcp_input.c projects/ifnet/sys/netinet6/frag6.c projects/ifnet/sys/netinet6/icmp6.c projects/ifnet/sys/netinet6/ip6_input.c projects/ifnet/sys/netinet6/ip6_var.h projects/ifnet/usr.sbin/ctld/Makefile projects/ifnet/usr.sbin/ctld/ctl.conf.5 projects/ifnet/usr.sbin/ctld/ctld.8 projects/ifnet/usr.sbin/ctld/ctld.c projects/ifnet/usr.sbin/ctld/ctld.h projects/ifnet/usr.sbin/ctld/login.c projects/ifnet/usr.sbin/ctld/parse.y projects/ifnet/usr.sbin/ctld/token.l Directory Properties: projects/ifnet/ (props changed) projects/ifnet/cddl/ (props changed) projects/ifnet/cddl/contrib/opensolaris/ (props changed) projects/ifnet/contrib/llvm/ (props changed) projects/ifnet/share/ (props changed) projects/ifnet/sys/ (props changed) projects/ifnet/sys/cddl/contrib/opensolaris/ (props changed) Modified: projects/ifnet/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- projects/ifnet/cddl/contrib/opensolaris/cmd/zdb/zdb.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/cddl/contrib/opensolaris/cmd/zdb/zdb.c Sun Nov 9 14:07:24 2014 (r274311) @@ -77,9 +77,11 @@ #ifndef lint extern boolean_t zfs_recover; extern uint64_t zfs_arc_max, zfs_arc_meta_limit; +extern int zfs_vdev_async_read_max_active; #else boolean_t zfs_recover; uint64_t zfs_arc_max, zfs_arc_meta_limit; +int zfs_vdev_async_read_max_active; #endif const char cmdname[] = "zdb"; @@ -2384,8 +2386,14 @@ zdb_blkptr_cb(spa_t *spa, zilog_t *zilog zcb->zcb_readfails = 0; - if (dump_opt['b'] < 5 && - gethrtime() > zcb->zcb_lastprint + NANOSEC) { + /* only call gethrtime() every 100 blocks */ + static int iters; + if (++iters > 100) + iters = 0; + else + return (0); + + if (dump_opt['b'] < 5 && gethrtime() > zcb->zcb_lastprint + NANOSEC) { uint64_t now = gethrtime(); char buf[10]; uint64_t bytes = zcb->zcb_type[ZB_TOTAL][ZDB_OT_TOTAL].zb_asize; @@ -2494,6 +2502,14 @@ zdb_leak_init(spa_t *spa, zdb_cb_t *zcb) (longlong_t)vd->vdev_ms_count); msp->ms_ops = &zdb_metaslab_ops; + + /* + * We don't want to spend the CPU + * manipulating the size-ordered + * tree, so clear the range_tree + * ops. + */ + msp->ms_tree->rt_ops = NULL; VERIFY0(space_map_load(msp->ms_sm, msp->ms_tree, SM_ALLOC)); msp->ms_loaded = B_TRUE; @@ -3508,6 +3524,13 @@ main(int argc, char **argv) */ zfs_arc_max = zfs_arc_meta_limit = 256 * 1024 * 1024; + /* + * "zdb -c" uses checksum-verifying scrub i/os which are async reads. + * "zdb -b" uses traversal prefetch which uses async reads. + * For good performance, let several of them be active at once. + */ + zfs_vdev_async_read_max_active = 10; + kernel_init(FREAD); g_zfs = libzfs_init(); ASSERT(g_zfs != NULL); Modified: projects/ifnet/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c ============================================================================== --- projects/ifnet/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c Sun Nov 9 14:07:24 2014 (r274311) @@ -24,6 +24,8 @@ */ /* * Copyright 2011 Nexenta Systems, Inc. All rights reserved. + * Copyright 2012 Garrett D'Amore . All rights reserved. + * Copyright (c) 2014 by Delphix. All rights reserved. */ #include @@ -32,8 +34,10 @@ int taskq_now; taskq_t *system_taskq; #define TASKQ_ACTIVE 0x00010000 +#define TASKQ_NAMELEN 31 struct taskq { + char tq_name[TASKQ_NAMELEN + 1]; kmutex_t tq_lock; krwlock_t tq_threadlock; kcondvar_t tq_dispatch_cv; @@ -136,6 +140,7 @@ taskq_dispatch(taskq_t *tq, task_func_t t->tqent_prev->tqent_next = t; t->tqent_func = func; t->tqent_arg = arg; + t->tqent_flags = 0; cv_signal(&tq->tq_dispatch_cv); mutex_exit(&tq->tq_lock); return (1); @@ -245,6 +250,7 @@ taskq_create(const char *name, int nthre cv_init(&tq->tq_dispatch_cv, NULL, CV_DEFAULT, NULL); cv_init(&tq->tq_wait_cv, NULL, CV_DEFAULT, NULL); cv_init(&tq->tq_maxalloc_cv, NULL, CV_DEFAULT, NULL); + (void) strncpy(tq->tq_name, name, TASKQ_NAMELEN + 1); tq->tq_flags = flags | TASKQ_ACTIVE; tq->tq_active = nthreads; tq->tq_nthreads = nthreads; Modified: projects/ifnet/contrib/llvm/lib/MC/MCParser/AsmParser.cpp ============================================================================== --- projects/ifnet/contrib/llvm/lib/MC/MCParser/AsmParser.cpp Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/contrib/llvm/lib/MC/MCParser/AsmParser.cpp Sun Nov 9 14:07:24 2014 (r274311) @@ -1695,7 +1695,7 @@ bool AsmParser::expandMacro(raw_svector_ const MCAsmMacroParameters &Parameters, const MCAsmMacroArguments &A, const SMLoc &L) { unsigned NParameters = Parameters.size(); - if (NParameters != 0 && NParameters != A.size()) + if ((!IsDarwin || NParameters != 0) && NParameters != A.size()) return Error(L, "Wrong number of arguments"); // A macro without parameters is handled differently on Darwin: @@ -1705,7 +1705,7 @@ bool AsmParser::expandMacro(raw_svector_ std::size_t End = Body.size(), Pos = 0; for (; Pos != End; ++Pos) { // Check for a substitution or escape. - if (!NParameters) { + if (IsDarwin && !NParameters) { // This macro has no parameters, look for $0, $1, etc. if (Body[Pos] != '$' || Pos + 1 == End) continue; @@ -1728,7 +1728,7 @@ bool AsmParser::expandMacro(raw_svector_ if (Pos == End) break; - if (!NParameters) { + if (IsDarwin && !NParameters) { switch (Body[Pos + 1]) { // $$ => $ case '$': Copied: projects/ifnet/contrib/llvm/patches/patch-r274286-llvm-r201784-asm-dollar.diff (from r274310, head/contrib/llvm/patches/patch-r274286-llvm-r201784-asm-dollar.diff) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ifnet/contrib/llvm/patches/patch-r274286-llvm-r201784-asm-dollar.diff Sun Nov 9 14:07:24 2014 (r274311, copy of r274310, head/contrib/llvm/patches/patch-r274286-llvm-r201784-asm-dollar.diff) @@ -0,0 +1,55 @@ +Pull in r201784 from upstream llvm trunk (by Benjamin Kramer): + + AsmParser: Disable Darwin-style macro argument expansion on non-darwin targets. + + There is code in the wild that relies on $0 not being expanded. + +This fixes some cases of using $ signs in literals being incorrectly +assembled. + +Reported by: Richard Henderson +Upstream PR: http://llvm.org/PR21500 + +Introduced here: http://svnweb.freebsd.org/changeset/base/274286 + +Index: lib/MC/MCParser/AsmParser.cpp +=================================================================== +--- lib/MC/MCParser/AsmParser.cpp ++++ lib/MC/MCParser/AsmParser.cpp +@@ -1695,7 +1695,7 @@ bool AsmParser::expandMacro(raw_svector_ostream &O + const MCAsmMacroParameters &Parameters, + const MCAsmMacroArguments &A, const SMLoc &L) { + unsigned NParameters = Parameters.size(); +- if (NParameters != 0 && NParameters != A.size()) ++ if ((!IsDarwin || NParameters != 0) && NParameters != A.size()) + return Error(L, "Wrong number of arguments"); + + // A macro without parameters is handled differently on Darwin: +@@ -1705,7 +1705,7 @@ bool AsmParser::expandMacro(raw_svector_ostream &O + std::size_t End = Body.size(), Pos = 0; + for (; Pos != End; ++Pos) { + // Check for a substitution or escape. +- if (!NParameters) { ++ if (IsDarwin && !NParameters) { + // This macro has no parameters, look for $0, $1, etc. + if (Body[Pos] != '$' || Pos + 1 == End) + continue; +@@ -1728,7 +1728,7 @@ bool AsmParser::expandMacro(raw_svector_ostream &O + if (Pos == End) + break; + +- if (!NParameters) { ++ if (IsDarwin && !NParameters) { + switch (Body[Pos + 1]) { + // $$ => $ + case '$': +Index: test/MC/AsmParser/exprs.s +=================================================================== +--- test/MC/AsmParser/exprs.s ++++ test/MC/AsmParser/exprs.s +@@ -1,4 +1,4 @@ +-// RUN: llvm-mc -triple i386-unknown-unknown %s > %t ++// RUN: llvm-mc -triple i386-apple-darwin %s + + .macro check_expr + .if ($0) != ($1) Modified: projects/ifnet/share/mk/bsd.lib.mk ============================================================================== --- projects/ifnet/share/mk/bsd.lib.mk Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/share/mk/bsd.lib.mk Sun Nov 9 14:07:24 2014 (r274311) @@ -36,7 +36,7 @@ NO_WERROR= .if defined(DEBUG_FLAGS) CFLAGS+= ${DEBUG_FLAGS} -.if ${MK_CTF} != "no" +.if ${MK_CTF} != "no" && ${DEBUG_FLAGS:M-g} != "" CTFFLAGS+= -g .endif .else Modified: projects/ifnet/share/mk/bsd.own.mk ============================================================================== --- projects/ifnet/share/mk/bsd.own.mk Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/share/mk/bsd.own.mk Sun Nov 9 14:07:24 2014 (r274311) @@ -128,7 +128,6 @@ ____: .if ${MK_CTF} != "no" CTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} -DEBUG_FLAGS+= -g .elif defined(.PARSEDIR) || (defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300) CTFCONVERT_CMD= .else Modified: projects/ifnet/share/mk/bsd.prog.mk ============================================================================== --- projects/ifnet/share/mk/bsd.prog.mk Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/share/mk/bsd.prog.mk Sun Nov 9 14:07:24 2014 (r274311) @@ -20,7 +20,7 @@ NO_WERROR= CFLAGS+=${DEBUG_FLAGS} CXXFLAGS+=${DEBUG_FLAGS} -.if ${MK_CTF} != "no" +.if ${MK_CTF} != "no" && ${DEBUG_FLAGS:M-g} != "" CTFFLAGS+= -g .endif .endif Modified: projects/ifnet/sys/amd64/amd64/support.S ============================================================================== --- projects/ifnet/sys/amd64/amd64/support.S Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/amd64/amd64/support.S Sun Nov 9 14:07:24 2014 (r274311) @@ -100,6 +100,8 @@ END(bcmp) * ws@tools.de (Wolfgang Solfrank, TooLs GmbH) +49-228-985800 */ ENTRY(bcopy) + pushq %rbp + movq %rsp,%rbp xchgq %rsi,%rdi movq %rdx,%rcx @@ -116,6 +118,7 @@ ENTRY(bcopy) andq $7,%rcx /* any bytes left? */ rep movsb + popq %rbp ret /* ALIGN_TEXT */ @@ -135,6 +138,7 @@ ENTRY(bcopy) rep movsq cld + popq %rbp ret END(bcopy) Modified: projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c ============================================================================== --- projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c Sun Nov 9 14:07:24 2014 (r274311) @@ -59,6 +59,7 @@ typedef struct traverse_data { int td_flags; prefetch_data_t *td_pfd; boolean_t td_paused; + uint64_t td_hole_birth_enabled_txg; blkptr_cb_t *td_func; void *td_arg; } traverse_data_t; @@ -229,25 +230,20 @@ traverse_visitbp(traverse_data_t *td, co } if (bp->blk_birth == 0) { - if (spa_feature_is_active(td->td_spa, SPA_FEATURE_HOLE_BIRTH)) { - /* - * Since this block has a birth time of 0 it must be a - * hole created before the SPA_FEATURE_HOLE_BIRTH - * feature was enabled. If SPA_FEATURE_HOLE_BIRTH - * was enabled before the min_txg for this traveral we - * know the hole must have been created before the - * min_txg for this traveral, so we can skip it. If - * SPA_FEATURE_HOLE_BIRTH was enabled after the min_txg - * for this traveral we cannot tell if the hole was - * created before or after the min_txg for this - * traversal, so we cannot skip it. - */ - uint64_t hole_birth_enabled_txg; - VERIFY(spa_feature_enabled_txg(td->td_spa, - SPA_FEATURE_HOLE_BIRTH, &hole_birth_enabled_txg)); - if (hole_birth_enabled_txg < td->td_min_txg) - return (0); - } + /* + * Since this block has a birth time of 0 it must be a + * hole created before the SPA_FEATURE_HOLE_BIRTH + * feature was enabled. If SPA_FEATURE_HOLE_BIRTH + * was enabled before the min_txg for this traveral we + * know the hole must have been created before the + * min_txg for this traveral, so we can skip it. If + * SPA_FEATURE_HOLE_BIRTH was enabled after the min_txg + * for this traveral we cannot tell if the hole was + * created before or after the min_txg for this + * traversal, so we cannot skip it. + */ + if (td->td_hole_birth_enabled_txg < td->td_min_txg) + return (0); } else if (bp->blk_birth <= td->td_min_txg) { return (0); } @@ -523,6 +519,13 @@ traverse_impl(spa_t *spa, dsl_dataset_t td.td_flags = flags; td.td_paused = B_FALSE; + if (spa_feature_is_active(spa, SPA_FEATURE_HOLE_BIRTH)) { + VERIFY(spa_feature_enabled_txg(spa, + SPA_FEATURE_HOLE_BIRTH, &td.td_hole_birth_enabled_txg)); + } else { + td.td_hole_birth_enabled_txg = 0; + } + pd.pd_blks_max = zfs_pd_blks_max; pd.pd_flags = flags; mutex_init(&pd.pd_mtx, NULL, MUTEX_DEFAULT, NULL); Modified: projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h ============================================================================== --- projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h Sun Nov 9 14:07:24 2014 (r274311) @@ -60,7 +60,7 @@ typedef int vdev_open_func_t(vdev_t *vd, uint64_t *logical_ashift, uint64_t *physical_ashift); typedef void vdev_close_func_t(vdev_t *vd); typedef uint64_t vdev_asize_func_t(vdev_t *vd, uint64_t psize); -typedef int vdev_io_start_func_t(zio_t *zio); +typedef void vdev_io_start_func_t(zio_t *zio); typedef void vdev_io_done_func_t(zio_t *zio); typedef void vdev_state_change_func_t(vdev_t *vd, int, int); typedef void vdev_hold_func_t(vdev_t *vd); Modified: projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h ============================================================================== --- projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h Sun Nov 9 14:07:24 2014 (r274311) @@ -152,9 +152,6 @@ typedef enum zio_priority { ZIO_PRIORITY_NOW /* non-queued I/Os (e.g. ioctl) */ } zio_priority_t; -#define ZIO_PIPELINE_CONTINUE 0x100 -#define ZIO_PIPELINE_STOP 0x101 - enum zio_flag { /* * Flags inherited by gang, ddt, and vdev children, Modified: projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c ============================================================================== --- projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c Sun Nov 9 14:07:24 2014 (r274311) @@ -715,7 +715,7 @@ vdev_disk_ioctl_done(void *zio_arg, int zio_interrupt(zio); } -static int +static void vdev_disk_io_start(zio_t *zio) { vdev_t *vd = zio->io_vd; @@ -732,7 +732,7 @@ vdev_disk_io_start(zio_t *zio) if (dvd == NULL || (dvd->vd_ldi_offline && dvd->vd_lh == NULL)) { zio->io_error = SET_ERROR(ENXIO); zio_interrupt(zio); - return (ZIO_PIPELINE_STOP); + return; } if (zio->io_type == ZIO_TYPE_IOCTL) { @@ -740,7 +740,7 @@ vdev_disk_io_start(zio_t *zio) if (!vdev_readable(vd)) { zio->io_error = SET_ERROR(ENXIO); zio_interrupt(zio); - return (ZIO_PIPELINE_STOP); + return; } switch (zio->io_cmd) { @@ -771,7 +771,7 @@ vdev_disk_io_start(zio_t *zio) * and will call vdev_disk_ioctl_done() * upon completion. */ - return (ZIO_PIPELINE_STOP); + return; } if (error == ENOTSUP || error == ENOTTY) { @@ -792,8 +792,8 @@ vdev_disk_io_start(zio_t *zio) zio->io_error = SET_ERROR(ENOTSUP); } - zio_interrupt(zio); - return (ZIO_PIPELINE_STOP); + zio_execute(zio); + return; } vb = kmem_alloc(sizeof (vdev_buf_t), KM_SLEEP); @@ -814,8 +814,6 @@ vdev_disk_io_start(zio_t *zio) /* ldi_strategy() will return non-zero only on programming errors */ VERIFY(ldi_strategy(dvd->vd_lh, bp) == 0); - - return (ZIO_PIPELINE_STOP); } static void Modified: projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c ============================================================================== --- projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c Sun Nov 9 14:07:24 2014 (r274311) @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2013 by Delphix. All rights reserved. + * Copyright (c) 2011, 2014 by Delphix. All rights reserved. */ #include @@ -154,7 +154,7 @@ vdev_file_close(vdev_t *vd) vd->vdev_tsd = NULL; } -static int +static void vdev_file_io_start(zio_t *zio) { vdev_t *vd = zio->io_vd; @@ -165,7 +165,7 @@ vdev_file_io_start(zio_t *zio) if (!vdev_readable(vd)) { zio->io_error = SET_ERROR(ENXIO); zio_interrupt(zio); - return (ZIO_PIPELINE_STOP); + return; } vf = vd->vdev_tsd; @@ -181,8 +181,8 @@ vdev_file_io_start(zio_t *zio) zio->io_error = SET_ERROR(ENOTSUP); } - zio_interrupt(zio); - return (ZIO_PIPELINE_STOP); + zio_execute(zio); + return; } zio->io_error = vn_rdwr(zio->io_type == ZIO_TYPE_READ ? @@ -194,7 +194,10 @@ vdev_file_io_start(zio_t *zio) zio_interrupt(zio); - return (ZIO_PIPELINE_STOP); +#ifdef illumos + VERIFY3U(taskq_dispatch(system_taskq, vdev_file_io_strategy, bp, + TQ_SLEEP), !=, 0); +#endif } /* ARGSUSED */ Modified: projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c ============================================================================== --- projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Sun Nov 9 14:07:24 2014 (r274311) @@ -788,7 +788,7 @@ vdev_geom_io_intr(struct bio *bp) zio_interrupt(zio); } -static int +static void vdev_geom_io_start(zio_t *zio) { vdev_t *vd; @@ -803,6 +803,8 @@ vdev_geom_io_start(zio_t *zio) /* XXPOLICY */ if (!vdev_readable(vd)) { zio->io_error = SET_ERROR(ENXIO); + zio_interrupt(zio); + return; } else { switch (zio->io_cmd) { case DKIOCFLUSHWRITECACHE: @@ -818,23 +820,23 @@ vdev_geom_io_start(zio_t *zio) } } - zio_interrupt(zio); - return (ZIO_PIPELINE_STOP); + zio_execute(zio); + return; case ZIO_TYPE_FREE: if (vd->vdev_notrim) { zio->io_error = SET_ERROR(ENOTSUP); } else if (!vdev_geom_bio_delete_disable) { goto sendreq; } - zio_interrupt(zio); - return (ZIO_PIPELINE_STOP); + zio_execute(zio); + return; } sendreq: cp = vd->vdev_tsd; if (cp == NULL) { zio->io_error = SET_ERROR(ENXIO); zio_interrupt(zio); - return (ZIO_PIPELINE_STOP); + return; } bp = g_alloc_bio(); bp->bio_caller1 = zio; @@ -863,8 +865,6 @@ sendreq: bp->bio_done = vdev_geom_io_intr; g_io_request(bp, cp); - - return (ZIO_PIPELINE_STOP); } static void Modified: projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c ============================================================================== --- projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c Sun Nov 9 14:07:24 2014 (r274311) @@ -24,7 +24,7 @@ */ /* - * Copyright (c) 2013 by Delphix. All rights reserved. + * Copyright (c) 2012, 2014 by Delphix. All rights reserved. */ #include @@ -425,7 +425,7 @@ vdev_mirror_child_select(zio_t *zio) return (-1); } -static int +static void vdev_mirror_io_start(zio_t *zio) { mirror_map_t *mm; @@ -450,8 +450,8 @@ vdev_mirror_io_start(zio_t *zio) zio->io_type, zio->io_priority, 0, vdev_mirror_scrub_done, mc)); } - zio_interrupt(zio); - return (ZIO_PIPELINE_STOP); + zio_execute(zio); + return; } /* * For normal reads just pick one child. @@ -478,8 +478,7 @@ vdev_mirror_io_start(zio_t *zio) c++; } - zio_interrupt(zio); - return (ZIO_PIPELINE_STOP); + zio_execute(zio); } static int Modified: projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c ============================================================================== --- projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c Sun Nov 9 14:07:24 2014 (r274311) @@ -24,7 +24,7 @@ */ /* - * Copyright (c) 2013 by Delphix. All rights reserved. + * Copyright (c) 2012, 2014 by Delphix. All rights reserved. */ /* @@ -67,12 +67,11 @@ vdev_missing_close(vdev_t *vd) } /* ARGSUSED */ -static int +static void vdev_missing_io_start(zio_t *zio) { zio->io_error = SET_ERROR(ENOTSUP); - zio_interrupt(zio); - return (ZIO_PIPELINE_STOP); + zio_execute(zio); } /* ARGSUSED */ Modified: projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c ============================================================================== --- projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c Sun Nov 9 14:07:24 2014 (r274311) @@ -21,7 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2013 by Delphix. All rights reserved. + * Copyright (c) 2012, 2014 by Delphix. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. */ @@ -1726,7 +1726,7 @@ vdev_raidz_child_done(zio_t *zio) * vdevs have had errors, then create zio read operations to the parity * columns' VDevs as well. */ -static int +static void vdev_raidz_io_start(zio_t *zio) { vdev_t *vd = zio->io_vd; @@ -1756,8 +1756,8 @@ vdev_raidz_io_start(zio_t *zio) vdev_raidz_child_done, rc)); } - zio_interrupt(zio); - return (ZIO_PIPELINE_STOP); + zio_execute(zio); + return; } if (zio->io_type == ZIO_TYPE_WRITE) { @@ -1789,8 +1789,8 @@ vdev_raidz_io_start(zio_t *zio) ZIO_FLAG_NODATA | ZIO_FLAG_OPTIONAL, NULL, NULL)); } - zio_interrupt(zio); - return (ZIO_PIPELINE_STOP); + zio_execute(zio); + return; } ASSERT(zio->io_type == ZIO_TYPE_READ); @@ -1830,8 +1830,7 @@ vdev_raidz_io_start(zio_t *zio) } } - zio_interrupt(zio); - return (ZIO_PIPELINE_STOP); + zio_execute(zio); } Modified: projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c ============================================================================== --- projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c Sun Nov 9 14:07:24 2014 (r274311) @@ -90,6 +90,9 @@ kmem_cache_t *zio_data_buf_cache[SPA_MAX extern vmem_t *zio_alloc_arena; #endif +#define ZIO_PIPELINE_CONTINUE 0x100 +#define ZIO_PIPELINE_STOP 0x101 + /* * The following actions directly effect the spa's sync-to-convergence logic. * The values below define the sync pass when we start performing the action. @@ -2557,6 +2560,18 @@ zio_free_zil(spa_t *spa, uint64_t txg, b * Read, write and delete to physical devices * ========================================================================== */ + + +/* + * Issue an I/O to the underlying vdev. Typically the issue pipeline + * stops after this stage and will resume upon I/O completion. + * However, there are instances where the vdev layer may need to + * continue the pipeline when an I/O was not issued. Since the I/O + * that was sent to the vdev layer might be different than the one + * currently active in the pipeline (see vdev_queue_io()), we explicitly + * force the underlying vdev layers to call either zio_execute() or + * zio_interrupt() to ensure that the pipeline continues with the correct I/O. + */ static int zio_vdev_io_start(zio_t *zio) { @@ -2575,7 +2590,8 @@ zio_vdev_io_start(zio_t *zio) /* * The mirror_ops handle multiple DVAs in a single BP. */ - return (vdev_mirror_ops.vdev_op_io_start(zio)); + vdev_mirror_ops.vdev_op_io_start(zio); + return (ZIO_PIPELINE_STOP); } if (vd->vdev_ops->vdev_op_leaf && zio->io_type == ZIO_TYPE_FREE && @@ -2589,7 +2605,7 @@ zio_vdev_io_start(zio_t *zio) * can quickly react to certain workloads. In particular, we care * about non-scrubbing, top-level reads and writes with the following * characteristics: - * - synchronous writes of user data to non-slog devices + * - synchronous writes of user data to non-slog devices * - any reads of user data * When these conditions are met, adjust the timestamp of spa_last_io * which allows the scan thread to adjust its workload accordingly. @@ -2693,10 +2709,8 @@ zio_vdev_io_start(zio_t *zio) return (ZIO_PIPELINE_STOP); } - ret = vd->vdev_ops->vdev_op_io_start(zio); - ASSERT(ret == ZIO_PIPELINE_STOP); - - return (ret); + vd->vdev_ops->vdev_op_io_start(zio); + return (ZIO_PIPELINE_STOP); } static int Modified: projects/ifnet/sys/modules/if_gre/Makefile ============================================================================== --- projects/ifnet/sys/modules/if_gre/Makefile Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/modules/if_gre/Makefile Sun Nov 9 14:07:24 2014 (r274311) @@ -6,10 +6,24 @@ KMOD= if_gre SRCS= if_gre.c opt_inet.h opt_inet6.h +.if defined(KERNBUILDDIR) +OPT_INET!= cat ${KERNBUILDDIR}/opt_inet.h; echo +.if empty(OPT_INET) +MK_INET_SUPPORT=no +.endif +.endif + .if ${MK_INET_SUPPORT} != "no" SRCS+= ip_gre.c .endif +.if defined(KERNBUILDDIR) +OPT_INET6!= cat ${KERNBUILDDIR}/opt_inet6.h; echo +.if empty(OPT_INET6) +MK_INET6_SUPPORT=no +.endif +.endif + .if ${MK_INET6_SUPPORT} != "no" SRCS+= ip6_gre.c .endif Modified: projects/ifnet/sys/net/if.c ============================================================================== --- projects/ifnet/sys/net/if.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/net/if.c Sun Nov 9 14:07:24 2014 (r274311) @@ -159,7 +159,6 @@ static void if_attachdomain(void *); static void if_attachdomain1(struct ifnet *); static int ifconf(u_long, caddr_t); static void if_freemulti(struct ifmultiaddr *); -static void if_init(void *); static void if_grow(void); static void if_route(struct ifnet *, int flag, int fam); static int if_setflag(struct ifnet *, int, int, int *, int); @@ -207,7 +206,9 @@ VNET_DEFINE(struct ifnet **, ifindex_tab * inversions and deadlocks. */ struct rwlock ifnet_rwlock; +RW_SYSINIT_FLAGS(ifnet_rw, &ifnet_rwlock, "ifnet_rw", RW_RECURSE); struct sx ifnet_sxlock; +SX_SYSINIT_FLAGS(ifnet_sx, &ifnet_sxlock, "ifnet_sx", SX_RECURSE); /* * The allocation of network interfaces is a rather non-atomic affair; we @@ -364,17 +365,6 @@ vnet_if_init(const void *unused __unused VNET_SYSINIT(vnet_if_init, SI_SUB_INIT_IF, SI_ORDER_SECOND, vnet_if_init, NULL); -/* ARGSUSED*/ -static void -if_init(void *dummy __unused) -{ - - IFNET_LOCK_INIT(); - if_clone_init(); -} -SYSINIT(interfaces, SI_SUB_INIT_IF, SI_ORDER_FIRST, if_init, NULL); - - #ifdef VIMAGE static void vnet_if_uninit(const void *unused __unused) Modified: projects/ifnet/sys/net/if_clone.c ============================================================================== --- projects/ifnet/sys/net/if_clone.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/net/if_clone.c Sun Nov 9 14:07:24 2014 (r274311) @@ -103,15 +103,14 @@ static int ifc_simple_match(struct i static int ifc_simple_create(struct if_clone *, char *, size_t, caddr_t); static int ifc_simple_destroy(struct if_clone *, struct ifnet *); -static struct mtx if_cloners_mtx; +static struct mtx if_cloners_mtx; +MTX_SYSINIT(if_cloners_lock, &if_cloners_mtx, "if_cloners lock", MTX_DEF); static VNET_DEFINE(int, if_cloners_count); VNET_DEFINE(LIST_HEAD(, if_clone), if_cloners); #define V_if_cloners_count VNET(if_cloners_count) #define V_if_cloners VNET(if_cloners) -#define IF_CLONERS_LOCK_INIT() \ - mtx_init(&if_cloners_mtx, "if_cloners lock", NULL, MTX_DEF) #define IF_CLONERS_LOCK_ASSERT() mtx_assert(&if_cloners_mtx, MA_OWNED) #define IF_CLONERS_LOCK() mtx_lock(&if_cloners_mtx) #define IF_CLONERS_UNLOCK() mtx_unlock(&if_cloners_mtx) @@ -169,13 +168,6 @@ vnet_if_clone_init(void) LIST_INIT(&V_if_cloners); } -void -if_clone_init(void) -{ - - IF_CLONERS_LOCK_INIT(); -} - /* * Lookup and create a clone network interface. */ Modified: projects/ifnet/sys/net/if_clone.h ============================================================================== --- projects/ifnet/sys/net/if_clone.h Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/net/if_clone.h Sun Nov 9 14:07:24 2014 (r274311) @@ -65,7 +65,6 @@ EVENTHANDLER_DECLARE(if_clone_event, if_ #endif /* The below interfaces used only by net/if.c. */ -void if_clone_init(void); void vnet_if_clone_init(void); int if_clone_create(char *, size_t, caddr_t); int if_clone_destroy(const char *); Modified: projects/ifnet/sys/net/if_ethersubr.c ============================================================================== --- projects/ifnet/sys/net/if_ethersubr.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/net/if_ethersubr.c Sun Nov 9 14:07:24 2014 (r274311) @@ -78,11 +78,6 @@ #ifdef INET6 #include #endif - -int (*ef_inputp)(struct ifnet*, struct ether_header *eh, struct mbuf *m); -int (*ef_outputp)(struct ifnet *ifp, struct mbuf **mp, - const struct sockaddr *dst, short *tp, int *hlen); - #include #ifdef CTASSERT Modified: projects/ifnet/sys/net/if_gre.c ============================================================================== --- projects/ifnet/sys/net/if_gre.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/net/if_gre.c Sun Nov 9 14:07:24 2014 (r274311) @@ -632,6 +632,7 @@ gre_set_tunnel(struct ifnet *ifp, struct gre_updatehdr(sc); GRE_WUNLOCK(sc); + error = 0; switch (src->sa_family) { #ifdef INET case AF_INET: @@ -865,6 +866,8 @@ gre_transmit(struct ifnet *ifp, struct m want_seq = (sc->gre_options & GRE_ENABLE_SEQ) != 0; if (want_seq) oseq = sc->gre_oseq++; /* XXX */ + else + oseq = 0; /* Make compiler happy. */ want_csum = (sc->gre_options & GRE_ENABLE_CSUM) != 0; M_SETFIB(m, sc->gre_fibnum); M_PREPEND(m, hlen, M_NOWAIT); Modified: projects/ifnet/sys/net/if_var.h ============================================================================== --- projects/ifnet/sys/net/if_var.h Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/net/if_var.h Sun Nov 9 14:07:24 2014 (r274311) @@ -421,11 +421,6 @@ struct ifmultiaddr { extern struct rwlock ifnet_rwlock; extern struct sx ifnet_sxlock; -#define IFNET_LOCK_INIT() do { \ - rw_init_flags(&ifnet_rwlock, "ifnet_rw", RW_RECURSE); \ - sx_init_flags(&ifnet_sxlock, "ifnet_sx", SX_RECURSE); \ -} while(0) - #define IFNET_WLOCK() do { \ sx_xlock(&ifnet_sxlock); \ rw_wlock(&ifnet_rwlock); \ Modified: projects/ifnet/sys/netinet/tcp_input.c ============================================================================== --- projects/ifnet/sys/netinet/tcp_input.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/netinet/tcp_input.c Sun Nov 9 14:07:24 2014 (r274311) @@ -513,6 +513,7 @@ tcp6_input(struct mbuf **mp, int *offp, { struct mbuf *m = *mp; struct in6_ifaddr *ia6; + struct ip6_hdr *ip6; IP6_EXTHDR_CHECK(m, *offp, sizeof(struct tcphdr), IPPROTO_DONE); @@ -520,7 +521,8 @@ tcp6_input(struct mbuf **mp, int *offp, * draft-itojun-ipv6-tcp-to-anycast * better place to put this in? */ - ia6 = ip6_getdstifaddr(m); + ip6 = mtod(m, struct ip6_hdr *); + ia6 = in6ifa_ifwithaddr(&ip6->ip6_dst, 0 /* XXX */); if (ia6 && (ia6->ia6_flags & IN6_IFF_ANYCAST)) { struct ip6_hdr *ip6; @@ -1251,7 +1253,7 @@ relocked: if (isipv6 && !V_ip6_use_deprecated) { struct in6_ifaddr *ia6; - ia6 = ip6_getdstifaddr(m); + ia6 = in6ifa_ifwithaddr(&ip6->ip6_dst, 0 /* XXX */); if (ia6 != NULL && (ia6->ia6_flags & IN6_IFF_DEPRECATED)) { ifa_free(&ia6->ia_ifa); Modified: projects/ifnet/sys/netinet6/frag6.c ============================================================================== --- projects/ifnet/sys/netinet6/frag6.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/netinet6/frag6.c Sun Nov 9 14:07:24 2014 (r274311) @@ -59,13 +59,6 @@ __FBSDID("$FreeBSD$"); #include -/* - * Define it to get a correct behavior on per-interface statistics. - * You will need to perform an extra routing table lookup, per fragment, - * to do it. This may, or may not be, a performance hit. - */ -#define IN6_IFSTAT_STRICT - static void frag6_enq(struct ip6asfrag *, struct ip6asfrag *); static void frag6_deq(struct ip6asfrag *); static void frag6_insque(struct ip6q *, struct ip6q *); @@ -160,9 +153,7 @@ frag6_input(struct mbuf **mp, int *offp, struct ip6_frag *ip6f; struct ip6q *q6; struct ip6asfrag *af6, *ip6af, *af6dwn; -#ifdef IN6_IFSTAT_STRICT struct in6_ifaddr *ia; -#endif int offset = *offp, nxt, i, next; int first_frag = 0; int fragoff, frgpartlen; /* must be larger than u_int16_t */ @@ -183,18 +174,12 @@ frag6_input(struct mbuf **mp, int *offp, #endif dstifp = NULL; -#ifdef IN6_IFSTAT_STRICT /* find the destination interface of the packet. */ - if ((ia = ip6_getdstifaddr(m)) != NULL) { + ia = in6ifa_ifwithaddr(&ip6->ip6_dst, 0 /* XXX */); + if (ia != NULL) { dstifp = ia->ia_ifp; ifa_free(&ia->ia_ifa); } -#else - /* we are violating the spec, this is not the destination interface */ - if ((m->m_flags & M_PKTHDR) != 0) - dstifp = m->m_pkthdr.rcvif; -#endif - /* jumbo payload can't contain a fragment header */ if (ip6->ip6_plen == 0) { icmp6_error(m, ICMP6_PARAM_PROB, ICMP6_PARAMPROB_HEADER, offset); Modified: projects/ifnet/sys/netinet6/icmp6.c ============================================================================== --- projects/ifnet/sys/netinet6/icmp6.c Sun Nov 9 13:45:35 2014 (r274310) +++ projects/ifnet/sys/netinet6/icmp6.c Sun Nov 9 14:07:24 2014 (r274311) @@ -1313,7 +1313,8 @@ ni6_input(struct mbuf *m, int off) goto bad; /* else it's a link-local multicast, fine */ } else { /* unicast or anycast */ - if ((ia6 = ip6_getdstifaddr(m)) == NULL) + ia6 = in6ifa_ifwithaddr(&ip6->ip6_dst, 0 /* XXX */); + if (ia6 == NULL) goto bad; /* XXX impossible */ if ((ia6->ia6_flags & IN6_IFF_TEMPORARY) && @@ -2136,13 +2137,13 @@ icmp6_rip6_input(struct mbuf **mp, int o void icmp6_reflect(struct mbuf *m, size_t off) { + struct in6_addr src, *srcp = NULL; struct ip6_hdr *ip6; struct icmp6_hdr *icmp6; struct in6_ifaddr *ia = NULL; + struct ifnet *outif = NULL; int plen; int type, code; - struct ifnet *outif = NULL; - struct in6_addr origdst, src, *srcp = NULL; /* too short to reflect */ if (off < sizeof(struct ip6_hdr)) { @@ -2189,43 +2190,18 @@ icmp6_reflect(struct mbuf *m, size_t off type = icmp6->icmp6_type; /* keep type for statistics */ code = icmp6->icmp6_code; /* ditto. */ - origdst = ip6->ip6_dst; - /* - * ip6_input() drops a packet if its src is multicast. - * So, the src is never multicast. - */ - ip6->ip6_dst = ip6->ip6_src; - /* * If the incoming packet was addressed directly to us (i.e. unicast), * use dst as the src for the reply. * The IN6_IFF_NOTREADY case should be VERY rare, but is possible * (for example) when we encounter an error while forwarding procedure * destined to a duplicated address of ours. - * Note that ip6_getdstifaddr() may fail if we are in an error handling - * procedure of an outgoing packet of our own, in which case we need - * to search in the ifaddr list. */ - if (!IN6_IS_ADDR_MULTICAST(&origdst)) { - if ((ia = ip6_getdstifaddr(m))) { - if (!(ia->ia6_flags & - (IN6_IFF_ANYCAST|IN6_IFF_NOTREADY))) - srcp = &ia->ia_addr.sin6_addr; - } else { - struct sockaddr_in6 d; - - bzero(&d, sizeof(d)); - d.sin6_family = AF_INET6; - d.sin6_len = sizeof(d); - d.sin6_addr = origdst; - ia = (struct in6_ifaddr *) - ifa_ifwithaddr((struct sockaddr *)&d); - if (ia && - !(ia->ia6_flags & - (IN6_IFF_ANYCAST|IN6_IFF_NOTREADY))) { - srcp = &ia->ia_addr.sin6_addr; - } - } + if (!IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst)) { + ia = in6ifa_ifwithaddr(&ip6->ip6_dst, 0 /* XXX */); + if (ia != NULL && !(ia->ia6_flags & + (IN6_IFF_ANYCAST|IN6_IFF_NOTREADY))) + srcp = &ia->ia_addr.sin6_addr; } if (srcp == NULL) { @@ -2257,7 +2233,11 @@ icmp6_reflect(struct mbuf *m, size_t off } srcp = &src; } - + /* + * ip6_input() drops a packet if its src is multicast. + * So, the src is never multicast. + */ + ip6->ip6_dst = ip6->ip6_src; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sun Nov 9 16:33:17 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 86F1C8BC; Sun, 9 Nov 2014 16:33:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6F1B8BC3; Sun, 9 Nov 2014 16:33:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sA9GXHGQ062107; Sun, 9 Nov 2014 16:33:17 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sA9GX5TA062051; Sun, 9 Nov 2014 16:33:05 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201411091633.sA9GX5TA062051@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sun, 9 Nov 2014 16:33:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274317 - in projects/routing/sys: dev/iicbus dev/lmc dev/ppbus dev/usb/net dev/wtap net net80211 netgraph netinet netinet6 netpfil/ipfw netpfil/pf ofed/drivers/infiniband/ulp/ipoib X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2014 16:33:17 -0000 Author: melifaro Date: Sun Nov 9 16:33:04 2014 New Revision: 274317 URL: https://svnweb.freebsd.org/changeset/base/274317 Log: Replace 'struct route *' if_output() argument with 'struct nhop_info *'. Leave 'struct route' as is for legacy routing api users. Remove most of rtalloc_ign*-derived functions. Modified: projects/routing/sys/dev/iicbus/if_ic.c projects/routing/sys/dev/lmc/if_lmc.c projects/routing/sys/dev/lmc/if_lmc.h projects/routing/sys/dev/ppbus/if_plip.c projects/routing/sys/dev/usb/net/if_usie.c projects/routing/sys/dev/usb/net/uhso.c projects/routing/sys/dev/wtap/if_wtapvar.h projects/routing/sys/net/ethernet.h projects/routing/sys/net/if_arc.h projects/routing/sys/net/if_arcsubr.c projects/routing/sys/net/if_atm.h projects/routing/sys/net/if_atmsubr.c projects/routing/sys/net/if_dead.c projects/routing/sys/net/if_disc.c projects/routing/sys/net/if_enc.c projects/routing/sys/net/if_ethersubr.c projects/routing/sys/net/if_faith.c projects/routing/sys/net/if_fddisubr.c projects/routing/sys/net/if_fwsubr.c projects/routing/sys/net/if_gif.c projects/routing/sys/net/if_gif.h projects/routing/sys/net/if_gre.c projects/routing/sys/net/if_iso88025subr.c projects/routing/sys/net/if_lagg.c projects/routing/sys/net/if_lagg.h projects/routing/sys/net/if_loop.c projects/routing/sys/net/if_me.c projects/routing/sys/net/if_spppsubr.c projects/routing/sys/net/if_stf.c projects/routing/sys/net/if_tun.c projects/routing/sys/net/if_var.h projects/routing/sys/net/iso88025.h projects/routing/sys/net/radix_mpath.c projects/routing/sys/net/route.c projects/routing/sys/net/route.h projects/routing/sys/net/rt_nhops.c projects/routing/sys/net/rt_nhops.h projects/routing/sys/net/rtsock.c projects/routing/sys/net80211/ieee80211.c projects/routing/sys/net80211/ieee80211_output.c projects/routing/sys/net80211/ieee80211_proto.h projects/routing/sys/net80211/ieee80211_var.h projects/routing/sys/netgraph/ng_iface.c projects/routing/sys/netinet/ip_var.h projects/routing/sys/netinet6/in6_rmx.c projects/routing/sys/netinet6/in6_var.h projects/routing/sys/netinet6/nd6.c projects/routing/sys/netinet6/nd6_nbr.c projects/routing/sys/netpfil/ipfw/ip_fw_log.c projects/routing/sys/netpfil/pf/if_pflog.c projects/routing/sys/netpfil/pf/if_pfsync.c projects/routing/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Modified: projects/routing/sys/dev/iicbus/if_ic.c ============================================================================== --- projects/routing/sys/dev/iicbus/if_ic.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/dev/iicbus/if_ic.c Sun Nov 9 16:33:04 2014 (r274317) @@ -101,7 +101,7 @@ static int icattach(device_t); static int icioctl(struct ifnet *, u_long, caddr_t); static int icoutput(struct ifnet *, struct mbuf *, const struct sockaddr *, - struct route *); + struct nhop_info *); static int icintr(device_t, int, char *); @@ -352,7 +352,7 @@ icintr(device_t dev, int event, char *pt */ static int icoutput(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { struct ic_softc *sc = ifp->if_softc; device_t icdev = sc->ic_dev; Modified: projects/routing/sys/dev/lmc/if_lmc.c ============================================================================== --- projects/routing/sys/dev/lmc/if_lmc.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/dev/lmc/if_lmc.c Sun Nov 9 16:33:04 2014 (r274317) @@ -3637,7 +3637,7 @@ lmc_ifnet_start(struct ifnet *ifp) /* Called from a syscall (user context; no spinlocks). */ static int lmc_raw_output(struct ifnet *ifp, struct mbuf *m, - const struct sockaddr *dst, struct route *ro) + const struct sockaddr *dst, struct nhop_info *ni) { softc_t *sc = IFP2SC(ifp); int error = 0; Modified: projects/routing/sys/dev/lmc/if_lmc.h ============================================================================== --- projects/routing/sys/dev/lmc/if_lmc.h Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/dev/lmc/if_lmc.h Sun Nov 9 16:33:04 2014 (r274317) @@ -1365,7 +1365,7 @@ static int lmc_raw_ioctl(struct ifnet *, static int lmc_ifnet_ioctl(struct ifnet *, u_long, caddr_t); static void lmc_ifnet_start(struct ifnet *); static int lmc_raw_output(struct ifnet *, struct mbuf *, - const struct sockaddr *, struct route *); + const struct sockaddr *, struct nhop_info *); static void setup_ifnet(struct ifnet *); static int lmc_ifnet_attach(softc_t *); static void lmc_ifnet_detach(softc_t *); Modified: projects/routing/sys/dev/ppbus/if_plip.c ============================================================================== --- projects/routing/sys/dev/ppbus/if_plip.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/dev/ppbus/if_plip.c Sun Nov 9 16:33:04 2014 (r274317) @@ -175,7 +175,7 @@ static u_char *ctxmith; static int lpinittables(void); static int lpioctl(struct ifnet *, u_long, caddr_t); static int lpoutput(struct ifnet *, struct mbuf *, const struct sockaddr *, - struct route *); + struct nhop_info *); static void lpstop(struct lp_data *); static void lp_intr(void *); static int lp_module_handler(module_t, int, void *); @@ -683,7 +683,7 @@ lpoutbyte(u_char byte, int spin, device_ static int lpoutput(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { struct lp_data *sc = ifp->if_softc; device_t dev = sc->sc_dev; Modified: projects/routing/sys/dev/usb/net/if_usie.c ============================================================================== --- projects/routing/sys/dev/usb/net/if_usie.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/dev/usb/net/if_usie.c Sun Nov 9 16:33:04 2014 (r274317) @@ -126,7 +126,7 @@ static void usie_if_status_cb(void *, in static void usie_if_start(struct ifnet *); static int usie_if_output(struct ifnet *, struct mbuf *, - const struct sockaddr *, struct route *); + const struct sockaddr *, struct nhop_info *); static void usie_if_init(void *); static void usie_if_stop(struct usie_softc *); static int usie_if_ioctl(struct ifnet *, u_long, caddr_t); @@ -1187,7 +1187,7 @@ usie_if_start(struct ifnet *ifp) static int usie_if_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { int err; Modified: projects/routing/sys/dev/usb/net/uhso.c ============================================================================== --- projects/routing/sys/dev/usb/net/uhso.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/dev/usb/net/uhso.c Sun Nov 9 16:33:04 2014 (r274317) @@ -471,7 +471,7 @@ static void uhso_if_start(struct ifnet * static void uhso_if_stop(struct uhso_softc *); static int uhso_if_ioctl(struct ifnet *, u_long, caddr_t); static int uhso_if_output(struct ifnet *, struct mbuf *, - const struct sockaddr *, struct route *); + const struct sockaddr *, struct nhop_info *); static void uhso_if_rxflush(void *); static device_probe_t uhso_probe; @@ -1883,7 +1883,7 @@ uhso_if_init(void *priv) static int uhso_if_output(struct ifnet *ifp, struct mbuf *m0, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { int error; Modified: projects/routing/sys/dev/wtap/if_wtapvar.h ============================================================================== --- projects/routing/sys/dev/wtap/if_wtapvar.h Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/dev/wtap/if_wtapvar.h Sun Nov 9 16:33:04 2014 (r274317) @@ -138,7 +138,8 @@ struct wtap_softc { (struct ieee80211vap *, const uint8_t [IEEE80211_ADDR_LEN]); void (*sc_node_free)(struct ieee80211_node *); int (*if_output) /* output routine (enqueue) */ - (struct ifnet *, struct mbuf *, struct sockaddr *, struct route *); + (struct ifnet *, struct mbuf *, struct sockaddr *, + struct nhop_info *); void (*if_input) (struct ifnet *, struct mbuf *);/* from h/w driver */ int (*if_transmit)(struct ifnet *, struct mbuf *);/* output routine */ struct mtx sc_mtx; /* master lock (recursive) */ Modified: projects/routing/sys/net/ethernet.h ============================================================================== --- projects/routing/sys/net/ethernet.h Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/ethernet.h Sun Nov 9 16:33:04 2014 (r274317) @@ -365,7 +365,7 @@ struct ether_addr { struct ifnet; struct mbuf; -struct route; +struct nhop_info; struct sockaddr; struct bpf_if; @@ -376,7 +376,7 @@ extern void ether_ifattach(struct ifnet extern void ether_ifdetach(struct ifnet *); extern int ether_ioctl(struct ifnet *, u_long, caddr_t); extern int ether_output(struct ifnet *, struct mbuf *, - const struct sockaddr *, struct route *); + const struct sockaddr *, struct nhop_info *); extern int ether_output_frame(struct ifnet *, struct mbuf *); extern char *ether_sprintf(const u_int8_t *); void ether_vlan_mtap(struct bpf_if *, struct mbuf *, Modified: projects/routing/sys/net/if_arc.h ============================================================================== --- projects/routing/sys/net/if_arc.h Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_arc.h Sun Nov 9 16:33:04 2014 (r274317) @@ -133,7 +133,7 @@ void arc_storelladdr(struct ifnet *, u_i int arc_isphds(u_int8_t); void arc_input(struct ifnet *, struct mbuf *); int arc_output(struct ifnet *, struct mbuf *, - const struct sockaddr *, struct route *); + const struct sockaddr *, struct nhop_info *); int arc_ioctl(struct ifnet *, u_long, caddr_t); void arc_frag_init(struct ifnet *); Modified: projects/routing/sys/net/if_arcsubr.c ============================================================================== --- projects/routing/sys/net/if_arcsubr.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_arcsubr.c Sun Nov 9 16:33:04 2014 (r274317) @@ -96,7 +96,7 @@ u_int8_t arcbroadcastaddr = 0; */ int arc_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { struct arc_header *ah; int error; Modified: projects/routing/sys/net/if_atm.h ============================================================================== --- projects/routing/sys/net/if_atm.h Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_atm.h Sun Nov 9 16:33:04 2014 (r274317) @@ -293,7 +293,7 @@ void atm_ifdetach(struct ifnet *); void atm_input(struct ifnet *, struct atm_pseudohdr *, struct mbuf *, void *); int atm_output(struct ifnet *, struct mbuf *, const struct sockaddr *, - struct route *); + struct nhop_info *); struct atmio_vcctable *atm_getvccs(struct atmio_vcc **, u_int, u_int, struct mtx *, int); Modified: projects/routing/sys/net/if_atmsubr.c ============================================================================== --- projects/routing/sys/net/if_atmsubr.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_atmsubr.c Sun Nov 9 16:33:04 2014 (r274317) @@ -123,7 +123,7 @@ static MALLOC_DEFINE(M_IFATM, "ifatm", " */ int atm_output(struct ifnet *ifp, struct mbuf *m0, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { u_int16_t etype = 0; /* if using LLC/SNAP */ int error = 0, sz; Modified: projects/routing/sys/net/if_dead.c ============================================================================== --- projects/routing/sys/net/if_dead.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_dead.c Sun Nov 9 16:33:04 2014 (r274317) @@ -43,7 +43,7 @@ __FBSDID("$FreeBSD$"); static int ifdead_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *sa, - struct route *ro) + struct nhop_info *ni) { m_freem(m); Modified: projects/routing/sys/net/if_disc.c ============================================================================== --- projects/routing/sys/net/if_disc.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_disc.c Sun Nov 9 16:33:04 2014 (r274317) @@ -67,7 +67,7 @@ struct disc_softc { }; static int discoutput(struct ifnet *, struct mbuf *, - const struct sockaddr *, struct route *); + const struct sockaddr *, struct nhop_info *); static int discioctl(struct ifnet *, u_long, caddr_t); static int disc_clone_create(struct if_clone *, int, caddr_t); static void disc_clone_destroy(struct ifnet *); @@ -174,7 +174,7 @@ DECLARE_MODULE(if_disc, disc_mod, SI_SUB static int discoutput(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { u_int32_t af; Modified: projects/routing/sys/net/if_enc.c ============================================================================== --- projects/routing/sys/net/if_enc.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_enc.c Sun Nov 9 16:33:04 2014 (r274317) @@ -89,7 +89,7 @@ struct enc_softc { static int enc_ioctl(struct ifnet *, u_long, caddr_t); static int enc_output(struct ifnet *ifp, struct mbuf *m, - const struct sockaddr *dst, struct route *ro); + const struct sockaddr *dst, struct nhop_info *ni); static int enc_clone_create(struct if_clone *, int, caddr_t); static void enc_clone_destroy(struct ifnet *); static struct if_clone *enc_cloner; @@ -190,7 +190,7 @@ DECLARE_MODULE(if_enc, enc_mod, SI_SUB_P static int enc_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { m_freem(m); return (0); Modified: projects/routing/sys/net/if_ethersubr.c ============================================================================== --- projects/routing/sys/net/if_ethersubr.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_ethersubr.c Sun Nov 9 16:33:04 2014 (r274317) @@ -121,7 +121,7 @@ static void ether_reassign(struct ifnet #endif int ether_output_full(struct ifnet *ifp, struct mbuf *m, - const struct sockaddr *dst, struct route *ro); + const struct sockaddr *dst, struct nhop_info *ni); int ether_output2(struct ifnet *ifp, struct mbuf *m, struct nhop_prepend *nh, int af); @@ -151,13 +151,12 @@ update_mbuf_csumflags(struct mbuf *src, int ether_output(struct ifnet *ifp, struct mbuf *m, - const struct sockaddr *dst, struct route *ro) + const struct sockaddr *dst, struct nhop_info *ni) { - if (ro != NULL && (ro->ro_flags & RT_NHOP)) - return (ether_output2(ifp, m, (struct nhop_prepend *)ro->ro_lle, - (ro->ro_flags >> 8) & 0xFF)); + if (ni != NULL && (ni->ni_flags & RT_NHOP)) + return (ether_output2(ifp, m, ni->ni_nh, ni->ni_family)); - return (ether_output_full(ifp, m, dst, ro)); + return (ether_output_full(ifp, m, dst, NULL)); } /* @@ -168,7 +167,7 @@ ether_output(struct ifnet *ifp, struct m */ int ether_output_full(struct ifnet *ifp, struct mbuf *m, - const struct sockaddr *dst, struct route *ro) + const struct sockaddr *dst, struct nhop_info *ni) { short type; int error = 0, hdrcmplt = 0; @@ -180,11 +179,13 @@ ether_output_full(struct ifnet *ifp, str int loop_copy = 1; int hlen; /* link layer header length */ +#if 0 if (ro != NULL) { if (!(m->m_flags & (M_BCAST | M_MCAST))) lle = ro->ro_lle; rt0 = ro->ro_rt; } +#endif #ifdef MAC error = mac_ifnet_check_transmit(ifp, m); if (error) Modified: projects/routing/sys/net/if_faith.c ============================================================================== --- projects/routing/sys/net/if_faith.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_faith.c Sun Nov 9 16:33:04 2014 (r274317) @@ -87,7 +87,7 @@ struct faith_softc { static int faithioctl(struct ifnet *, u_long, caddr_t); static int faithoutput(struct ifnet *, struct mbuf *, const struct sockaddr *, - struct route *); + struct nhop_info *); #ifdef INET6 static int faithprefix(struct in6_addr *); #endif @@ -187,7 +187,7 @@ faith_clone_destroy(ifp) static int faithoutput(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { int isr; u_int32_t af; @@ -195,8 +195,6 @@ faithoutput(struct ifnet *ifp, struct mb M_ASSERTPKTHDR(m); - if (ro != NULL) - rt = ro->ro_rt; /* BPF writes need to be handled specially. */ if (dst->sa_family == AF_UNSPEC) bcopy(dst->sa_data, &af, sizeof(af)); Modified: projects/routing/sys/net/if_fddisubr.c ============================================================================== --- projects/routing/sys/net/if_fddisubr.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_fddisubr.c Sun Nov 9 16:33:04 2014 (r274317) @@ -82,7 +82,7 @@ static const u_char fddibroadcastaddr[FD static int fddi_resolvemulti(struct ifnet *, struct sockaddr **, struct sockaddr *); static int fddi_output(struct ifnet *, struct mbuf *, const struct sockaddr *, - struct route *); + struct nhop_info *); static void fddi_input(struct ifnet *ifp, struct mbuf *m); #define senderr(e) do { error = (e); goto bad; } while (0) @@ -95,7 +95,7 @@ static void fddi_input(struct ifnet *ifp */ static int fddi_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { u_int16_t type; int loop_copy = 0, error = 0, hdrcmplt = 0; @@ -121,11 +121,8 @@ fddi_output(struct ifnet *ifp, struct mb switch (dst->sa_family) { #ifdef INET case AF_INET: { - struct rtentry *rt0 = NULL; - - if (ro != NULL) - rt0 = ro->ro_rt; - error = arpresolve(ifp, rt0, m, dst, edst, &lle); + /* XXX: Pass is_gw flag */ + error = arpresolve(ifp, NULL, m, dst, edst, &lle); if (error) return (error == EWOULDBLOCK ? 0 : error); type = htons(ETHERTYPE_IP); Modified: projects/routing/sys/net/if_fwsubr.c ============================================================================== --- projects/routing/sys/net/if_fwsubr.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_fwsubr.c Sun Nov 9 16:33:04 2014 (r274317) @@ -77,7 +77,7 @@ struct fw_hwaddr firewire_broadcastaddr static int firewire_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { struct fw_com *fc = IFP2FWC(ifp); int error, type; @@ -140,7 +140,8 @@ firewire_output(struct ifnet *ifp, struc * doesn't fit into the arp model. */ if (unicast) { - error = arpresolve(ifp, ro ? ro->ro_rt : NULL, m, dst, (u_char *) destfw, &lle); + /* XXX: Pass is_gw flag */ + error = arpresolve(ifp, NULL, m, dst, (u_char *) destfw, &lle); if (error) return (error == EWOULDBLOCK ? 0 : error); } Modified: projects/routing/sys/net/if_gif.c ============================================================================== --- projects/routing/sys/net/if_gif.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_gif.c Sun Nov 9 16:33:04 2014 (r274317) @@ -450,7 +450,7 @@ gif_qflush(struct ifnet *ifp __unused) int gif_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { struct m_tag *mtag; uint32_t af; Modified: projects/routing/sys/net/if_gif.h ============================================================================== --- projects/routing/sys/net/if_gif.h Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_gif.h Sun Nov 9 16:33:04 2014 (r274317) @@ -112,7 +112,7 @@ struct etherip_header { /* Prototypes */ void gif_input(struct mbuf *, struct ifnet *, int, uint8_t); int gif_output(struct ifnet *, struct mbuf *, const struct sockaddr *, - struct route *); + struct nhop_info *); int gif_encapcheck(const struct mbuf *, int, int, void *); #endif /* _KERNEL */ Modified: projects/routing/sys/net/if_gre.c ============================================================================== --- projects/routing/sys/net/if_gre.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_gre.c Sun Nov 9 16:33:04 2014 (r274317) @@ -112,7 +112,7 @@ static void gre_qflush(struct ifnet *); static int gre_transmit(struct ifnet *, struct mbuf *); static int gre_ioctl(struct ifnet *, u_long, caddr_t); static int gre_output(struct ifnet *, struct mbuf *, - const struct sockaddr *, struct route *); + const struct sockaddr *, struct nhop_info *); static void gre_updatehdr(struct gre_softc *); static int gre_set_tunnel(struct ifnet *, struct sockaddr *, @@ -785,7 +785,7 @@ gre_check_nesting(struct ifnet *ifp, str static int gre_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { uint32_t af; int error; Modified: projects/routing/sys/net/if_iso88025subr.c ============================================================================== --- projects/routing/sys/net/if_iso88025subr.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_iso88025subr.c Sun Nov 9 16:33:04 2014 (r274317) @@ -203,7 +203,7 @@ iso88025_ioctl(struct ifnet *ifp, u_long */ int iso88025_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { u_int16_t snap_type = 0; int loop_copy = 0, error = 0, rif_len = 0; Modified: projects/routing/sys/net/if_lagg.c ============================================================================== --- projects/routing/sys/net/if_lagg.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_lagg.c Sun Nov 9 16:33:04 2014 (r274317) @@ -110,7 +110,7 @@ static void lagg_linkstate(struct lagg_s static void lagg_port_state(struct ifnet *, int); static int lagg_port_ioctl(struct ifnet *, u_long, caddr_t); static int lagg_port_output(struct ifnet *, struct mbuf *, - const struct sockaddr *, struct route *); + const struct sockaddr *, struct nhop_info *); static void lagg_port_ifdetach(void *arg __unused, struct ifnet *); #ifdef LAGG_PORT_STACKING static int lagg_port_checkstacking(struct lagg_softc *); @@ -1065,14 +1065,14 @@ lagg_get_counter(struct ifnet *ifp, ift_ */ static int lagg_port_output(struct ifnet *ifp, struct mbuf *m, - const struct sockaddr *dst, struct route *ro) + const struct sockaddr *dst, struct nhop_info *ni) { struct lagg_port *lp = ifp->if_lagg; switch (dst->sa_family) { case pseudo_AF_HDRCMPLT: case AF_UNSPEC: - return ((*lp->lp_output)(ifp, m, dst, ro)); + return ((*lp->lp_output)(ifp, m, dst, ni)); } /* drop any other frames */ Modified: projects/routing/sys/net/if_lagg.h ============================================================================== --- projects/routing/sys/net/if_lagg.h Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_lagg.h Sun Nov 9 16:33:04 2014 (r274317) @@ -260,7 +260,7 @@ struct lagg_port { /* Redirected callbacks */ int (*lp_ioctl)(struct ifnet *, u_long, caddr_t); int (*lp_output)(struct ifnet *, struct mbuf *, - const struct sockaddr *, struct route *); + const struct sockaddr *, struct nhop_info *); struct lagg_counters port_counters; /* ifp counters copy */ SLIST_ENTRY(lagg_port) lp_entries; Modified: projects/routing/sys/net/if_loop.c ============================================================================== --- projects/routing/sys/net/if_loop.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_loop.c Sun Nov 9 16:33:04 2014 (r274317) @@ -54,7 +54,6 @@ #include #include #include -#include #include #include @@ -71,6 +70,8 @@ #include #endif +#include + #include #ifdef TINY_LOMTU @@ -90,7 +91,7 @@ int loioctl(struct ifnet *, u_long, caddr_t); int looutput(struct ifnet *ifp, struct mbuf *m, - const struct sockaddr *dst, struct route *ro); + const struct sockaddr *dst, struct nhop_info *ni); static int lo_clone_create(struct if_clone *, int, caddr_t); static void lo_clone_destroy(struct ifnet *); @@ -200,18 +201,24 @@ DECLARE_MODULE(if_lo, loop_mod, SI_SUB_P int looutput(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { - u_int32_t af; - struct rtentry *rt = NULL; + uint32_t af; + uint32_t nh_flags; #ifdef MAC int error; #endif M_ASSERTPKTHDR(m); /* check if we have the packet header */ - if (ro != NULL) - rt = ro->ro_rt; + nh_flags = 0; + af = AF_UNSPEC; + if (ni != NULL && ni->ni_nh != NULL) { + nh_flags = ni->ni_nh->nh_flags; + af = ni->ni_family; + } else if (dst != NULL) + af = dst->sa_family; + #ifdef MAC error = mac_ifnet_check_transmit(ifp, m); if (error) { @@ -220,20 +227,18 @@ looutput(struct ifnet *ifp, struct mbuf } #endif - if (rt && rt->rt_flags & (RTF_REJECT|RTF_BLACKHOLE)) { + if (nh_flags & (NHF_REJECT | NHF_BLACKHOLE)) { m_freem(m); - return (rt->rt_flags & RTF_BLACKHOLE ? 0 : - rt->rt_flags & RTF_HOST ? EHOSTUNREACH : ENETUNREACH); + /* XXX: RTF_HOST */ + return (nh_flags & NHF_BLACKHOLE ? 0 : EHOSTUNREACH); } if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); if_inc_counter(ifp, IFCOUNTER_OBYTES, m->m_pkthdr.len); /* BPF writes need to be handled specially. */ - if (dst->sa_family == AF_UNSPEC) + if (af == AF_UNSPEC && dst != NULL) bcopy(dst->sa_data, &af, sizeof(af)); - else - af = dst->sa_family; #if 1 /* XXX */ switch (af) { Modified: projects/routing/sys/net/if_me.c ============================================================================== --- projects/routing/sys/net/if_me.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_me.c Sun Nov 9 16:33:04 2014 (r274317) @@ -120,7 +120,7 @@ static void me_qflush(struct ifnet *); static int me_transmit(struct ifnet *, struct mbuf *); static int me_ioctl(struct ifnet *, u_long, caddr_t); static int me_output(struct ifnet *, struct mbuf *, - const struct sockaddr *, struct route *); + const struct sockaddr *, struct nhop_info *); static int me_input(struct mbuf **, int *, int); static int me_set_tunnel(struct ifnet *, struct sockaddr_in *, @@ -500,7 +500,7 @@ me_check_nesting(struct ifnet *ifp, stru static int me_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { uint32_t af; int error; Modified: projects/routing/sys/net/if_spppsubr.c ============================================================================== --- projects/routing/sys/net/if_spppsubr.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_spppsubr.c Sun Nov 9 16:33:04 2014 (r274317) @@ -257,7 +257,7 @@ static const u_short interactive_ports[8 int debug = ifp->if_flags & IFF_DEBUG static int sppp_output(struct ifnet *ifp, struct mbuf *m, - const struct sockaddr *dst, struct route *ro); + const struct sockaddr *dst, struct nhop_info *ni); static void sppp_cisco_send(struct sppp *sp, int type, long par1, long par2); static void sppp_cisco_input(struct sppp *sp, struct mbuf *m); @@ -767,7 +767,7 @@ sppp_ifstart(struct ifnet *ifp) */ static int sppp_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { struct sppp *sp = IFP2SP(ifp); struct ppp_header *h; Modified: projects/routing/sys/net/if_stf.c ============================================================================== --- projects/routing/sys/net/if_stf.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_stf.c Sun Nov 9 16:33:04 2014 (r274317) @@ -176,7 +176,7 @@ static int stfmodevent(module_t, int, vo static int stf_encapcheck(const struct mbuf *, int, int, void *); static int stf_getsrcifa6(struct ifnet *, struct in6_addr *, struct in6_addr *); static int stf_output(struct ifnet *, struct mbuf *, const struct sockaddr *, - struct route *); + struct nhop_info *); static int isrfc1918addr(struct in_addr *); static int stf_checkaddr4(struct stf_softc *, struct in_addr *, struct ifnet *); @@ -405,7 +405,7 @@ stf_getsrcifa6(struct ifnet *ifp, struct static int stf_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { struct stf_softc *sc; const struct sockaddr_in6 *dst6; Modified: projects/routing/sys/net/if_tun.c ============================================================================== --- projects/routing/sys/net/if_tun.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_tun.c Sun Nov 9 16:33:04 2014 (r274317) @@ -126,7 +126,7 @@ static int tunifioctl(struct ifnet *, u_ static void tuninit(struct ifnet *); static int tunmodevent(module_t, int, void *); static int tunoutput(struct ifnet *, struct mbuf *, - const struct sockaddr *, struct route *ro); + const struct sockaddr *, struct nhop_info *ni); static void tunstart(struct ifnet *); static int tun_clone_create(struct if_clone *, int, caddr_t); @@ -571,7 +571,7 @@ tunifioctl(struct ifnet *ifp, u_long cmd */ static int tunoutput(struct ifnet *ifp, struct mbuf *m0, const struct sockaddr *dst, - struct route *ro) + struct nhop_info *ni) { struct tun_softc *tp = ifp->if_softc; u_short cached_tun_flags; Modified: projects/routing/sys/net/if_var.h ============================================================================== --- projects/routing/sys/net/if_var.h Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/if_var.h Sun Nov 9 16:33:04 2014 (r274317) @@ -64,7 +64,7 @@ struct socket; struct carp_if; struct carp_softc; struct ifvlantrunk; -struct route; /* if_output */ +struct nhop_info; /* if_output */ struct vnet; struct ifmedia; struct netmap_adapter; @@ -213,7 +213,7 @@ struct ifnet { /* Various procedures of the layer2 encapsulation and drivers. */ int (*if_output) /* output routine (enqueue) */ (struct ifnet *, struct mbuf *, const struct sockaddr *, - struct route *); + struct nhop_info *); void (*if_input) /* input routine (from h/w driver) */ (struct ifnet *, struct mbuf *); if_start_fn_t if_start; /* initiate output routine */ Modified: projects/routing/sys/net/iso88025.h ============================================================================== --- projects/routing/sys/net/iso88025.h Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/iso88025.h Sun Nov 9 16:33:04 2014 (r274317) @@ -167,7 +167,7 @@ void iso88025_ifattach (struct ifnet *, void iso88025_ifdetach (struct ifnet *, int); int iso88025_ioctl (struct ifnet *, u_long, caddr_t ); int iso88025_output (struct ifnet *, struct mbuf *, - const struct sockaddr *, struct route *); + const struct sockaddr *, struct nhop_info *); void iso88025_input (struct ifnet *, struct mbuf *); #endif /* _KERNEL */ Modified: projects/routing/sys/net/radix_mpath.c ============================================================================== --- projects/routing/sys/net/radix_mpath.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/radix_mpath.c Sun Nov 9 16:33:04 2014 (r274317) @@ -198,6 +198,7 @@ rt_mpath_conflict(struct radix_node_head return (0); } +#if 0 void rtalloc_mpath_fib(struct route *ro, uint32_t hash, u_int fibnum) { @@ -257,6 +258,7 @@ rtalloc_mpath_fib(struct route *ro, uint } RT_UNLOCK(ro->ro_rt); } +#endif extern int in6_inithead(void **head, int off); extern int in_inithead(void **head, int off); Modified: projects/routing/sys/net/route.c ============================================================================== --- projects/routing/sys/net/route.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/route.c Sun Nov 9 16:33:04 2014 (r274317) @@ -364,19 +364,10 @@ sys_setfib(struct thread *td, struct set /* * Packet routing routines. */ -void -rtalloc(struct route *ro) -{ - - rtalloc_ign_fib(ro, 0UL, RT_DEFAULT_FIB); -} - -void -rtalloc_fib(struct route *ro, u_int fibnum) -{ - rtalloc_ign_fib(ro, 0UL, fibnum); -} +/* + * Legacy function for SCTP support. + */ void rtalloc_ign(struct route *ro, u_long ignore) { @@ -393,21 +384,6 @@ rtalloc_ign(struct route *ro, u_long ign RT_UNLOCK(ro->ro_rt); } -void -rtalloc_ign_fib(struct route *ro, u_long ignore, u_int fibnum) -{ - struct rtentry *rt; - - if ((rt = ro->ro_rt) != NULL) { - if (rt->rt_ifp != NULL && rt->rt_flags & RTF_UP) - return; - RTFREE(rt); - ro->ro_rt = NULL; - } - ro->ro_rt = rtalloc1_fib(&ro->ro_dst, 1, ignore, fibnum); - if (ro->ro_rt) - RT_UNLOCK(ro->ro_rt); -} /* * Look up the route that matches the address given Modified: projects/routing/sys/net/route.h ============================================================================== --- projects/routing/sys/net/route.h Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/route.h Sun Nov 9 16:33:04 2014 (r274317) @@ -44,10 +44,7 @@ */ /* - * A route consists of a destination address, a reference - * to a routing entry, and a reference to an llentry. - * These are often held by protocols in their control - * blocks, e.g. inpcb. + * Legacy structure. */ struct route { struct rtentry *ro_rt; @@ -57,10 +54,6 @@ struct route { struct sockaddr ro_dst; }; -#define RT_CACHING_CONTEXT 0x1 /* XXX: not used anywhere */ -#define RT_NORTREF 0x2 /* doesn't hold reference on ro_rt */ -#define RT_NHOP 0x4 - struct rt_metrics { u_long rmx_locks; /* Kernel must leave these values alone */ u_long rmx_mtu; /* MTU for this path */ @@ -109,6 +102,22 @@ VNET_DECLARE(u_int, rt_add_addr_allfibs) struct rib_head; struct rtentry; +struct nhop_prepend; + +/* + * Structure used to pass prepend information + * to if_output() routines. + */ +struct nhop_info { + struct nhop_prepend *ni_nh; /* MUST be non-NULL */ + uint32_t ni_flags; + uint8_t ni_family; + uint8_t spare[3]; +}; + +#define RT_NHOP 0x01 +#define RT_NORTREF 0x2 /* doesn't hold reference on ro_rt */ + #if !defined(_KERNEL) || defined(_WANT_RTENTRY) /* This structure is kept for compatibility reasons only */ struct rtentry { @@ -316,8 +325,6 @@ int rtsock_routemsg(int, struct ifnet *i /* * Note the following locking behavior: * - * rtalloc_ign() and rtalloc() return ro->ro_rt unlocked - * * rtalloc1() returns a locked rtentry * * rtfree() and RTFREE_LOCKED() require a locked rtentry @@ -338,7 +345,6 @@ void rt_flushifroutes(struct ifnet *ifp) /* Thes are used by old code not yet converted to use multiple FIBS */ int rt_getifa(struct rt_addrinfo *); void rtalloc_ign(struct route *ro, u_long ignflags); -void rtalloc(struct route *ro); /* XXX deprecated, use rtalloc_ign(ro, 0) */ struct rtentry *rtalloc1(struct sockaddr *, int, u_long); int rtinit(struct ifaddr *, int, int); int rtioctl(u_long, caddr_t); @@ -352,8 +358,6 @@ int rtrequest(int, struct sockaddr *, * but this will change.. */ int rt_getifa_fib(struct rt_addrinfo *, u_int fibnum); -void rtalloc_ign_fib(struct route *ro, u_long ignflags, u_int fibnum); -void rtalloc_fib(struct route *ro, u_int fibnum); struct rtentry *rtalloc1_fib(struct sockaddr *, int, u_long, u_int); int rtioctl_fib(u_long, caddr_t, u_int); void rtredirect_fib(struct sockaddr *, struct sockaddr *, Modified: projects/routing/sys/net/rt_nhops.c ============================================================================== --- projects/routing/sys/net/rt_nhops.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/rt_nhops.c Sun Nov 9 16:33:04 2014 (r274317) @@ -369,18 +369,19 @@ fib4_sendmbuf(struct ifnet *ifp, struct * TODO: Make special ifnet * 'if_output_frame' handler for that. */ - struct route_compat rc; + struct nhop_info ni; struct ether_header *eh; - rc.ro_flags = AF_INET << 8 | RT_NHOP; - rc.ro_nh = nh; + bzero(&ni, sizeof(ni)); + ni.ni_flags = RT_NHOP; + ni.ni_family = AF_INET; + ni.ni_nh = nh; M_PREPEND(m, nh->nh_count, M_NOWAIT); if (m == NULL) return (ENOBUFS); eh = mtod(m, struct ether_header *); memcpy(eh, nh->d.data, nh->nh_count); - error = (*ifp->if_output)(ifp, m, - NULL, (struct route *)&rc); + error = (*ifp->if_output)(ifp, m, NULL, &ni); } else { struct sockaddr_in gw_out; memset(&gw_out, 0, sizeof(gw_out)); @@ -869,18 +870,19 @@ fib6_sendmbuf(struct ifnet *ifp, struct * TODO: Make special ifnet * 'if_output_frame' handler for that. */ - struct route_compat rc; + struct nhop_info ni; struct ether_header *eh; - rc.ro_flags = AF_INET6 << 8 | RT_NHOP; - rc.ro_nh = nh; + bzero(&ni, sizeof(ni)); + ni.ni_family = AF_INET6; + ni.ni_flags = RT_NHOP; + ni.ni_nh = nh; M_PREPEND(m, nh->nh_count, M_NOWAIT); if (m == NULL) return (ENOBUFS); eh = mtod(m, struct ether_header *); memcpy(eh, nh->d.data, nh->nh_count); - error = (*ifp->if_output)(ifp, m, - NULL, (struct route *)&rc); + error = (*ifp->if_output)(ifp, m, NULL, &ni); } else { /* We need to perform ND lookup */ struct sockaddr_in6 gw_out; Modified: projects/routing/sys/net/rt_nhops.h ============================================================================== --- projects/routing/sys/net/rt_nhops.h Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/rt_nhops.h Sun Nov 9 16:33:04 2014 (r274317) @@ -113,10 +113,6 @@ struct nhop_multi { uint16_t nh_nhops[30]; /* Nexthop indexes */ }; -/* Control plane nexthop data */ -struct nhop_info { -}; - /* Per-AF per-fib nhop table */ struct nhops_descr { uint32_t nhop_size; /* Nehthop data size */ @@ -220,13 +216,6 @@ struct route_info { uint32_t scopeid; /* Desired scope id to use */ }; -struct route_compat { - struct nhop_prepend *ro_nh; - void *spare0; - void *spare1; - int ro_flags; -}; - int fib4_lookup_nh_ifp(uint32_t fibnum, struct in_addr dst, uint32_t flowid, struct nhop4_basic *pnh4); int fib4_lookup_nh_basic(uint32_t fibnum, struct in_addr dst, uint32_t flowid, Modified: projects/routing/sys/net/rtsock.c ============================================================================== --- projects/routing/sys/net/rtsock.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net/rtsock.c Sun Nov 9 16:33:04 2014 (r274317) @@ -615,11 +615,13 @@ route_output(struct mbuf *m, struct sock */ if (info.rti_info[RTAX_GATEWAY] != NULL && info.rti_info[RTAX_GATEWAY]->sa_family != AF_LINK) { - struct route gw_ro; - - bzero(&gw_ro, sizeof(gw_ro)); - gw_ro.ro_dst = *info.rti_info[RTAX_GATEWAY]; - rtalloc_ign_fib(&gw_ro, 0, fibnum); + struct rtentry *rt; + /* XXX-ME: Is this enough? */ + struct sockaddr dst; + + bzero(&dst, sizeof(dst)); + dst = *info.rti_info[RTAX_GATEWAY]; + rt = rtalloc1_fib(&dst, 0, 0, fibnum); /* * A host route through the loopback interface is * installed for each interface adddress. In pre 8.0 @@ -630,14 +632,13 @@ route_output(struct mbuf *m, struct sock * AF_LINK sa_family type of the rt_gateway, and the * rt_ifp has the IFF_LOOPBACK flag set. */ - if (gw_ro.ro_rt != NULL && - gw_ro.ro_rt->rt_gateway->sa_family == AF_LINK && - gw_ro.ro_rt->rt_ifp->if_flags & IFF_LOOPBACK) { + if (rt != NULL && rt->rt_gateway->sa_family == AF_LINK && + rt->rt_ifp->if_flags & IFF_LOOPBACK) { info.rti_flags &= ~RTF_GATEWAY; info.rti_flags |= RTF_GWFLAG_COMPAT; } - if (gw_ro.ro_rt != NULL) - RTFREE(gw_ro.ro_rt); + if (rt != NULL) + RTFREE_LOCKED(rt); } switch (rtm->rtm_type) { Modified: projects/routing/sys/net80211/ieee80211.c ============================================================================== --- projects/routing/sys/net80211/ieee80211.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net80211/ieee80211.c Sun Nov 9 16:33:04 2014 (r274317) @@ -245,11 +245,11 @@ null_transmit(struct ifnet *ifp, struct #if __FreeBSD_version >= 1000031 static int null_output(struct ifnet *ifp, struct mbuf *m, - const struct sockaddr *dst, struct route *ro) + const struct sockaddr *dst, struct nhop_info *ni) #else static int null_output(struct ifnet *ifp, struct mbuf *m, - struct sockaddr *dst, struct route *ro) + struct sockaddr *dst, struct nhop_info *ni) #endif { if_printf(ifp, "discard raw packet\n"); Modified: projects/routing/sys/net80211/ieee80211_output.c ============================================================================== --- projects/routing/sys/net80211/ieee80211_output.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net80211/ieee80211_output.c Sun Nov 9 16:33:04 2014 (r274317) @@ -510,7 +510,7 @@ ieee80211_raw_output(struct ieee80211vap #if __FreeBSD_version >= 1000031 int ieee80211_output(struct ifnet *ifp, struct mbuf *m, - const struct sockaddr *dst, struct route *ro) + const struct sockaddr *dst, struct nhop_info *ni_rt) #else int ieee80211_output(struct ifnet *ifp, struct mbuf *m, @@ -543,7 +543,7 @@ ieee80211_output(struct ifnet *ifp, stru * a raw 802.11 frame. */ if (dst->sa_family != AF_IEEE80211) - return vap->iv_output(ifp, m, dst, ro); + return vap->iv_output(ifp, m, dst, ni_rt); #ifdef MAC error = mac_ifnet_check_transmit(ifp, m); if (error) Modified: projects/routing/sys/net80211/ieee80211_proto.h ============================================================================== --- projects/routing/sys/net80211/ieee80211_proto.h Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net80211/ieee80211_proto.h Sun Nov 9 16:33:04 2014 (r274317) @@ -98,7 +98,7 @@ int ieee80211_raw_xmit(struct ieee80211_ const struct ieee80211_bpf_params *); #if __FreeBSD_version >= 1000031 int ieee80211_output(struct ifnet *, struct mbuf *, - const struct sockaddr *, struct route *ro); + const struct sockaddr *, struct nhop_info *ni); #else int ieee80211_output(struct ifnet *, struct mbuf *, struct sockaddr *, struct route *ro); Modified: projects/routing/sys/net80211/ieee80211_var.h ============================================================================== --- projects/routing/sys/net80211/ieee80211_var.h Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/net80211/ieee80211_var.h Sun Nov 9 16:33:04 2014 (r274317) @@ -498,7 +498,7 @@ struct ieee80211vap { /* 802.3 output method for raw frame xmit */ #if __FreeBSD_version >= 1000031 int (*iv_output)(struct ifnet *, struct mbuf *, - const struct sockaddr *, struct route *); + const struct sockaddr *, struct nhop_info *); #else int (*iv_output)(struct ifnet *, struct mbuf *, struct sockaddr *, struct route *); Modified: projects/routing/sys/netgraph/ng_iface.c ============================================================================== --- projects/routing/sys/netgraph/ng_iface.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/netgraph/ng_iface.c Sun Nov 9 16:33:04 2014 (r274317) @@ -120,7 +120,7 @@ typedef struct ng_iface_private *priv_p; static void ng_iface_start(struct ifnet *ifp); static int ng_iface_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data); static int ng_iface_output(struct ifnet *ifp, struct mbuf *m0, - const struct sockaddr *dst, struct route *ro); + const struct sockaddr *dst, struct nhop_info *ni); static void ng_iface_bpftap(struct ifnet *ifp, struct mbuf *m, sa_family_t family); static int ng_iface_send(struct ifnet *ifp, struct mbuf *m, @@ -350,7 +350,7 @@ ng_iface_ioctl(struct ifnet *ifp, u_long static int ng_iface_output(struct ifnet *ifp, struct mbuf *m, - const struct sockaddr *dst, struct route *ro) + const struct sockaddr *dst, struct nhop_info *ni) { struct m_tag *mtag; uint32_t af; Modified: projects/routing/sys/netinet/ip_var.h ============================================================================== --- projects/routing/sys/netinet/ip_var.h Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/netinet/ip_var.h Sun Nov 9 16:33:04 2014 (r274317) @@ -171,7 +171,6 @@ void kmod_ipstat_dec(int statnum); struct ip; struct inpcb; -struct route; struct route_info; struct sockopt; Modified: projects/routing/sys/netinet6/in6_rmx.c ============================================================================== --- projects/routing/sys/netinet6/in6_rmx.c Sun Nov 9 16:20:27 2014 (r274316) +++ projects/routing/sys/netinet6/in6_rmx.c Sun Nov 9 16:33:04 2014 (r274317) @@ -292,20 +292,6 @@ in6_rtrequest(int req, struct sockaddr * *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sun Nov 9 16:57:32 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 34948D88; Sun, 9 Nov 2014 16:57:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2068AD6A; Sun, 9 Nov 2014 16:57:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sA9GvVKg072173; Sun, 9 Nov 2014 16:57:31 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sA9GvVwW072171; Sun, 9 Nov 2014 16:57:31 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201411091657.sA9GvVwW072171@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sun, 9 Nov 2014 16:57:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274318 - projects/routing/sys/netinet6 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2014 16:57:32 -0000 Author: melifaro Date: Sun Nov 9 16:57:31 2014 New Revision: 274318 URL: https://svnweb.freebsd.org/changeset/base/274318 Log: Remove forgotten arguments. Modified: projects/routing/sys/netinet6/nd6.c projects/routing/sys/netinet6/nd6_nbr.c Modified: projects/routing/sys/netinet6/nd6.c ============================================================================== --- projects/routing/sys/netinet6/nd6.c Sun Nov 9 16:33:04 2014 (r274317) +++ projects/routing/sys/netinet6/nd6.c Sun Nov 9 16:57:31 2014 (r274318) @@ -1764,7 +1764,7 @@ nd6_cache_lladdr(struct ifnet *ifp, stru ln = NULL; } if (chain) - nd6_output_flush(ifp, ifp, chain, &sin6, NULL); + nd6_output_flush(ifp, ifp, chain, &sin6); /* * When the link-layer address of a router changes, select the Modified: projects/routing/sys/netinet6/nd6_nbr.c ============================================================================== --- projects/routing/sys/netinet6/nd6_nbr.c Sun Nov 9 16:33:04 2014 (r274317) +++ projects/routing/sys/netinet6/nd6_nbr.c Sun Nov 9 16:57:31 2014 (r274318) @@ -904,7 +904,7 @@ nd6_na_input(struct mbuf *m, int off, in LLE_WUNLOCK(ln); if (chain) - nd6_output_flush(ifp, ifp, chain, &sin6, NULL); + nd6_output_flush(ifp, ifp, chain, &sin6); } if (checklink) pfxlist_onlink_check(); From owner-svn-src-projects@FreeBSD.ORG Sun Nov 9 16:58:37 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 43222E78; Sun, 9 Nov 2014 16:58:37 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 155FDD72; Sun, 9 Nov 2014 16:58:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sA9GwaIw072345; Sun, 9 Nov 2014 16:58:36 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sA9Gwaab072343; Sun, 9 Nov 2014 16:58:36 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201411091658.sA9Gwaab072343@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sun, 9 Nov 2014 16:58:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274319 - projects/routing/sys/net X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2014 16:58:37 -0000 Author: melifaro Date: Sun Nov 9 16:58:36 2014 New Revision: 274319 URL: https://svnweb.freebsd.org/changeset/base/274319 Log: Remove net/route_internal header from if_disc and if_faith. Modified: projects/routing/sys/net/if_disc.c projects/routing/sys/net/if_faith.c Modified: projects/routing/sys/net/if_disc.c ============================================================================== --- projects/routing/sys/net/if_disc.c Sun Nov 9 16:57:31 2014 (r274318) +++ projects/routing/sys/net/if_disc.c Sun Nov 9 16:58:36 2014 (r274319) @@ -49,7 +49,6 @@ #include #include #include -#include #include #include Modified: projects/routing/sys/net/if_faith.c ============================================================================== --- projects/routing/sys/net/if_faith.c Sun Nov 9 16:57:31 2014 (r274318) +++ projects/routing/sys/net/if_faith.c Sun Nov 9 16:58:36 2014 (r274319) @@ -61,7 +61,6 @@ #include #include #include -#include #include #include @@ -81,6 +80,8 @@ #include #endif +#include + struct faith_softc { struct ifnet *sc_ifp; }; @@ -191,24 +192,32 @@ faithoutput(struct ifnet *ifp, struct mb { int isr; u_int32_t af; - struct rtentry *rt = NULL; + uint32_t nh_flags; M_ASSERTPKTHDR(m); + nh_flags = 0; + af = AF_UNSPEC; + if (ni != NULL && ni->ni_nh != NULL) { + nh_flags = ni->ni_nh->nh_flags; + af = ni->ni_family; + } else if (dst != NULL) + af = dst->sa_family; + /* BPF writes need to be handled specially. */ - if (dst->sa_family == AF_UNSPEC) + if (af == AF_UNSPEC && dst != NULL) bcopy(dst->sa_data, &af, sizeof(af)); - else - af = dst->sa_family; if (bpf_peers_present(ifp->if_bpf)) bpf_mtap2(ifp->if_bpf, &af, sizeof(af), m); - if (rt && rt->rt_flags & (RTF_REJECT|RTF_BLACKHOLE)) { + + if (nh_flags & (NHF_REJECT | NHF_BLACKHOLE)) { m_freem(m); - return (rt->rt_flags & RTF_BLACKHOLE ? 0 : - rt->rt_flags & RTF_HOST ? EHOSTUNREACH : ENETUNREACH); + /* XXX: RTF_HOST */ + return (nh_flags & NHF_BLACKHOLE ? 0 : EHOSTUNREACH); } + if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); if_inc_counter(ifp, IFCOUNTER_OBYTES, m->m_pkthdr.len); switch (af) { @@ -306,6 +315,8 @@ static int faithprefix(in6) struct in6_addr *in6; { + return (0); +#if 0 struct rtentry *rt; struct sockaddr_in6 sin6; int ret; @@ -326,5 +337,6 @@ faithprefix(in6) if (rt) RTFREE_LOCKED(rt); return ret; +#endif } #endif From owner-svn-src-projects@FreeBSD.ORG Sun Nov 9 17:32:08 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 369316DF; Sun, 9 Nov 2014 17:32:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 097F5EA; Sun, 9 Nov 2014 17:32:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sA9HW7Aq090246; Sun, 9 Nov 2014 17:32:07 GMT (envelope-from gleb@FreeBSD.org) Received: (from gleb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sA9HW7bb090245; Sun, 9 Nov 2014 17:32:07 GMT (envelope-from gleb@FreeBSD.org) Message-Id: <201411091732.sA9HW7bb090245@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: gleb set sender to gleb@FreeBSD.org using -f From: Gleb Kurtsou Date: Sun, 9 Nov 2014 17:32:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274321 - projects/l2filter X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2014 17:32:08 -0000 Author: gleb Date: Sun Nov 9 17:32:07 2014 New Revision: 274321 URL: https://svnweb.freebsd.org/changeset/base/274321 Log: Remove stale projects/l2filter branch. Code in the branch has always been outdated. Early 8-STABLE era (and currently unmaintained) patchset is available at https://github.com/glk/l2filter Deleted: projects/l2filter/ From owner-svn-src-projects@FreeBSD.ORG Sun Nov 9 22:16:51 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7543466F; Sun, 9 Nov 2014 22:16:51 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 616A6ACF; Sun, 9 Nov 2014 22:16:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sA9MGphe040848; Sun, 9 Nov 2014 22:16:51 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sA9MGoff040845; Sun, 9 Nov 2014 22:16:50 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201411092216.sA9MGoff040845@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sun, 9 Nov 2014 22:16:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274332 - in projects/routing/sys: net netinet6 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2014 22:16:51 -0000 Author: melifaro Date: Sun Nov 9 22:16:50 2014 New Revision: 274332 URL: https://svnweb.freebsd.org/changeset/base/274332 Log: Fix nd6_output_flush() prototype. Remove 'net/route_internal.h' header from stf. Modified: projects/routing/sys/net/if_stf.c projects/routing/sys/netinet6/nd6.h Modified: projects/routing/sys/net/if_stf.c ============================================================================== --- projects/routing/sys/net/if_stf.c Sun Nov 9 21:33:01 2014 (r274331) +++ projects/routing/sys/net/if_stf.c Sun Nov 9 22:16:50 2014 (r274332) @@ -97,7 +97,6 @@ #include #include #include -#include #include #include #include Modified: projects/routing/sys/netinet6/nd6.h ============================================================================== --- projects/routing/sys/netinet6/nd6.h Sun Nov 9 21:33:01 2014 (r274331) +++ projects/routing/sys/netinet6/nd6.h Sun Nov 9 22:16:50 2014 (r274332) @@ -413,7 +413,7 @@ int nd6_output_lle(struct ifnet *, struc struct sockaddr_in6 *, struct rtentry *, struct llentry *, struct mbuf **); int nd6_output_flush(struct ifnet *, struct ifnet *, struct mbuf *, - struct sockaddr_in6 *, struct route *); + struct sockaddr_in6 *); int nd6_need_cache(struct ifnet *); int nd6_add_ifa_lle(struct in6_ifaddr *); void nd6_rem_ifa_lle(struct in6_ifaddr *); From owner-svn-src-projects@FreeBSD.ORG Sun Nov 9 22:59:23 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 66E6537A; Sun, 9 Nov 2014 22:59:23 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 47938EA2; Sun, 9 Nov 2014 22:59:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sA9MxNPV060246; Sun, 9 Nov 2014 22:59:23 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sA9MxMJR060236; Sun, 9 Nov 2014 22:59:22 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201411092259.sA9MxMJR060236@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sun, 9 Nov 2014 22:59:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274335 - in projects/routing: share/man/man9 sys/net X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Nov 2014 22:59:23 -0000 Author: melifaro Date: Sun Nov 9 22:59:21 2014 New Revision: 274335 URL: https://svnweb.freebsd.org/changeset/base/274335 Log: Since we no longer return individual radix entries, it is not possible to do per-rte accounting. Remove rt_kpktsent. Modified: projects/routing/share/man/man9/rtentry.9 projects/routing/sys/net/route.c projects/routing/sys/net/route.h projects/routing/sys/net/route_internal.h projects/routing/sys/net/rtsock.c Modified: projects/routing/share/man/man9/rtentry.9 ============================================================================== --- projects/routing/share/man/man9/rtentry.9 Sun Nov 9 22:54:40 2014 (r274334) +++ projects/routing/share/man/man9/rtentry.9 Sun Nov 9 22:59:21 2014 (r274335) @@ -101,8 +101,6 @@ See description of rmx_mtu below. See description of rmx_weight below. .It Vt "u_long rt_expire"; See description of rmx_expire below. -.It Vt "counter64_t rt_pksent"; -See description of rmx_pksent below. .It Vt "struct rtentry *rt_gwroute" ; This member is a reference to a route whose destination is .Va rt_gateway . @@ -174,9 +172,9 @@ passed with routing control messages via .Xr route 4 API. Currently only -.Vt rmx_mtu , rmx_expire , +.Vt rmx_mtu , and -.Vt rmx_pksent +.Vt rmx_expire metrics are supplied. All others are ignored. .Pp @@ -221,8 +219,6 @@ The average deviation of the round-trip units of .Dv RMX_RTTUNIT per second. -.It Vt "u_long rmx_pksent" ; -A count of packets successfully sent via this route. .It Vt "u_long rmx_filler[4]" ; .\" XXX badly named Empty space available for protocol-specific information. Modified: projects/routing/sys/net/route.c ============================================================================== --- projects/routing/sys/net/route.c Sun Nov 9 22:54:40 2014 (r274334) +++ projects/routing/sys/net/route.c Sun Nov 9 22:59:21 2014 (r274335) @@ -201,48 +201,6 @@ route_init(void) } SYSINIT(route_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, route_init, 0); -static int -rtentry_zinit(void *mem, int size, int how) -{ - struct rtentry *rt = mem; - - rt->rt_pksent = counter_u64_alloc(how); - if (rt->rt_pksent == NULL) - return (ENOMEM); - - RT_LOCK_INIT(rt); - - return (0); -} - -static void -rtentry_zfini(void *mem, int size) -{ - struct rtentry *rt = mem; - - RT_LOCK_DESTROY(rt); - counter_u64_free(rt->rt_pksent); -} - -static int -rtentry_ctor(void *mem, int size, void *arg, int how) -{ - struct rtentry *rt = mem; - - bzero(rt, offsetof(struct rtentry, rt_endzero)); - counter_u64_zero(rt->rt_pksent); - - return (0); -} - -static void -rtentry_dtor(void *mem, int size, void *arg) -{ - struct rtentry *rt = mem; - - RT_UNLOCK_COND(rt); -} - static void vnet_route_init(const void *unused __unused) { @@ -255,8 +213,7 @@ vnet_route_init(const void *unused __unu sizeof(struct rib_head *), M_RTABLE, M_WAITOK|M_ZERO); V_rtzone = uma_zcreate("rtentry", sizeof(struct rtentry), - rtentry_ctor, rtentry_dtor, - rtentry_zinit, rtentry_zfini, UMA_ALIGN_PTR, 0); + NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); for (dom = domains; dom; dom = dom->dom_next) { if (dom->dom_rtattach == NULL) continue; @@ -1341,11 +1298,12 @@ rtrequest1_fib(int req, struct rt_addrin } else ifa_ref(info->rti_ifa); ifa = info->rti_ifa; - rt = uma_zalloc(V_rtzone, M_NOWAIT); + rt = uma_zalloc(V_rtzone, M_NOWAIT | M_ZERO); if (rt == NULL) { ifa_free(ifa); senderr(ENOBUFS); } + RT_LOCK_INIT(rt); rt->rt_flags = RTF_UP | flags; rt->rt_fibnum = fibnum; /* @@ -1353,6 +1311,7 @@ rtrequest1_fib(int req, struct rt_addrin */ RT_LOCK(rt); if ((error = rt_setgate(rt, dst, gateway)) != 0) { + RT_LOCK_DESTROY(rt); ifa_free(ifa); uma_zfree(V_rtzone, rt); senderr(error); @@ -1388,6 +1347,7 @@ rtrequest1_fib(int req, struct rt_addrin rt_mpath_conflict(rh, rt, netmask)) { ifa_free(rt->rt_ifa); Free(rt_key(rt)); + RT_LOCK_DESTROY(rt); uma_zfree(V_rtzone, rt); senderr(EEXIST); } Modified: projects/routing/sys/net/route.h ============================================================================== --- projects/routing/sys/net/route.h Sun Nov 9 22:54:40 2014 (r274334) +++ projects/routing/sys/net/route.h Sun Nov 9 22:59:21 2014 (r274335) @@ -33,7 +33,6 @@ #ifndef _NET_ROUTE_H_ #define _NET_ROUTE_H_ -#include #include /* Modified: projects/routing/sys/net/route_internal.h ============================================================================== --- projects/routing/sys/net/route_internal.h Sun Nov 9 22:54:40 2014 (r274334) +++ projects/routing/sys/net/route_internal.h Sun Nov 9 22:59:21 2014 (r274335) @@ -73,8 +73,7 @@ struct rtentry { u_long rt_mtu; /* MTU for this path */ u_long rt_weight; /* absolute weight */ u_long rt_expire; /* lifetime for route, e.g. redirect */ -#define rt_endzero rt_pksent - counter_u64_t rt_pksent; /* packets sent using this route */ +#define rt_endzero rt_mtx struct mtx rt_mtx; /* mutex for routing entry */ }; Modified: projects/routing/sys/net/rtsock.c ============================================================================== --- projects/routing/sys/net/rtsock.c Sun Nov 9 22:54:40 2014 (r274334) +++ projects/routing/sys/net/rtsock.c Sun Nov 9 22:59:21 2014 (r274335) @@ -922,7 +922,6 @@ rt_getmetrics(const struct rtentry *rt, bzero(out, sizeof(*out)); out->rmx_mtu = rt->rt_mtu; out->rmx_weight = rt->rt_weight; - out->rmx_pksent = counter_u64_fetch(rt->rt_pksent); /* Kernel -> userland timebase conversion. */ out->rmx_expire = rt->rt_expire ? rt->rt_expire - time_uptime + time_second : 0; From owner-svn-src-projects@FreeBSD.ORG Mon Nov 10 00:07:09 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 81F24E16; Mon, 10 Nov 2014 00:07:09 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6BAB8763; Mon, 10 Nov 2014 00:07:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAA079NX094646; Mon, 10 Nov 2014 00:07:09 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAA077TD094634; Mon, 10 Nov 2014 00:07:07 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201411100007.sAA077TD094634@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Mon, 10 Nov 2014 00:07:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274336 - in projects/routing/sys: net netinet netinet6 netpfil/ipfw nfs X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2014 00:07:09 -0000 Author: melifaro Date: Mon Nov 10 00:07:06 2014 New Revision: 274336 URL: https://svnweb.freebsd.org/changeset/base/274336 Log: Switch route radix to dual-lock model: use rmlock for data patch access, and config rwlock for conrol plane processing. Route table changes require bock locks held. Modified: projects/routing/sys/net/route.c projects/routing/sys/net/route_internal.h projects/routing/sys/net/rt_nhops.c projects/routing/sys/net/rtsock.c projects/routing/sys/netinet/in_rmx.c projects/routing/sys/netinet6/nd6_rtr.c projects/routing/sys/netpfil/ipfw/ip_fw_table_algo.c projects/routing/sys/nfs/bootp_subr.c Modified: projects/routing/sys/net/route.c ============================================================================== --- projects/routing/sys/net/route.c Sun Nov 9 22:59:21 2014 (r274335) +++ projects/routing/sys/net/route.c Mon Nov 10 00:07:06 2014 (r274336) @@ -44,6 +44,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -281,7 +284,8 @@ rt_table_init(int offset) rh->rmhead.head.s.mask_nodes = rh->rmhead.mask_nodes; /* Init locks */ - rw_init(&rh->rib_lock, "rib head"); + rm_init(&rh->rib_lock, "rib head run"); + rw_init(&rh->rib_cfglock, "rib head cfg"); /* Finally, set base callbacks */ rh->rnh_addaddr = rn_addroute; @@ -299,7 +303,8 @@ rt_table_destroy(struct rib_head *rh) { /* Assume table is already empty */ - rw_destroy(&rh->rib_lock); + rw_destroy(&rh->rib_cfglock); + rm_destroy(&rh->rib_lock); free(rh, M_RTABLE); } @@ -365,6 +370,7 @@ rtalloc1_fib(struct sockaddr *dst, int r struct rt_addrinfo info; int err = 0, msgtype = RTM_MISS; int needlock; + RIB_LOCK_READER; KASSERT((fibnum < rt_numfibs), ("rtalloc1_fib: bad fibnum")); rh = rt_tables_get_rnh(fibnum, dst->sa_family); @@ -612,11 +618,13 @@ rtredirect_fib(struct sockaddr *dst, * add the key and gateway (in one malloc'd chunk). */ RT_UNLOCK(rt); + RIB_CFG_WLOCK(rh); RIB_WLOCK(rh); RT_LOCK(rt); rt_setgate(rt, rt_key(rt), gateway); gwrt = rtalloc1(gateway, 1, RTF_RNH_LOCKED); RIB_WUNLOCK(rh); + RIB_CFG_WUNLOCK(rh); EVENTHANDLER_INVOKE(route_redirect_event, rt, gwrt, dst); RTFREE_LOCKED(gwrt); } @@ -794,9 +802,12 @@ rt_foreach_fib(int af, rt_setwarg_t *set if (setwa_f != NULL) setwa_f(rh, fibnum, i, arg); + RIB_CFG_WLOCK(rh); + /* Do runtime locking for now */ RIB_WLOCK(rh); rh->rnh_walktree(&rh->head, (walktree_f_t *)wa_f, arg); RIB_WUNLOCK(rh); + RIB_CFG_WUNLOCK(rh); continue; } @@ -807,9 +818,12 @@ rt_foreach_fib(int af, rt_setwarg_t *set if (setwa_f != NULL) setwa_f(rh, fibnum, i, arg); + RIB_CFG_WLOCK(rh); RIB_WLOCK(rh); + /* Do runtime locking for now */ rh->rnh_walktree(&rh->head, (walktree_f_t *)wa_f, arg); RIB_WUNLOCK(rh); + RIB_CFG_WUNLOCK(rh); } } } @@ -1203,9 +1217,10 @@ rtrequest1_fib(int req, struct rt_addrin return (EAFNOSUPPORT); needlock = ((flags & RTF_RNH_LOCKED) == 0); flags &= ~RTF_RNH_LOCKED; - if (needlock) + if (needlock) { + RIB_CFG_WLOCK(rh); RIB_WLOCK(rh); - else + } else RIB_LOCK_ASSERT(rh); /* * If we are adding a host route then we don't want to put @@ -1453,8 +1468,10 @@ rtrequest1_fib(int req, struct rt_addrin error = EOPNOTSUPP; } bad: - if (needlock) + if (needlock) { RIB_WUNLOCK(rh); + RIB_CFG_WUNLOCK(rh); + } return (error); #undef senderr } @@ -1730,7 +1747,7 @@ rtinit1(struct ifaddr *ifa, int cmd, int if (rh == NULL) /* this table doesn't exist but others might */ continue; - RIB_RLOCK(rh); + RIB_CFG_RLOCK(rh); rn = rh->rnh_lookup(dst, netmask, &rh->head); #ifdef RADIX_MPATH if (rn_mpath_capable(rh)) { @@ -1756,7 +1773,7 @@ rtinit1(struct ifaddr *ifa, int cmd, int error = (rn == NULL || (rn->rn_flags & RNF_ROOT) || RNTORT(rn)->rt_ifa != ifa); - RIB_RUNLOCK(rh); + RIB_CFG_RUNLOCK(rh); if (error) { /* this is only an error if bad on ALL tables */ continue; @@ -1789,6 +1806,7 @@ rtinit1(struct ifaddr *ifa, int cmd, int * interface prefix. */ rh = rt_tables_get_rnh(fibnum, dst->sa_family); + RIB_CFG_WLOCK(rh); RIB_WLOCK(rh); /* Delete old prefix */ @@ -1804,6 +1822,7 @@ rtinit1(struct ifaddr *ifa, int cmd, int } RIB_WUNLOCK(rh); + RIB_CFG_WUNLOCK(rh); } Modified: projects/routing/sys/net/route_internal.h ============================================================================== --- projects/routing/sys/net/route_internal.h Sun Nov 9 22:59:21 2014 (r274335) +++ projects/routing/sys/net/route_internal.h Mon Nov 10 00:07:06 2014 (r274336) @@ -32,6 +32,7 @@ struct rib_head { struct radix_head head; + struct rmlock rib_lock; /* data path lock */ rn_matchaddr_f_t *rnh_matchaddr; /* longest match for sockaddr */ rn_addaddr_f_t *rnh_addaddr; /* add based on sockaddr*/ rn_deladdr_f_t *rnh_deladdr; /* remove based on sockaddr */ @@ -40,16 +41,24 @@ struct rib_head { rn_walktree_from_t *rnh_walktree_from; /* traverse tree below a */ rn_close_t *rnh_close; /*do something when the last ref drops*/ struct radix_node rnh_nodes[3]; /* empty tree for common case */ - struct rwlock rib_lock; /* locks entire radix tree */ + struct rwlock rib_cfglock; /* config lock */ struct radix_mask_head rmhead; /* masks radix head */ }; -#define RIB_RLOCK(rh) rw_rlock(&(rh)->rib_lock) -#define RIB_RUNLOCK(rh) rw_runlock(&(rh)->rib_lock) -#define RIB_WLOCK(rh) rw_wlock(&(rh)->rib_lock) -#define RIB_WUNLOCK(rh) rw_wunlock(&(rh)->rib_lock) -#define RIB_LOCK_ASSERT(rh) rw_assert(&(rh)->rib_lock, RA_LOCKED) -#define RIB_WLOCK_ASSERT(rh) rw_assert(&(rh)->rib_lock, RA_WLOCKED) +#define RIB_RLOCK(rh) rm_rlock(&(rh)->rib_lock, &tracker) +#define RIB_RUNLOCK(rh) rm_runlock(&(rh)->rib_lock, &tracker) +#define RIB_WLOCK(rh) rm_wlock(&(rh)->rib_lock) +#define RIB_WUNLOCK(rh) rm_wunlock(&(rh)->rib_lock) +#define RIB_WLOCK_ASSERT(rh) rm_assert(&(rh)->rib_lock, RA_WLOCKED) +#define RIB_LOCK_READER struct rm_priotracker tracker +#define RIB_LOCK_ASSERT(rh) rm_assert(&(rh)->rib_lock, RA_LOCKED) + +#define RIB_CFG_RLOCK(rh) rw_rlock(&(rh)->rib_cfglock) +#define RIB_CFG_RUNLOCK(rh) rw_runlock(&(rh)->rib_cfglock) +#define RIB_CFG_WLOCK(rh) rw_wlock(&(rh)->rib_cfglock) +#define RIB_CFG_WUNLOCK(rh) rw_wunlock(&(rh)->rib_cfglock) +#define RIB_CFG_LOCK_ASSERT(rh) rw_assert(&(rh)->rib_cfglock, RA_LOCKED) +#define RIB_CFG_WLOCK_ASSERT(rh) rw_assert(&(rh)->rib_cfglock, RA_WLOCKED) struct rib_head *rt_table_init(int offset); void rt_table_destroy(struct rib_head *rh); Modified: projects/routing/sys/net/rt_nhops.c ============================================================================== --- projects/routing/sys/net/rt_nhops.c Sun Nov 9 22:59:21 2014 (r274335) +++ projects/routing/sys/net/rt_nhops.c Mon Nov 10 00:07:06 2014 (r274336) @@ -40,6 +40,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -262,8 +265,8 @@ fib4_lookup_prepend(uint32_t fibnum, str struct in_addr gw; struct ether_header *eh; int error, flags; - //uint32_t flowid; struct rtentry *rte; + RIB_LOCK_READER; KASSERT((fibnum < rt_numfibs), ("fib4_lookup_prepend: bad fibnum")); rh = rt_tables_get_rnh(fibnum, AF_INET); @@ -506,6 +509,7 @@ fib4_lookup_nh_basic(uint32_t fibnum, st struct radix_node *rn; struct sockaddr_in sin; struct rtentry *rte; + RIB_LOCK_READER; KASSERT((fibnum < rt_numfibs), ("fib4_lookup_nh_basic: bad fibnum")); rh = rt_tables_get_rnh(fibnum, AF_INET); @@ -542,6 +546,7 @@ fib4_lookup_nh_ifp(uint32_t fibnum, stru struct radix_node *rn; struct sockaddr_in sin; struct rtentry *rte; + RIB_LOCK_READER; KASSERT((fibnum < rt_numfibs), ("fib4_lookup_nh_ifp: bad fibnum")); rh = rt_tables_get_rnh(fibnum, AF_INET); @@ -587,6 +592,7 @@ fib4_lookup_nh_ext(uint32_t fibnum, stru struct radix_node *rn; struct sockaddr_in sin; struct rtentry *rte; + RIB_LOCK_READER; KASSERT((fibnum < rt_numfibs), ("fib4_lookup_nh_ext: bad fibnum")); rh = rt_tables_get_rnh(fibnum, AF_INET); @@ -632,6 +638,7 @@ rib4_lookup_nh_ext(uint32_t fibnum, stru struct radix_node *rn; struct sockaddr_in sin; struct rtentry *rte; + RIB_LOCK_READER; KASSERT((fibnum < rt_numfibs), ("rib4_lookup_nh_ext: bad fibnum")); rh = rt_tables_get_rnh(fibnum, AF_INET); @@ -757,6 +764,7 @@ fib6_lookup_prepend(uint32_t fibnum, str struct rtentry *rte; struct ifnet *lifp; struct ether_header *eh; + RIB_LOCK_READER; uint32_t flags; int error; @@ -1129,6 +1137,7 @@ fib6_lookup_nh_ifp(uint32_t fibnum, stru struct radix_node *rn; struct sockaddr_in6 sin6; struct rtentry *rte; + RIB_LOCK_READER; if (IN6_IS_SCOPE_LINKLOCAL(dst)) { /* Do not lookup link-local addresses in rtable */ @@ -1172,6 +1181,7 @@ fib6_lookup_nh_basic(uint32_t fibnum, st struct radix_node *rn; struct sockaddr_in6 sin6; struct rtentry *rte; + RIB_LOCK_READER; if (IN6_IS_SCOPE_LINKLOCAL(dst)) { /* Do not lookup link-local addresses in rtable */ @@ -1222,6 +1232,7 @@ fib6_lookup_nh_ext(uint32_t fibnum, stru struct radix_node *rn; struct sockaddr_in6 sin6; struct rtentry *rte; + RIB_LOCK_READER; if (IN6_IS_SCOPE_LINKLOCAL(dst)) { /* Do not lookup link-local addresses in rtable */ @@ -1275,6 +1286,7 @@ rib6_lookup_nh_ext(uint32_t fibnum, stru struct radix_node *rn; struct sockaddr_in6 sin6; struct rtentry *rte; + RIB_LOCK_READER; if (IN6_IS_SCOPE_LINKLOCAL(dst)) { /* Do not lookup link-local addresses in rtable */ Modified: projects/routing/sys/net/rtsock.c ============================================================================== --- projects/routing/sys/net/rtsock.c Sun Nov 9 22:59:21 2014 (r274335) +++ projects/routing/sys/net/rtsock.c Mon Nov 10 00:07:06 2014 (r274336) @@ -39,6 +39,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -703,7 +706,7 @@ route_output(struct mbuf *m, struct sock if (rh == NULL) senderr(EAFNOSUPPORT); - RIB_RLOCK(rh); + RIB_CFG_RLOCK(rh); if (info.rti_info[RTAX_NETMASK] == NULL && rtm->rtm_type == RTM_GET) { @@ -720,7 +723,7 @@ route_output(struct mbuf *m, struct sock info.rti_info[RTAX_NETMASK], &rh->head); if (rt == NULL) { - RIB_RUNLOCK(rh); + RIB_CFG_RUNLOCK(rh); senderr(ESRCH); } #ifdef RADIX_MPATH @@ -736,7 +739,7 @@ route_output(struct mbuf *m, struct sock (rtm->rtm_type != RTM_GET || info.rti_info[RTAX_GATEWAY])) { rt = rt_mpath_matchgate(rt, info.rti_info[RTAX_GATEWAY]); if (!rt) { - RIB_RUNLOCK(rh); + RIB_CFG_RUNLOCK(rh); senderr(ESRCH); } } @@ -769,13 +772,13 @@ route_output(struct mbuf *m, struct sock */ rt = (struct rtentry *)rh->rnh_matchaddr(&laddr, &rh->head); if (rt == NULL) { - RIB_RUNLOCK(rh); + RIB_CFG_RUNLOCK(rh); senderr(ESRCH); } } RT_LOCK(rt); RT_ADDREF(rt); - RIB_RUNLOCK(rh); + RIB_CFG_RUNLOCK(rh); report: RT_LOCK_ASSERT(rt); @@ -1868,10 +1871,10 @@ sysctl_rtsock(SYSCTL_HANDLER_ARGS) for (error = 0; error == 0 && i <= lim; i++) { rh = rt_tables_get_rnh(fib, i); if (rh != NULL) { - RIB_RLOCK(rh); + RIB_CFG_RLOCK(rh); error = rh->rnh_walktree(&rh->head, sysctl_dumpentry, &w); - RIB_RUNLOCK(rh); + RIB_CFG_RUNLOCK(rh); } else if (af != 0) error = EAFNOSUPPORT; } Modified: projects/routing/sys/netinet/in_rmx.c ============================================================================== --- projects/routing/sys/netinet/in_rmx.c Sun Nov 9 22:59:21 2014 (r274335) +++ projects/routing/sys/netinet/in_rmx.c Mon Nov 10 00:07:06 2014 (r274336) @@ -33,6 +33,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include +#include #include #include #include @@ -192,7 +195,7 @@ in_rtqkill(struct rtentry *rt, void *roc struct rtqk_arg *ap = rock; int err; - RIB_WLOCK_ASSERT(ap->rh); + //RIB_WLOCK_ASSERT(ap->rh); if (rt->rt_flags & RTPRF_OURS) { ap->found++; @@ -278,9 +281,11 @@ void in_setmatchfunc(struct rib_head *rh, int val) { + RIB_CFG_WLOCK(rh); RIB_WLOCK(rh); rh->rnh_matchaddr = (val != 0) ? rn_match : in_matroute; RIB_WUNLOCK(rh); + RIB_CFG_WUNLOCK(rh); } static int _in_rt_was_here; Modified: projects/routing/sys/netinet6/nd6_rtr.c ============================================================================== --- projects/routing/sys/netinet6/nd6_rtr.c Sun Nov 9 22:59:21 2014 (r274335) +++ projects/routing/sys/netinet6/nd6_rtr.c Mon Nov 10 00:07:06 2014 (r274336) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -1547,6 +1548,7 @@ nd6_prefix_onlink_rtrequest(struct nd_pr rh = rt_tables_get_rnh(rt->rt_fibnum, AF_INET6); /* XXX what if rhn == NULL? */ + RIB_CFG_WLOCK(rh); RIB_WLOCK(rh); RT_LOCK(rt); if (rt_setgate(rt, rt_key(rt), @@ -1558,6 +1560,7 @@ nd6_prefix_onlink_rtrequest(struct nd_pr dl->sdl_index = rt->rt_ifp->if_index; } RIB_WUNLOCK(rh); + RIB_CFG_WUNLOCK(rh); nd6_rtmsg(RTM_ADD, rt); RT_UNLOCK(rt); pr->ndpr_stateflags |= NDPRF_ONLINK; Modified: projects/routing/sys/netpfil/ipfw/ip_fw_table_algo.c ============================================================================== --- projects/routing/sys/netpfil/ipfw/ip_fw_table_algo.c Sun Nov 9 22:59:21 2014 (r274335) +++ projects/routing/sys/netpfil/ipfw/ip_fw_table_algo.c Mon Nov 10 00:07:06 2014 (r274336) @@ -4019,6 +4019,7 @@ ta_foreach_kfib(void *ta_state, struct t void *arg) { struct rib_head *rh; + RIB_LOCK_READER; int error; rh = rt_tables_get_rnh(ti->data, AF_INET); Modified: projects/routing/sys/nfs/bootp_subr.c ============================================================================== --- projects/routing/sys/nfs/bootp_subr.c Sun Nov 9 22:59:21 2014 (r274335) +++ projects/routing/sys/nfs/bootp_subr.c Mon Nov 10 00:07:06 2014 (r274336) @@ -375,9 +375,9 @@ bootpboot_p_rtlist(void) rnh = rt_tables_get_rnh(0, AF_INET); if (rnh == NULL) return; - RIB_RLOCK(rnh); /* could sleep XXX */ + RIB_CFG_RLOCK(rnh); /* could sleep XXX */ bootpboot_p_tree(rh->rnh_treetop); - RIB_RUNLOCK(rnh); + RIB_CFG_RUNLOCK(rnh); } void From owner-svn-src-projects@FreeBSD.ORG Mon Nov 10 18:48:10 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 31EB170F; Mon, 10 Nov 2014 18:48:10 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1B803B13; Mon, 10 Nov 2014 18:48:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAAImANi015795; Mon, 10 Nov 2014 18:48:10 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAAIm01g015720; Mon, 10 Nov 2014 18:48:00 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411101848.sAAIm01g015720@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Mon, 10 Nov 2014 18:48:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274350 - in projects/ifnet: . cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/cmd/zstreamdump cddl/contrib... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2014 18:48:10 -0000 Author: glebius Date: Mon Nov 10 18:47:59 2014 New Revision: 274350 URL: https://svnweb.freebsd.org/changeset/base/274350 Log: Merge head r256150 through r274349. Deleted: projects/ifnet/etc/rc.d/faith projects/ifnet/share/man/man4/faith.4 projects/ifnet/sys/modules/if_faith/ projects/ifnet/sys/net/if_faith.c projects/ifnet/usr.sbin/faithd/ Modified: projects/ifnet/ObsoleteFiles.inc projects/ifnet/UPDATING projects/ifnet/cddl/contrib/opensolaris/cmd/zdb/zdb.c projects/ifnet/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/ifnet/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c projects/ifnet/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 projects/ifnet/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c projects/ifnet/cddl/contrib/opensolaris/cmd/ztest/ztest.c projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c projects/ifnet/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c projects/ifnet/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h projects/ifnet/etc/defaults/rc.conf projects/ifnet/etc/network.subr projects/ifnet/etc/rc.d/Makefile projects/ifnet/etc/rc.d/NETWORKING projects/ifnet/etc/rc.d/bridge projects/ifnet/etc/rc.d/defaultroute projects/ifnet/etc/rc.d/routing projects/ifnet/lib/libc/net/getaddrinfo.c projects/ifnet/lib/libc/net/getnameinfo.c projects/ifnet/release/picobsd/bridge/PICOBSD projects/ifnet/release/picobsd/qemu/PICOBSD projects/ifnet/sbin/camcontrol/camcontrol.c projects/ifnet/sbin/gbde/gbde.8 projects/ifnet/sbin/gbde/gbde.c projects/ifnet/share/man/man4/Makefile projects/ifnet/share/man/man4/inet6.4 projects/ifnet/share/man/man4/ip6.4 projects/ifnet/share/man/man5/rc.conf.5 projects/ifnet/share/man/man7/hier.7 projects/ifnet/sys/amd64/amd64/genassym.c projects/ifnet/sys/amd64/conf/GENERIC projects/ifnet/sys/arm/conf/ATMEL projects/ifnet/sys/arm/conf/DOCKSTAR projects/ifnet/sys/arm/conf/DREAMPLUG-1001 projects/ifnet/sys/arm/conf/EFIKA_MX projects/ifnet/sys/arm/conf/ETHERNUT5 projects/ifnet/sys/arm/conf/IMX53 projects/ifnet/sys/arm/conf/IMX6 projects/ifnet/sys/arm/conf/SAM9260EK projects/ifnet/sys/boot/forth/loader.conf projects/ifnet/sys/boot/zfs/zfsimpl.c projects/ifnet/sys/cam/ctl/ctl.c projects/ifnet/sys/cam/ctl/ctl_cmd_table.c projects/ifnet/sys/cddl/boot/zfs/zfsimpl.h projects/ifnet/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c projects/ifnet/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h projects/ifnet/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c projects/ifnet/sys/cddl/contrib/opensolaris/common/zfs/zpool_prop.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_send.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/ifnet/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h projects/ifnet/sys/conf/NOTES projects/ifnet/sys/conf/files projects/ifnet/sys/crypto/rijndael/rijndael-api-fst.c projects/ifnet/sys/crypto/rijndael/rijndael-api-fst.h projects/ifnet/sys/dev/random/fortuna.c projects/ifnet/sys/dev/random/hash.c projects/ifnet/sys/dev/random/hash.h projects/ifnet/sys/dev/virtio/network/if_vtnet.c projects/ifnet/sys/geom/bde/g_bde.c projects/ifnet/sys/geom/bde/g_bde.h projects/ifnet/sys/i386/conf/GENERIC projects/ifnet/sys/i386/conf/XBOX projects/ifnet/sys/i386/conf/XEN projects/ifnet/sys/kern/kern_clock.c projects/ifnet/sys/kern/subr_prof.c projects/ifnet/sys/mips/conf/GXEMUL projects/ifnet/sys/mips/conf/GXEMUL32 projects/ifnet/sys/mips/conf/OCTEON1 projects/ifnet/sys/mips/rmi/rootfs_list.txt projects/ifnet/sys/modules/Makefile projects/ifnet/sys/net/if_types.h projects/ifnet/sys/net/netmap_user.h projects/ifnet/sys/netinet/in.h projects/ifnet/sys/netinet/in_pcb.c projects/ifnet/sys/netinet/in_pcb.h projects/ifnet/sys/netinet/ip_icmp.c projects/ifnet/sys/netinet/ip_input.c projects/ifnet/sys/netinet/ip_output.c projects/ifnet/sys/netinet6/icmp6.c projects/ifnet/sys/netinet6/in6.c projects/ifnet/sys/netinet6/in6.h projects/ifnet/sys/netinet6/in6_ifattach.c projects/ifnet/sys/netinet6/in6_pcb.c projects/ifnet/sys/netinet6/in6_proto.c projects/ifnet/sys/netinet6/in6_src.c projects/ifnet/sys/netinet6/ip6_output.c projects/ifnet/sys/netinet6/ip6_var.h projects/ifnet/sys/netinet6/nd6.c projects/ifnet/sys/netinet6/nd6.h projects/ifnet/sys/netinet6/nd6_nbr.c projects/ifnet/sys/netinet6/raw_ip6.c projects/ifnet/sys/netinet6/scope6.c projects/ifnet/sys/netinet6/scope6_var.h projects/ifnet/sys/netinet6/sctp6_usrreq.c projects/ifnet/sys/netinet6/udp6_usrreq.c projects/ifnet/sys/netpfil/ipfw/ip_fw_private.h projects/ifnet/sys/netpfil/pf/pf.c projects/ifnet/sys/pc98/conf/GENERIC projects/ifnet/sys/powerpc/conf/GENERIC projects/ifnet/sys/powerpc/conf/GENERIC64 projects/ifnet/sys/powerpc/conf/WII projects/ifnet/sys/sparc64/conf/GENERIC projects/ifnet/tools/build/mk/OptionalObsoleteFiles.inc projects/ifnet/tools/tools/nanobsd/pcengines/ALIX_DSK projects/ifnet/tools/tools/nanobsd/pcengines/ALIX_NFS projects/ifnet/tools/tools/sysbuild/sysbuild.sh projects/ifnet/tools/tools/sysdoc/tunables.mdoc projects/ifnet/tools/tools/tinybsd/conf/default/TINYBSD projects/ifnet/tools/tools/tinybsd/conf/vpn/TINYBSD projects/ifnet/tools/tools/tinybsd/conf/wrap/TINYBSD projects/ifnet/usr.sbin/Makefile projects/ifnet/usr.sbin/bhyve/block_if.c projects/ifnet/usr.sbin/bsdconfig/networking/share/device.subr projects/ifnet/usr.sbin/ctld/chap.c projects/ifnet/usr.sbin/inetd/inetd.c projects/ifnet/usr.sbin/iscsid/chap.c Directory Properties: projects/ifnet/ (props changed) projects/ifnet/cddl/ (props changed) projects/ifnet/cddl/contrib/opensolaris/ (props changed) projects/ifnet/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/ifnet/etc/ (props changed) projects/ifnet/lib/libc/ (props changed) projects/ifnet/sbin/ (props changed) projects/ifnet/share/ (props changed) projects/ifnet/share/man/man4/ (props changed) projects/ifnet/sys/ (props changed) projects/ifnet/sys/boot/ (props changed) projects/ifnet/sys/cddl/contrib/opensolaris/ (props changed) projects/ifnet/sys/conf/ (props changed) projects/ifnet/usr.sbin/bhyve/ (props changed) Modified: projects/ifnet/ObsoleteFiles.inc ============================================================================== --- projects/ifnet/ObsoleteFiles.inc Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/ObsoleteFiles.inc Mon Nov 10 18:47:59 2014 (r274350) @@ -38,6 +38,12 @@ # xargs -n1 | sort | uniq -d; # done +# 20141109: faith/faithd removal +OLD_FILES+=etc/rc.d/faith +OLD_FILES+=usr/share/man/man4/faith.4.gz +OLD_FILES+=usr/share/man/man4/if_faith.4.gz +OLD_FILES+=usr/sbin/faithd +OLD_FILES+=usr/share/man/man8/faithd.8.gz # 20141102: postrandom obsoleted by new /dev/random code OLD_FILES+=etc/rc.d/postrandom # 20141031: initrandom obsoleted by new /dev/random code Modified: projects/ifnet/UPDATING ============================================================================== --- projects/ifnet/UPDATING Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/UPDATING Mon Nov 10 18:47:59 2014 (r274350) @@ -31,6 +31,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20141109: + faith(4) and faithd(8) has been removed from base system. It + has been obsolete for a very long time. + 20141104: vt(4), the new console driver, is enabled by default. It brings support for Unicode and double-width characters, as well as @@ -833,8 +837,8 @@ COMMON ITEMS: 2.) update the ZFS boot block on your boot drive The following example updates the ZFS boot block on the first - partition (freebsd-boot) of a GPT partitioned drive ad0: - "gpart bootcode -p /boot/gptzfsboot -i 1 ad0" + partition (freebsd-boot) of a GPT partitioned drive ada0: + "gpart bootcode -p /boot/gptzfsboot -i 1 ada0" Non-boot pools do not need these updates. Modified: projects/ifnet/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- projects/ifnet/cddl/contrib/opensolaris/cmd/zdb/zdb.c Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/cddl/contrib/opensolaris/cmd/zdb/zdb.c Mon Nov 10 18:47:59 2014 (r274350) @@ -2147,6 +2147,8 @@ dump_label(const char *dev) (void) close(fd); } +static uint64_t num_large_blocks; + /*ARGSUSED*/ static int dump_one_dir(const char *dsname, void *arg) @@ -2159,6 +2161,8 @@ dump_one_dir(const char *dsname, void *a (void) printf("Could not open %s, error %d\n", dsname, error); return (0); } + if (dmu_objset_ds(os)->ds_large_blocks) + num_large_blocks++; dump_dir(os); dmu_objset_disown(os, FTAG); fuid_table_destroy(); @@ -2169,7 +2173,7 @@ dump_one_dir(const char *dsname, void *a /* * Block statistics. */ -#define PSIZE_HISTO_SIZE (SPA_MAXBLOCKSIZE / SPA_MINBLOCKSIZE + 1) +#define PSIZE_HISTO_SIZE (SPA_OLD_MAXBLOCKSIZE / SPA_MINBLOCKSIZE + 2) typedef struct zdb_blkstats { uint64_t zb_asize; uint64_t zb_lsize; @@ -2234,7 +2238,15 @@ zdb_count_block(zdb_cb_t *zcb, zilog_t * zb->zb_lsize += BP_GET_LSIZE(bp); zb->zb_psize += BP_GET_PSIZE(bp); zb->zb_count++; - zb->zb_psize_histogram[BP_GET_PSIZE(bp) >> SPA_MINBLOCKSHIFT]++; + + /* + * The histogram is only big enough to record blocks up to + * SPA_OLD_MAXBLOCKSIZE; larger blocks go into the last, + * "other", bucket. + */ + int idx = BP_GET_PSIZE(bp) >> SPA_MINBLOCKSHIFT; + idx = MIN(idx, SPA_OLD_MAXBLOCKSIZE / SPA_MINBLOCKSIZE + 1); + zb->zb_psize_histogram[idx]++; zb->zb_gangs += BP_COUNT_GANG(bp); @@ -2946,6 +2958,7 @@ dump_zpool(spa_t *spa) dump_metaslab_groups(spa); if (dump_opt['d'] || dump_opt['i']) { + uint64_t refcount; dump_dir(dp->dp_meta_objset); if (dump_opt['d'] >= 3) { dump_bpobj(&spa->spa_deferred_bpobj, @@ -2965,8 +2978,21 @@ dump_zpool(spa_t *spa) } (void) dmu_objset_find(spa_name(spa), dump_one_dir, NULL, DS_FIND_SNAPSHOTS | DS_FIND_CHILDREN); + + (void) feature_get_refcount(spa, + &spa_feature_table[SPA_FEATURE_LARGE_BLOCKS], &refcount); + if (num_large_blocks != refcount) { + (void) printf("large_blocks feature refcount mismatch: " + "expected %lld != actual %lld\n", + (longlong_t)num_large_blocks, + (longlong_t)refcount); + rc = 2; + } else { + (void) printf("Verified large_blocks feature refcount " + "is correct (%llu)\n", (longlong_t)refcount); + } } - if (dump_opt['b'] || dump_opt['c']) + if (rc == 0 && (dump_opt['b'] || dump_opt['c'])) rc = dump_block_stats(spa); if (rc == 0) Modified: projects/ifnet/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- projects/ifnet/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Mon Nov 10 18:47:59 2014 (r274350) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 30, 2014 +.Dd November 10, 2014 .Dt ZFS 8 .Os .Sh NAME @@ -179,12 +179,12 @@ .Ar bookmark .Nm .Cm send -.Op Fl DnPpRve +.Op Fl DnPpRveL .Op Fl i Ar snapshot | Fl I Ar snapshot .Ar snapshot .Nm .Cm send -.Op Fl e +.Op Fl eL .Op Fl i Ar snapshot Ns | Ns bookmark .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot .Nm @@ -1187,6 +1187,12 @@ systems is strongly discouraged, and may .Pp The size specified must be a power of two greater than or equal to 512 and less than or equal to 128 Kbytes. +If the +.Sy large_blocks +feature is enabled on the pool, the size may be up to 1 Mbyte. +See +.Xr zpool-features 7 +for details on ZFS feature flags. .Pp Changing the file system's .Sy recordsize @@ -2477,7 +2483,7 @@ feature. .It Xo .Nm .Cm send -.Op Fl DnPpRve +.Op Fl DnPpRveL .Op Fl i Ar snapshot | Fl I Ar snapshot .Ar snapshot .Xc @@ -2549,6 +2555,22 @@ be used regardless of the dataset's property, but performance will be much better if the filesystem uses a dedup-capable checksum (eg. .Sy sha256 ) . +.It Fl L +Generate a stream which may contain blocks larger than 128KB. +This flag +has no effect if the +.Sy large_blocks +pool feature is disabled, or if the +.Sy recordsize +property of this filesystem has never been set above 128KB. +The receiving system must have the +.Sy large_blocks +pool feature enabled as well. +See +.Xr zpool-features 7 +for details on ZFS feature flags and the +.Sy large_blocks +feature. .It Fl e Generate a more compact stream by using WRITE_EMBEDDED records for blocks which are stored more compactly on disk by the @@ -2596,7 +2618,7 @@ on future versions of .It Xo .Nm .Cm send -.Op Fl e +.Op Fl eL .Op Fl i Ar snapshot Ns | Ns Ar bookmark .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot .Xc @@ -2622,6 +2644,22 @@ specified as the last component of the n If the incremental target is a clone, the incremental source can be the origin snapshot, or an earlier snapshot in the origin's filesystem, or the origin's origin, etc. +.It Fl L +Generate a stream which may contain blocks larger than 128KB. +This flag +has no effect if the +.Sy large_blocks +pool feature is disabled, or if the +.Sy recordsize +property of this filesystem has never been set above 128KB. +The receiving system must have the +.Sy large_blocks +pool feature enabled as well. +See +.Xr zpool-features 7 +for details on ZFS feature flags and the +.Sy large_blocks +feature. .It Fl e Generate a more compact stream by using WRITE_EMBEDDED records for blocks which are stored more compactly on disk by the Modified: projects/ifnet/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- projects/ifnet/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Mon Nov 10 18:47:59 2014 (r274350) @@ -274,9 +274,9 @@ get_usage(zfs_help_t idx) case HELP_ROLLBACK: return (gettext("\trollback [-rRf] \n")); case HELP_SEND: - return (gettext("\tsend [-DnPpRve] [-[iI] snapshot] " + return (gettext("\tsend [-DnPpRvLe] [-[iI] snapshot] " "\n" - "\tsend [-e] [-i snapshot|bookmark] " + "\tsend [-Le] [-i snapshot|bookmark] " "\n")); case HELP_SET: return (gettext("\tset " @@ -3709,7 +3709,7 @@ zfs_do_send(int argc, char **argv) boolean_t extraverbose = B_FALSE; /* check options */ - while ((c = getopt(argc, argv, ":i:I:RDpvnPe")) != -1) { + while ((c = getopt(argc, argv, ":i:I:RDpvnPLe")) != -1) { switch (c) { case 'i': if (fromname) @@ -3744,6 +3744,9 @@ zfs_do_send(int argc, char **argv) case 'n': flags.dryrun = B_TRUE; break; + case 'L': + flags.largeblock = B_TRUE; + break; case 'e': flags.embed_data = B_TRUE; break; @@ -3800,6 +3803,8 @@ zfs_do_send(int argc, char **argv) if (zhp == NULL) return (1); + if (flags.largeblock) + lzc_flags |= LZC_SEND_FLAG_LARGE_BLOCK; if (flags.embed_data) lzc_flags |= LZC_SEND_FLAG_EMBED_DATA; Modified: projects/ifnet/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 ============================================================================== --- projects/ifnet/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Mon Nov 10 18:47:59 2014 (r274350) @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 1, 2014 +.Dd November 10, 2014 .Dt ZPOOL-FEATURES 7 .Os .Sh NAME @@ -427,6 +427,33 @@ This feature becomes as soon as it is enabled and will never return to being .Sy enabled . +.It Sy large_blocks +.Bl -column "READ\-ONLY COMPATIBLE" "org.open-zfs:large_block" +.It GUID Ta org.open-zfs:large_block +.It READ\-ONLY COMPATIBLE Ta no +.It DEPENDENCIES Ta extensible_dataset +.El +.Pp +The +.Sy large_block +feature allows the record size on a dataset to be +set larger than 128KB. +.Pp +This feature becomes +.Sy active +once a +.Sy recordsize +property has been set larger than 128KB, and will return to being +.Sy enabled +once all filesystems that have ever had their recordsize larger than 128KB +are destroyed. +.Pp +Please note that booting from datasets that have recordsize greater than +128KB is +.Em NOT +supported by the +.Fx +boot loader. .El .Sh SEE ALSO .Xr zpool 8 Modified: projects/ifnet/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c ============================================================================== --- projects/ifnet/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c Mon Nov 10 18:47:59 2014 (r274350) @@ -54,7 +54,6 @@ uint64_t total_stream_len = 0; FILE *send_stream = 0; boolean_t do_byteswap = B_FALSE; boolean_t do_cksum = B_TRUE; -#define INITIAL_BUFLEN (1<<20) static void usage(void) @@ -67,6 +66,18 @@ usage(void) exit(1); } +static void * +safe_malloc(size_t size) +{ + void *rv = malloc(size); + if (rv == NULL) { + (void) fprintf(stderr, "ERROR; failed to allocate %zu bytes\n", + size); + abort(); + } + return (rv); +} + /* * ssread - send stream read. * @@ -158,7 +169,7 @@ print_block(char *buf, int length) int main(int argc, char *argv[]) { - char *buf = malloc(INITIAL_BUFLEN); + char *buf = safe_malloc(SPA_MAXBLOCKSIZE); uint64_t drr_record_count[DRR_NUMTYPES] = { 0 }; uint64_t total_records = 0; dmu_replay_record_t thedrr; @@ -307,9 +318,9 @@ main(int argc, char *argv[]) nvlist_t *nv; int sz = drr->drr_payloadlen; - if (sz > INITIAL_BUFLEN) { + if (sz > SPA_MAXBLOCKSIZE) { free(buf); - buf = malloc(sz); + buf = safe_malloc(sz); } (void) ssread(buf, sz, &zc); if (ferror(send_stream)) Modified: projects/ifnet/cddl/contrib/opensolaris/cmd/ztest/ztest.c ============================================================================== --- projects/ifnet/cddl/contrib/opensolaris/cmd/ztest/ztest.c Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/cddl/contrib/opensolaris/cmd/ztest/ztest.c Mon Nov 10 18:47:59 2014 (r274350) @@ -987,9 +987,15 @@ ztest_spa_get_ashift() { static int ztest_random_blocksize(void) { - // Choose a block size >= the ashift. - uint64_t block_shift = - ztest_random(SPA_MAXBLOCKSHIFT - ztest_spa_get_ashift() + 1); + uint64_t block_shift; + /* + * Choose a block size >= the ashift. + * If the SPA supports new MAXBLOCKSIZE, test up to 1MB blocks. + */ + int maxbs = SPA_OLD_MAXBLOCKSHIFT; + if (spa_maxblocksize(ztest_spa) == SPA_MAXBLOCKSIZE) + maxbs = 20; + block_shift = ztest_random(maxbs - ztest_spa_get_ashift() + 1); return (1 << (SPA_MINBLOCKSHIFT + block_shift)); } @@ -4789,7 +4795,7 @@ ztest_fault_inject(ztest_ds_t *zd, uint6 char path0[MAXPATHLEN]; char pathrand[MAXPATHLEN]; size_t fsize; - int bshift = SPA_MAXBLOCKSHIFT + 2; /* don't scrog all labels */ + int bshift = SPA_OLD_MAXBLOCKSHIFT + 2; /* don't scrog all labels */ int iters = 1000; int maxfaults; int mirror_save; Modified: projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h ============================================================================== --- projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Mon Nov 10 18:47:59 2014 (r274350) @@ -609,6 +609,9 @@ typedef struct sendflags { /* show progress (ie. -v) */ boolean_t progress; + /* large blocks (>128K) are permitted */ + boolean_t largeblock; + /* WRITE_EMBEDDED records of type DATA are permitted */ boolean_t embed_data; } sendflags_t; Modified: projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Mon Nov 10 18:47:59 2014 (r274350) @@ -1080,21 +1080,36 @@ zfs_valid_proplist(libzfs_handle_t *hdl, break; } - case ZFS_PROP_RECORDSIZE: case ZFS_PROP_VOLBLOCKSIZE: - /* must be power of two within SPA_{MIN,MAX}BLOCKSIZE */ + case ZFS_PROP_RECORDSIZE: + { + int maxbs = SPA_MAXBLOCKSIZE; + if (zhp != NULL) { + maxbs = zpool_get_prop_int(zhp->zpool_hdl, + ZPOOL_PROP_MAXBLOCKSIZE, NULL); + } + /* + * Volumes are limited to a volblocksize of 128KB, + * because they typically service workloads with + * small random writes, which incur a large performance + * penalty with large blocks. + */ + if (prop == ZFS_PROP_VOLBLOCKSIZE) + maxbs = SPA_OLD_MAXBLOCKSIZE; + /* + * The value must be a power of two between + * SPA_MINBLOCKSIZE and maxbs. + */ if (intval < SPA_MINBLOCKSIZE || - intval > SPA_MAXBLOCKSIZE || !ISP2(intval)) { + intval > maxbs || !ISP2(intval)) { zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, - "'%s' must be power of 2 from %u " - "to %uk"), propname, - (uint_t)SPA_MINBLOCKSIZE, - (uint_t)SPA_MAXBLOCKSIZE >> 10); + "'%s' must be power of 2 from 512B " + "to %uKB"), propname, maxbs >> 10); (void) zfs_error(hdl, EZFS_BADPROP, errbuf); goto error; } break; - + } case ZFS_PROP_MLSLABEL: { #ifdef sun @@ -1471,7 +1486,9 @@ zfs_setprop_error(libzfs_handle_t *hdl, break; case ERANGE: - if (prop == ZFS_PROP_COMPRESSION) { + case EDOM: + if (prop == ZFS_PROP_COMPRESSION || + prop == ZFS_PROP_RECORDSIZE) { (void) zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "property setting is not allowed on " "bootable datasets")); @@ -3197,9 +3214,7 @@ zfs_create(libzfs_handle_t *hdl, const c case EDOM: zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "volume block size must be power of 2 from " - "%u to %uk"), - (uint_t)SPA_MINBLOCKSIZE, - (uint_t)SPA_MAXBLOCKSIZE >> 10); + "512B to 128KB")); return (zfs_error(hdl, EZFS_BADPROP, errbuf)); Modified: projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c ============================================================================== --- projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Mon Nov 10 18:47:59 2014 (r274350) @@ -215,7 +215,7 @@ static void * cksummer(void *arg) { dedup_arg_t *dda = arg; - char *buf = malloc(1<<20); + char *buf = zfs_alloc(dda->dedup_hdl, SPA_MAXBLOCKSIZE); dmu_replay_record_t thedrr; dmu_replay_record_t *drr = &thedrr; struct drr_begin *drrb = &thedrr.drr_u.drr_begin; @@ -280,9 +280,9 @@ cksummer(void *arg) DMU_COMPOUNDSTREAM && drr->drr_payloadlen != 0) { int sz = drr->drr_payloadlen; - if (sz > 1<<20) { - free(buf); - buf = malloc(sz); + if (sz > SPA_MAXBLOCKSIZE) { + buf = zfs_realloc(dda->dedup_hdl, buf, + SPA_MAXBLOCKSIZE, sz); } (void) ssread(buf, sz, ofp); if (ferror(stdin)) @@ -815,7 +815,7 @@ typedef struct send_dump_data { char prevsnap[ZFS_MAXNAMELEN]; uint64_t prevsnap_obj; boolean_t seenfrom, seento, replicate, doall, fromorigin; - boolean_t verbose, dryrun, parsable, progress, embed_data; + boolean_t verbose, dryrun, parsable, progress, embed_data, large_block; int outfd; boolean_t err; nvlist_t *fss; @@ -1163,6 +1163,8 @@ dump_snapshot(zfs_handle_t *zhp, void *a } enum lzc_send_flags flags = 0; + if (sdd->large_block) + flags |= LZC_SEND_FLAG_LARGE_BLOCK; if (sdd->embed_data) flags |= LZC_SEND_FLAG_EMBED_DATA; @@ -1511,6 +1513,7 @@ zfs_send(zfs_handle_t *zhp, const char * sdd.parsable = flags->parsable; sdd.progress = flags->progress; sdd.dryrun = flags->dryrun; + sdd.large_block = flags->largeblock; sdd.embed_data = flags->embed_data; sdd.filter_cb = filter_func; sdd.filter_cb_arg = cb_arg; @@ -2545,7 +2548,7 @@ static int recv_skip(libzfs_handle_t *hdl, int fd, boolean_t byteswap) { dmu_replay_record_t *drr; - void *buf = malloc(1<<20); + void *buf = zfs_alloc(hdl, SPA_MAXBLOCKSIZE); char errbuf[1024]; (void) snprintf(errbuf, sizeof (errbuf), dgettext(TEXT_DOMAIN, Modified: projects/ifnet/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c ============================================================================== --- projects/ifnet/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c Mon Nov 10 18:47:59 2014 (r274350) @@ -502,6 +502,10 @@ lzc_get_holds(const char *snapname, nvli * * "fd" is the file descriptor to write the send stream to. * + * If "flags" contains LZC_SEND_FLAG_LARGE_BLOCK, the stream is permitted + * to contain DRR_WRITE records with drr_length > 128K, and DRR_OBJECT + * records with drr_blksz > 128K. + * * If "flags" contains LZC_SEND_FLAG_EMBED_DATA, the stream is permitted * to contain DRR_WRITE_EMBEDDED records with drr_etype==BP_EMBEDDED_TYPE_DATA, * which the receiving system must support (as indicated by support @@ -518,6 +522,8 @@ lzc_send(const char *snapname, const cha fnvlist_add_int32(args, "fd", fd); if (from != NULL) fnvlist_add_string(args, "fromsnap", from); + if (flags & LZC_SEND_FLAG_LARGE_BLOCK) + fnvlist_add_boolean(args, "largeblockok"); if (flags & LZC_SEND_FLAG_EMBED_DATA) fnvlist_add_boolean(args, "embedok"); err = lzc_ioctl(ZFS_IOC_SEND_NEW, snapname, args, NULL); Modified: projects/ifnet/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h ============================================================================== --- projects/ifnet/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h Mon Nov 10 18:47:59 2014 (r274350) @@ -54,7 +54,8 @@ int lzc_release(nvlist_t *, nvlist_t **) int lzc_get_holds(const char *, nvlist_t **); enum lzc_send_flags { - LZC_SEND_FLAG_EMBED_DATA = 1 << 0 + LZC_SEND_FLAG_EMBED_DATA = 1 << 0, + LZC_SEND_FLAG_LARGE_BLOCK = 1 << 1 }; int lzc_send(const char *, const char *, int, enum lzc_send_flags); Modified: projects/ifnet/etc/defaults/rc.conf ============================================================================== --- projects/ifnet/etc/defaults/rc.conf Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/etc/defaults/rc.conf Mon Nov 10 18:47:59 2014 (r274350) @@ -514,9 +514,6 @@ stf_interface_ipv4plen="0" # Prefix leng stf_interface_ipv6_ifid="0:0:0:1" # IPv6 interface id for stf0. # If you like, you can set "AUTO" for this. stf_interface_ipv6_slaid="0000" # IPv6 Site Level Aggregator for stf0 -ipv6_faith_prefix="NO" # Set faith prefix to enable a FAITH - # IPv6-to-IPv4 TCP translator. You also need - # faithd(8) setup. ipv6_ipv4mapping="NO" # Set to "YES" to enable IPv4 mapped IPv6 addr # communication. (like ::ffff:a.b.c.d) ipv6_ipfilter_rules="/etc/ipf6.rules" # rules definition file for ipfilter, Modified: projects/ifnet/etc/network.subr ============================================================================== --- projects/ifnet/etc/network.subr Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/etc/network.subr Mon Nov 10 18:47:59 2014 (r274350) @@ -372,7 +372,6 @@ dhcpif() case $1 in lo[0-9]*|\ stf[0-9]*|\ - faith[0-9]*|\ lp[0-9]*|\ sl[0-9]*) return 1 @@ -591,7 +590,6 @@ ipv6_autoconfif() case $_if in lo[0-9]*|\ stf[0-9]*|\ - faith[0-9]*|\ lp[0-9]*|\ sl[0-9]*) return 1 Modified: projects/ifnet/etc/rc.d/Makefile ============================================================================== --- projects/ifnet/etc/rc.d/Makefile Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/etc/rc.d/Makefile Mon Nov 10 18:47:59 2014 (r274350) @@ -42,7 +42,6 @@ FILES= DAEMON \ dhclient \ dmesg \ dumpon \ - faith \ fsck \ ftpd \ gbde \ Modified: projects/ifnet/etc/rc.d/NETWORKING ============================================================================== --- projects/ifnet/etc/rc.d/NETWORKING Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/etc/rc.d/NETWORKING Mon Nov 10 18:47:59 2014 (r274350) @@ -4,7 +4,7 @@ # # PROVIDE: NETWORKING NETWORK -# REQUIRE: netif netoptions routing ppp ipfw stf faith +# REQUIRE: netif netoptions routing ppp ipfw stf # REQUIRE: defaultroute routed mrouted route6d mroute6d resolv bridge # REQUIRE: static_arp static_ndp local_unbound Modified: projects/ifnet/etc/rc.d/bridge ============================================================================== --- projects/ifnet/etc/rc.d/bridge Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/etc/rc.d/bridge Mon Nov 10 18:47:59 2014 (r274350) @@ -26,7 +26,7 @@ # # PROVIDE: bridge -# REQUIRE: netif faith ppp stf +# REQUIRE: netif ppp stf # KEYWORD: nojail . /etc/rc.subr Modified: projects/ifnet/etc/rc.d/defaultroute ============================================================================== --- projects/ifnet/etc/rc.d/defaultroute Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/etc/rc.d/defaultroute Mon Nov 10 18:47:59 2014 (r274350) @@ -6,7 +6,7 @@ # # PROVIDE: defaultroute -# REQUIRE: devd faith netif stf +# REQUIRE: devd netif stf # KEYWORD: nojail . /etc/rc.subr Modified: projects/ifnet/etc/rc.d/routing ============================================================================== --- projects/ifnet/etc/rc.d/routing Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/etc/rc.d/routing Mon Nov 10 18:47:59 2014 (r274350) @@ -6,7 +6,7 @@ # # PROVIDE: routing -# REQUIRE: faith netif ppp stf +# REQUIRE: netif ppp stf # KEYWORD: nojailvnet . /etc/rc.subr @@ -245,7 +245,7 @@ static_inet6() [Nn][Oo][Nn][Ee]) return ;; - lo0|faith[0-9]*) + lo0) continue ;; esac Modified: projects/ifnet/lib/libc/net/getaddrinfo.c ============================================================================== --- projects/ifnet/lib/libc/net/getaddrinfo.c Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/lib/libc/net/getaddrinfo.c Mon Nov 10 18:47:59 2014 (r274350) @@ -30,8 +30,6 @@ */ /* - * "#ifdef FAITH" part is local hack for supporting IPv4-v6 translator. - * * Issues to be discussed: * - Return values. There are nonstandard return values defined and used * in the source code. This is because RFC2553 is silent about which error @@ -101,10 +99,6 @@ __FBSDID("$FreeBSD$"); #include "nscache.h" #endif -#if defined(__KAME__) && defined(INET6) -# define FAITH -#endif - #define ANY 0 #define YES 1 #define NO 0 @@ -1316,47 +1310,6 @@ get_ai(const struct addrinfo *pai, const { char *p; struct addrinfo *ai; -#ifdef FAITH - struct in6_addr faith_prefix; - char *fp_str; - int translate = 0; -#endif - -#ifdef FAITH - /* - * Transfrom an IPv4 addr into a special IPv6 addr format for - * IPv6->IPv4 translation gateway. (only TCP is supported now) - * - * +-----------------------------------+------------+ - * | faith prefix part (12 bytes) | embedded | - * | | IPv4 addr part (4 bytes) - * +-----------------------------------+------------+ - * - * faith prefix part is specified as ascii IPv6 addr format - * in environmental variable GAI. - * For FAITH to work correctly, routing to faith prefix must be - * setup toward a machine where a FAITH daemon operates. - * Also, the machine must enable some mechanizm - * (e.g. faith interface hack) to divert those packet with - * faith prefixed destination addr to user-land FAITH daemon. - */ - fp_str = getenv("GAI"); - if (fp_str && inet_pton(AF_INET6, fp_str, &faith_prefix) == 1 && - afd->a_af == AF_INET && pai->ai_socktype == SOCK_STREAM) { - u_int32_t v4a; - u_int8_t v4a_top; - - memcpy(&v4a, addr, sizeof v4a); - v4a_top = v4a >> IN_CLASSA_NSHIFT; - if (!IN_MULTICAST(v4a) && !IN_EXPERIMENTAL(v4a) && - v4a_top != 0 && v4a != IN_LOOPBACKNET) { - afd = &afdl[N_INET6]; - memcpy(&faith_prefix.s6_addr[12], addr, - sizeof(struct in_addr)); - translate = 1; - } - } -#endif ai = (struct addrinfo *)malloc(sizeof(struct addrinfo) + (afd->a_socklen)); @@ -1370,11 +1323,6 @@ get_ai(const struct addrinfo *pai, const ai->ai_addrlen = afd->a_socklen; ai->ai_addr->sa_family = ai->ai_family = afd->a_af; p = (char *)(void *)(ai->ai_addr); -#ifdef FAITH - if (translate == 1) - memcpy(p + afd->a_off, &faith_prefix, (size_t)afd->a_addrlen); - else -#endif memcpy(p + afd->a_off, addr, (size_t)afd->a_addrlen); return ai; } Modified: projects/ifnet/lib/libc/net/getnameinfo.c ============================================================================== --- projects/ifnet/lib/libc/net/getnameinfo.c Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/lib/libc/net/getnameinfo.c Mon Nov 10 18:47:59 2014 (r274350) @@ -414,7 +414,6 @@ getnameinfo_link(const struct sockaddr * /* * The following have zero-length addresses. * IFT_ATM (net/if_atmsubr.c) - * IFT_FAITH (net/if_faith.c) * IFT_GIF (net/if_gif.c) * IFT_LOOP (net/if_loop.c) * IFT_PPP (net/if_ppp.c, net/if_spppsubr.c) Modified: projects/ifnet/release/picobsd/bridge/PICOBSD ============================================================================== --- projects/ifnet/release/picobsd/bridge/PICOBSD Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/release/picobsd/bridge/PICOBSD Mon Nov 10 18:47:59 2014 (r274350) @@ -109,7 +109,6 @@ device tun # Packet tunnel. device pty # Pseudo-ttys (telnet etc) device md # Memory "disks" #device gif 4 # IPv6 and IPv4 tunneling -#device faith 1 # IPv6-to-IPv4 relaying (translation) device tap #options DEVICE_POLLING Modified: projects/ifnet/release/picobsd/qemu/PICOBSD ============================================================================== --- projects/ifnet/release/picobsd/qemu/PICOBSD Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/release/picobsd/qemu/PICOBSD Mon Nov 10 18:47:59 2014 (r274350) @@ -114,7 +114,6 @@ device tun # Packet tunnel. device pty # Pseudo-ttys (telnet etc) device md # Memory "disks" #device gif 4 # IPv6 and IPv4 tunneling -#device faith 1 # IPv6-to-IPv4 relaying (translation) device tap #options VIMAGE # soner or later we may want to test this Modified: projects/ifnet/sbin/camcontrol/camcontrol.c ============================================================================== --- projects/ifnet/sbin/camcontrol/camcontrol.c Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/sbin/camcontrol/camcontrol.c Mon Nov 10 18:47:59 2014 (r274350) @@ -5827,15 +5827,31 @@ scsisanitize(struct cam_device *device, if (arglist & CAM_ARG_ERR_RECOVER) ccb->ccb_h.flags |= CAM_PASS_ERR_RECOVER; - if (((retval = cam_send_ccb(device, ccb)) < 0) - || ((immediate == 0) - && ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP))) { - const char errstr[] = "error sending sanitize command"; + if (cam_send_ccb(device, ccb) < 0) { + warn("error sending sanitize command"); + error = 1; + goto scsisanitize_bailout; + } - if (retval < 0) - warn(errstr); - else - warnx(errstr); + if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { + struct scsi_sense_data *sense; + int error_code, sense_key, asc, ascq; + + if ((ccb->ccb_h.status & CAM_STATUS_MASK) == + CAM_SCSI_STATUS_ERROR) { + sense = &ccb->csio.sense_data; + scsi_extract_sense_len(sense, ccb->csio.sense_len - + ccb->csio.sense_resid, &error_code, &sense_key, + &asc, &ascq, /*show_errors*/ 1); + + if (sense_key == SSD_KEY_ILLEGAL_REQUEST && + asc == 0x20 && ascq == 0x00) + warnx("sanitize is not supported by " + "this device"); + else + warnx("error sanitizing this device"); + } else + warnx("error sanitizing this device"); if (arglist & CAM_ARG_VERBOSE) { cam_error_print(device, ccb, CAM_ESF_ALL, Modified: projects/ifnet/sbin/gbde/gbde.8 ============================================================================== --- projects/ifnet/sbin/gbde/gbde.8 Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/sbin/gbde/gbde.8 Mon Nov 10 18:47:59 2014 (r274350) @@ -233,9 +233,23 @@ pass-phrase: .Pp .Dl "gbde setkey ada0s1f -n 2 -P foo -L key2.lockfile" .Pp -To destroy all copies of the masterkey: +To invalidate your own masterkey: +.Pp +.Dl "gbde nuke ada0s1f" +.Pp +This will overwrite your masterkey sector with zeros, and results in +a diagnostic if you try to use the key again. +You can also destroy the other three copies of the masterkey with the +-n argument. +.Pp +You can also invalidate your masterkey without leaving a tell-tale sector +full of zeros: .Pp .Dl "gbde destroy ada0s1f" +.Pp +This will overwrite the information fields in your masterkey sector, +encrypt it and write it back. +You get a (different) diagnostic if you try to use it. .Sh SEE ALSO .Xr gbde 4 , .Xr geom 4 Modified: projects/ifnet/sbin/gbde/gbde.c ============================================================================== --- projects/ifnet/sbin/gbde/gbde.c Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/sbin/gbde/gbde.c Mon Nov 10 18:47:59 2014 (r274350) @@ -300,7 +300,6 @@ cmd_attach(const struct g_bde_softc *sc, gctl_ro_param(r, "key", 16, buf); close(ffd); } - /* gctl_dump(r, stdout); */ errstr = gctl_issue(r); if (errstr != NULL) errx(1, "Attach to %s failed: %s", dest, errstr); @@ -371,7 +370,7 @@ cmd_open(struct g_bde_softc *sc, int dfd if (error != 0) errx(1, "Error %d decrypting lock", error); if (nkey) - printf("Opened with key %u\n", *nkey); + printf("Opened with key %u\n", 1 + *nkey); return; } @@ -392,7 +391,7 @@ cmd_nuke(struct g_bde_key *gl, int dfd , free(sbuf); if (i != (int)gl->sectorsize) err(1, "write"); - printf("Nuked key %d\n", key); + printf("Nuked key %d\n", 1 + key); } static void @@ -493,7 +492,7 @@ cmd_destroy(struct g_bde_key *gl, int nk bzero(&gl->sector0, sizeof gl->sector0); bzero(&gl->sectorN, sizeof gl->sectorN); bzero(&gl->keyoffset, sizeof gl->keyoffset); - bzero(&gl->flags, sizeof gl->flags); + gl->flags &= GBDE_F_SECT0; bzero(gl->mkey, sizeof gl->mkey); for (i = 0; i < G_BDE_MAXKEYS; i++) if (i != nkey) Modified: projects/ifnet/share/man/man4/Makefile ============================================================================== --- projects/ifnet/share/man/man4/Makefile Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/share/man/man4/Makefile Mon Nov 10 18:47:59 2014 (r274350) @@ -132,7 +132,6 @@ MAN= aac.4 \ et.4 \ eventtimers.4 \ exca.4 \ - faith.4 \ fatm.4 \ fd.4 \ fdc.4 \ @@ -637,7 +636,6 @@ MLINKS+=en.4 if_en.4 MLINKS+=enc.4 if_enc.4 MLINKS+=epair.4 if_epair.4 MLINKS+=et.4 if_et.4 -MLINKS+=faith.4 if_faith.4 MLINKS+=fatm.4 if_fatm.4 MLINKS+=fd.4 stderr.4 \ fd.4 stdin.4 \ Modified: projects/ifnet/share/man/man4/inet6.4 ============================================================================== --- projects/ifnet/share/man/man4/inet6.4 Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/share/man/man4/inet6.4 Mon Nov 10 18:47:59 2014 (r274350) @@ -241,17 +241,6 @@ Defaults to off. Boolean: the default value of a per-interface flag to enable/disable performing automatic link-local address configuration. Defaults to on. -.It Dv IPV6CTL_KEEPFAITH -.Pq ip6.keepfaith -Boolean: enable/disable -.Dq FAITH -TCP relay IPv6-to-IPv4 translator code in the kernel. -Refer -.Xr faith 4 -and -.Xr faithd 8 -for detail. -Defaults to off. .It Dv IPV6CTL_LOG_INTERVAL .Pq ip6.log_interval Integer: default interval between Modified: projects/ifnet/share/man/man4/ip6.4 ============================================================================== --- projects/ifnet/share/man/man4/ip6.4 Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/share/man/man4/ip6.4 Mon Nov 10 18:47:59 2014 (r274350) @@ -393,10 +393,6 @@ For wildcard sockets, this can restrict .\".Ox .\"IPv6 sockets are always IPv6-only, so the socket option is read-only .\"(not modifiable). -.It Dv IPV6_FAITH Fa "int *" -Get or set the status of whether -.Xr faith 4 -connections can be made to this socket. .It Dv IPV6_USE_MIN_MTU Fa "int *" Get or set whether the minimal IPv6 maximum transmission unit (MTU) size will be used to avoid fragmentation from occurring for subsequent Modified: projects/ifnet/share/man/man5/rc.conf.5 ============================================================================== --- projects/ifnet/share/man/man5/rc.conf.5 Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/share/man/man5/rc.conf.5 Mon Nov 10 18:47:59 2014 (r274350) @@ -2948,15 +2948,6 @@ This can be set to .Pq Vt str IPv6 Site Level Aggregator for .Xr stf 4 . -.It Va ipv6_faith_prefix -.Pq Vt str -If not set to -.Dq Li NO , -this is the faith prefix to enable a FAITH IPv6-to-IPv4 TCP -translator. -You also need -.Xr faithd 8 -setup. .It Va ipv6_ipv4mapping .Pq Vt bool If set to Modified: projects/ifnet/share/man/man7/hier.7 ============================================================================== --- projects/ifnet/share/man/man7/hier.7 Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/share/man/man7/hier.7 Mon Nov 10 18:47:59 2014 (r274350) @@ -28,7 +28,7 @@ .\" @(#)hier.7 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd July 25, 2014 +.Dd November 10, 2014 .Dt HIER 7 .Os .Sh NAME @@ -380,6 +380,8 @@ shared libraries for compatibility .It Pa aout/ a.out backward compatibility libraries .El +.It Pa debug/ +standalone debug data for the base system libraries and binaries .It Pa dtrace/ DTrace library scripts .It Pa engines/ Modified: projects/ifnet/sys/amd64/amd64/genassym.c ============================================================================== --- projects/ifnet/sys/amd64/amd64/genassym.c Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/sys/amd64/amd64/genassym.c Mon Nov 10 18:47:59 2014 (r274350) @@ -61,11 +61,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include -#include -#include -#include #include #include #include Modified: projects/ifnet/sys/amd64/conf/GENERIC ============================================================================== --- projects/ifnet/sys/amd64/conf/GENERIC Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/sys/amd64/conf/GENERIC Mon Nov 10 18:47:59 2014 (r274350) @@ -310,7 +310,6 @@ device vlan # 802.1Q VLAN support device tun # Packet tunnel. device md # Memory "disks" device gif # IPv6 and IPv4 tunneling -device faith # IPv6-to-IPv4 relaying (translation) device firmware # firmware assist module # The `bpf' device enables the Berkeley Packet Filter. Modified: projects/ifnet/sys/arm/conf/ATMEL ============================================================================== --- projects/ifnet/sys/arm/conf/ATMEL Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/sys/arm/conf/ATMEL Mon Nov 10 18:47:59 2014 (r274350) @@ -143,7 +143,6 @@ device vlan # 802.1Q VLAN support device tun # Packet tunnel. device md # Memory "disks" device gif # IPv6 and IPv4 tunneling -device faith # IPv6-to-IPv4 relaying (translation) #device firmware # firmware assist module # SCSI peripherals Modified: projects/ifnet/sys/arm/conf/DOCKSTAR ============================================================================== --- projects/ifnet/sys/arm/conf/DOCKSTAR Mon Nov 10 18:20:46 2014 (r274349) +++ projects/ifnet/sys/arm/conf/DOCKSTAR Mon Nov 10 18:47:59 2014 (r274350) @@ -54,7 +54,6 @@ options FDT_DTB_STATIC # Misc pseudo devices device bpf # Required for DHCP *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Mon Nov 10 21:10:51 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9C2DA686; Mon, 10 Nov 2014 21:10:51 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8A09AC8D; Mon, 10 Nov 2014 21:10:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAALApJS086769; Mon, 10 Nov 2014 21:10:51 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAALApES086768; Mon, 10 Nov 2014 21:10:51 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201411102110.sAALApES086768@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Mon, 10 Nov 2014 21:10:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274356 - projects/release-vmimage/release X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2014 21:10:51 -0000 Author: gjb Date: Mon Nov 10 21:10:50 2014 New Revision: 274356 URL: https://svnweb.freebsd.org/changeset/base/274356 Log: Remove a stray directory from CLEANFILES. Sponsored by: The FreeBSD Foundation Modified: projects/release-vmimage/release/Makefile.vm Modified: projects/release-vmimage/release/Makefile.vm ============================================================================== --- projects/release-vmimage/release/Makefile.vm Mon Nov 10 21:00:23 2014 (r274355) +++ projects/release-vmimage/release/Makefile.vm Mon Nov 10 21:10:50 2014 (r274356) @@ -20,7 +20,6 @@ OPENSTACK_FORMAT=qcow2 CLOUDTARGETS+= vm-${_CW:tl} CLEANDIRS+= vm-${_CW:tl} CLEANFILES+= ${_CW:tl}.img \ - vm-${_CW:tl} \ ${_CW:tl}.${${_CW:tu}_FORMAT} \ ${_CW:tl}.${${_CW:tu}_FORMAT}.raw ${_CW:tu}IMAGE= ${_CW:tl}.${${_CW:tu}_FORMAT} From owner-svn-src-projects@FreeBSD.ORG Tue Nov 11 19:02:37 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8B550621; Tue, 11 Nov 2014 19:02:37 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 731FCD1A; Tue, 11 Nov 2014 19:02:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sABJ2bjb053044; Tue, 11 Nov 2014 19:02:37 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sABJ2W9I053001; Tue, 11 Nov 2014 19:02:32 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411111902.sABJ2W9I053001@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Tue, 11 Nov 2014 19:02:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274392 - in projects/sendfile: . bin/df bin/sh bin/sh/tests/expansion bin/sh/tests/parameters cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2014 19:02:37 -0000 Author: glebius Date: Tue Nov 11 19:02:30 2014 New Revision: 274392 URL: https://svnweb.freebsd.org/changeset/base/274392 Log: Merge head r258543 through r274390. Added: projects/sendfile/bin/sh/tests/expansion/redir1.0 - copied unchanged from r274390, head/bin/sh/tests/expansion/redir1.0 projects/sendfile/bin/sh/tests/parameters/positional6.0 - copied unchanged from r274390, head/bin/sh/tests/parameters/positional6.0 projects/sendfile/bin/sh/tests/parameters/positional7.0 - copied unchanged from r274390, head/bin/sh/tests/parameters/positional7.0 projects/sendfile/contrib/atf/atf-c++/atf-c++.3 - copied unchanged from r274390, head/contrib/atf/atf-c++/atf-c++.3 projects/sendfile/contrib/atf/atf-c/atf-c.3 - copied unchanged from r274390, head/contrib/atf/atf-c/atf-c.3 projects/sendfile/contrib/atf/atf-sh/atf-sh.3 - copied unchanged from r274390, head/contrib/atf/atf-sh/atf-sh.3 projects/sendfile/contrib/atf/config.h - copied unchanged from r274390, head/contrib/atf/config.h projects/sendfile/contrib/atf/doc/atf.7.in - copied unchanged from r274390, head/contrib/atf/doc/atf.7.in projects/sendfile/contrib/llvm/patches/patch-r274286-llvm-r201784-asm-dollar.diff - copied unchanged from r274390, head/contrib/llvm/patches/patch-r274286-llvm-r201784-asm-dollar.diff projects/sendfile/contrib/ofed/libcxgb4/ - copied from r274390, head/contrib/ofed/libcxgb4/ projects/sendfile/contrib/ofed/librdmacm/examples/build/ - copied from r274390, head/contrib/ofed/librdmacm/examples/build/ projects/sendfile/contrib/ofed/usr.lib/libcxgb4/ - copied from r274390, head/contrib/ofed/usr.lib/libcxgb4/ projects/sendfile/contrib/telnet/telnet/baud.h - copied unchanged from r274390, head/contrib/telnet/telnet/baud.h projects/sendfile/etc/rc.d/growfs - copied unchanged from r274390, head/etc/rc.d/growfs projects/sendfile/lib/libarchive/libarchive.pc - copied unchanged from r274390, head/lib/libarchive/libarchive.pc projects/sendfile/lib/libc/Makefile.amd64 - copied unchanged from r274390, head/lib/libc/Makefile.amd64 projects/sendfile/lib/libc/Makefile.i386 - copied unchanged from r274390, head/lib/libc/Makefile.i386 projects/sendfile/lib/libc/tests/ - copied from r274390, head/lib/libc/tests/ projects/sendfile/lib/libdpv/ - copied from r274390, head/lib/libdpv/ projects/sendfile/lib/libfigpar/ - copied from r274390, head/lib/libfigpar/ projects/sendfile/lib/libnetbsd/sys/time.h - copied unchanged from r274390, head/lib/libnetbsd/sys/time.h projects/sendfile/lib/libpam/libpam/tests/ - copied from r274390, head/lib/libpam/libpam/tests/ projects/sendfile/share/doc/pjdfstest/ - copied from r274390, head/share/doc/pjdfstest/ projects/sendfile/share/man/man4/me.4 - copied unchanged from r274390, head/share/man/man4/me.4 projects/sendfile/share/man/man7/growfs.7 - copied unchanged from r274390, head/share/man/man7/growfs.7 projects/sendfile/share/man/man9/casuword.9 - copied unchanged from r274390, head/share/man/man9/casuword.9 projects/sendfile/share/mk/netbsd-tests.test.mk - copied unchanged from r274390, head/share/mk/netbsd-tests.test.mk projects/sendfile/sys/boot/fdt/fdt_platform.h - copied unchanged from r274390, head/sys/boot/fdt/fdt_platform.h projects/sendfile/sys/boot/uboot/fdt/ - copied from r274390, head/sys/boot/uboot/fdt/ projects/sendfile/sys/compat/svr4/README - copied unchanged from r274390, head/sys/compat/svr4/README projects/sendfile/sys/compat/svr4/TO-DO - copied unchanged from r274390, head/sys/compat/svr4/TO-DO projects/sendfile/sys/dev/ixl/ixlv_vc_mgr.h - copied unchanged from r274390, head/sys/dev/ixl/ixlv_vc_mgr.h projects/sendfile/sys/dev/random/build.sh - copied unchanged from r274390, head/sys/dev/random/build.sh projects/sendfile/sys/dev/random/fortuna.c - copied unchanged from r274390, head/sys/dev/random/fortuna.c projects/sendfile/sys/dev/random/fortuna.h - copied unchanged from r274390, head/sys/dev/random/fortuna.h projects/sendfile/sys/dev/random/uint128.h - copied unchanged from r274390, head/sys/dev/random/uint128.h projects/sendfile/sys/dev/random/unit_test.c - copied unchanged from r274390, head/sys/dev/random/unit_test.c projects/sendfile/sys/dev/random/unit_test.h - copied unchanged from r274390, head/sys/dev/random/unit_test.h projects/sendfile/sys/modules/if_me/ - copied from r274390, head/sys/modules/if_me/ projects/sendfile/sys/modules/padlock_rng/ - copied from r274390, head/sys/modules/padlock_rng/ projects/sendfile/sys/modules/rdrand_rng/ - copied from r274390, head/sys/modules/rdrand_rng/ projects/sendfile/sys/net/if_me.c - copied unchanged from r274390, head/sys/net/if_me.c projects/sendfile/sys/netinet6/ip6_gre.c - copied unchanged from r274390, head/sys/netinet6/ip6_gre.c projects/sendfile/sys/x86/include/vmware.h - copied unchanged from r274390, head/sys/x86/include/vmware.h projects/sendfile/tests/sys/pjdfstest/ - copied from r274390, head/tests/sys/pjdfstest/ projects/sendfile/tools/build/check-links.sh - copied unchanged from r274390, head/tools/build/check-links.sh projects/sendfile/usr.bin/dpv/ - copied from r274390, head/usr.bin/dpv/ Deleted: projects/sendfile/contrib/atf/atf-c++/config.cpp projects/sendfile/contrib/atf/atf-c++/config.hpp projects/sendfile/contrib/atf/atf-c++/config_test.cpp projects/sendfile/contrib/atf/atf-c++/detail/sanity_test.cpp projects/sendfile/contrib/atf/atf-c/config.c projects/sendfile/contrib/atf/atf-c/config.h projects/sendfile/contrib/atf/atf-c/config_test.c projects/sendfile/contrib/atf/bconfig.h projects/sendfile/etc/rc.d/faith projects/sendfile/etc/rc.d/initrandom projects/sendfile/etc/rc.d/postrandom projects/sendfile/share/man/man4/faith.4 projects/sendfile/sys/dev/random/harvest.c projects/sendfile/sys/dev/random/rwfile.c projects/sendfile/sys/dev/random/rwfile.h projects/sendfile/sys/modules/if_faith/ projects/sendfile/sys/modules/svr4/README projects/sendfile/sys/modules/svr4/TO-DO projects/sendfile/sys/net/if_faith.c projects/sendfile/sys/netinet/ip_gre.h projects/sendfile/tests/lib/ projects/sendfile/usr.sbin/faithd/ Modified: projects/sendfile/MAINTAINERS (contents, props changed) projects/sendfile/Makefile.inc1 projects/sendfile/ObsoleteFiles.inc projects/sendfile/UPDATING projects/sendfile/bin/df/Makefile projects/sendfile/bin/df/df.1 projects/sendfile/bin/df/df.c projects/sendfile/bin/sh/expand.c projects/sendfile/bin/sh/sh.1 projects/sendfile/bin/sh/tests/expansion/Makefile projects/sendfile/bin/sh/tests/parameters/Makefile projects/sendfile/cddl/contrib/opensolaris/cmd/zdb/zdb.c projects/sendfile/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/sendfile/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c projects/sendfile/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 projects/sendfile/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c projects/sendfile/cddl/contrib/opensolaris/cmd/ztest/ztest.c projects/sendfile/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h projects/sendfile/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c projects/sendfile/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c projects/sendfile/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c projects/sendfile/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h projects/sendfile/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c projects/sendfile/contrib/atf/FREEBSD-Xlist projects/sendfile/contrib/atf/NEWS projects/sendfile/contrib/atf/atf-c++.hpp projects/sendfile/contrib/atf/atf-c++/Kyuafile projects/sendfile/contrib/atf/atf-c++/atf_c++_test.cpp projects/sendfile/contrib/atf/atf-c++/build.cpp projects/sendfile/contrib/atf/atf-c++/build.hpp projects/sendfile/contrib/atf/atf-c++/build_test.cpp projects/sendfile/contrib/atf/atf-c++/check.cpp projects/sendfile/contrib/atf/atf-c++/check.hpp projects/sendfile/contrib/atf/atf-c++/check_test.cpp projects/sendfile/contrib/atf/atf-c++/detail/Kyuafile projects/sendfile/contrib/atf/atf-c++/detail/application.cpp projects/sendfile/contrib/atf/atf-c++/detail/application.hpp projects/sendfile/contrib/atf/atf-c++/detail/application_test.cpp projects/sendfile/contrib/atf/atf-c++/detail/auto_array.hpp projects/sendfile/contrib/atf/atf-c++/detail/auto_array_test.cpp projects/sendfile/contrib/atf/atf-c++/detail/env.cpp projects/sendfile/contrib/atf/atf-c++/detail/env.hpp projects/sendfile/contrib/atf/atf-c++/detail/env_test.cpp projects/sendfile/contrib/atf/atf-c++/detail/exceptions.cpp projects/sendfile/contrib/atf/atf-c++/detail/exceptions.hpp projects/sendfile/contrib/atf/atf-c++/detail/exceptions_test.cpp projects/sendfile/contrib/atf/atf-c++/detail/fs.cpp projects/sendfile/contrib/atf/atf-c++/detail/fs.hpp projects/sendfile/contrib/atf/atf-c++/detail/fs_test.cpp projects/sendfile/contrib/atf/atf-c++/detail/process.cpp projects/sendfile/contrib/atf/atf-c++/detail/process.hpp projects/sendfile/contrib/atf/atf-c++/detail/process_test.cpp projects/sendfile/contrib/atf/atf-c++/detail/sanity.hpp projects/sendfile/contrib/atf/atf-c++/detail/test_helpers.cpp projects/sendfile/contrib/atf/atf-c++/detail/test_helpers.hpp projects/sendfile/contrib/atf/atf-c++/detail/text.cpp projects/sendfile/contrib/atf/atf-c++/detail/text.hpp projects/sendfile/contrib/atf/atf-c++/detail/text_test.cpp projects/sendfile/contrib/atf/atf-c++/detail/version_helper.cpp projects/sendfile/contrib/atf/atf-c++/macros.hpp projects/sendfile/contrib/atf/atf-c++/macros_hpp_test.cpp projects/sendfile/contrib/atf/atf-c++/macros_test.cpp projects/sendfile/contrib/atf/atf-c++/pkg_config_test.sh projects/sendfile/contrib/atf/atf-c++/tests.cpp projects/sendfile/contrib/atf/atf-c++/tests.hpp projects/sendfile/contrib/atf/atf-c++/tests_test.cpp projects/sendfile/contrib/atf/atf-c++/unused_test.cpp projects/sendfile/contrib/atf/atf-c++/utils.cpp projects/sendfile/contrib/atf/atf-c++/utils.hpp projects/sendfile/contrib/atf/atf-c++/utils_test.cpp projects/sendfile/contrib/atf/atf-c.h projects/sendfile/contrib/atf/atf-c/Kyuafile projects/sendfile/contrib/atf/atf-c/atf_c_test.c projects/sendfile/contrib/atf/atf-c/build.c projects/sendfile/contrib/atf/atf-c/build.h projects/sendfile/contrib/atf/atf-c/build_test.c projects/sendfile/contrib/atf/atf-c/check.c projects/sendfile/contrib/atf/atf-c/check.h projects/sendfile/contrib/atf/atf-c/check_test.c projects/sendfile/contrib/atf/atf-c/defs.h.in projects/sendfile/contrib/atf/atf-c/detail/dynstr.c projects/sendfile/contrib/atf/atf-c/detail/dynstr.h projects/sendfile/contrib/atf/atf-c/detail/dynstr_test.c projects/sendfile/contrib/atf/atf-c/detail/env.c projects/sendfile/contrib/atf/atf-c/detail/env.h projects/sendfile/contrib/atf/atf-c/detail/env_test.c projects/sendfile/contrib/atf/atf-c/detail/fs.c projects/sendfile/contrib/atf/atf-c/detail/fs.h projects/sendfile/contrib/atf/atf-c/detail/fs_test.c projects/sendfile/contrib/atf/atf-c/detail/list.c projects/sendfile/contrib/atf/atf-c/detail/list.h projects/sendfile/contrib/atf/atf-c/detail/list_test.c projects/sendfile/contrib/atf/atf-c/detail/map.c projects/sendfile/contrib/atf/atf-c/detail/map.h projects/sendfile/contrib/atf/atf-c/detail/map_test.c projects/sendfile/contrib/atf/atf-c/detail/process.c projects/sendfile/contrib/atf/atf-c/detail/process.h projects/sendfile/contrib/atf/atf-c/detail/process_helpers.c projects/sendfile/contrib/atf/atf-c/detail/process_test.c projects/sendfile/contrib/atf/atf-c/detail/sanity.c projects/sendfile/contrib/atf/atf-c/detail/sanity.h projects/sendfile/contrib/atf/atf-c/detail/sanity_test.c projects/sendfile/contrib/atf/atf-c/detail/test_helpers.c projects/sendfile/contrib/atf/atf-c/detail/test_helpers.h projects/sendfile/contrib/atf/atf-c/detail/text.c projects/sendfile/contrib/atf/atf-c/detail/text.h projects/sendfile/contrib/atf/atf-c/detail/text_test.c projects/sendfile/contrib/atf/atf-c/detail/tp_main.c projects/sendfile/contrib/atf/atf-c/detail/user.c projects/sendfile/contrib/atf/atf-c/detail/user.h projects/sendfile/contrib/atf/atf-c/detail/user_test.c projects/sendfile/contrib/atf/atf-c/detail/version_helper.c projects/sendfile/contrib/atf/atf-c/error.c projects/sendfile/contrib/atf/atf-c/error.h projects/sendfile/contrib/atf/atf-c/error_fwd.h projects/sendfile/contrib/atf/atf-c/error_test.c projects/sendfile/contrib/atf/atf-c/h_build.h projects/sendfile/contrib/atf/atf-c/macros.h projects/sendfile/contrib/atf/atf-c/macros_h_test.c projects/sendfile/contrib/atf/atf-c/macros_test.c projects/sendfile/contrib/atf/atf-c/pkg_config_test.sh projects/sendfile/contrib/atf/atf-c/tc.c projects/sendfile/contrib/atf/atf-c/tc.h projects/sendfile/contrib/atf/atf-c/tc_test.c projects/sendfile/contrib/atf/atf-c/tp.c projects/sendfile/contrib/atf/atf-c/tp.h projects/sendfile/contrib/atf/atf-c/tp_test.c projects/sendfile/contrib/atf/atf-c/unused_test.c projects/sendfile/contrib/atf/atf-c/utils.c projects/sendfile/contrib/atf/atf-c/utils.h projects/sendfile/contrib/atf/atf-c/utils_test.c projects/sendfile/contrib/atf/atf-sh/atf-check.1 projects/sendfile/contrib/atf/atf-sh/atf-check.cpp projects/sendfile/contrib/atf/atf-sh/atf-check_test.sh projects/sendfile/contrib/atf/atf-sh/atf-sh.1 projects/sendfile/contrib/atf/atf-sh/atf-sh.cpp projects/sendfile/contrib/atf/atf-sh/atf_check_test.sh projects/sendfile/contrib/atf/atf-sh/config_test.sh projects/sendfile/contrib/atf/atf-sh/integration_test.sh projects/sendfile/contrib/atf/atf-sh/libatf-sh.subr projects/sendfile/contrib/atf/atf-sh/misc_helpers.sh projects/sendfile/contrib/atf/atf-sh/normalize_test.sh projects/sendfile/contrib/atf/atf-sh/tc_test.sh projects/sendfile/contrib/atf/atf-sh/tp_test.sh projects/sendfile/contrib/atf/doc/atf-test-case.4 projects/sendfile/contrib/atf/doc/atf-test-program.1 projects/sendfile/contrib/atf/test-programs/c_helpers.c projects/sendfile/contrib/atf/test-programs/common.sh projects/sendfile/contrib/atf/test-programs/config_test.sh projects/sendfile/contrib/atf/test-programs/cpp_helpers.cpp projects/sendfile/contrib/atf/test-programs/expect_test.sh projects/sendfile/contrib/atf/test-programs/meta_data_test.sh projects/sendfile/contrib/atf/test-programs/result_test.sh projects/sendfile/contrib/atf/test-programs/sh_helpers.sh projects/sendfile/contrib/atf/test-programs/srcdir_test.sh projects/sendfile/contrib/hyperv/tools/hv_kvp_daemon.c projects/sendfile/contrib/llvm/lib/MC/MCParser/AsmParser.cpp projects/sendfile/contrib/mtree/create.c projects/sendfile/contrib/mtree/extern.h projects/sendfile/contrib/mtree/getid.c projects/sendfile/contrib/mtree/mtree.c projects/sendfile/contrib/mtree/spec.c projects/sendfile/contrib/netbsd-tests/include/t_paths.c projects/sendfile/contrib/netbsd-tests/lib/libc/db/t_db.sh projects/sendfile/contrib/netbsd-tests/lib/libc/gen/t_floatunditf.c projects/sendfile/contrib/netbsd-tests/lib/libc/gen/t_fpsetmask.c projects/sendfile/contrib/netbsd-tests/lib/libc/gen/t_isnan.c projects/sendfile/contrib/netbsd-tests/lib/libc/gen/t_sethostname.c projects/sendfile/contrib/netbsd-tests/lib/libc/gen/t_siginfo.c projects/sendfile/contrib/netbsd-tests/lib/libc/hash/h_hash.c projects/sendfile/contrib/netbsd-tests/lib/libc/hash/t_sha2.c projects/sendfile/contrib/netbsd-tests/lib/libc/inet/t_inet_network.c projects/sendfile/contrib/netbsd-tests/lib/libc/locale/t_io.c projects/sendfile/contrib/netbsd-tests/lib/libc/net/h_dns_server.c projects/sendfile/contrib/netbsd-tests/lib/libc/net/t_ether_aton.c projects/sendfile/contrib/netbsd-tests/lib/libc/net/t_servent.sh projects/sendfile/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c projects/sendfile/contrib/netbsd-tests/lib/libc/ssp/h_memset.c projects/sendfile/contrib/netbsd-tests/lib/libc/ssp/h_read.c projects/sendfile/contrib/netbsd-tests/lib/libc/ssp/h_readlink.c projects/sendfile/contrib/netbsd-tests/lib/libc/ssp/h_snprintf.c projects/sendfile/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh projects/sendfile/contrib/netbsd-tests/lib/libc/stdio/t_fflush.c projects/sendfile/contrib/netbsd-tests/lib/libc/stdio/t_fmemopen.c projects/sendfile/contrib/netbsd-tests/lib/libc/stdio/t_fopen.c projects/sendfile/contrib/netbsd-tests/lib/libc/stdio/t_printf.c projects/sendfile/contrib/netbsd-tests/lib/libc/stdio/t_scanf.c projects/sendfile/contrib/netbsd-tests/lib/libc/stdlib/h_atexit.c projects/sendfile/contrib/netbsd-tests/lib/libc/stdlib/t_strtod.c projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_dup.c projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_getcontext.c projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_getitimer.c projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_kevent.c projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_mincore.c projects/sendfile/contrib/netbsd-tests/lib/libc/sys/t_sigaction.c projects/sendfile/contrib/netbsd-tests/lib/libc/time/t_mktime.c projects/sendfile/contrib/netbsd-tests/lib/libexecinfo/t_backtrace.c projects/sendfile/contrib/netbsd-tests/lib/libm/t_ldexp.c projects/sendfile/contrib/netbsd-tests/lib/libm/t_log.c projects/sendfile/contrib/netbsd-tests/lib/libm/t_precision.c projects/sendfile/contrib/netbsd-tests/lib/libpthread/t_mutex.c projects/sendfile/contrib/netbsd-tests/lib/libpthread/t_sem.c projects/sendfile/contrib/netbsd-tests/usr.sbin/mtree/t_mtree.sh projects/sendfile/contrib/ofed/librdmacm/examples/rping.c projects/sendfile/contrib/ofed/usr.lib/Makefile projects/sendfile/contrib/ofed/usr.lib/Makefile.inc projects/sendfile/contrib/openpam/t/t_openpam_ctype.c projects/sendfile/contrib/openpam/t/t_openpam_readlinev.c projects/sendfile/contrib/openpam/t/t_openpam_readword.c projects/sendfile/contrib/telnet/arpa/telnet.h projects/sendfile/contrib/telnet/telnet/commands.c projects/sendfile/contrib/telnet/telnet/externs.h projects/sendfile/contrib/telnet/telnet/main.c projects/sendfile/contrib/telnet/telnet/sys_bsd.c projects/sendfile/contrib/telnet/telnet/telnet.1 projects/sendfile/contrib/telnet/telnet/telnet.c projects/sendfile/contrib/telnet/telnet/types.h projects/sendfile/contrib/telnet/telnetd/sys_term.c projects/sendfile/contrib/tnftp/src/fetch.c projects/sendfile/etc/defaults/rc.conf projects/sendfile/etc/motd projects/sendfile/etc/mtree/BSD.debug.dist projects/sendfile/etc/mtree/BSD.tests.dist projects/sendfile/etc/network.subr projects/sendfile/etc/periodic/security/Makefile projects/sendfile/etc/rc.d/Makefile projects/sendfile/etc/rc.d/NETWORKING projects/sendfile/etc/rc.d/adjkerntz projects/sendfile/etc/rc.d/bridge projects/sendfile/etc/rc.d/defaultroute projects/sendfile/etc/rc.d/geli projects/sendfile/etc/rc.d/random projects/sendfile/etc/rc.d/routing projects/sendfile/etc/rc.d/syscons projects/sendfile/etc/rc.d/syslogd projects/sendfile/gnu/lib/libdialog/Makefile projects/sendfile/lib/Makefile projects/sendfile/lib/atf/Makefile.inc projects/sendfile/lib/atf/common.mk projects/sendfile/lib/atf/libatf-c++/Makefile projects/sendfile/lib/atf/libatf-c++/tests/Makefile projects/sendfile/lib/atf/libatf-c++/tests/detail/Makefile projects/sendfile/lib/atf/libatf-c/Makefile projects/sendfile/lib/atf/libatf-c/tests/Makefile projects/sendfile/lib/atf/libatf-c/tests/detail/Makefile projects/sendfile/lib/libarchive/Makefile projects/sendfile/lib/libc/Makefile projects/sendfile/lib/libc/net/getaddrinfo.c projects/sendfile/lib/libc/net/getnameinfo.c projects/sendfile/lib/libc/posix1e/acl.3 projects/sendfile/lib/libc/posix1e/acl_add_flag_np.3 projects/sendfile/lib/libc/posix1e/acl_clear_flags_np.3 projects/sendfile/lib/libc/posix1e/acl_delete_flag_np.3 projects/sendfile/lib/libc/posix1e/acl_get_flag_np.3 projects/sendfile/lib/libc/posix1e/acl_get_flagset_np.3 projects/sendfile/lib/libc/posix1e/acl_set_entry_type_np.3 projects/sendfile/lib/libc/posix1e/acl_set_flagset_np.3 projects/sendfile/lib/libc/sys/utrace.2 projects/sendfile/lib/libpam/libpam/Makefile projects/sendfile/lib/libutil/gr_util.c projects/sendfile/lib/libutil/login_class.c projects/sendfile/libexec/atf/atf-check/Makefile projects/sendfile/libexec/atf/atf-sh/Makefile projects/sendfile/libexec/atf/atf-sh/tests/Makefile projects/sendfile/libexec/save-entropy/save-entropy.sh projects/sendfile/libexec/telnetd/Makefile projects/sendfile/release/Makefile projects/sendfile/release/doc/en_US.ISO8859-1/hardware/article.xml projects/sendfile/release/picobsd/bridge/PICOBSD projects/sendfile/release/picobsd/qemu/PICOBSD projects/sendfile/rescue/rescue/Makefile projects/sendfile/sbin/camcontrol/camcontrol.c projects/sendfile/sbin/fsck_msdosfs/boot.c projects/sendfile/sbin/fsck_msdosfs/dosfs.h projects/sendfile/sbin/fsirand/Makefile projects/sendfile/sbin/gbde/gbde.8 projects/sendfile/sbin/gbde/gbde.c projects/sendfile/sbin/ifconfig/ifgre.c projects/sendfile/sbin/mount_nfs/Makefile projects/sendfile/sbin/mount_nfs/mount_nfs.8 projects/sendfile/sbin/mount_nfs/mount_nfs.c projects/sendfile/sbin/route/keywords projects/sendfile/sbin/route/route.8 projects/sendfile/sbin/route/route.c projects/sendfile/share/doc/Makefile projects/sendfile/share/examples/kld/random_adaptor/random_adaptor_example.c (contents, props changed) projects/sendfile/share/man/man4/Makefile projects/sendfile/share/man/man4/gre.4 projects/sendfile/share/man/man4/inet.4 projects/sendfile/share/man/man4/inet6.4 projects/sendfile/share/man/man4/ip6.4 projects/sendfile/share/man/man4/tap.4 projects/sendfile/share/man/man4/vt.4 projects/sendfile/share/man/man5/rc.conf.5 projects/sendfile/share/man/man7/Makefile projects/sendfile/share/man/man7/hier.7 projects/sendfile/share/man/man7/security.7 projects/sendfile/share/man/man9/Makefile projects/sendfile/share/man/man9/domain.9 projects/sendfile/share/man/man9/fetch.9 projects/sendfile/share/man/man9/lock.9 projects/sendfile/share/man/man9/store.9 projects/sendfile/share/mk/atf.test.mk projects/sendfile/share/mk/bsd.libnames.mk projects/sendfile/share/mk/bsd.obj.mk projects/sendfile/share/mk/bsd.progs.mk projects/sendfile/share/mk/bsd.test.mk projects/sendfile/share/mk/plain.test.mk projects/sendfile/share/mk/tap.test.mk projects/sendfile/sys/amd64/amd64/genassym.c projects/sendfile/sys/amd64/amd64/support.S projects/sendfile/sys/amd64/amd64/sys_machdep.c projects/sendfile/sys/amd64/amd64/vm_machdep.c projects/sendfile/sys/amd64/conf/GENERIC projects/sendfile/sys/amd64/conf/NOTES projects/sendfile/sys/amd64/ia32/ia32_syscall.c projects/sendfile/sys/amd64/include/md_var.h projects/sendfile/sys/amd64/include/vmparam.h projects/sendfile/sys/arm/allwinner/a10_gpio.c projects/sendfile/sys/arm/arm/busdma_machdep-v6.c projects/sendfile/sys/arm/arm/machdep.c projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_gpio.c projects/sendfile/sys/arm/conf/ATMEL projects/sendfile/sys/arm/conf/DOCKSTAR projects/sendfile/sys/arm/conf/DREAMPLUG-1001 projects/sendfile/sys/arm/conf/EFIKA_MX projects/sendfile/sys/arm/conf/ETHERNUT5 projects/sendfile/sys/arm/conf/IMX53 projects/sendfile/sys/arm/conf/IMX6 projects/sendfile/sys/arm/conf/SAM9260EK projects/sendfile/sys/arm/freescale/imx/imx_gpio.c projects/sendfile/sys/arm/freescale/vybrid/vf_gpio.c projects/sendfile/sys/arm/include/param.h projects/sendfile/sys/arm/lpc/lpc_gpio.c projects/sendfile/sys/arm/rockchip/rk30xx_gpio.c projects/sendfile/sys/arm/samsung/exynos/exynos5_pad.c projects/sendfile/sys/arm/ti/ti_gpio.c projects/sendfile/sys/arm/xilinx/zy7_gpio.c projects/sendfile/sys/arm/xscale/ixp425/avila_gpio.c projects/sendfile/sys/arm/xscale/ixp425/cambria_gpio.c projects/sendfile/sys/boot/amd64/boot1.efi/boot1.c projects/sendfile/sys/boot/arm/uboot/Makefile projects/sendfile/sys/boot/common/install.c projects/sendfile/sys/boot/common/misc.c projects/sendfile/sys/boot/fdt/Makefile projects/sendfile/sys/boot/fdt/fdt_loader_cmd.c projects/sendfile/sys/boot/forth/loader.conf projects/sendfile/sys/boot/powerpc/uboot/Makefile projects/sendfile/sys/boot/uboot/Makefile projects/sendfile/sys/boot/uboot/common/metadata.c projects/sendfile/sys/boot/uboot/lib/Makefile projects/sendfile/sys/boot/uboot/lib/libuboot.h projects/sendfile/sys/boot/uboot/lib/module.c projects/sendfile/sys/boot/zfs/zfsimpl.c projects/sendfile/sys/cam/ctl/ctl.c projects/sendfile/sys/cam/ctl/ctl.h projects/sendfile/sys/cam/ctl/ctl_backend.h projects/sendfile/sys/cam/ctl/ctl_backend_block.c projects/sendfile/sys/cam/ctl/ctl_cmd_table.c projects/sendfile/sys/cam/ctl/ctl_error.c projects/sendfile/sys/cam/ctl/ctl_error.h projects/sendfile/sys/cam/ctl/ctl_frontend_iscsi.c projects/sendfile/sys/cam/ctl/ctl_private.h projects/sendfile/sys/cam/ctl/scsi_ctl.c projects/sendfile/sys/cam/scsi/scsi_all.c projects/sendfile/sys/cam/scsi/scsi_all.h projects/sendfile/sys/cddl/boot/zfs/zfsimpl.h projects/sendfile/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c projects/sendfile/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h projects/sendfile/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c projects/sendfile/sys/cddl/contrib/opensolaris/common/zfs/zpool_prop.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_send.h projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/sendfile/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c projects/sendfile/sys/conf/NOTES projects/sendfile/sys/conf/files projects/sendfile/sys/conf/files.amd64 projects/sendfile/sys/conf/files.i386 projects/sendfile/sys/conf/kmod.mk projects/sendfile/sys/conf/options projects/sendfile/sys/crypto/rijndael/rijndael-api-fst.c projects/sendfile/sys/crypto/rijndael/rijndael-api-fst.h projects/sendfile/sys/dev/acpica/acpi.c projects/sendfile/sys/dev/agp/agp.c projects/sendfile/sys/dev/agp/agp_amd.c projects/sendfile/sys/dev/agp/agp_amd64.c projects/sendfile/sys/dev/agp/agp_apple.c projects/sendfile/sys/dev/agp/agp_ati.c projects/sendfile/sys/dev/agp/agp_i810.c projects/sendfile/sys/dev/agp/agppriv.h projects/sendfile/sys/dev/agp/agpvar.h projects/sendfile/sys/dev/ahci/ahci.c projects/sendfile/sys/dev/cxgbe/firmware/t4fw_cfg.txt projects/sendfile/sys/dev/cxgbe/firmware/t4fw_cfg_uwire.txt projects/sendfile/sys/dev/cxgbe/firmware/t5fw_cfg.txt projects/sendfile/sys/dev/cxgbe/firmware/t5fw_cfg_fpga.txt projects/sendfile/sys/dev/cxgbe/firmware/t5fw_cfg_uwire.txt projects/sendfile/sys/dev/cxgbe/tom/t4_cpl_io.c projects/sendfile/sys/dev/drm2/drm_agpsupport.c projects/sendfile/sys/dev/drm2/drm_edid.c projects/sendfile/sys/dev/drm2/drm_fb_helper.c projects/sendfile/sys/dev/drm2/drm_fb_helper.h projects/sendfile/sys/dev/drm2/radeon/radeon.h projects/sendfile/sys/dev/drm2/radeon/radeon_connectors.c projects/sendfile/sys/dev/drm2/radeon/radeon_device.c projects/sendfile/sys/dev/drm2/radeon/radeon_ttm.c projects/sendfile/sys/dev/drm2/ttm/ttm_agp_backend.c projects/sendfile/sys/dev/drm2/ttm/ttm_bo_driver.h projects/sendfile/sys/dev/drm2/ttm/ttm_bo_util.c projects/sendfile/sys/dev/drm2/ttm/ttm_page_alloc.c projects/sendfile/sys/dev/glxsb/glxsb.c projects/sendfile/sys/dev/gpio/gpiobus.c projects/sendfile/sys/dev/gpio/gpiobus_if.m projects/sendfile/sys/dev/gpio/gpiobusvar.h projects/sendfile/sys/dev/gpio/gpioiic.c projects/sendfile/sys/dev/gpio/gpioled.c projects/sendfile/sys/dev/hwpmc/hwpmc_mod.c projects/sendfile/sys/dev/hyperv/netvsc/hv_net_vsc.c projects/sendfile/sys/dev/hyperv/netvsc/hv_net_vsc.h projects/sendfile/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/sendfile/sys/dev/ida/ida_eisa.c projects/sendfile/sys/dev/iscsi/icl.c projects/sendfile/sys/dev/iscsi/icl.h projects/sendfile/sys/dev/iscsi/iscsi.c projects/sendfile/sys/dev/ixl/i40e_osdep.c projects/sendfile/sys/dev/ixl/i40e_osdep.h projects/sendfile/sys/dev/ixl/if_ixl.c projects/sendfile/sys/dev/ixl/if_ixlv.c projects/sendfile/sys/dev/ixl/ixl.h projects/sendfile/sys/dev/ixl/ixl_txrx.c projects/sendfile/sys/dev/ixl/ixlv.h projects/sendfile/sys/dev/ixl/ixlvc.c projects/sendfile/sys/dev/netmap/netmap_freebsd.c projects/sendfile/sys/dev/netmap/netmap_generic.c projects/sendfile/sys/dev/netmap/netmap_kern.h projects/sendfile/sys/dev/netmap/netmap_pipe.c projects/sendfile/sys/dev/null/null.c projects/sendfile/sys/dev/ofw/ofwbus.c projects/sendfile/sys/dev/pci/pci.c projects/sendfile/sys/dev/random/dummy_rng.c projects/sendfile/sys/dev/random/hash.c projects/sendfile/sys/dev/random/hash.h projects/sendfile/sys/dev/random/ivy.c projects/sendfile/sys/dev/random/live_entropy_sources.c projects/sendfile/sys/dev/random/live_entropy_sources.h projects/sendfile/sys/dev/random/nehemiah.c projects/sendfile/sys/dev/random/random_adaptors.c projects/sendfile/sys/dev/random/random_adaptors.h projects/sendfile/sys/dev/random/random_harvestq.c projects/sendfile/sys/dev/random/random_harvestq.h projects/sendfile/sys/dev/random/randomdev.c projects/sendfile/sys/dev/random/randomdev.h projects/sendfile/sys/dev/random/randomdev_soft.c projects/sendfile/sys/dev/random/randomdev_soft.h projects/sendfile/sys/dev/random/yarrow.c projects/sendfile/sys/dev/random/yarrow.h projects/sendfile/sys/dev/rp/rp.c projects/sendfile/sys/dev/rp/rp_pci.c projects/sendfile/sys/dev/rp/rpreg.h projects/sendfile/sys/dev/rp/rpvar.h projects/sendfile/sys/dev/safe/safe.c projects/sendfile/sys/dev/sound/isa/gusc.c projects/sendfile/sys/dev/sound/isa/sb16.c projects/sendfile/sys/dev/sound/isa/sbc.c projects/sendfile/sys/dev/sound/midi/sequencer.c projects/sendfile/sys/dev/sound/pci/als4000.c projects/sendfile/sys/dev/sound/pci/cs4281.c projects/sendfile/sys/dev/sound/pci/csa.c projects/sendfile/sys/dev/sound/pci/emu10kx.c projects/sendfile/sys/dev/sound/pci/envy24.c projects/sendfile/sys/dev/sound/pci/envy24ht.c projects/sendfile/sys/dev/sound/pci/maestro.c projects/sendfile/sys/dev/sound/pci/spicds.c projects/sendfile/sys/dev/sound/pci/vibes.c projects/sendfile/sys/dev/sound/pcm/dsp.c projects/sendfile/sys/dev/sound/pcm/mixer.c projects/sendfile/sys/dev/sound/pcm/sound.c projects/sendfile/sys/dev/sound/pcm/sound.h projects/sendfile/sys/dev/usb/serial/u3g.c projects/sendfile/sys/dev/usb/usb_hub.c projects/sendfile/sys/dev/usb/usbdevs projects/sendfile/sys/dev/virtio/console/virtio_console.c projects/sendfile/sys/dev/virtio/network/if_vtnet.c projects/sendfile/sys/dev/vt/vt.h projects/sendfile/sys/dev/vt/vt_buf.c projects/sendfile/sys/dev/vt/vt_core.c projects/sendfile/sys/fs/devfs/devfs_vnops.c projects/sendfile/sys/fs/nfsclient/nfs_clvfsops.c projects/sendfile/sys/geom/bde/g_bde.c projects/sendfile/sys/geom/bde/g_bde.h projects/sendfile/sys/geom/geom_dev.c projects/sendfile/sys/i386/conf/GENERIC projects/sendfile/sys/i386/conf/NOTES projects/sendfile/sys/i386/conf/XBOX projects/sendfile/sys/i386/conf/XEN projects/sendfile/sys/i386/i386/genassym.c projects/sendfile/sys/i386/i386/initcpu.c projects/sendfile/sys/i386/i386/locore.s projects/sendfile/sys/i386/i386/machdep.c projects/sendfile/sys/i386/i386/mp_machdep.c projects/sendfile/sys/i386/i386/ptrace_machdep.c projects/sendfile/sys/i386/i386/support.s projects/sendfile/sys/i386/i386/sys_machdep.c projects/sendfile/sys/i386/i386/trap.c projects/sendfile/sys/i386/i386/vm86bios.s projects/sendfile/sys/i386/i386/vm_machdep.c projects/sendfile/sys/i386/include/cpufunc.h projects/sendfile/sys/i386/include/md_var.h projects/sendfile/sys/i386/include/npx.h projects/sendfile/sys/i386/include/pcb.h projects/sendfile/sys/i386/isa/npx.c projects/sendfile/sys/i386/linux/linux_ptrace.c projects/sendfile/sys/i386/linux/linux_sysvec.c projects/sendfile/sys/i386/svr4/svr4_machdep.c projects/sendfile/sys/i386/xen/mp_machdep.c projects/sendfile/sys/kern/init_main.c projects/sendfile/sys/kern/kern_clock.c projects/sendfile/sys/kern/kern_cons.c projects/sendfile/sys/kern/kern_descrip.c projects/sendfile/sys/kern/kern_exec.c projects/sendfile/sys/kern/kern_intr.c projects/sendfile/sys/kern/kern_lock.c projects/sendfile/sys/kern/kern_mutex.c projects/sendfile/sys/kern/kern_prot.c projects/sendfile/sys/kern/kern_rwlock.c projects/sendfile/sys/kern/kern_shutdown.c projects/sendfile/sys/kern/kern_sx.c projects/sendfile/sys/kern/kern_syscalls.c projects/sendfile/sys/kern/kern_thr.c projects/sendfile/sys/kern/kern_umtx.c projects/sendfile/sys/kern/subr_bus.c projects/sendfile/sys/kern/subr_param.c projects/sendfile/sys/kern/subr_prof.c projects/sendfile/sys/kern/subr_terminal.c projects/sendfile/sys/kern/subr_uio.c projects/sendfile/sys/kern/sys_generic.c projects/sendfile/sys/kern/sys_pipe.c projects/sendfile/sys/kern/uipc_debug.c projects/sendfile/sys/kern/vfs_acl.c projects/sendfile/sys/kern/vfs_export.c projects/sendfile/sys/kern/vfs_lookup.c projects/sendfile/sys/mips/atheros/ar71xx_gpio.c projects/sendfile/sys/mips/cavium/octeon_gpio.c projects/sendfile/sys/mips/conf/GXEMUL projects/sendfile/sys/mips/conf/GXEMUL32 projects/sendfile/sys/mips/conf/OCTEON1 projects/sendfile/sys/mips/conf/PICOSTATION_M2HP.hints projects/sendfile/sys/mips/include/param.h projects/sendfile/sys/mips/rmi/rootfs_list.txt projects/sendfile/sys/mips/rt305x/rt305x_gpio.c projects/sendfile/sys/modules/Makefile projects/sendfile/sys/modules/drm2/drm2/Makefile projects/sendfile/sys/modules/if_gre/Makefile projects/sendfile/sys/modules/ixlv/Makefile projects/sendfile/sys/modules/linux/Makefile projects/sendfile/sys/modules/mrsas/Makefile projects/sendfile/sys/modules/random/Makefile projects/sendfile/sys/modules/sound/sound/Makefile projects/sendfile/sys/modules/svr4/Makefile projects/sendfile/sys/modules/vmm/Makefile projects/sendfile/sys/net/bpf.c projects/sendfile/sys/net/ethernet.h projects/sendfile/sys/net/flowtable.c projects/sendfile/sys/net/if.c projects/sendfile/sys/net/if_arp.h projects/sendfile/sys/net/if_bridge.c projects/sendfile/sys/net/if_clone.c projects/sendfile/sys/net/if_clone.h projects/sendfile/sys/net/if_disc.c projects/sendfile/sys/net/if_ethersubr.c projects/sendfile/sys/net/if_fddisubr.c projects/sendfile/sys/net/if_gif.c projects/sendfile/sys/net/if_gre.c projects/sendfile/sys/net/if_gre.h projects/sendfile/sys/net/if_iso88025subr.c projects/sendfile/sys/net/if_loop.c projects/sendfile/sys/net/if_mib.c projects/sendfile/sys/net/if_spppsubr.c projects/sendfile/sys/net/if_stf.c projects/sendfile/sys/net/if_tun.c projects/sendfile/sys/net/if_types.h projects/sendfile/sys/net/if_var.h projects/sendfile/sys/net/if_vlan_var.h projects/sendfile/sys/net/netmap_user.h projects/sendfile/sys/net/route.c projects/sendfile/sys/net/vnet.h projects/sendfile/sys/netgraph/ng_bridge.c projects/sendfile/sys/netgraph/ng_ether.c projects/sendfile/sys/netgraph/ng_frame_relay.c projects/sendfile/sys/netgraph/ng_iface.c projects/sendfile/sys/netinet/cc/cc.c projects/sendfile/sys/netinet/cc/cc_cdg.c projects/sendfile/sys/netinet/cc/cc_chd.c projects/sendfile/sys/netinet/cc/cc_hd.c projects/sendfile/sys/netinet/cc/cc_htcp.c projects/sendfile/sys/netinet/cc/cc_vegas.c projects/sendfile/sys/netinet/if_ether.c projects/sendfile/sys/netinet/igmp.c projects/sendfile/sys/netinet/in.c projects/sendfile/sys/netinet/in.h projects/sendfile/sys/netinet/in_gif.c projects/sendfile/sys/netinet/in_pcb.c projects/sendfile/sys/netinet/in_pcb.h projects/sendfile/sys/netinet/in_proto.c projects/sendfile/sys/netinet/in_rmx.c projects/sendfile/sys/netinet/in_var.h projects/sendfile/sys/netinet/ip_carp.c projects/sendfile/sys/netinet/ip_fastfwd.c projects/sendfile/sys/netinet/ip_gre.c projects/sendfile/sys/netinet/ip_icmp.c projects/sendfile/sys/netinet/ip_input.c projects/sendfile/sys/netinet/ip_ipsec.c projects/sendfile/sys/netinet/ip_mroute.c projects/sendfile/sys/netinet/ip_output.c projects/sendfile/sys/netinet/raw_ip.c projects/sendfile/sys/netinet/sctp_sysctl.c projects/sendfile/sys/netinet/tcp_hostcache.c projects/sendfile/sys/netinet/tcp_input.c projects/sendfile/sys/netinet/tcp_output.c projects/sendfile/sys/netinet/tcp_sack.c projects/sendfile/sys/netinet/tcp_subr.c projects/sendfile/sys/netinet/tcp_syncache.c projects/sendfile/sys/netinet/tcp_timer.c projects/sendfile/sys/netinet/tcp_timer.h projects/sendfile/sys/netinet/tcp_timewait.c projects/sendfile/sys/netinet/tcp_usrreq.c projects/sendfile/sys/netinet/tcp_var.h projects/sendfile/sys/netinet/udp_usrreq.c projects/sendfile/sys/netinet6/frag6.c projects/sendfile/sys/netinet6/icmp6.c projects/sendfile/sys/netinet6/in6.c projects/sendfile/sys/netinet6/in6.h projects/sendfile/sys/netinet6/in6_gif.c projects/sendfile/sys/netinet6/in6_ifattach.c projects/sendfile/sys/netinet6/in6_mcast.c projects/sendfile/sys/netinet6/in6_pcb.c projects/sendfile/sys/netinet6/in6_proto.c projects/sendfile/sys/netinet6/in6_rmx.c projects/sendfile/sys/netinet6/in6_src.c projects/sendfile/sys/netinet6/in6_var.h projects/sendfile/sys/netinet6/ip6_input.c projects/sendfile/sys/netinet6/ip6_ipsec.c projects/sendfile/sys/netinet6/ip6_output.c projects/sendfile/sys/netinet6/ip6_var.h projects/sendfile/sys/netinet6/mld6.c projects/sendfile/sys/netinet6/nd6.c projects/sendfile/sys/netinet6/nd6.h projects/sendfile/sys/netinet6/nd6_nbr.c projects/sendfile/sys/netinet6/raw_ip6.c projects/sendfile/sys/netinet6/scope6.c projects/sendfile/sys/netinet6/scope6_var.h projects/sendfile/sys/netinet6/sctp6_usrreq.c projects/sendfile/sys/netinet6/udp6_usrreq.c projects/sendfile/sys/netipsec/ipsec.c projects/sendfile/sys/netipsec/ipsec_input.c projects/sendfile/sys/netipsec/key.c projects/sendfile/sys/netipsec/xform_ah.c projects/sendfile/sys/netipsec/xform_esp.c projects/sendfile/sys/netipsec/xform_ipcomp.c projects/sendfile/sys/netipsec/xform_ipip.c projects/sendfile/sys/netpfil/ipfw/ip_fw2.c projects/sendfile/sys/netpfil/ipfw/ip_fw_dynamic.c projects/sendfile/sys/netpfil/ipfw/ip_fw_pfil.c projects/sendfile/sys/netpfil/ipfw/ip_fw_private.h projects/sendfile/sys/netpfil/ipfw/ip_fw_table.c projects/sendfile/sys/netpfil/pf/if_pfsync.c projects/sendfile/sys/netpfil/pf/pf.c projects/sendfile/sys/ofed/drivers/net/mlx4/mcg.c projects/sendfile/sys/pc98/conf/GENERIC projects/sendfile/sys/powerpc/conf/GENERIC projects/sendfile/sys/powerpc/conf/GENERIC64 projects/sendfile/sys/powerpc/conf/WII projects/sendfile/sys/powerpc/powerpc/copyinout.c projects/sendfile/sys/powerpc/wii/wii_gpio.c projects/sendfile/sys/sparc64/conf/GENERIC projects/sendfile/sys/sparc64/include/param.h projects/sendfile/sys/sys/buf_ring.h projects/sendfile/sys/sys/conf.h projects/sendfile/sys/sys/disk.h projects/sendfile/sys/sys/domain.h projects/sendfile/sys/sys/filedesc.h projects/sendfile/sys/sys/lockmgr.h projects/sendfile/sys/sys/param.h projects/sendfile/sys/sys/protosw.h projects/sendfile/sys/sys/random.h projects/sendfile/sys/sys/seq.h projects/sendfile/sys/sys/sysctl.h projects/sendfile/sys/sys/sysent.h projects/sendfile/sys/sys/systm.h projects/sendfile/sys/sys/terminal.h projects/sendfile/sys/sys/ucred.h projects/sendfile/sys/sys/user.h projects/sendfile/sys/ufs/ffs/ffs_softdep.c projects/sendfile/sys/vm/default_pager.c projects/sendfile/sys/vm/swap_pager.c projects/sendfile/sys/vm/uma_core.c projects/sendfile/sys/vm/vm_page.c projects/sendfile/sys/x86/acpica/acpi_wakeup.c projects/sendfile/sys/x86/x86/identcpu.c projects/sendfile/sys/x86/x86/tsc.c projects/sendfile/tests/sys/Makefile projects/sendfile/tests/sys/netinet/Makefile projects/sendfile/tools/build/mk/OptionalObsoleteFiles.inc projects/sendfile/tools/sched/schedgraph.py projects/sendfile/tools/tools/nanobsd/pcengines/ALIX_DSK projects/sendfile/tools/tools/nanobsd/pcengines/ALIX_NFS projects/sendfile/tools/tools/sysbuild/sysbuild.sh projects/sendfile/tools/tools/sysdoc/tunables.mdoc projects/sendfile/tools/tools/tinybsd/conf/default/TINYBSD projects/sendfile/tools/tools/tinybsd/conf/vpn/TINYBSD projects/sendfile/tools/tools/tinybsd/conf/wrap/TINYBSD projects/sendfile/usr.bin/Makefile projects/sendfile/usr.bin/ftp/Makefile projects/sendfile/usr.bin/hexdump/hexdump.1 projects/sendfile/usr.bin/iconv/Makefile projects/sendfile/usr.bin/id/Makefile projects/sendfile/usr.bin/iscsictl/token.l projects/sendfile/usr.bin/top/machine.c projects/sendfile/usr.bin/w/Makefile projects/sendfile/usr.bin/w/pr_time.c projects/sendfile/usr.bin/w/w.1 projects/sendfile/usr.bin/w/w.c projects/sendfile/usr.bin/wc/Makefile projects/sendfile/usr.bin/wc/wc.1 projects/sendfile/usr.bin/wc/wc.c projects/sendfile/usr.sbin/Makefile projects/sendfile/usr.sbin/bhyve/block_if.c projects/sendfile/usr.sbin/bhyve/pci_ahci.c projects/sendfile/usr.sbin/bsdconfig/Makefile projects/sendfile/usr.sbin/bsdconfig/console/Makefile projects/sendfile/usr.sbin/bsdconfig/console/include/Makefile projects/sendfile/usr.sbin/bsdconfig/diskmgmt/Makefile projects/sendfile/usr.sbin/bsdconfig/diskmgmt/include/Makefile projects/sendfile/usr.sbin/bsdconfig/docsinstall/Makefile projects/sendfile/usr.sbin/bsdconfig/docsinstall/include/Makefile projects/sendfile/usr.sbin/bsdconfig/dot/Makefile projects/sendfile/usr.sbin/bsdconfig/dot/include/Makefile projects/sendfile/usr.sbin/bsdconfig/examples/Makefile projects/sendfile/usr.sbin/bsdconfig/include/Makefile projects/sendfile/usr.sbin/bsdconfig/includes/Makefile projects/sendfile/usr.sbin/bsdconfig/includes/include/Makefile projects/sendfile/usr.sbin/bsdconfig/mouse/Makefile projects/sendfile/usr.sbin/bsdconfig/mouse/include/Makefile projects/sendfile/usr.sbin/bsdconfig/networking/Makefile projects/sendfile/usr.sbin/bsdconfig/networking/include/Makefile projects/sendfile/usr.sbin/bsdconfig/networking/share/Makefile projects/sendfile/usr.sbin/bsdconfig/networking/share/device.subr projects/sendfile/usr.sbin/bsdconfig/packages/Makefile projects/sendfile/usr.sbin/bsdconfig/packages/include/Makefile projects/sendfile/usr.sbin/bsdconfig/password/Makefile projects/sendfile/usr.sbin/bsdconfig/password/include/Makefile projects/sendfile/usr.sbin/bsdconfig/password/share/Makefile projects/sendfile/usr.sbin/bsdconfig/security/Makefile projects/sendfile/usr.sbin/bsdconfig/security/include/Makefile projects/sendfile/usr.sbin/bsdconfig/share/Makefile projects/sendfile/usr.sbin/bsdconfig/share/media/Makefile projects/sendfile/usr.sbin/bsdconfig/share/packages/Makefile projects/sendfile/usr.sbin/bsdconfig/startup/Makefile projects/sendfile/usr.sbin/bsdconfig/startup/include/Makefile projects/sendfile/usr.sbin/bsdconfig/startup/share/Makefile projects/sendfile/usr.sbin/bsdconfig/timezone/Makefile projects/sendfile/usr.sbin/bsdconfig/timezone/include/Makefile projects/sendfile/usr.sbin/bsdconfig/timezone/share/Makefile projects/sendfile/usr.sbin/bsdconfig/ttys/Makefile projects/sendfile/usr.sbin/bsdconfig/ttys/include/Makefile projects/sendfile/usr.sbin/bsdconfig/usermgmt/Makefile projects/sendfile/usr.sbin/bsdconfig/usermgmt/include/Makefile projects/sendfile/usr.sbin/bsdconfig/usermgmt/share/Makefile projects/sendfile/usr.sbin/bsdinstall/bsdinstall.8 projects/sendfile/usr.sbin/ctladm/ctladm.8 projects/sendfile/usr.sbin/ctld/Makefile projects/sendfile/usr.sbin/ctld/chap.c projects/sendfile/usr.sbin/ctld/ctl.conf.5 projects/sendfile/usr.sbin/ctld/ctld.8 projects/sendfile/usr.sbin/ctld/ctld.c projects/sendfile/usr.sbin/ctld/ctld.h projects/sendfile/usr.sbin/ctld/discovery.c projects/sendfile/usr.sbin/ctld/login.c projects/sendfile/usr.sbin/ctld/parse.y projects/sendfile/usr.sbin/ctld/token.l projects/sendfile/usr.sbin/etcupdate/etcupdate.8 projects/sendfile/usr.sbin/fifolog/fifolog_reader/Makefile projects/sendfile/usr.sbin/fifolog/fifolog_writer/Makefile projects/sendfile/usr.sbin/inetd/inetd.c projects/sendfile/usr.sbin/iscsid/Makefile projects/sendfile/usr.sbin/iscsid/chap.c projects/sendfile/usr.sbin/pkg/Makefile projects/sendfile/usr.sbin/pw/pw_group.c projects/sendfile/usr.sbin/pw/pw_user.c projects/sendfile/usr.sbin/pw/tests/Makefile projects/sendfile/usr.sbin/pw/tests/pw_delete.sh projects/sendfile/usr.sbin/pw/tests/pw_modify.sh projects/sendfile/usr.sbin/rpcbind/Makefile projects/sendfile/usr.sbin/sysrc/sysrc projects/sendfile/usr.sbin/sysrc/sysrc.8 Directory Properties: projects/sendfile/ (props changed) projects/sendfile/cddl/ (props changed) projects/sendfile/cddl/contrib/opensolaris/ (props changed) projects/sendfile/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/sendfile/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/sendfile/contrib/atf/ (props changed) projects/sendfile/contrib/llvm/ (props changed) projects/sendfile/contrib/mtree/ (props changed) projects/sendfile/contrib/openpam/ (props changed) projects/sendfile/contrib/tnftp/ (props changed) projects/sendfile/etc/ (props changed) projects/sendfile/gnu/lib/ (props changed) projects/sendfile/lib/libc/ (props changed) projects/sendfile/lib/libutil/ (props changed) projects/sendfile/sbin/ (props changed) projects/sendfile/share/ (props changed) projects/sendfile/share/man/man4/ (props changed) projects/sendfile/sys/ (props changed) projects/sendfile/sys/boot/ (props changed) projects/sendfile/sys/cddl/contrib/opensolaris/ (props changed) projects/sendfile/sys/conf/ (props changed) projects/sendfile/sys/dev/hyperv/ (props changed) projects/sendfile/sys/modules/vmm/ (props changed) projects/sendfile/usr.sbin/bhyve/ (props changed) Modified: projects/sendfile/MAINTAINERS ============================================================================== --- projects/sendfile/MAINTAINERS Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/MAINTAINERS Tue Nov 11 19:02:30 2014 (r274392) @@ -48,7 +48,6 @@ cd(4) ken Pre-commit review requested. pass(4) ken Pre-commit review requested. ch(4) ken Pre-commit review requested. em(4) jfv Pre-commit review requested. -bxe(4) davidch Pre-commit review requested. tdfx(4) cokane Just keep me informed of changes, try not to break it. sendmail gshapiro Pre-commit review requested. etc/mail gshapiro Pre-commit review requested. @@ -78,7 +77,6 @@ inetd dwmalone Recommends pre-commit re contrib/smbfs bp Open for in-tree committs. In case of functional changes pre-commit review requested. contrib/pf glebius Pre-commit review recommended. -binutils obrien Insists on BU blocked from unapproved commits file obrien Insists to keep file blocked from other's unapproved commits contrib/bzip2 obrien Pre-commit review required. Modified: projects/sendfile/Makefile.inc1 ============================================================================== --- projects/sendfile/Makefile.inc1 Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/Makefile.inc1 Tue Nov 11 19:02:30 2014 (r274392) @@ -1537,6 +1537,7 @@ _prebuild_libs= ${_kerberos5_lib_libasn1 ${_kerberos5_lib_libwind} \ lib/libbz2 ${_libcom_err} lib/libcrypt \ lib/libelf lib/libexpat \ + lib/libfigpar \ ${_lib_libgssapi} \ lib/libkiconv lib/libkvm lib/liblzma lib/libmd lib/libnv \ ${_lib_libcapsicum} \ @@ -1551,7 +1552,8 @@ _prebuild_libs= ${_kerberos5_lib_libasn1 ${_cddl_lib_libctf} \ lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \ ${_secure_lib_libcrypto} ${_lib_libldns} \ - ${_secure_lib_libssh} ${_secure_lib_libssl} + ${_secure_lib_libssh} ${_secure_lib_libssl} \ + gnu/lib/libdialog .if ${MK_GNUCXX} != "no" _prebuild_libs+= gnu/lib/libstdc++ gnu/lib/libsupc++ gnu/lib/libstdc++__L: lib/msun__L @@ -1669,6 +1671,8 @@ _lib_libypclnt= lib/libypclnt lib/libradius__L: lib/libmd__L .endif +gnu/lib/libdialog__L: lib/msun__L lib/ncurses/ncursesw__L + .for _lib in ${_prereq_libs} ${_lib}__PL: .PHONY .MAKE .if exists(${.CURDIR}/${_lib}) Modified: projects/sendfile/ObsoleteFiles.inc ============================================================================== --- projects/sendfile/ObsoleteFiles.inc Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/ObsoleteFiles.inc Tue Nov 11 19:02:30 2014 (r274392) @@ -38,6 +38,21 @@ # xargs -n1 | sort | uniq -d; # done +# 20141109: faith/faithd removal +OLD_FILES+=etc/rc.d/faith +OLD_FILES+=usr/share/man/man4/faith.4.gz +OLD_FILES+=usr/share/man/man4/if_faith.4.gz +OLD_FILES+=usr/sbin/faithd +OLD_FILES+=usr/share/man/man8/faithd.8.gz +# 20141102: postrandom obsoleted by new /dev/random code +OLD_FILES+=etc/rc.d/postrandom +# 20141031: initrandom obsoleted by new /dev/random code +OLD_FILES+=etc/rc.d/initrandom +# 20141028: debug files accidentally installed as directory name +OLD_FILES+=usr/lib/debug/usr/lib/i18n +OLD_FILES+=usr/lib/debug/usr/lib/private +OLD_FILES+=usr/lib/debug/usr/lib32/i18n +OLD_FILES+=usr/lib/debug/usr/lib32/private # 20141015: OpenSSL 1.0.1j import OLD_FILES+=usr/share/openssl/man/man3/CMS_sign_add1_signer.3.gz # 20140922: sleepq_calc_signal_retval.9 and sleepq_catch_signals.9 removed @@ -46,7 +61,6 @@ OLD_FILES+=usr/share/man/man9/sleepq_cat # 20140917: hv_kvpd rc.d script removed in favor of devd configuration OLD_FILES+=etc/rc.d/hv_kvpd # 20140917: libnv was accidentally being installed to /usr/lib instead of /lib -OLD_LIBS+=usr/lib/libnv.a OLD_LIBS+=usr/lib/libnv.so.0 # 20140829: rc.d/kerberos removed OLD_FILES+=etc/rc.d/kerberos @@ -368,7 +382,6 @@ OLD_FILES+=usr/share/man/man1/atf-report OLD_FILES+=usr/share/man/man1/atf-run.1.gz OLD_FILES+=usr/share/man/man1/atf-version.1.gz OLD_FILES+=usr/share/man/man5/atf-formats.5.gz -OLD_FILES+=usr/share/man/man7/atf.7.gz OLD_FILES+=usr/share/xml/atf/tests-results.dtd OLD_FILES+=usr/share/xsl/atf/tests-results.xsl # 20131009: freebsd-version moved from /libexec to /bin Modified: projects/sendfile/UPDATING ============================================================================== --- projects/sendfile/UPDATING Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/UPDATING Tue Nov 11 19:02:30 2014 (r274392) @@ -31,6 +31,33 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20141109: + faith(4) and faithd(8) has been removed from base system. It + has been obsolete for a very long time. + +20141104: + vt(4), the new console driver, is enabled by default. It brings + support for Unicode and double-width characters, as well as + support for UEFI and integration with the KMS kernel video + drivers. + + You may need to update your console settings in /etc/rc.conf, + most probably the keymap. During boot, /etc/rc.d/syscons will + indicate what you need to do. + + vt(4) still has issues and lacks some features compared to + syscons(4). See the wiki for up-to-date information: + https://wiki.freebsd.org/Newcons + + If you want to keep using syscons(4), you can do so by adding + the following line to /boot/loader.conf: + kern.vty=sc + +20141102: + pjdfstest has been integrated into kyua as an opt-in test suite. + Please see share/doc/pjdfstest/README for a more details on how to + execute it. + 20141009: gperf has been removed from the base system for architectures that use clang. Ports that require gperf will obtain it from the @@ -810,8 +837,8 @@ COMMON ITEMS: 2.) update the ZFS boot block on your boot drive The following example updates the ZFS boot block on the first - partition (freebsd-boot) of a GPT partitioned drive ad0: - "gpart bootcode -p /boot/gptzfsboot -i 1 ad0" + partition (freebsd-boot) of a GPT partitioned drive ada0: + "gpart bootcode -p /boot/gptzfsboot -i 1 ada0" Non-boot pools do not need these updates. Modified: projects/sendfile/bin/df/Makefile ============================================================================== --- projects/sendfile/bin/df/Makefile Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/bin/df/Makefile Tue Nov 11 19:02:30 2014 (r274392) @@ -9,7 +9,7 @@ SRCS= df.c vfslist.c CFLAGS+= -I${MOUNT} -DPADD= ${LIBUTIL} -LDADD= -lutil +DPADD= ${LIBUTIL} ${LIBXO} +LDADD= -lutil -lxo .include Modified: projects/sendfile/bin/df/df.1 ============================================================================== --- projects/sendfile/bin/df/df.1 Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/bin/df/df.1 Tue Nov 11 19:02:30 2014 (r274392) @@ -29,7 +29,7 @@ .\" @(#)df.1 8.3 (Berkeley) 5/8/95 .\" $FreeBSD$ .\" -.Dd January 16, 2014 +.Dd November 6, 2014 .Dt DF 1 .Os .Sh NAME @@ -37,6 +37,7 @@ .Nd display free disk space .Sh SYNOPSIS .Nm +.Op Fl -libxo .Op Fl b | g | H | h | k | m | P .Op Fl acilnT .Op Fl \&, @@ -193,7 +194,9 @@ If the value is outside, it will be set .Xr statfs 2 , .Xr getbsize 3 , .Xr getmntinfo 3 , +.Xr libxo 3 , .Xr localeconv 3 , +.Xr xo_parse_args 3 , .Xr fstab 5 , .Xr mount 8 , .Xr pstat 8 , Modified: projects/sendfile/bin/df/df.c ============================================================================== --- projects/sendfile/bin/df/df.c Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/bin/df/df.c Tue Nov 11 19:02:30 2014 (r274392) @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "extern.h" @@ -82,7 +83,7 @@ static char *getmntpt(const char *); static int int64width(int64_t); static char *makenetvfslist(void); static void prthuman(const struct statfs *, int64_t); -static void prthumanval(int64_t); +static void prthumanval(const char *, int64_t); static intmax_t fsbtoblk(int64_t, uint64_t, u_long); static void prtstat(struct statfs *, struct maxwidths *); static size_t regetmntinfo(struct statfs **, long, const char **); @@ -119,6 +120,11 @@ main(int argc, char *argv[]) totalbuf.f_bsize = DEV_BSIZE; strlcpy(totalbuf.f_mntfromname, "total", MNAMELEN); vfslist = NULL; + + argc = xo_parse_args(argc, argv); + if (argc < 0) + exit(1); + while ((ch = getopt(argc, argv, "abcgHhiklmnPt:T,")) != -1) switch (ch) { case 'a': @@ -161,7 +167,7 @@ main(int argc, char *argv[]) break; case 'l': if (vfslist != NULL) - errx(1, "-l and -t are mutually exclusive."); + xo_errx(1, "-l and -t are mutually exclusive."); vfslist = makevfslist(makenetvfslist()); lflag = 1; break; @@ -174,9 +180,9 @@ main(int argc, char *argv[]) break; case 't': if (lflag) - errx(1, "-l and -t are mutually exclusive."); + xo_errx(1, "-l and -t are mutually exclusive."); if (vfslist != NULL) - errx(1, "only one -t option may be specified"); + xo_errx(1, "only one -t option may be specified"); fstype = optarg; vfslist = makevfslist(optarg); break; @@ -202,16 +208,19 @@ main(int argc, char *argv[]) /* just the filesystems specified on the command line */ mntbuf = malloc(argc * sizeof(*mntbuf)); if (mntbuf == NULL) - err(1, "malloc()"); + xo_err(1, "malloc()"); mntsize = 0; /* continued in for loop below */ } + xo_open_container("storage-system-information"); + xo_open_list("filesystem"); + /* iterate through specified filesystems */ for (; *argv; argv++) { if (stat(*argv, &stbuf) < 0) { if ((mntpt = getmntpt(*argv)) == NULL) { - warn("%s", *argv); + xo_warn("%s", *argv); rv = 1; continue; } @@ -220,20 +229,20 @@ main(int argc, char *argv[]) mdev.fspec = *argv; mntpath = strdup("/tmp/df.XXXXXX"); if (mntpath == NULL) { - warn("strdup failed"); + xo_warn("strdup failed"); rv = 1; continue; } mntpt = mkdtemp(mntpath); if (mntpt == NULL) { - warn("mkdtemp(\"%s\") failed", mntpath); + xo_warn("mkdtemp(\"%s\") failed", mntpath); rv = 1; free(mntpath); continue; } if (mount(fstype, mntpt, MNT_RDONLY, &mdev) != 0) { - warn("%s", *argv); + xo_warn("%s", *argv); rv = 1; (void)rmdir(mntpt); free(mntpath); @@ -244,7 +253,7 @@ main(int argc, char *argv[]) if (cflag) addstat(&totalbuf, &statfsbuf); } else { - warn("%s", *argv); + xo_warn("%s", *argv); rv = 1; } (void)unmount(mntpt, 0); @@ -260,7 +269,7 @@ main(int argc, char *argv[]) * implement nflag here. */ if (statfs(mntpt, &statfsbuf) < 0) { - warn("%s", mntpt); + xo_warn("%s", mntpt); rv = 1; continue; } @@ -294,8 +303,14 @@ main(int argc, char *argv[]) for (i = 0; i < mntsize; i++) if (aflag || (mntbuf[i].f_flags & MNT_IGNORE) == 0) prtstat(&mntbuf[i], &maxwidths); + + xo_close_list("filesystem"); + if (cflag) prtstat(&totalbuf, &maxwidths); + + xo_close_container("storage-system-information"); + xo_finish(); return (rv); } @@ -341,7 +356,7 @@ regetmntinfo(struct statfs **mntbufp, lo if (nflag || error < 0) if (i != j) { if (error < 0) - warnx("%s stats possibly stale", + xo_warnx("%s stats possibly stale", mntbuf[i].f_mntonname); mntbuf[j] = mntbuf[i]; } @@ -354,13 +369,13 @@ static void prthuman(const struct statfs *sfsp, int64_t used) { - prthumanval(sfsp->f_blocks * sfsp->f_bsize); - prthumanval(used * sfsp->f_bsize); - prthumanval(sfsp->f_bavail * sfsp->f_bsize); + prthumanval(" {:blocks/%6s}", sfsp->f_blocks * sfsp->f_bsize); + prthumanval(" {:used/%6s}", used * sfsp->f_bsize); + prthumanval(" {:available/%6s}", sfsp->f_bavail * sfsp->f_bsize); } static void -prthumanval(int64_t bytes) +prthumanval(const char *fmt, int64_t bytes) { char buf[6]; int flags; @@ -372,14 +387,15 @@ prthumanval(int64_t bytes) humanize_number(buf, sizeof(buf) - (bytes < 0 ? 0 : 1), bytes, "", HN_AUTOSCALE, flags); - (void)printf(" %6s", buf); + xo_attr("value", "%lld", (long long) bytes); + xo_emit(fmt, buf); } /* * Print an inode count in "human-readable" format. */ static void -prthumanvalinode(int64_t bytes) +prthumanvalinode(const char *fmt, int64_t bytes) { char buf[6]; int flags; @@ -389,7 +405,8 @@ prthumanvalinode(int64_t bytes) humanize_number(buf, sizeof(buf) - (bytes < 0 ? 0 : 1), bytes, "", HN_AUTOSCALE, flags); - (void)printf(" %5s", buf); + xo_attr("value", "%lld", (long long) bytes); + xo_emit(fmt, buf); } /* @@ -434,70 +451,77 @@ prtstat(struct statfs *sfsp, struct maxw mwp->used = imax(mwp->used, (int)strlen("Used")); mwp->avail = imax(mwp->avail, (int)strlen("Avail")); - (void)printf("%-*s", mwp->mntfrom, "Filesystem"); + xo_emit("{T:/%-*s}", mwp->mntfrom, "Filesystem"); if (Tflag) - (void)printf(" %-*s", mwp->fstype, "Type"); - (void)printf(" %*s %*s %*s Capacity", mwp->total, header, - mwp->used, "Used", mwp->avail, "Avail"); + xo_emit(" {T:/%-*s}", mwp->fstype, "Type"); + xo_emit(" {T:/%*s} {T:/%*s} {T:/%*s} Capacity", + mwp->total, header, + mwp->used, "Used", mwp->avail, "Avail"); if (iflag) { mwp->iused = imax(hflag ? 0 : mwp->iused, (int)strlen(" iused")); mwp->ifree = imax(hflag ? 0 : mwp->ifree, (int)strlen("ifree")); - (void)printf(" %*s %*s %%iused", + xo_emit(" {T:/%*s} {T:/%*s} {T:\%iused}", mwp->iused - 2, "iused", mwp->ifree, "ifree"); } - (void)printf(" Mounted on\n"); + xo_emit(" {T:Mounted on}\n"); } + + xo_open_instance("filesystem"); /* Check for 0 block size. Can this happen? */ if (sfsp->f_bsize == 0) { - warnx ("File system %s does not have a block size, assuming 512.", + xo_warnx ("File system %s does not have a block size, assuming 512.", sfsp->f_mntonname); sfsp->f_bsize = 512; } - (void)printf("%-*s", mwp->mntfrom, sfsp->f_mntfromname); + xo_emit("{tk:name/%-*s}", mwp->mntfrom, sfsp->f_mntfromname); if (Tflag) - (void)printf(" %-*s", mwp->fstype, sfsp->f_fstypename); + xo_emit(" {:type/%-*s}", mwp->fstype, sfsp->f_fstypename); used = sfsp->f_blocks - sfsp->f_bfree; availblks = sfsp->f_bavail + used; if (hflag) { prthuman(sfsp, used); } else { if (thousands) - format = " %*j'd %*j'd %*j'd"; + format = " {t:total-blocks/%*j'd} {t:used-blocks/%*j'd} " + "{t:available-blocks/%*j'd}"; else - format = " %*jd %*jd %*jd"; - (void)printf(format, + format = " {t:total-blocks/%*jd} {t:used-blocks/%*jd} " + "{t:available-blocks/%*jd}"; + xo_emit(format, mwp->total, fsbtoblk(sfsp->f_blocks, sfsp->f_bsize, blocksize), mwp->used, fsbtoblk(used, sfsp->f_bsize, blocksize), mwp->avail, fsbtoblk(sfsp->f_bavail, sfsp->f_bsize, blocksize)); } - (void)printf(" %5.0f%%", + xo_emit(" {:used-percent/%5.0f}{U:%%}", availblks == 0 ? 100.0 : (double)used / (double)availblks * 100.0); if (iflag) { inodes = sfsp->f_files; used = inodes - sfsp->f_ffree; if (hflag) { - (void)printf(" "); - prthumanvalinode(used); - prthumanvalinode(sfsp->f_ffree); + xo_emit(" "); + prthumanvalinode(" {:inodes-used/%5s}", used); + prthumanvalinode(" {:inodes-free/%5s}", sfsp->f_ffree); } else { if (thousands) - format = " %*j'd %*j'd"; + format = " {:inodes-used/%*j'd} {:inodes-free/%*j'd}"; else - format = " %*jd %*jd"; - (void)printf(format, mwp->iused, (intmax_t)used, + format = " {:inodes-used/%*jd} {:inodes-free/%*jd}"; + xo_emit(format, mwp->iused, (intmax_t)used, mwp->ifree, (intmax_t)sfsp->f_ffree); } - (void)printf(" %4.0f%% ", inodes == 0 ? 100.0 : - (double)used / (double)inodes * 100.0); + xo_emit(" {:inodes-used-percent/%4.0f}{U:%%} ", + inodes == 0 ? 100.0 : + (double)used / (double)inodes * 100.0); } else - (void)printf(" "); + xo_emit(" "); if (strncmp(sfsp->f_mntfromname, "total", MNAMELEN) != 0) - (void)printf(" %s", sfsp->f_mntonname); - (void)printf("\n"); + xo_emit(" {:mounted-on}", sfsp->f_mntonname); + xo_emit("\n"); + xo_close_instance("filesystem"); } static void @@ -564,7 +588,7 @@ static void usage(void) { - (void)fprintf(stderr, + xo_error( "usage: df [-b | -g | -H | -h | -k | -m | -P] [-acilnT] [-t type] [-,]\n" " [file | filesystem ...]\n"); exit(EX_USAGE); @@ -579,24 +603,24 @@ makenetvfslist(void) int cnt, i, maxvfsconf; if (sysctlbyname("vfs.conflist", NULL, &buflen, NULL, 0) < 0) { - warn("sysctl(vfs.conflist)"); + xo_warn("sysctl(vfs.conflist)"); return (NULL); } xvfsp = malloc(buflen); if (xvfsp == NULL) { - warnx("malloc failed"); + xo_warnx("malloc failed"); return (NULL); } keep_xvfsp = xvfsp; if (sysctlbyname("vfs.conflist", xvfsp, &buflen, NULL, 0) < 0) { - warn("sysctl(vfs.conflist)"); + xo_warn("sysctl(vfs.conflist)"); free(keep_xvfsp); return (NULL); } maxvfsconf = buflen / sizeof(struct xvfsconf); if ((listptr = malloc(sizeof(char*) * maxvfsconf)) == NULL) { - warnx("malloc failed"); + xo_warnx("malloc failed"); free(keep_xvfsp); return (NULL); } @@ -605,7 +629,7 @@ makenetvfslist(void) if (xvfsp->vfc_flags & VFCF_NETWORK) { listptr[cnt++] = strdup(xvfsp->vfc_name); if (listptr[cnt-1] == NULL) { - warnx("malloc failed"); + xo_warnx("malloc failed"); free(listptr); free(keep_xvfsp); return (NULL); @@ -617,7 +641,7 @@ makenetvfslist(void) if (cnt == 0 || (str = malloc(sizeof(char) * (32 * cnt + cnt + 2))) == NULL) { if (cnt > 0) - warnx("malloc failed"); + xo_warnx("malloc failed"); free(listptr); free(keep_xvfsp); return (NULL); Modified: projects/sendfile/bin/sh/expand.c ============================================================================== --- projects/sendfile/bin/sh/expand.c Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/bin/sh/expand.c Tue Nov 11 19:02:30 2014 (r274392) @@ -862,7 +862,7 @@ varisset(const char *name, int nulok) static void strtodest(const char *p, int flag, int subtype, int quoted) { - if (flag & (EXP_FULL | EXP_CASE) && subtype != VSLENGTH) + if (flag & (EXP_FULL | EXP_CASE | EXP_REDIR) && subtype != VSLENGTH) STPUTS_QUOTES(p, quoted ? DQSYNTAX : BASESYNTAX, expdest); else STPUTS(p, expdest); @@ -878,7 +878,7 @@ varvalue(const char *name, int quoted, i int num; char *p; int i; - char sep; + char sep[2]; char **ap; switch (*name) { @@ -912,15 +912,18 @@ varvalue(const char *name, int quoted, i /* FALLTHROUGH */ case '*': if (ifsset()) - sep = ifsval()[0]; + sep[0] = ifsval()[0]; else - sep = ' '; + sep[0] = ' '; + sep[1] = '\0'; for (ap = shellparam.p ; (p = *ap++) != NULL ; ) { strtodest(p, flag, subtype, quoted); if (!*ap) break; - if (sep || (flag & EXP_FULL && !quoted && **ap != '\0')) - STPUTC(sep, expdest); + if (sep[0]) + strtodest(sep, flag, subtype, quoted); + else if (flag & EXP_FULL && !quoted && **ap != '\0') + STPUTC('\0', expdest); } return; default: Modified: projects/sendfile/bin/sh/sh.1 ============================================================================== --- projects/sendfile/bin/sh/sh.1 Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/bin/sh/sh.1 Tue Nov 11 19:02:30 2014 (r274392) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd September 21, 2014 +.Dd November 7, 2014 .Dt SH 1 .Os .Sh NAME @@ -2522,7 +2522,8 @@ and so on, decreasing the value of .Li $# by one. -If there are zero positional parameters, shifting does not do anything. +For portability, shifting if there are zero positional parameters +should be avoided, since the shell may abort. .It Ic test A built-in equivalent of .Xr test 1 . Modified: projects/sendfile/bin/sh/tests/expansion/Makefile ============================================================================== --- projects/sendfile/bin/sh/tests/expansion/Makefile Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/bin/sh/tests/expansion/Makefile Tue Nov 11 19:02:30 2014 (r274392) @@ -72,6 +72,7 @@ FILES+= plus-minus7.0 FILES+= plus-minus8.0 FILES+= question1.0 FILES+= readonly1.0 +FILES+= redir1.0 FILES+= set-u1.0 FILES+= set-u2.0 FILES+= set-u3.0 Copied: projects/sendfile/bin/sh/tests/expansion/redir1.0 (from r274390, head/bin/sh/tests/expansion/redir1.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sendfile/bin/sh/tests/expansion/redir1.0 Tue Nov 11 19:02:30 2014 (r274392, copy of r274390, head/bin/sh/tests/expansion/redir1.0) @@ -0,0 +1,26 @@ +# $FreeBSD$ + +bad=0 +for i in 0 1 2 3; do + for j in 0 1 2 3 4 5 6 7; do + for k in 0 1 2 3 4 5 6 7; do + case $i$j$k in + 000) continue ;; + esac + set -- "$(printf \\$i$j$k@)" + set -- "${1%@}" + ff= + for f in /dev/null /dev/zero /; do + if [ -e "$f" ] && [ ! -e "$f$1" ]; then + ff=$f + fi + done + [ -n "$ff" ] || continue + if { true <$ff$1; } 2>/dev/null; then + echo "Bad: $i$j$k ($ff)" >&2 + : $((bad += 1)) + fi + done + done +done +exit $((bad ? 2 : 0)) Modified: projects/sendfile/bin/sh/tests/parameters/Makefile ============================================================================== --- projects/sendfile/bin/sh/tests/parameters/Makefile Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/bin/sh/tests/parameters/Makefile Tue Nov 11 19:02:30 2014 (r274392) @@ -18,6 +18,8 @@ FILES+= positional2.0 FILES+= positional3.0 FILES+= positional4.0 FILES+= positional5.0 +FILES+= positional6.0 +FILES+= positional7.0 FILES+= pwd1.0 FILES+= pwd2.0 Copied: projects/sendfile/bin/sh/tests/parameters/positional6.0 (from r274390, head/bin/sh/tests/parameters/positional6.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sendfile/bin/sh/tests/parameters/positional6.0 Tue Nov 11 19:02:30 2014 (r274392, copy of r274390, head/bin/sh/tests/parameters/positional6.0) @@ -0,0 +1,7 @@ +# $FreeBSD$ + +IFS=? +set p r +v=pqrs +r=${v#"$*"} +[ "$r" = pqrs ] Copied: projects/sendfile/bin/sh/tests/parameters/positional7.0 (from r274390, head/bin/sh/tests/parameters/positional7.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sendfile/bin/sh/tests/parameters/positional7.0 Tue Nov 11 19:02:30 2014 (r274392, copy of r274390, head/bin/sh/tests/parameters/positional7.0) @@ -0,0 +1,8 @@ +# $FreeBSD$ + +set -- / '' +IFS=* +set -- "$*" +IFS=: +args="$*" +[ "$#:$args" = "1:/*" ] Modified: projects/sendfile/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- projects/sendfile/cddl/contrib/opensolaris/cmd/zdb/zdb.c Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/cddl/contrib/opensolaris/cmd/zdb/zdb.c Tue Nov 11 19:02:30 2014 (r274392) @@ -77,9 +77,11 @@ #ifndef lint extern boolean_t zfs_recover; extern uint64_t zfs_arc_max, zfs_arc_meta_limit; +extern int zfs_vdev_async_read_max_active; #else boolean_t zfs_recover; uint64_t zfs_arc_max, zfs_arc_meta_limit; +int zfs_vdev_async_read_max_active; #endif const char cmdname[] = "zdb"; @@ -2145,6 +2147,8 @@ dump_label(const char *dev) (void) close(fd); } +static uint64_t num_large_blocks; + /*ARGSUSED*/ static int dump_one_dir(const char *dsname, void *arg) @@ -2157,6 +2161,8 @@ dump_one_dir(const char *dsname, void *a (void) printf("Could not open %s, error %d\n", dsname, error); return (0); } + if (dmu_objset_ds(os)->ds_large_blocks) + num_large_blocks++; dump_dir(os); dmu_objset_disown(os, FTAG); fuid_table_destroy(); @@ -2167,7 +2173,7 @@ dump_one_dir(const char *dsname, void *a /* * Block statistics. */ -#define PSIZE_HISTO_SIZE (SPA_MAXBLOCKSIZE / SPA_MINBLOCKSIZE + 1) +#define PSIZE_HISTO_SIZE (SPA_OLD_MAXBLOCKSIZE / SPA_MINBLOCKSIZE + 2) typedef struct zdb_blkstats { uint64_t zb_asize; uint64_t zb_lsize; @@ -2232,7 +2238,15 @@ zdb_count_block(zdb_cb_t *zcb, zilog_t * zb->zb_lsize += BP_GET_LSIZE(bp); zb->zb_psize += BP_GET_PSIZE(bp); zb->zb_count++; - zb->zb_psize_histogram[BP_GET_PSIZE(bp) >> SPA_MINBLOCKSHIFT]++; + + /* + * The histogram is only big enough to record blocks up to + * SPA_OLD_MAXBLOCKSIZE; larger blocks go into the last, + * "other", bucket. + */ + int idx = BP_GET_PSIZE(bp) >> SPA_MINBLOCKSHIFT; + idx = MIN(idx, SPA_OLD_MAXBLOCKSIZE / SPA_MINBLOCKSIZE + 1); + zb->zb_psize_histogram[idx]++; zb->zb_gangs += BP_COUNT_GANG(bp); @@ -2384,8 +2398,14 @@ zdb_blkptr_cb(spa_t *spa, zilog_t *zilog zcb->zcb_readfails = 0; - if (dump_opt['b'] < 5 && - gethrtime() > zcb->zcb_lastprint + NANOSEC) { + /* only call gethrtime() every 100 blocks */ + static int iters; + if (++iters > 100) + iters = 0; + else + return (0); + + if (dump_opt['b'] < 5 && gethrtime() > zcb->zcb_lastprint + NANOSEC) { uint64_t now = gethrtime(); char buf[10]; uint64_t bytes = zcb->zcb_type[ZB_TOTAL][ZDB_OT_TOTAL].zb_asize; @@ -2494,6 +2514,14 @@ zdb_leak_init(spa_t *spa, zdb_cb_t *zcb) (longlong_t)vd->vdev_ms_count); msp->ms_ops = &zdb_metaslab_ops; + + /* + * We don't want to spend the CPU + * manipulating the size-ordered + * tree, so clear the range_tree + * ops. + */ + msp->ms_tree->rt_ops = NULL; VERIFY0(space_map_load(msp->ms_sm, msp->ms_tree, SM_ALLOC)); msp->ms_loaded = B_TRUE; @@ -2930,6 +2958,7 @@ dump_zpool(spa_t *spa) dump_metaslab_groups(spa); if (dump_opt['d'] || dump_opt['i']) { + uint64_t refcount; dump_dir(dp->dp_meta_objset); if (dump_opt['d'] >= 3) { dump_bpobj(&spa->spa_deferred_bpobj, @@ -2949,8 +2978,21 @@ dump_zpool(spa_t *spa) } (void) dmu_objset_find(spa_name(spa), dump_one_dir, NULL, DS_FIND_SNAPSHOTS | DS_FIND_CHILDREN); + + (void) feature_get_refcount(spa, + &spa_feature_table[SPA_FEATURE_LARGE_BLOCKS], &refcount); + if (num_large_blocks != refcount) { + (void) printf("large_blocks feature refcount mismatch: " + "expected %lld != actual %lld\n", + (longlong_t)num_large_blocks, + (longlong_t)refcount); + rc = 2; + } else { + (void) printf("Verified large_blocks feature refcount " + "is correct (%llu)\n", (longlong_t)refcount); + } } - if (dump_opt['b'] || dump_opt['c']) + if (rc == 0 && (dump_opt['b'] || dump_opt['c'])) rc = dump_block_stats(spa); if (rc == 0) @@ -3508,6 +3550,13 @@ main(int argc, char **argv) */ zfs_arc_max = zfs_arc_meta_limit = 256 * 1024 * 1024; + /* + * "zdb -c" uses checksum-verifying scrub i/os which are async reads. + * "zdb -b" uses traversal prefetch which uses async reads. + * For good performance, let several of them be active at once. + */ + zfs_vdev_async_read_max_active = 10; + kernel_init(FREAD); g_zfs = libzfs_init(); ASSERT(g_zfs != NULL); Modified: projects/sendfile/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- projects/sendfile/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Nov 11 19:02:30 2014 (r274392) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 30, 2014 +.Dd November 10, 2014 .Dt ZFS 8 .Os .Sh NAME @@ -179,12 +179,12 @@ .Ar bookmark .Nm .Cm send -.Op Fl DnPpRve +.Op Fl DnPpRveL .Op Fl i Ar snapshot | Fl I Ar snapshot .Ar snapshot .Nm .Cm send -.Op Fl e +.Op Fl eL .Op Fl i Ar snapshot Ns | Ns bookmark .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot .Nm @@ -1187,6 +1187,12 @@ systems is strongly discouraged, and may .Pp The size specified must be a power of two greater than or equal to 512 and less than or equal to 128 Kbytes. +If the +.Sy large_blocks +feature is enabled on the pool, the size may be up to 1 Mbyte. +See +.Xr zpool-features 7 +for details on ZFS feature flags. .Pp Changing the file system's .Sy recordsize @@ -2477,7 +2483,7 @@ feature. .It Xo .Nm .Cm send -.Op Fl DnPpRve +.Op Fl DnPpRveL .Op Fl i Ar snapshot | Fl I Ar snapshot .Ar snapshot .Xc @@ -2549,6 +2555,22 @@ be used regardless of the dataset's property, but performance will be much better if the filesystem uses a dedup-capable checksum (eg. .Sy sha256 ) . +.It Fl L +Generate a stream which may contain blocks larger than 128KB. +This flag +has no effect if the +.Sy large_blocks +pool feature is disabled, or if the +.Sy recordsize +property of this filesystem has never been set above 128KB. +The receiving system must have the +.Sy large_blocks +pool feature enabled as well. +See +.Xr zpool-features 7 +for details on ZFS feature flags and the +.Sy large_blocks +feature. .It Fl e Generate a more compact stream by using WRITE_EMBEDDED records for blocks which are stored more compactly on disk by the @@ -2596,7 +2618,7 @@ on future versions of .It Xo .Nm .Cm send -.Op Fl e +.Op Fl eL .Op Fl i Ar snapshot Ns | Ns Ar bookmark .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot .Xc @@ -2622,6 +2644,22 @@ specified as the last component of the n If the incremental target is a clone, the incremental source can be the origin snapshot, or an earlier snapshot in the origin's filesystem, or the origin's origin, etc. +.It Fl L +Generate a stream which may contain blocks larger than 128KB. +This flag +has no effect if the +.Sy large_blocks +pool feature is disabled, or if the +.Sy recordsize +property of this filesystem has never been set above 128KB. +The receiving system must have the +.Sy large_blocks +pool feature enabled as well. +See +.Xr zpool-features 7 +for details on ZFS feature flags and the +.Sy large_blocks +feature. .It Fl e Generate a more compact stream by using WRITE_EMBEDDED records for blocks which are stored more compactly on disk by the Modified: projects/sendfile/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- projects/sendfile/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Nov 11 19:02:30 2014 (r274392) @@ -274,9 +274,9 @@ get_usage(zfs_help_t idx) case HELP_ROLLBACK: return (gettext("\trollback [-rRf] \n")); case HELP_SEND: - return (gettext("\tsend [-DnPpRve] [-[iI] snapshot] " + return (gettext("\tsend [-DnPpRvLe] [-[iI] snapshot] " "\n" - "\tsend [-e] [-i snapshot|bookmark] " + "\tsend [-Le] [-i snapshot|bookmark] " "\n")); case HELP_SET: return (gettext("\tset " @@ -3709,7 +3709,7 @@ zfs_do_send(int argc, char **argv) boolean_t extraverbose = B_FALSE; /* check options */ - while ((c = getopt(argc, argv, ":i:I:RDpvnPe")) != -1) { + while ((c = getopt(argc, argv, ":i:I:RDpvnPLe")) != -1) { switch (c) { case 'i': if (fromname) @@ -3744,6 +3744,9 @@ zfs_do_send(int argc, char **argv) case 'n': flags.dryrun = B_TRUE; break; + case 'L': + flags.largeblock = B_TRUE; + break; case 'e': flags.embed_data = B_TRUE; break; @@ -3800,6 +3803,8 @@ zfs_do_send(int argc, char **argv) if (zhp == NULL) return (1); + if (flags.largeblock) + lzc_flags |= LZC_SEND_FLAG_LARGE_BLOCK; if (flags.embed_data) lzc_flags |= LZC_SEND_FLAG_EMBED_DATA; Modified: projects/sendfile/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 ============================================================================== --- projects/sendfile/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 Tue Nov 11 19:02:30 2014 (r274392) @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 1, 2014 +.Dd November 10, 2014 .Dt ZPOOL-FEATURES 7 .Os .Sh NAME @@ -427,6 +427,33 @@ This feature becomes as soon as it is enabled and will never return to being .Sy enabled . +.It Sy large_blocks +.Bl -column "READ\-ONLY COMPATIBLE" "org.open-zfs:large_block" +.It GUID Ta org.open-zfs:large_block +.It READ\-ONLY COMPATIBLE Ta no +.It DEPENDENCIES Ta extensible_dataset +.El +.Pp +The +.Sy large_block +feature allows the record size on a dataset to be +set larger than 128KB. +.Pp +This feature becomes +.Sy active +once a +.Sy recordsize +property has been set larger than 128KB, and will return to being +.Sy enabled +once all filesystems that have ever had their recordsize larger than 128KB +are destroyed. +.Pp +Please note that booting from datasets that have recordsize greater than +128KB is +.Em NOT +supported by the +.Fx +boot loader. .El .Sh SEE ALSO .Xr zpool 8 Modified: projects/sendfile/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c ============================================================================== --- projects/sendfile/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c Tue Nov 11 18:54:57 2014 (r274391) +++ projects/sendfile/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c Tue Nov 11 19:02:30 2014 (r274392) @@ -54,7 +54,6 @@ uint64_t total_stream_len = 0; FILE *send_stream = 0; boolean_t do_byteswap = B_FALSE; boolean_t do_cksum = B_TRUE; -#define INITIAL_BUFLEN (1<<20) static void usage(void) @@ -67,6 +66,18 @@ usage(void) exit(1); } +static void * +safe_malloc(size_t size) +{ + void *rv = malloc(size); + if (rv == NULL) { + (void) fprintf(stderr, "ERROR; failed to allocate %zu bytes\n", + size); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Nov 11 19:12:58 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5C101A18; Tue, 11 Nov 2014 19:12:58 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4921CE5F; Tue, 11 Nov 2014 19:12:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sABJCwpU058058; Tue, 11 Nov 2014 19:12:58 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sABJCwij058057; Tue, 11 Nov 2014 19:12:58 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411111912.sABJCwij058057@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Tue, 11 Nov 2014 19:12:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274393 - projects/sendfile/sys/kern X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2014 19:12:58 -0000 Author: glebius Date: Tue Nov 11 19:12:57 2014 New Revision: 274393 URL: https://svnweb.freebsd.org/changeset/base/274393 Log: Remove sfreadahead sysctl. The amount of readahead can only be specified in syscall arguments. Sponsored by: Netflix Sponsored by: Nginx, Inc. Modified: projects/sendfile/sys/kern/uipc_syscalls.c Modified: projects/sendfile/sys/kern/uipc_syscalls.c ============================================================================== --- projects/sendfile/sys/kern/uipc_syscalls.c Tue Nov 11 19:02:30 2014 (r274392) +++ projects/sendfile/sys/kern/uipc_syscalls.c Tue Nov 11 19:12:57 2014 (r274393) @@ -119,16 +119,6 @@ static int filt_sfsync_attach(struct kno static void filt_sfsync_detach(struct knote *kn); static int filt_sfsync(struct knote *kn, long hint); -/* - * sendfile(2)-related variables and associated sysctls - */ -static SYSCTL_NODE(_kern_ipc, OID_AUTO, sendfile, CTLFLAG_RW, 0, - "sendfile(2) tunables"); - -static int sfreadahead = 0; -SYSCTL_INT(_kern_ipc_sendfile, OID_AUTO, readahead, CTLFLAG_RW, - &sfreadahead, 0, "Read this more pages than socket buffer can accept"); - #ifdef SFSYNC_DEBUG static int sf_sync_debug = 0; SYSCTL_INT(_debug, OID_AUTO, sf_sync_debug, CTLFLAG_RW, @@ -3087,10 +3077,8 @@ retry_space: else npages = howmany(space, PAGE_SIZE); - rhpages = SF_READAHEAD(flags) ? - SF_READAHEAD(flags) : sfreadahead; rhpages = min(howmany(obj_size - (off & ~PAGE_MASK) - - (npages * PAGE_SIZE), PAGE_SIZE), rhpages); + (npages * PAGE_SIZE), PAGE_SIZE), SF_READAHEAD(flags)); sfio = malloc(sizeof(struct sf_io) + (rhpages + npages) * sizeof(vm_page_t), M_TEMP, M_WAITOK); From owner-svn-src-projects@FreeBSD.ORG Tue Nov 11 19:39:37 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7D5E89B7; Tue, 11 Nov 2014 19:39:37 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6A3F312D; Tue, 11 Nov 2014 19:39:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sABJdbir068200; Tue, 11 Nov 2014 19:39:37 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sABJdbsq068199; Tue, 11 Nov 2014 19:39:37 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411111939.sABJdbsq068199@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Tue, 11 Nov 2014 19:39:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274395 - projects/sendfile/sys/sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2014 19:39:37 -0000 Author: glebius Date: Tue Nov 11 19:39:36 2014 New Revision: 274395 URL: https://svnweb.freebsd.org/changeset/base/274395 Log: Undefine SF_NODISKIO and SF_MNOWAIT. Modified: projects/sendfile/sys/sys/socket.h Modified: projects/sendfile/sys/sys/socket.h ============================================================================== --- projects/sendfile/sys/sys/socket.h Tue Nov 11 19:37:17 2014 (r274394) +++ projects/sendfile/sys/sys/socket.h Tue Nov 11 19:39:36 2014 (r274395) @@ -600,9 +600,13 @@ struct sf_hdtr_all { /* * Sendfile-specific flag(s) + * + * SF_NODISKIO and SF_MNOWAIT are unused since 11.0, but we keep + * them in header to keep applications compilable. We will try to + * avoid to reuse their bits as long as possible. */ -#define SF_NODISKIO 0x00000001 -#define SF_MNOWAIT 0x00000002 /* unused since 11.0 */ +#define SF_NODISKIO 0x00000000 /* was 0x00000001 */ +#define SF_MNOWAIT 0x00000000 /* was 0x00000002 */ #define SF_SYNC 0x00000004 #define SF_KQUEUE 0x00000008 #define SF_NOCACHE 0x00000010 From owner-svn-src-projects@FreeBSD.ORG Tue Nov 11 19:40:06 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8DA17A9D; Tue, 11 Nov 2014 19:40:06 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7AC83131; Tue, 11 Nov 2014 19:40:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sABJe6Sd068380; Tue, 11 Nov 2014 19:40:06 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sABJe6Qm068379; Tue, 11 Nov 2014 19:40:06 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411111940.sABJe6Qm068379@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Tue, 11 Nov 2014 19:40:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274396 - projects/sendfile/sys/sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2014 19:40:06 -0000 Author: glebius Date: Tue Nov 11 19:40:05 2014 New Revision: 274396 URL: https://svnweb.freebsd.org/changeset/base/274396 Log: Cleanup unused code. Modified: projects/sendfile/sys/sys/sockbuf.h Modified: projects/sendfile/sys/sys/sockbuf.h ============================================================================== --- projects/sendfile/sys/sys/sockbuf.h Tue Nov 11 19:39:36 2014 (r274395) +++ projects/sendfile/sys/sys/sockbuf.h Tue Nov 11 19:40:05 2014 (r274396) @@ -90,9 +90,6 @@ struct sockbuf { * record in socket buffer */ struct mbuf *sb_sndptr; /* (c/d) pointer into mbuf chain */ struct mbuf *sb_fnrdy; /* (c/d) pointer to first not ready buffer */ -#if 0 - struct mbuf *sb_lnrdy; /* (c/d) pointer to last not ready buffer */ -#endif u_int sb_sndptroff; /* (c/d) byte offset of ptr into chain */ u_int sb_acc; /* (c/d) available chars in buffer */ u_int sb_ccc; /* (c/d) claimed chars in buffer */ From owner-svn-src-projects@FreeBSD.ORG Tue Nov 11 20:40:42 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4EDE298A; Tue, 11 Nov 2014 20:40:42 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 32EB9A0E; Tue, 11 Nov 2014 20:40:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sABKeguw099066; Tue, 11 Nov 2014 20:40:42 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sABKeesV099057; Tue, 11 Nov 2014 20:40:40 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411112040.sABKeesV099057@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Tue, 11 Nov 2014 20:40:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274404 - in projects/sendfile: gnu/usr.bin/gdb/kgdb sys/boot/i386/loader sys/compat/freebsd32 sys/dev/acpica sys/dev/cxgbe sys/kern sys/sys usr.sbin/bsdconfig/timezone usr.sbin/tzsetup X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Nov 2014 20:40:42 -0000 Author: glebius Date: Tue Nov 11 20:40:39 2014 New Revision: 274404 URL: https://svnweb.freebsd.org/changeset/base/274404 Log: Merge head r274391 through 274403. Deleted: projects/sendfile/sys/sys/sf_base.h projects/sendfile/sys/sys/sf_sync.h Modified: projects/sendfile/gnu/usr.bin/gdb/kgdb/kgdb.h projects/sendfile/gnu/usr.bin/gdb/kgdb/trgt_i386.c projects/sendfile/sys/boot/i386/loader/conf.c projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c projects/sendfile/sys/dev/acpica/acpi.c projects/sendfile/sys/dev/cxgbe/t4_main.c projects/sendfile/sys/kern/kern_descrip.c projects/sendfile/sys/kern/uipc_syscalls.c projects/sendfile/sys/sys/file.h projects/sendfile/sys/sys/socket.h projects/sendfile/usr.sbin/bsdconfig/timezone/timezone projects/sendfile/usr.sbin/tzsetup/tzsetup.c Directory Properties: projects/sendfile/ (props changed) projects/sendfile/gnu/usr.bin/gdb/ (props changed) projects/sendfile/sys/ (props changed) projects/sendfile/sys/boot/ (props changed) Modified: projects/sendfile/gnu/usr.bin/gdb/kgdb/kgdb.h ============================================================================== --- projects/sendfile/gnu/usr.bin/gdb/kgdb/kgdb.h Tue Nov 11 20:32:46 2014 (r274403) +++ projects/sendfile/gnu/usr.bin/gdb/kgdb/kgdb.h Tue Nov 11 20:40:39 2014 (r274404) @@ -41,7 +41,7 @@ struct kthr { uintptr_t pcb; int tid; int pid; - u_char cpu; + int cpu; }; extern struct kthr *curkthr; Modified: projects/sendfile/gnu/usr.bin/gdb/kgdb/trgt_i386.c ============================================================================== --- projects/sendfile/gnu/usr.bin/gdb/kgdb/trgt_i386.c Tue Nov 11 20:32:46 2014 (r274403) +++ projects/sendfile/gnu/usr.bin/gdb/kgdb/trgt_i386.c Tue Nov 11 20:40:39 2014 (r274404) @@ -139,7 +139,7 @@ kgdb_trgt_fetch_tss(void) uintptr_t addr, cpu0prvpage, tss; kt = kgdb_thr_lookup_tid(ptid_get_pid(inferior_ptid)); - if (kt == NULL || kt->cpu == NOCPU) + if (kt == NULL || kt->cpu == NOCPU || kt->cpu < 0) return (0); addr = kgdb_lookup("gdt"); Modified: projects/sendfile/sys/boot/i386/loader/conf.c ============================================================================== --- projects/sendfile/sys/boot/i386/loader/conf.c Tue Nov 11 20:32:46 2014 (r274403) +++ projects/sendfile/sys/boot/i386/loader/conf.c Tue Nov 11 20:40:39 2014 (r274404) @@ -80,8 +80,11 @@ struct fs_ops *file_system[] = { #if defined(LOADER_NANDFS_SUPPORT) &nandfs_fsops, #endif -#ifdef LOADER_SPLIT_SUPPORT - &splitfs_fsops, +#ifdef LOADER_NFS_SUPPORT + &nfs_fsops, +#endif +#ifdef LOADER_TFTP_SUPPORT + &tftp_fsops, #endif #ifdef LOADER_GZIP_SUPPORT &gzipfs_fsops, @@ -89,11 +92,8 @@ struct fs_ops *file_system[] = { #ifdef LOADER_BZIP2_SUPPORT &bzipfs_fsops, #endif -#ifdef LOADER_NFS_SUPPORT - &nfs_fsops, -#endif -#ifdef LOADER_TFTP_SUPPORT - &tftp_fsops, +#ifdef LOADER_SPLIT_SUPPORT + &splitfs_fsops, #endif NULL }; Modified: projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c Tue Nov 11 20:32:46 2014 (r274403) +++ projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c Tue Nov 11 20:40:39 2014 (r274404) @@ -83,10 +83,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include -#include -#include #ifdef INET #include @@ -1567,26 +1563,16 @@ struct sf_hdtr32 { int trl_cnt; }; -struct sf_hdtr_kq32 { - int kq_fd; - uint32_t kq_flags; - uint32_t kq_udata; /* 32-bit void ptr */ - uint32_t kq_ident; /* 32-bit uintptr_t */ -}; - static int freebsd32_do_sendfile(struct thread *td, struct freebsd32_sendfile_args *uap, int compat) { struct sf_hdtr32 hdtr32; struct sf_hdtr hdtr; - struct sf_hdtr_kq32 hdtr_kq32; - struct sf_hdtr_kq hdtr_kq; struct uio *hdr_uio, *trl_uio; struct iovec32 *iov32; - off_t offset; + off_t offset, sbytes; int error; - off_t sbytes; offset = PAIR32TO64(off_t, uap->offset); if (offset < 0) @@ -1617,31 +1603,17 @@ freebsd32_do_sendfile(struct thread *td, if (error) goto out; } - - /* - * If SF_KQUEUE is set, then we need to also copy in - * the kqueue data after the normal hdtr set and set do_kqueue=1. - */ - if (uap->flags & SF_KQUEUE) { - error = copyin(((char *) uap->hdtr) + sizeof(hdtr32), - &hdtr_kq32, - sizeof(hdtr_kq32)); - if (error != 0) - goto out; - - /* 32->64 bit fields */ - CP(hdtr_kq32, hdtr_kq, kq_fd); - CP(hdtr_kq32, hdtr_kq, kq_flags); - PTRIN_CP(hdtr_kq32, hdtr_kq, kq_udata); - CP(hdtr_kq32, hdtr_kq, kq_ident); - } } + AUDIT_ARG_FD(uap->fd); - /* Call sendfile */ - /* XXX stack depth! */ - error = _do_sendfile(td, uap->fd, uap->s, uap->flags, compat, - offset, uap->nbytes, &sbytes, hdr_uio, trl_uio, &hdtr_kq); + if ((error = fget_read(td, uap->fd, + cap_rights_init(&rights, CAP_PREAD), &fp)) != 0) + goto out; + + error = fo_sendfile(fp, uap->s, hdr_uio, trl_uio, offset, + uap->nbytes, &sbytes, uap->flags, compat ? SFK_COMPAT : 0, td); + fdrop(fp, td); if (uap->sbytes != NULL) copyout(&sbytes, uap->sbytes, sizeof(off_t)); Modified: projects/sendfile/sys/dev/acpica/acpi.c ============================================================================== --- projects/sendfile/sys/dev/acpica/acpi.c Tue Nov 11 20:32:46 2014 (r274403) +++ projects/sendfile/sys/dev/acpica/acpi.c Tue Nov 11 20:40:39 2014 (r274404) @@ -694,7 +694,7 @@ acpi_attach(device_t dev) static void acpi_set_power_children(device_t dev, int state) { - device_t child, parent; + device_t child; device_t *devlist; int dstate, i, numdevs; @@ -705,12 +705,11 @@ acpi_set_power_children(device_t dev, in * Retrieve and set D-state for the sleep state if _SxD is present. * Skip children who aren't attached since they are handled separately. */ - parent = device_get_parent(dev); for (i = 0; i < numdevs; i++) { child = devlist[i]; dstate = state; if (device_is_attached(child) && - acpi_device_pwr_for_sleep(parent, child, &dstate) == 0) + acpi_device_pwr_for_sleep(dev, child, &dstate) == 0) acpi_set_powerstate(child, dstate); } free(devlist, M_TEMP); Modified: projects/sendfile/sys/dev/cxgbe/t4_main.c ============================================================================== --- projects/sendfile/sys/dev/cxgbe/t4_main.c Tue Nov 11 20:32:46 2014 (r274403) +++ projects/sendfile/sys/dev/cxgbe/t4_main.c Tue Nov 11 20:40:39 2014 (r274404) @@ -490,6 +490,7 @@ struct { {0x5411, "Chelsio T520-LL-CR"}, /* 2 x 10G */ {0x5412, "Chelsio T560-CR"}, /* 1 x 40G, 2 x 10G */ {0x5414, "Chelsio T580-LP-SO-CR"}, /* 2 x 40G, nomem */ + {0x5415, "Chelsio T502-BT"}, /* 2 x 1G */ #ifdef notyet {0x5404, "Chelsio T520-BCH"}, {0x5405, "Chelsio T540-BCH"}, Modified: projects/sendfile/sys/kern/kern_descrip.c ============================================================================== --- projects/sendfile/sys/kern/kern_descrip.c Tue Nov 11 20:32:46 2014 (r274403) +++ projects/sendfile/sys/kern/kern_descrip.c Tue Nov 11 20:40:39 2014 (r274404) @@ -3684,7 +3684,7 @@ badfo_chown(struct file *fp, uid_t uid, static int badfo_sendfile(struct file *fp, int sockfd, struct uio *hdr_uio, struct uio *trl_uio, off_t offset, size_t nbytes, off_t *sent, int flags, - int kflags, struct sendfile_sync *sfs, struct thread *td) + int kflags, struct thread *td) { return (EBADF); @@ -3770,7 +3770,7 @@ invfo_chown(struct file *fp, uid_t uid, int invfo_sendfile(struct file *fp, int sockfd, struct uio *hdr_uio, struct uio *trl_uio, off_t offset, size_t nbytes, off_t *sent, int flags, - int kflags, struct sendfile_sync *sfs, struct thread *td) + int kflags, struct thread *td) { return (EINVAL); Modified: projects/sendfile/sys/kern/uipc_syscalls.c ============================================================================== --- projects/sendfile/sys/kern/uipc_syscalls.c Tue Nov 11 20:32:46 2014 (r274403) +++ projects/sendfile/sys/kern/uipc_syscalls.c Tue Nov 11 20:40:39 2014 (r274404) @@ -63,8 +63,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include #include #include #include @@ -115,32 +113,6 @@ static int getpeername1(struct thread *t counter_u64_t sfstat[sizeof(struct sfstat) / sizeof(uint64_t)]; -static int filt_sfsync_attach(struct knote *kn); -static void filt_sfsync_detach(struct knote *kn); -static int filt_sfsync(struct knote *kn, long hint); - -#ifdef SFSYNC_DEBUG -static int sf_sync_debug = 0; -SYSCTL_INT(_debug, OID_AUTO, sf_sync_debug, CTLFLAG_RW, - &sf_sync_debug, 0, "Output debugging during sf_sync lifecycle"); -#define SFSYNC_DPRINTF(s, ...) \ - do { \ - if (sf_sync_debug) \ - printf((s), ##__VA_ARGS__); \ - } while (0) -#else -#define SFSYNC_DPRINTF(c, ...) -#endif - -static uma_zone_t zone_sfsync; - -static struct filterops sendfile_filtops = { - .f_isfd = 0, - .f_attach = filt_sfsync_attach, - .f_detach = filt_sfsync_detach, - .f_event = filt_sfsync, -}; - static void sfstat_init(const void *unused) { @@ -150,19 +122,6 @@ sfstat_init(const void *unused) } SYSINIT(sfstat, SI_SUB_MBUF, SI_ORDER_FIRST, sfstat_init, NULL); -static void -sf_sync_init(const void *unused) -{ - - zone_sfsync = uma_zcreate("sendfile_sync", sizeof(struct sendfile_sync), - NULL, NULL, - NULL, NULL, - UMA_ALIGN_CACHE, - 0); - kqueue_add_filteropts(EVFILT_SENDFILE, &sendfile_filtops); -} -SYSINIT(sf_sync, SI_SUB_MBUF, SI_ORDER_FIRST, sf_sync_init, NULL); - static int sfstat_sysctl(SYSCTL_HANDLER_ARGS) { @@ -1855,116 +1814,11 @@ getsockaddr(namp, uaddr, len) return (error); } -static int -filt_sfsync_attach(struct knote *kn) -{ - struct sendfile_sync *sfs = (struct sendfile_sync *) kn->kn_sdata; - struct knlist *knl = &sfs->klist; - - SFSYNC_DPRINTF("%s: kn=%p, sfs=%p\n", __func__, kn, sfs); - - /* - * Validate that we actually received this via the kernel API. - */ - if ((kn->kn_flags & EV_FLAG1) == 0) - return (EPERM); - - kn->kn_ptr.p_v = sfs; - kn->kn_flags &= ~EV_FLAG1; - - knl->kl_lock(knl->kl_lockarg); - /* - * If we're in the "freeing" state, - * don't allow the add. That way we don't - * end up racing with some other thread that - * is trying to finish some setup. - */ - if (sfs->state == SF_STATE_FREEING) { - knl->kl_unlock(knl->kl_lockarg); - return (EINVAL); - } - knlist_add(&sfs->klist, kn, 1); - knl->kl_unlock(knl->kl_lockarg); - - return (0); -} - -/* - * Called when a knote is being detached. - */ -static void -filt_sfsync_detach(struct knote *kn) -{ - struct knlist *knl; - struct sendfile_sync *sfs; - int do_free = 0; - - sfs = kn->kn_ptr.p_v; - knl = &sfs->klist; - - SFSYNC_DPRINTF("%s: kn=%p, sfs=%p\n", __func__, kn, sfs); - - knl->kl_lock(knl->kl_lockarg); - if (!knlist_empty(knl)) - knlist_remove(knl, kn, 1); - - /* - * If the list is empty _AND_ the refcount is 0 - * _AND_ we've finished the setup phase and now - * we're in the running phase, we can free the - * underlying sendfile_sync. - * - * But we shouldn't do it before finishing the - * underlying divorce from the knote. - * - * So, we have the sfsync lock held; transition - * it to "freeing", then unlock, then free - * normally. - */ - if (knlist_empty(knl)) { - if (sfs->state == SF_STATE_COMPLETED && sfs->count == 0) { - SFSYNC_DPRINTF("%s: (%llu) sfs=%p; completed, " - "count==0, empty list: time to free!\n", - __func__, - (unsigned long long) curthread->td_tid, - sfs); - sf_sync_set_state(sfs, SF_STATE_FREEING, 1); - do_free = 1; - } - } - knl->kl_unlock(knl->kl_lockarg); - - /* - * Only call free if we're the one who has transitioned things - * to free. Otherwise we could race with another thread that - * is currently tearing things down. - */ - if (do_free == 1) { - SFSYNC_DPRINTF("%s: (%llu) sfs=%p, %s:%d\n", - __func__, - (unsigned long long) curthread->td_tid, - sfs, - __FILE__, - __LINE__); - sf_sync_free(sfs); - } -} - -static int -filt_sfsync(struct knote *kn, long hint) -{ - struct sendfile_sync *sfs = (struct sendfile_sync *) kn->kn_ptr.p_v; - int ret; - - SFSYNC_DPRINTF("%s: kn=%p, sfs=%p\n", __func__, kn, sfs); - - /* - * XXX add a lock assertion here! - */ - ret = (sfs->count == 0 && sfs->state == SF_STATE_COMPLETED); - - return (ret); -} +struct sendfile_sync { + struct mtx mtx; + struct cv cv; + unsigned count; +}; /* * Add more references to a vm_page + sf_buf + sendfile_sync. @@ -2013,8 +1867,13 @@ sf_ext_free(void *arg1, void *arg2) vm_page_free(pg); vm_page_unlock(pg); - if (sfs != NULL) - sf_sync_deref(sfs); + if (sfs != NULL) { + mtx_lock(&sfs->mtx); + KASSERT(sfs->count > 0, ("Sendfile sync botchup count == 0")); + if (--sfs->count == 0) + cv_signal(&sfs->cv); + mtx_unlock(&sfs->mtx); + } } /* @@ -2044,344 +1903,13 @@ sf_ext_free_nocache(void *arg1, void *ar } vm_page_unlock(pg); - if (sfs != NULL) - sf_sync_deref(sfs); -} - -/* - * Called to remove a reference to a sf_sync object. - * - * This is generally done during the mbuf free path to signify - * that one of the mbufs in the transaction has been completed. - * - * If we're doing SF_SYNC and the refcount is zero then we'll wake - * up any waiters. - * - * IF we're doing SF_KQUEUE and the refcount is zero then we'll - * fire off the knote. - */ -void -sf_sync_deref(struct sendfile_sync *sfs) -{ - int do_free = 0; - - if (sfs == NULL) - return; - - mtx_lock(&sfs->mtx); - KASSERT(sfs->count> 0, ("Sendfile sync botchup count == 0")); - sfs->count --; - - /* - * Only fire off the wakeup / kqueue notification if - * we are in the running state. - */ - if (sfs->count == 0 && sfs->state == SF_STATE_COMPLETED) { - if (sfs->flags & SF_SYNC) + if (sfs != NULL) { + mtx_lock(&sfs->mtx); + KASSERT(sfs->count > 0, ("Sendfile sync botchup count == 0")); + if (--sfs->count == 0) cv_signal(&sfs->cv); - - if (sfs->flags & SF_KQUEUE) { - SFSYNC_DPRINTF("%s: (%llu) sfs=%p: knote!\n", - __func__, - (unsigned long long) curthread->td_tid, - sfs); - KNOTE_LOCKED(&sfs->klist, 1); - } - - /* - * If we're not waiting around for a sync, - * check if the knote list is empty. - * If it is, we transition to free. - * - * XXX I think it's about time I added some state - * or flag that says whether we're supposed to be - * waiting around until we've done a signal. - * - * XXX Ie, the reason that I don't free it here - * is because the caller will free the last reference, - * not us. That should be codified in some flag - * that indicates "self-free" rather than checking - * for SF_SYNC all the time. - */ - if ((sfs->flags & SF_SYNC) == 0 && knlist_empty(&sfs->klist)) { - SFSYNC_DPRINTF("%s: (%llu) sfs=%p; completed, " - "count==0, empty list: time to free!\n", - __func__, - (unsigned long long) curthread->td_tid, - sfs); - sf_sync_set_state(sfs, SF_STATE_FREEING, 1); - do_free = 1; - } - - } - mtx_unlock(&sfs->mtx); - - /* - * Attempt to do a free here. - * - * We do this outside of the lock because it may destroy the - * lock in question as it frees things. We can optimise this - * later. - * - * XXX yes, we should make it a requirement to hold the - * lock across sf_sync_free(). - */ - if (do_free == 1) { - SFSYNC_DPRINTF("%s: (%llu) sfs=%p\n", - __func__, - (unsigned long long) curthread->td_tid, - sfs); - sf_sync_free(sfs); - } -} - -/* - * Allocate a sendfile_sync state structure. - * - * For now this only knows about the "sleep" sync, but later it will - * grow various other personalities. - */ -struct sendfile_sync * -sf_sync_alloc(uint32_t flags) -{ - struct sendfile_sync *sfs; - - sfs = uma_zalloc(zone_sfsync, M_WAITOK | M_ZERO); - mtx_init(&sfs->mtx, "sendfile", NULL, MTX_DEF); - cv_init(&sfs->cv, "sendfile"); - sfs->flags = flags; - sfs->state = SF_STATE_SETUP; - knlist_init_mtx(&sfs->klist, &sfs->mtx); - - SFSYNC_DPRINTF("%s: sfs=%p, flags=0x%08x\n", __func__, sfs, sfs->flags); - - return (sfs); -} - -/* - * Take a reference to a sfsync instance. - * - * This has to map 1:1 to free calls coming in via sf_ext_free(), - * so typically this will be referenced once for each mbuf allocated. - */ -void -sf_sync_ref(struct sendfile_sync *sfs) -{ - - if (sfs == NULL) - return; - - mtx_lock(&sfs->mtx); - sfs->count++; - mtx_unlock(&sfs->mtx); -} - -void -sf_sync_syscall_wait(struct sendfile_sync *sfs) -{ - - if (sfs == NULL) - return; - - KASSERT(mtx_owned(&sfs->mtx), ("%s: sfs=%p: not locked but should be!", - __func__, - sfs)); - - /* - * If we're not requested to wait during the syscall, - * don't bother waiting. - */ - if ((sfs->flags & SF_SYNC) == 0) - goto out; - - /* - * This is a bit suboptimal and confusing, so bear with me. - * - * Ideally sf_sync_syscall_wait() will wait until - * all pending mbuf transmit operations are done. - * This means that when sendfile becomes async, it'll - * run in the background and will transition from - * RUNNING to COMPLETED when it's finished acquiring - * new things to send. Then, when the mbufs finish - * sending, COMPLETED + sfs->count == 0 is enough to - * know that no further work is being done. - * - * So, we will sleep on both RUNNING and COMPLETED. - * It's up to the (in progress) async sendfile loop - * to transition the sf_sync from RUNNING to - * COMPLETED so the wakeup above will actually - * do the cv_signal() call. - */ - if (sfs->state != SF_STATE_COMPLETED && sfs->state != SF_STATE_RUNNING) - goto out; - - if (sfs->count != 0) - cv_wait(&sfs->cv, &sfs->mtx); - KASSERT(sfs->count == 0, ("sendfile sync still busy")); - -out: - return; -} - -/* - * Free an sf_sync if it's appropriate to. - */ -void -sf_sync_free(struct sendfile_sync *sfs) -{ - - if (sfs == NULL) - return; - - SFSYNC_DPRINTF("%s: (%lld) sfs=%p; called; state=%d, flags=0x%08x " - "count=%d\n", - __func__, - (long long) curthread->td_tid, - sfs, - sfs->state, - sfs->flags, - sfs->count); - - mtx_lock(&sfs->mtx); - - /* - * We keep the sf_sync around if the state is active, - * we are doing kqueue notification and we have active - * knotes. - * - * If the caller wants to free us right this second it - * should transition this to the freeing state. - * - * So, complain loudly if they break this rule. - */ - if (sfs->state != SF_STATE_FREEING) { - printf("%s: (%llu) sfs=%p; not freeing; let's wait!\n", - __func__, - (unsigned long long) curthread->td_tid, - sfs); mtx_unlock(&sfs->mtx); - return; - } - - KASSERT(sfs->count == 0, ("sendfile sync still busy")); - cv_destroy(&sfs->cv); - /* - * This doesn't call knlist_detach() on each knote; it just frees - * the entire list. - */ - knlist_delete(&sfs->klist, curthread, 1); - mtx_destroy(&sfs->mtx); - SFSYNC_DPRINTF("%s: (%llu) sfs=%p; freeing\n", - __func__, - (unsigned long long) curthread->td_tid, - sfs); - uma_zfree(zone_sfsync, sfs); -} - -/* - * Setup a sf_sync to post a kqueue notification when things are complete. - */ -int -sf_sync_kqueue_setup(struct sendfile_sync *sfs, struct sf_hdtr_kq *sfkq) -{ - struct kevent kev; - int error; - - sfs->flags |= SF_KQUEUE; - - /* Check the flags are valid */ - if ((sfkq->kq_flags & ~(EV_CLEAR | EV_DISPATCH | EV_ONESHOT)) != 0) - return (EINVAL); - - SFSYNC_DPRINTF("%s: sfs=%p: kqfd=%d, flags=0x%08x, ident=%p, udata=%p\n", - __func__, - sfs, - sfkq->kq_fd, - sfkq->kq_flags, - (void *) sfkq->kq_ident, - (void *) sfkq->kq_udata); - - /* Setup and register a knote on the given kqfd. */ - kev.ident = (uintptr_t) sfkq->kq_ident; - kev.filter = EVFILT_SENDFILE; - kev.flags = EV_ADD | EV_ENABLE | EV_FLAG1 | sfkq->kq_flags; - kev.data = (intptr_t) sfs; - kev.udata = sfkq->kq_udata; - - error = kqfd_register(sfkq->kq_fd, &kev, curthread, 1); - if (error != 0) { - SFSYNC_DPRINTF("%s: returned %d\n", __func__, error); - } - return (error); -} - -void -sf_sync_set_state(struct sendfile_sync *sfs, sendfile_sync_state_t state, - int islocked) -{ - sendfile_sync_state_t old_state; - - if (! islocked) - mtx_lock(&sfs->mtx); - - /* - * Update our current state. - */ - old_state = sfs->state; - sfs->state = state; - SFSYNC_DPRINTF("%s: (%llu) sfs=%p; going from %d to %d\n", - __func__, - (unsigned long long) curthread->td_tid, - sfs, - old_state, - state); - - /* - * If we're transitioning from RUNNING to COMPLETED and the count is - * zero, then post the knote. The caller may have completed the - * send before we updated the state to COMPLETED and we need to make - * sure this is communicated. - */ - if (old_state == SF_STATE_RUNNING - && state == SF_STATE_COMPLETED - && sfs->count == 0 - && sfs->flags & SF_KQUEUE) { - SFSYNC_DPRINTF("%s: (%llu) sfs=%p: triggering knote!\n", - __func__, - (unsigned long long) curthread->td_tid, - sfs); - KNOTE_LOCKED(&sfs->klist, 1); } - - if (! islocked) - mtx_unlock(&sfs->mtx); -} - -/* - * Set the retval/errno for the given transaction. - * - * This will eventually/ideally be used when the KNOTE is fired off - * to signify the completion of this transaction. - * - * The sfsync lock should be held before entering this function. - */ -void -sf_sync_set_retval(struct sendfile_sync *sfs, off_t retval, int xerrno) -{ - - KASSERT(mtx_owned(&sfs->mtx), ("%s: sfs=%p: not locked but should be!", - __func__, - sfs)); - - SFSYNC_DPRINTF("%s: (%llu) sfs=%p: errno=%d, retval=%jd\n", - __func__, - (unsigned long long) curthread->td_tid, - sfs, - xerrno, - (intmax_t) retval); - - sfs->retval = retval; - sfs->xerrno = xerrno; } /* @@ -2402,174 +1930,15 @@ sys_sendfile(struct thread *td, struct s return (do_sendfile(td, uap, 0)); } -int -_do_sendfile(struct thread *td, int src_fd, int sock_fd, int flags, - int compat, off_t offset, size_t nbytes, off_t *sbytes, - struct uio *hdr_uio, - struct uio *trl_uio, struct sf_hdtr_kq *hdtr_kq) -{ - cap_rights_t rights; - struct sendfile_sync *sfs = NULL; - struct file *fp; - int error; - int do_kqueue = 0; - int do_free = 0; - - AUDIT_ARG_FD(src_fd); - - if (hdtr_kq != NULL) - do_kqueue = 1; - - /* - * sendfile(2) can start at any offset within a file so we require - * CAP_READ+CAP_SEEK = CAP_PREAD. - */ - if ((error = fget_read(td, src_fd, - cap_rights_init(&rights, CAP_PREAD), &fp)) != 0) { - goto out; - } - - /* - * IF SF_KQUEUE is set but we haven't copied in anything for - * kqueue data, error out. - */ - if (flags & SF_KQUEUE && do_kqueue == 0) { - SFSYNC_DPRINTF("%s: SF_KQUEUE but no KQUEUE data!\n", __func__); - goto out; - } - - /* - * If we need to wait for completion, initialise the sfsync - * state here. - */ - if (flags & (SF_SYNC | SF_KQUEUE)) - sfs = sf_sync_alloc(flags & (SF_SYNC | SF_KQUEUE)); - - if (flags & SF_KQUEUE) { - error = sf_sync_kqueue_setup(sfs, hdtr_kq); - if (error) { - SFSYNC_DPRINTF("%s: (%llu) error; sfs=%p\n", - __func__, - (unsigned long long) curthread->td_tid, - sfs); - sf_sync_set_state(sfs, SF_STATE_FREEING, 0); - sf_sync_free(sfs); - goto out; - } - } - - /* - * Do the sendfile call. - * - * If this fails, it'll free the mbuf chain which will free up the - * sendfile_sync references. - */ - error = fo_sendfile(fp, sock_fd, hdr_uio, trl_uio, offset, - nbytes, sbytes, flags, compat ? SFK_COMPAT : 0, sfs, td); - - /* - * If the sendfile call succeeded, transition the sf_sync state - * to RUNNING, then COMPLETED. - * - * If the sendfile call failed, then the sendfile call may have - * actually sent some data first - so we check to see whether - * any data was sent. If some data was queued (ie, count > 0) - * then we can't call free; we have to wait until the partial - * transaction completes before we continue along. - * - * This has the side effect of firing off the knote - * if the refcount has hit zero by the time we get here. - */ - if (sfs != NULL) { - mtx_lock(&sfs->mtx); - if (error == 0 || sfs->count > 0) { - /* - * When it's time to do async sendfile, the transition - * to RUNNING signifies that we're actually actively - * adding and completing mbufs. When the last disk - * buffer is read (ie, when we're not doing any - * further read IO and all subsequent stuff is mbuf - * transmissions) we'll transition to COMPLETED - * and when the final mbuf is freed, the completion - * will be signaled. - */ - sf_sync_set_state(sfs, SF_STATE_RUNNING, 1); - - /* - * Set the retval before we signal completed. - * If we do it the other way around then transitioning to - * COMPLETED may post the knote before you set the return - * status! - * - * XXX for now, errno is always 0, as we don't post - * knotes if sendfile failed. Maybe that'll change later. - */ - sf_sync_set_retval(sfs, *sbytes, error); - - /* - * And now transition to completed, which will kick off - * the knote if required. - */ - sf_sync_set_state(sfs, SF_STATE_COMPLETED, 1); - } else { - /* - * Error isn't zero, sfs_count is zero, so we - * won't have some other thing to wake things up. - * Thus free. - */ - sf_sync_set_state(sfs, SF_STATE_FREEING, 1); - do_free = 1; - } - - /* - * Next - wait if appropriate. - */ - sf_sync_syscall_wait(sfs); - - /* - * If we're not doing kqueue notifications, we can - * transition this immediately to the freeing state. - */ - if ((sfs->flags & SF_KQUEUE) == 0) { - sf_sync_set_state(sfs, SF_STATE_FREEING, 1); - do_free = 1; - } - - mtx_unlock(&sfs->mtx); - } - - /* - * If do_free is set, free here. - * - * If we're doing no-kqueue notification and it's just sleep notification, - * we also do free; it's the only chance we have. - */ - if (sfs != NULL && do_free == 1) { - sf_sync_free(sfs); - } - - /* - * XXX Should we wait until the send has completed before freeing the source - * file handle? It's the previous behaviour, sure, but is it required? - * We've wired down the page references after all. - */ - fdrop(fp, td); - -out: - /* Return error */ - return (error); -} - - static int do_sendfile(struct thread *td, struct sendfile_args *uap, int compat) { struct sf_hdtr hdtr; - struct sf_hdtr_kq hdtr_kq; struct uio *hdr_uio, *trl_uio; - int error; + struct file *fp; + cap_rights_t rights; off_t sbytes; - int do_kqueue = 0; + int error; /* * File offset must be positive. If it goes beyond EOF @@ -2585,38 +1954,37 @@ do_sendfile(struct thread *td, struct se if (error != 0) goto out; if (hdtr.headers != NULL) { - error = copyinuio(hdtr.headers, hdtr.hdr_cnt, &hdr_uio); + error = copyinuio(hdtr.headers, hdtr.hdr_cnt, + &hdr_uio); if (error != 0) goto out; } if (hdtr.trailers != NULL) { - error = copyinuio(hdtr.trailers, hdtr.trl_cnt, &trl_uio); + error = copyinuio(hdtr.trailers, hdtr.trl_cnt, + &trl_uio); if (error != 0) goto out; } + } - /* - * If SF_KQUEUE is set, then we need to also copy in - * the kqueue data after the normal hdtr set and set - * do_kqueue=1. - */ - if (uap->flags & SF_KQUEUE) { - error = copyin(((char *) uap->hdtr) + sizeof(hdtr), - &hdtr_kq, - sizeof(hdtr_kq)); - if (error != 0) - goto out; - do_kqueue = 1; - } + AUDIT_ARG_FD(src_fd); + + /* + * sendfile(2) can start at any offset within a file so we require + * CAP_READ+CAP_SEEK = CAP_PREAD. + */ + if ((error = fget_read(td, uap->fd, + cap_rights_init(&rights, CAP_PREAD), &fp)) != 0) { + goto out; } - /* Call sendfile */ - error = _do_sendfile(td, uap->fd, uap->s, uap->flags, compat, - uap->offset, uap->nbytes, &sbytes, hdr_uio, trl_uio, &hdtr_kq); + error = fo_sendfile(fp, uap->s, hdr_uio, trl_uio, uap->offset, + uap->nbytes, &sbytes, uap->flags, compat ? SFK_COMPAT : 0, td); + fdrop(fp, td); - if (uap->sbytes != NULL) { + if (uap->sbytes != NULL) copyout(&sbytes, uap->sbytes, sizeof(off_t)); - } + out: free(hdr_uio, M_IOV); free(trl_uio, M_IOV); @@ -2903,7 +2271,7 @@ kern_sendfile_getsock(struct thread *td, int vn_sendfile(struct file *fp, int sockfd, struct uio *hdr_uio, struct uio *trl_uio, off_t offset, size_t nbytes, off_t *sent, int flags, - int kflags, struct sendfile_sync *sfs, struct thread *td) + int kflags, struct thread *td) { struct file *sock_fp; struct vnode *vp; @@ -2912,6 +2280,7 @@ vn_sendfile(struct file *fp, int sockfd, struct mbuf *m, *mh, *mhtail; struct sf_buf *sf; struct shmfd *shmfd; + struct sendfile_sync *sfs; struct vattr va; off_t off, sbytes, rem, obj_size; int error, softerr, bsize, hdrlen; @@ -2919,6 +2288,7 @@ vn_sendfile(struct file *fp, int sockfd, obj = NULL; so = NULL; m = mh = NULL; + sfs = NULL; sbytes = 0; softerr = 0; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Nov 12 09:24:39 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 164065B1; Wed, 12 Nov 2014 09:24:39 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F32B8341; Wed, 12 Nov 2014 09:24:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAC9Oc0P060120; Wed, 12 Nov 2014 09:24:38 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAC9OWKv060083; Wed, 12 Nov 2014 09:24:32 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411120924.sAC9OWKv060083@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Wed, 12 Nov 2014 09:24:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274420 - in projects/sendfile: cddl/contrib/opensolaris/cmd/zfs contrib/libxo contrib/libxo/libxo contrib/libxo/tests/core contrib/libxo/tests/core/saved sys/arm/broadcom/bcm2835 sys/a... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2014 09:24:39 -0000 Author: glebius Date: Wed Nov 12 09:24:32 2014 New Revision: 274420 URL: https://svnweb.freebsd.org/changeset/base/274420 Log: Merge head r258543 through r274419. Modified: projects/sendfile/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/sendfile/contrib/libxo/README.md projects/sendfile/contrib/libxo/configure.ac projects/sendfile/contrib/libxo/libxo/libxo.c projects/sendfile/contrib/libxo/libxo/xoconfig.h projects/sendfile/contrib/libxo/libxo/xoversion.h projects/sendfile/contrib/libxo/tests/core/Makefile.am projects/sendfile/contrib/libxo/tests/core/saved/test_07.J.out projects/sendfile/contrib/libxo/tests/core/saved/test_07.JP.out projects/sendfile/contrib/libxo/tests/core/saved/test_07.X.out projects/sendfile/contrib/libxo/tests/core/saved/test_07.XP.out projects/sendfile/contrib/libxo/tests/core/test_07.c projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_bsc.c projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c projects/sendfile/sys/arm/freescale/imx/imx_iomux.c projects/sendfile/sys/boot/common/load_elf.c projects/sendfile/sys/cam/scsi/scsi_all.c projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c projects/sendfile/sys/dev/fdt/fdt_pinctrl.c projects/sendfile/sys/kern/uipc_syscalls.c projects/sendfile/usr.bin/mkimg/image.c projects/sendfile/usr.bin/w/w.c projects/sendfile/usr.sbin/i2c/i2c.c Directory Properties: projects/sendfile/ (props changed) projects/sendfile/cddl/ (props changed) projects/sendfile/cddl/contrib/opensolaris/ (props changed) projects/sendfile/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/sendfile/sys/ (props changed) projects/sendfile/sys/boot/ (props changed) projects/sendfile/usr.bin/mkimg/ (props changed) Modified: projects/sendfile/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- projects/sendfile/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Wed Nov 12 09:24:32 2014 (r274420) @@ -27,10 +27,11 @@ .\" Copyright (c) 2014, Joyent, Inc. All rights reserved. .\" Copyright (c) 2013, Steven Hartland .\" Copyright (c) 2014, Xin LI +.\" Copyright (c) 2014, The FreeBSD Foundation, All Rights Reserved. .\" .\" $FreeBSD$ .\" -.Dd November 10, 2014 +.Dd November 12, 2014 .Dt ZFS 8 .Os .Sh NAME @@ -1791,7 +1792,7 @@ descendent file systems. Recursively destroy all clones of these snapshots, including the clones, snapshots, and children. If this flag is specified, the -.Op fl d +.Fl d flag will have no effect. .It Fl n Do a dry-run ("No-op") deletion. No data will be deleted. This is useful in Modified: projects/sendfile/contrib/libxo/README.md ============================================================================== --- projects/sendfile/contrib/libxo/README.md Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/contrib/libxo/README.md Wed Nov 12 09:24:32 2014 (r274420) @@ -60,3 +60,5 @@ option: View the beautiful documentation at: http://juniper.github.io/libxo/libxo-manual.html + +[![Analytics](https://ga-beacon.appspot.com/UA-56056421-1/Juniper/libxo/Readme)](https://github.com/Juniper/libxo) Modified: projects/sendfile/contrib/libxo/configure.ac ============================================================================== --- projects/sendfile/contrib/libxo/configure.ac Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/contrib/libxo/configure.ac Wed Nov 12 09:24:32 2014 (r274420) @@ -12,7 +12,7 @@ # AC_PREREQ(2.2) -AC_INIT([libxo], [0.1.4], [phil@juniper.net]) +AC_INIT([libxo], [0.1.5], [phil@juniper.net]) AM_INIT_AUTOMAKE([-Wall -Werror foreign -Wno-portability]) # Support silent build rules. Requires at least automake-1.11. Modified: projects/sendfile/contrib/libxo/libxo/libxo.c ============================================================================== --- projects/sendfile/contrib/libxo/libxo/libxo.c Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/contrib/libxo/libxo/libxo.c Wed Nov 12 09:24:32 2014 (r274420) @@ -79,7 +79,7 @@ struct xo_handle_s { unsigned short xo_indent; /* Indent level (if pretty) */ unsigned short xo_indent_by; /* Indent amount (tab stop) */ xo_write_func_t xo_write; /* Write callback */ - xo_close_func_t xo_close; /* Clo;se callback */ + xo_close_func_t xo_close; /* Close callback */ xo_formatter_t xo_formatter; /* Custom formating function */ xo_checkpointer_t xo_checkpointer; /* Custom formating support function */ void *xo_opaque; /* Opaque data for write function */ @@ -1912,6 +1912,7 @@ xo_format_string (xo_handle_t *xop, xo_b xo_format_t *xfp) { static char null[] = "(null)"; + char *cp = NULL; wchar_t *wcp = NULL; int len, cols = 0, rc = 0; @@ -1922,16 +1923,33 @@ xo_format_string (xo_handle_t *xop, xo_b if (xo_check_conversion(xop, xfp->xf_enc, need_enc)) return 0; + len = xfp->xf_width[XF_WIDTH_SIZE]; + if (xfp->xf_enc == XF_ENC_WIDE) { wcp = va_arg(xop->xo_vap, wchar_t *); if (xfp->xf_skip) return 0; + /* + * Dont' deref NULL; use the traditional "(null)" instead + * of the more accurate "who's been a naughty boy, then?". + */ + if (wcp == NULL) { + cp = null; + len = sizeof(null) - 1; + } + } else { cp = va_arg(xop->xo_vap, char *); /* UTF-8 or native */ if (xfp->xf_skip) return 0; + /* Echo "Dont' deref NULL" logic */ + if (cp == NULL) { + cp = null; + len = sizeof(null) - 1; + } + /* * Optimize the most common case, which is "%s". We just * need to copy the complete string to the output buffer. @@ -1957,17 +1975,6 @@ xo_format_string (xo_handle_t *xop, xo_b } } - len = xfp->xf_width[XF_WIDTH_SIZE]; - - /* - * Dont' deref NULL; use the traditional "(null)" instead - * of the more accurate "who's been a naughty boy, then?". - */ - if (cp == NULL && wcp == NULL) { - cp = null; - len = sizeof(null) - 1; - } - cols = xo_format_string_direct(xop, xbp, flags, wcp, cp, len, xfp->xf_width[XF_WIDTH_MAX], need_enc, xfp->xf_enc); @@ -3859,7 +3866,7 @@ xo_close_list_h (xo_handle_t *xop, const rc = xo_printf(xop, "%s%*s]", pre_nl, xo_indent(xop), ""); xop->xo_stack[xop->xo_depth].xs_flags |= XSF_NOT_FIRST; - return 0; + return rc; } int Modified: projects/sendfile/contrib/libxo/libxo/xoconfig.h ============================================================================== --- projects/sendfile/contrib/libxo/libxo/xoconfig.h Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/contrib/libxo/libxo/xoconfig.h Wed Nov 12 09:24:32 2014 (r274420) @@ -158,7 +158,7 @@ #define PACKAGE_NAME "libxo" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "libxo 0.1.4" +#define PACKAGE_STRING "libxo 0.1.5" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "libxo" @@ -167,7 +167,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "0.1.4" +#define PACKAGE_VERSION "0.1.5" /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be @@ -181,7 +181,7 @@ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "0.1.4" +#define VERSION "0.1.5" /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ Modified: projects/sendfile/contrib/libxo/libxo/xoversion.h ============================================================================== --- projects/sendfile/contrib/libxo/libxo/xoversion.h Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/contrib/libxo/libxo/xoversion.h Wed Nov 12 09:24:32 2014 (r274420) @@ -18,7 +18,7 @@ /** * The version string */ -#define LIBXO_VERSION "0.1.4" +#define LIBXO_VERSION "0.1.5" /** * The version number Modified: projects/sendfile/contrib/libxo/tests/core/Makefile.am ============================================================================== --- projects/sendfile/contrib/libxo/tests/core/Makefile.am Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/contrib/libxo/tests/core/Makefile.am Wed Nov 12 09:24:32 2014 (r274420) @@ -30,7 +30,7 @@ test_07_test_SOURCES = test_07.c # TEST_CASES := $(shell cd ${srcdir} ; echo *.c ) -bin_PROGRAMS = ${TEST_CASES:.c=.test} +noinst_PROGRAMS = ${TEST_CASES:.c=.test} LDADD = \ ${top_builddir}/libxo/libxo.la @@ -66,7 +66,7 @@ valgrind: TEST_ONE = \ LIBXO_OPTIONS=:W$$fmt \ - ${CHECKER} $$base.test ${TEST_OPTS} \ + ${CHECKER} ./$$base.test ${TEST_OPTS} \ > out/$$base.$$fmt.out 2> out/$$base.$$fmt.err ; \ ${DIFF} -Nu ${srcdir}/saved/$$base.$$fmt.out out/$$base.$$fmt.out ${S2O} ; \ ${DIFF} -Nu ${srcdir}/saved/$$base.$$fmt.err out/$$base.$$fmt.err ${S2O} Modified: projects/sendfile/contrib/libxo/tests/core/saved/test_07.J.out ============================================================================== --- projects/sendfile/contrib/libxo/tests/core/saved/test_07.J.out Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/contrib/libxo/tests/core/saved/test_07.J.out Wed Nov 12 09:24:32 2014 (r274420) @@ -1,2 +1,2 @@ -{"employees": {"v1":"Ī³Ī¹Ī³Ī½į½½ĻƒĪŗĪµĪ¹Ī½","v2":"į½¦ į¼„Ī½Ī“ĻĪµĻ‚ į¾æĪ‘ĪøĪ·Ī½Ī±įæ–ĪæĪ¹","columns":28,"columns":2,"v1":"įƒįƒ®įƒšįƒįƒ•įƒ” įƒ’įƒįƒ˜įƒįƒ įƒįƒ— įƒ įƒ”įƒ’įƒ˜įƒ”įƒ¢įƒ įƒįƒŖįƒ˜įƒ","v2":"Unicode-įƒ˜įƒ” įƒ›įƒ”įƒįƒ—įƒ” įƒ”įƒįƒ”įƒ įƒ—įƒįƒØįƒįƒ įƒ˜įƒ”įƒ","columns":55, "employee": ["columns":0, {"first-name":"Jim","nic-name":"\"įƒ įƒ”įƒ’įƒ¢\"","last-name":"įƒ’įƒ—įƒ®įƒįƒ•įƒ— įƒįƒ®","department":431,"percent-time":90,"columns":23,"benefits":"full"}, {"first-name":"Terry","nic-name":"\"Ī³Ī¹Ī³Ī½į½½ĻƒĪŗĪµĪ¹Ī½į½¦ į¼„Ī½Ī“ĻĪµĻ‚ į¾æĪ‘ĪøĪ·Ī½Ī±įæ–ĪæĪ¹282įƒįƒ®įƒšįƒįƒ•įƒ” įƒ’įƒįƒ˜įƒįƒ įƒįƒ— įƒ įƒ”įƒ’įƒ˜įƒ”įƒ¢įƒ įƒįƒŖįƒ˜įƒUnicode-įƒ˜įƒ” įƒ›įƒ”įƒįƒ—įƒ” įƒ”įƒįƒ”įƒ įƒ—įƒįƒØįƒįƒ įƒ˜įƒ”įƒ550Jim"įƒ įƒ”įƒ’įƒ¢"įƒ’įƒ—įƒ®įƒįƒ•įƒ— įƒįƒ®4319023fullTerry"<one"ĪŸį½Ļ‡į½¶ Ļ„Ī±į½Ļ„į½° Ļ€Ī±Ļį½·ĻƒĻ„Ī±Ļ„Ī±į½· Ī¼ĪæĪ¹ Jones6609047fullLeslie"Les"Patterson3416025fullAshley"Ash"Meter & Smith144040300123456789"0123456789"01234567890123456789014404049įƒįƒ®įƒšįƒ"įƒ’įƒįƒ˜įƒįƒ įƒ"įƒ”įƒįƒ”įƒ įƒ—įƒįƒØįƒįƒ įƒ˜įƒ”įƒ1239029full \ No newline at end of file +(null)Ī³Ī¹Ī³Ī½į½½ĻƒĪŗĪµĪ¹Ī½į½¦ į¼„Ī½Ī“ĻĪµĻ‚ į¾æĪ‘ĪøĪ·Ī½Ī±įæ–ĪæĪ¹282įƒįƒ®įƒšįƒįƒ•įƒ” įƒ’įƒįƒ˜įƒįƒ įƒįƒ— įƒ įƒ”įƒ’įƒ˜įƒ”įƒ¢įƒ įƒįƒŖįƒ˜įƒUnicode-įƒ˜įƒ” įƒ›įƒ”įƒįƒ—įƒ” įƒ”įƒįƒ”įƒ įƒ—įƒįƒØįƒįƒ įƒ˜įƒ”įƒ550Jim"įƒ įƒ”įƒ’įƒ¢"įƒ’įƒ—įƒ®įƒįƒ•įƒ— įƒįƒ®4319023fullTerry"<one"ĪŸį½Ļ‡į½¶ Ļ„Ī±į½Ļ„į½° Ļ€Ī±Ļį½·ĻƒĻ„Ī±Ļ„Ī±į½· Ī¼ĪæĪ¹ Jones6609047fullLeslie"Les "Patterson3416025fullAshley"Ash"Meter & Smith144040300123456789"0123456789"01234567890123456789014404049įƒįƒ®įƒšįƒ"įƒ’įƒįƒ˜įƒįƒ įƒ"įƒ”įƒįƒ”įƒ įƒ—įƒįƒØįƒįƒ įƒ˜įƒ”įƒ1239029full \ No newline at end of file Modified: projects/sendfile/contrib/libxo/tests/core/saved/test_07.XP.out ============================================================================== --- projects/sendfile/contrib/libxo/tests/core/saved/test_07.XP.out Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/contrib/libxo/tests/core/saved/test_07.XP.out Wed Nov 12 09:24:32 2014 (r274420) @@ -1,4 +1,7 @@ + + (null) + Ī³Ī¹Ī³Ī½į½½ĻƒĪŗĪµĪ¹Ī½ į½¦ į¼„Ī½Ī“ĻĪµĻ‚ į¾æĪ‘ĪøĪ·Ī½Ī±įæ–ĪæĪ¹ 28 Modified: projects/sendfile/contrib/libxo/tests/core/test_07.c ============================================================================== --- projects/sendfile/contrib/libxo/tests/core/test_07.c Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/contrib/libxo/tests/core/test_07.c Wed Nov 12 09:24:32 2014 (r274420) @@ -52,6 +52,12 @@ main (int argc, char **argv) xo_open_container("employees"); + xo_open_list("test"); + xo_open_instance("test"); + xo_emit("{ek:filename/%s}", NULL); + xo_close_instance("test"); + xo_close_list("test"); + rc = xo_emit("ĪŸį½Ļ‡į½¶ Ļ„Ī±į½Ļ„į½° Ļ€Ī±Ļį½·ĻƒĻ„Ī±Ļ„Ī±į½· Ī¼ĪæĪ¹ {:v1/%s}, {:v2/%s}\n", "Ī³Ī¹Ī³Ī½į½½ĻƒĪŗĪµĪ¹Ī½", "į½¦ į¼„Ī½Ī“ĻĪµĻ‚ į¾æĪ‘ĪøĪ·Ī½Ī±įæ–ĪæĪ¹"); rc = xo_emit("{:columns/%d}\n", rc); Modified: projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_bsc.c ============================================================================== --- projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_bsc.c Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_bsc.c Wed Nov 12 09:24:32 2014 (r274420) @@ -441,7 +441,7 @@ bcm_bsc_transfer(device_t dev, struct ii err = mtx_sleep(dev, &sc->sc_mtx, 0, "bsciow", hz); /* Check for errors. */ - if (err != 0 && (sc->sc_flags & BCM_I2C_ERROR)) + if (err == 0 && (sc->sc_flags & BCM_I2C_ERROR)) err = EIO; if (err != 0) break; Modified: projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c ============================================================================== --- projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c Wed Nov 12 09:24:32 2014 (r274420) @@ -84,10 +84,13 @@ __FBSDID("$FreeBSD$"); /* * Arasan HC seems to have problem with Data CRC on lower frequencies. * Use this tunable to cap initialization sequence frequency at higher - * value. Default is standard 400kHz + * value. Default is standard 400kHz. + * HS mode brings too many problems for most of cards, so disable HS mode + * until a better fix comes up. + * HS mode still can be enabled with the tunable. */ static int bcm2835_sdhci_min_freq = 400000; -static int bcm2835_sdhci_hs = 1; +static int bcm2835_sdhci_hs = 0; static int bcm2835_sdhci_pio_mode = 0; TUNABLE_INT("hw.bcm2835.sdhci.min_freq", &bcm2835_sdhci_min_freq); Modified: projects/sendfile/sys/arm/freescale/imx/imx_iomux.c ============================================================================== --- projects/sendfile/sys/arm/freescale/imx/imx_iomux.c Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/sys/arm/freescale/imx/imx_iomux.c Wed Nov 12 09:24:32 2014 (r274420) @@ -99,6 +99,10 @@ struct pincfg { uint32_t padconf_val; }; +#define PADCONF_NONE (1U << 31) /* Do not configure pad. */ +#define PADCONF_SION (1U << 30) /* Force SION bit in mux register. */ +#define PADMUX_SION (1U << 4) /* The SION bit in the mux register. */ + static inline uint32_t RD4(struct iomux_softc *sc, bus_size_t off) { @@ -120,6 +124,7 @@ iomux_configure_pins(device_t dev, phand struct pincfg *cfgtuples, *cfg; phandle_t cfgnode; int i, ntuples; + uint32_t sion; sc = device_get_softc(dev); cfgnode = OF_node_from_xref(cfgxref); @@ -130,9 +135,22 @@ iomux_configure_pins(device_t dev, phand if (ntuples == 0) return (0); /* Empty property is not an error. */ for (i = 0, cfg = cfgtuples; i < ntuples; i++, cfg++) { - WR4(sc, cfg->mux_reg, cfg->mux_val); - WR4(sc, cfg->input_reg, cfg->input_val); - WR4(sc, cfg->padconf_reg, cfg->padconf_val); + sion = (cfg->padconf_val & PADCONF_SION) ? PADMUX_SION : 0; + WR4(sc, cfg->mux_reg, cfg->mux_val | sion); + if (cfg->input_reg != 0) + WR4(sc, cfg->input_reg, cfg->input_val); + if ((cfg->padconf_val & PADCONF_NONE) == 0) + WR4(sc, cfg->padconf_reg, cfg->padconf_val); + if (bootverbose) { + char name[32]; + OF_getprop(cfgnode, "name", &name, sizeof(name)); + printf("%16s: muxreg 0x%04x muxval 0x%02x " + "inpreg 0x%04x inpval 0x%02x " + "padreg 0x%04x padval 0x%08x\n", + name, cfg->mux_reg, cfg->mux_val | sion, + cfg->input_reg, cfg->input_val, + cfg->padconf_reg, cfg->padconf_val); + } } free(cfgtuples, M_OFWPROP); return (0); Modified: projects/sendfile/sys/boot/common/load_elf.c ============================================================================== --- projects/sendfile/sys/boot/common/load_elf.c Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/sys/boot/common/load_elf.c Wed Nov 12 09:24:32 2014 (r274420) @@ -640,6 +640,14 @@ struct mod_metadata64 { u_int64_t md_cval; /* common string label */ }; #endif +#if defined(__amd64__) && __ELF_WORD_SIZE == 32 +struct mod_metadata32 { + int md_version; /* structure version MDTV_* */ + int md_type; /* type of entry MDT_* */ + u_int32_t md_data; /* specific data */ + u_int32_t md_cval; /* common string label */ +}; +#endif int __elfN(parse_modmetadata)(struct preloaded_file *fp, elf_file_t ef) @@ -647,6 +655,8 @@ __elfN(parse_modmetadata)(struct preload struct mod_metadata md; #if (defined(__i386__) || defined(__powerpc__)) && __ELF_WORD_SIZE == 64 struct mod_metadata64 md64; +#elif defined(__amd64__) && __ELF_WORD_SIZE == 32 + struct mod_metadata32 md32; #endif struct mod_depend *mdepend; struct mod_version mver; @@ -682,6 +692,18 @@ __elfN(parse_modmetadata)(struct preload md.md_type = md64.md_type; md.md_cval = (const char *)(uintptr_t)md64.md_cval; md.md_data = (void *)(uintptr_t)md64.md_data; +#elif defined(__amd64__) && __ELF_WORD_SIZE == 32 + COPYOUT(v, &md32, sizeof(md32)); + error = __elfN(reloc_ptr)(fp, ef, v, &md32, sizeof(md32)); + if (error == EOPNOTSUPP) { + md32.md_cval += ef->off; + md32.md_data += ef->off; + } else if (error != 0) + return (error); + md.md_version = md32.md_version; + md.md_type = md32.md_type; + md.md_cval = (const char *)(uintptr_t)md32.md_cval; + md.md_data = (void *)(uintptr_t)md32.md_data; #else COPYOUT(v, &md, sizeof(md)); error = __elfN(reloc_ptr)(fp, ef, v, &md, sizeof(md)); Modified: projects/sendfile/sys/cam/scsi/scsi_all.c ============================================================================== --- projects/sendfile/sys/cam/scsi/scsi_all.c Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/sys/cam/scsi/scsi_all.c Wed Nov 12 09:24:32 2014 (r274420) @@ -1106,13 +1106,13 @@ static struct asc_table_entry asc_table[ { SST(0x04, 0x09, SS_RDEF, /* XXX TBD */ "Logical unit not ready, self-test in progress") }, /* DTLPWROMAEBKVF */ - { SST(0x04, 0x0A, SS_RDEF, /* XXX TBD */ + { SST(0x04, 0x0A, SS_TUR | SSQ_MANY | SSQ_DECREMENT_COUNT | ENXIO, "Logical unit not accessible, asymmetric access state transition")}, /* DTLPWROMAEBKVF */ - { SST(0x04, 0x0B, SS_RDEF, /* XXX TBD */ + { SST(0x04, 0x0B, SS_FATAL | ENXIO, "Logical unit not accessible, target port in standby state") }, /* DTLPWROMAEBKVF */ - { SST(0x04, 0x0C, SS_RDEF, /* XXX TBD */ + { SST(0x04, 0x0C, SS_FATAL | ENXIO, "Logical unit not accessible, target port in unavailable state") }, /* F */ { SST(0x04, 0x0D, SS_RDEF, /* XXX TBD */ Modified: projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c Wed Nov 12 09:24:32 2014 (r274420) @@ -1570,6 +1570,8 @@ freebsd32_do_sendfile(struct thread *td, struct sf_hdtr32 hdtr32; struct sf_hdtr hdtr; struct uio *hdr_uio, *trl_uio; + struct file *fp; + cap_rights_t rights; struct iovec32 *iov32; off_t offset, sbytes; int error; Modified: projects/sendfile/sys/dev/fdt/fdt_pinctrl.c ============================================================================== --- projects/sendfile/sys/dev/fdt/fdt_pinctrl.c Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/sys/dev/fdt/fdt_pinctrl.c Wed Nov 12 09:24:32 2014 (r274420) @@ -124,15 +124,14 @@ pinctrl_configure_children(device_t pinc pinctrl_configure_children(pinctrl, node); nconfigs = OF_getencprop_alloc(node, "pinctrl-0", sizeof(*configs), (void **)&configs); -#ifdef DEBUG - { + if (nconfigs <= 0) + continue; + if (bootverbose) { char name[32]; OF_getprop(node, "name", &name, sizeof(name)); - printf("%d items in pinctrl-0 for %s\n", nconfigs, name); + printf("Processing %d pin-config node(s) in pinctrl-0 for %s\n", + nconfigs, name); } -#endif - if (nconfigs <= 0) - continue; for (i = 0; i < nconfigs; i++) { if (OF_device_from_xref(configs[i]) == pinctrl) FDT_PINCTRL_CONFIGURE(pinctrl, configs[i]); Modified: projects/sendfile/sys/kern/uipc_syscalls.c ============================================================================== --- projects/sendfile/sys/kern/uipc_syscalls.c Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/sys/kern/uipc_syscalls.c Wed Nov 12 09:24:32 2014 (r274420) @@ -1967,7 +1967,7 @@ do_sendfile(struct thread *td, struct se } } - AUDIT_ARG_FD(src_fd); + AUDIT_ARG_FD(uap->fd); /* * sendfile(2) can start at any offset within a file so we require Modified: projects/sendfile/usr.bin/mkimg/image.c ============================================================================== --- projects/sendfile/usr.bin/mkimg/image.c Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/usr.bin/mkimg/image.c Wed Nov 12 09:24:32 2014 (r274420) @@ -405,16 +405,18 @@ image_copyin_mapped(lba_t blk, int fd, u error = 0; while (!error && cur < end) { hole = lseek(fd, cur, SEEK_HOLE); + if (hole == -1) + hole = end; data = lseek(fd, cur, SEEK_DATA); + if (data == -1) + data = end; /* * Treat the entire file as data if sparse files * are not supported by the underlying file system. */ - if (hole == -1 && data == -1) { + if (hole == end && data == end) data = cur; - hole = end; - } if (cur == hole && data > hole) { hole = pos; Modified: projects/sendfile/usr.bin/w/w.c ============================================================================== --- projects/sendfile/usr.bin/w/w.c Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/usr.bin/w/w.c Wed Nov 12 09:24:32 2014 (r274420) @@ -509,7 +509,7 @@ pr_header(time_t *nowp, int nusers) } /* Print number of users logged in to system */ - xo_emit(" {:users/%d} user%s", nusers, nusers == 1 ? "" : "s"); + xo_emit(" {:users/%d} {N:user%s}", nusers, nusers == 1 ? "" : "s"); /* * Print 1, 5, and 15 minute load averages. Modified: projects/sendfile/usr.sbin/i2c/i2c.c ============================================================================== --- projects/sendfile/usr.sbin/i2c/i2c.c Wed Nov 12 08:38:38 2014 (r274419) +++ projects/sendfile/usr.sbin/i2c/i2c.c Wed Nov 12 09:24:32 2014 (r274420) @@ -142,6 +142,7 @@ scan_bus(struct iiccmd cmd, char *dev, i if (tokens == NULL) { fprintf(stderr, "Error allocating tokens " "buffer\n"); + error = -1; goto out; } index = skip_get_tokens(skip_addr, tokens, @@ -150,6 +151,7 @@ scan_bus(struct iiccmd cmd, char *dev, i if (!no_range && (addr_range.start > addr_range.end)) { fprintf(stderr, "Skip address out of range\n"); + error = -1; goto out; } } @@ -409,8 +411,10 @@ i2c_read(char *dev, struct options i2c_o if (i2c_opt.mode == I2C_MODE_STOP_START) { cmd.slave = i2c_opt.addr; error = ioctl(fd, I2CSTOP, &cmd); - if (error == -1) + if (error == -1) { + err_msg = "error sending stop condtion\n"; goto err2; + } } } cmd.slave = i2c_opt.addr; @@ -432,8 +436,10 @@ i2c_read(char *dev, struct options i2c_o } } error = ioctl(fd, I2CSTOP, &cmd); - if (error == -1) + if (error == -1) { + err_msg = "error sending stop condtion\n"; goto err2; + } for (i = 0; i < i2c_opt.count; i++) { error = read(fd, &i2c_buf[i], 1); From owner-svn-src-projects@FreeBSD.ORG Wed Nov 12 10:03:11 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DD5B4DF9; Wed, 12 Nov 2014 10:03:11 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C9F8399A; Wed, 12 Nov 2014 10:03:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sACA3BNk078936; Wed, 12 Nov 2014 10:03:11 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sACA3B3M078934; Wed, 12 Nov 2014 10:03:11 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411121003.sACA3B3M078934@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Wed, 12 Nov 2014 10:03:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274422 - in projects/sendfile/sys: kern sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2014 10:03:12 -0000 Author: glebius Date: Wed Nov 12 10:03:10 2014 New Revision: 274422 URL: https://svnweb.freebsd.org/changeset/base/274422 Log: Sync with head @274421. Modified: projects/sendfile/sys/kern/sys_socket.c projects/sendfile/sys/sys/sockbuf.h Directory Properties: projects/sendfile/ (props changed) projects/sendfile/sys/ (props changed) Modified: projects/sendfile/sys/kern/sys_socket.c ============================================================================== --- projects/sendfile/sys/kern/sys_socket.c Wed Nov 12 09:57:15 2014 (r274421) +++ projects/sendfile/sys/kern/sys_socket.c Wed Nov 12 10:03:10 2014 (r274422) @@ -185,7 +185,11 @@ soo_ioctl(struct file *fp, u_long cmd, v case FIONSPACE: /* Unlocked read. */ - *(int *)data = sbspace(&so->so_snd); + if ((so->so_snd.sb_hiwat < sbused(&so->so_snd)) || + (so->so_snd.sb_mbmax < so->so_snd.sb_mbcnt)) + *(int *)data = 0; + else + *(int *)data = sbspace(&so->so_snd); break; case FIOSETOWN: Modified: projects/sendfile/sys/sys/sockbuf.h ============================================================================== --- projects/sendfile/sys/sys/sockbuf.h Wed Nov 12 09:57:15 2014 (r274421) +++ projects/sendfile/sys/sys/sockbuf.h Wed Nov 12 10:03:10 2014 (r274422) @@ -177,6 +177,10 @@ void sbfree(struct sockbuf *, struct mbu void sbmtrim(struct sockbuf *, struct mbuf *, int); int sbready(struct sockbuf *, struct mbuf *, int); +/* + * Return how much data is available to be taken out of socket + * buffer right now. + */ static inline u_int sbavail(struct sockbuf *sb) { @@ -187,6 +191,10 @@ sbavail(struct sockbuf *sb) return (sb->sb_acc); } +/* + * Return how much data sits there in the socket buffer + * It might be that some data is not yet ready to be read. + */ static inline u_int sbused(struct sockbuf *sb) { From owner-svn-src-projects@FreeBSD.ORG Wed Nov 12 10:32:22 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2BBCD61A; Wed, 12 Nov 2014 10:32:22 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 18654C4D; Wed, 12 Nov 2014 10:32:22 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sACAWL03093182; Wed, 12 Nov 2014 10:32:21 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sACAWL3U093181; Wed, 12 Nov 2014 10:32:21 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411121032.sACAWL3U093181@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Wed, 12 Nov 2014 10:32:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274424 - projects/sendfile/sys/sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2014 10:32:22 -0000 Author: glebius Date: Wed Nov 12 10:32:21 2014 New Revision: 274424 URL: https://svnweb.freebsd.org/changeset/base/274424 Log: Give back values to SF_NODISKIO and SF_MNOWAIT, since equal values can actually prevent applications from compiling. Modified: projects/sendfile/sys/sys/socket.h Modified: projects/sendfile/sys/sys/socket.h ============================================================================== --- projects/sendfile/sys/sys/socket.h Wed Nov 12 10:17:46 2014 (r274423) +++ projects/sendfile/sys/sys/socket.h Wed Nov 12 10:32:21 2014 (r274424) @@ -590,8 +590,8 @@ struct sf_hdtr { * them in header to keep applications compilable. We will try to * avoid to reuse their bits as long as possible. */ -#define SF_NODISKIO 0x00000000 /* was 0x00000001 */ -#define SF_MNOWAIT 0x00000000 /* was 0x00000002 */ +#define SF_NODISKIO 0x00000001 /* unused */ +#define SF_MNOWAIT 0x00000002 /* unused */ #define SF_SYNC 0x00000004 #define SF_NOCACHE 0x00000010 #define SF_FLAGS(rh, flags) (((rh) << 16) | (flags)) From owner-svn-src-projects@FreeBSD.ORG Wed Nov 12 10:54:34 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 16AC68BE; Wed, 12 Nov 2014 10:54:34 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F3353E35; Wed, 12 Nov 2014 10:54:33 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sACAsXCI002783; Wed, 12 Nov 2014 10:54:33 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sACAsNAc002731; Wed, 12 Nov 2014 10:54:23 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201411121054.sACAsNAc002731@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Wed, 12 Nov 2014 10:54:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274425 - in projects/arm64: . crypto/openssl crypto/openssl/apps crypto/openssl/crypto crypto/openssl/crypto/asn1 crypto/openssl/crypto/bio crypto/openssl/crypto/bn crypto/openssl/cryp... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2014 10:54:34 -0000 Author: andrew Date: Wed Nov 12 10:54:22 2014 New Revision: 274425 URL: https://svnweb.freebsd.org/changeset/base/274425 Log: MFH to r269727, r269728 contains pmap changes so this is an easy point to merge to. Sponsored by: The FreeBSD Foundation Added: projects/arm64/crypto/openssl/doc/ssl/SSL_CTX_set_tlsext_ticket_key_cb.pod - copied unchanged from r269727, head/crypto/openssl/doc/ssl/SSL_CTX_set_tlsext_ticket_key_cb.pod projects/arm64/crypto/openssl/ssl/ssl_utst.c - copied unchanged from r269727, head/crypto/openssl/ssl/ssl_utst.c projects/arm64/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 - copied unchanged from r269727, head/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 Deleted: projects/arm64/crypto/openssl/crypto/pkcs7/bio_ber.c projects/arm64/crypto/openssl/crypto/pkcs7/dec.c projects/arm64/crypto/openssl/crypto/pkcs7/des.pem projects/arm64/crypto/openssl/crypto/pkcs7/doc projects/arm64/crypto/openssl/crypto/pkcs7/enc.c projects/arm64/crypto/openssl/crypto/pkcs7/es1.pem projects/arm64/crypto/openssl/crypto/pkcs7/example.c projects/arm64/crypto/openssl/crypto/pkcs7/example.h projects/arm64/crypto/openssl/crypto/pkcs7/info.pem projects/arm64/crypto/openssl/crypto/pkcs7/infokey.pem projects/arm64/crypto/openssl/crypto/pkcs7/p7/ projects/arm64/crypto/openssl/crypto/pkcs7/server.pem projects/arm64/crypto/openssl/crypto/pkcs7/sign.c projects/arm64/crypto/openssl/crypto/pkcs7/t/ projects/arm64/crypto/openssl/crypto/pkcs7/verify.c Modified: projects/arm64/Makefile.inc1 projects/arm64/crypto/openssl/CHANGES projects/arm64/crypto/openssl/Configure projects/arm64/crypto/openssl/FAQ projects/arm64/crypto/openssl/Makefile projects/arm64/crypto/openssl/NEWS projects/arm64/crypto/openssl/README projects/arm64/crypto/openssl/apps/apps.c projects/arm64/crypto/openssl/apps/ca.c projects/arm64/crypto/openssl/apps/ciphers.c projects/arm64/crypto/openssl/apps/crl2p7.c projects/arm64/crypto/openssl/apps/enc.c projects/arm64/crypto/openssl/apps/ocsp.c projects/arm64/crypto/openssl/apps/progs.h projects/arm64/crypto/openssl/apps/progs.pl projects/arm64/crypto/openssl/apps/s_client.c projects/arm64/crypto/openssl/apps/s_server.c projects/arm64/crypto/openssl/crypto/asn1/a_object.c projects/arm64/crypto/openssl/crypto/asn1/a_utctm.c projects/arm64/crypto/openssl/crypto/asn1/ameth_lib.c projects/arm64/crypto/openssl/crypto/asn1/asn1_lib.c projects/arm64/crypto/openssl/crypto/asn1/asn_mime.c projects/arm64/crypto/openssl/crypto/asn1/asn_pack.c projects/arm64/crypto/openssl/crypto/asn1/bio_asn1.c projects/arm64/crypto/openssl/crypto/asn1/charmap.pl projects/arm64/crypto/openssl/crypto/asn1/evp_asn1.c projects/arm64/crypto/openssl/crypto/asn1/t_x509.c projects/arm64/crypto/openssl/crypto/asn1/tasn_enc.c projects/arm64/crypto/openssl/crypto/asn1/x_crl.c projects/arm64/crypto/openssl/crypto/bio/bio_lib.c projects/arm64/crypto/openssl/crypto/bn/bn_exp.c projects/arm64/crypto/openssl/crypto/bn/bn_lib.c projects/arm64/crypto/openssl/crypto/bn/bn_sqr.c projects/arm64/crypto/openssl/crypto/cms/cms_pwri.c projects/arm64/crypto/openssl/crypto/conf/conf_def.c projects/arm64/crypto/openssl/crypto/ec/ec_lib.c projects/arm64/crypto/openssl/crypto/ec/ecp_smpl.c projects/arm64/crypto/openssl/crypto/ec/ectest.c projects/arm64/crypto/openssl/crypto/evp/e_aes.c projects/arm64/crypto/openssl/crypto/evp/evp_pbe.c projects/arm64/crypto/openssl/crypto/idea/ideatest.c projects/arm64/crypto/openssl/crypto/objects/obj_dat.c projects/arm64/crypto/openssl/crypto/objects/obj_dat.h projects/arm64/crypto/openssl/crypto/objects/obj_dat.pl projects/arm64/crypto/openssl/crypto/ocsp/ocsp_ht.c projects/arm64/crypto/openssl/crypto/ocsp/ocsp_lib.c projects/arm64/crypto/openssl/crypto/opensslconf.h projects/arm64/crypto/openssl/crypto/opensslv.h projects/arm64/crypto/openssl/crypto/pem/pvkfmt.c projects/arm64/crypto/openssl/crypto/pkcs7/Makefile projects/arm64/crypto/openssl/crypto/rand/md_rand.c projects/arm64/crypto/openssl/crypto/rand/rand_lcl.h projects/arm64/crypto/openssl/crypto/rand/rand_lib.c projects/arm64/crypto/openssl/crypto/rand/randfile.c projects/arm64/crypto/openssl/crypto/rsa/rsa_eay.c projects/arm64/crypto/openssl/crypto/srp/srp_lib.c projects/arm64/crypto/openssl/crypto/ui/ui_lib.c projects/arm64/crypto/openssl/doc/apps/asn1parse.pod projects/arm64/crypto/openssl/doc/apps/ca.pod projects/arm64/crypto/openssl/doc/apps/ciphers.pod projects/arm64/crypto/openssl/doc/apps/cms.pod projects/arm64/crypto/openssl/doc/apps/crl.pod projects/arm64/crypto/openssl/doc/apps/dhparam.pod projects/arm64/crypto/openssl/doc/apps/dsa.pod projects/arm64/crypto/openssl/doc/apps/ecparam.pod projects/arm64/crypto/openssl/doc/apps/gendsa.pod projects/arm64/crypto/openssl/doc/apps/genrsa.pod projects/arm64/crypto/openssl/doc/apps/rsa.pod projects/arm64/crypto/openssl/doc/apps/s_client.pod projects/arm64/crypto/openssl/doc/apps/s_server.pod projects/arm64/crypto/openssl/doc/apps/verify.pod projects/arm64/crypto/openssl/doc/apps/x509.pod projects/arm64/crypto/openssl/doc/apps/x509v3_config.pod projects/arm64/crypto/openssl/doc/crypto/ASN1_generate_nconf.pod projects/arm64/crypto/openssl/doc/crypto/BIO_f_base64.pod projects/arm64/crypto/openssl/doc/crypto/BIO_push.pod projects/arm64/crypto/openssl/doc/crypto/ERR_get_error.pod projects/arm64/crypto/openssl/doc/crypto/EVP_DigestInit.pod projects/arm64/crypto/openssl/doc/crypto/EVP_EncryptInit.pod projects/arm64/crypto/openssl/doc/crypto/EVP_SignInit.pod projects/arm64/crypto/openssl/doc/crypto/RSA_set_method.pod projects/arm64/crypto/openssl/doc/crypto/RSA_sign.pod projects/arm64/crypto/openssl/doc/crypto/des.pod projects/arm64/crypto/openssl/doc/crypto/err.pod projects/arm64/crypto/openssl/doc/crypto/pem.pod projects/arm64/crypto/openssl/doc/crypto/ui.pod projects/arm64/crypto/openssl/doc/fingerprints.txt projects/arm64/crypto/openssl/doc/ssl/SSL_CIPHER_get_name.pod projects/arm64/crypto/openssl/doc/ssl/SSL_CTX_add_extra_chain_cert.pod projects/arm64/crypto/openssl/doc/ssl/SSL_CTX_add_session.pod projects/arm64/crypto/openssl/doc/ssl/SSL_CTX_new.pod projects/arm64/crypto/openssl/doc/ssl/SSL_CTX_set_cipher_list.pod projects/arm64/crypto/openssl/doc/ssl/SSL_CTX_set_client_CA_list.pod projects/arm64/crypto/openssl/doc/ssl/SSL_CTX_set_client_cert_cb.pod projects/arm64/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod projects/arm64/crypto/openssl/doc/ssl/SSL_CTX_set_tmp_dh_callback.pod projects/arm64/crypto/openssl/doc/ssl/SSL_CTX_set_verify.pod projects/arm64/crypto/openssl/doc/ssl/SSL_get_version.pod projects/arm64/crypto/openssl/doc/ssl/d2i_SSL_SESSION.pod projects/arm64/crypto/openssl/ssl/Makefile projects/arm64/crypto/openssl/ssl/d1_both.c projects/arm64/crypto/openssl/ssl/d1_clnt.c projects/arm64/crypto/openssl/ssl/d1_srvr.c projects/arm64/crypto/openssl/ssl/heartbeat_test.c projects/arm64/crypto/openssl/ssl/s23_lib.c projects/arm64/crypto/openssl/ssl/s23_srvr.c projects/arm64/crypto/openssl/ssl/s2_lib.c projects/arm64/crypto/openssl/ssl/s3_clnt.c projects/arm64/crypto/openssl/ssl/s3_enc.c projects/arm64/crypto/openssl/ssl/s3_lib.c projects/arm64/crypto/openssl/ssl/s3_pkt.c projects/arm64/crypto/openssl/ssl/s3_srvr.c projects/arm64/crypto/openssl/ssl/ssl.h projects/arm64/crypto/openssl/ssl/ssl_ciph.c projects/arm64/crypto/openssl/ssl/ssl_err.c projects/arm64/crypto/openssl/ssl/ssl_lib.c projects/arm64/crypto/openssl/ssl/ssl_locl.h projects/arm64/crypto/openssl/ssl/ssl_stat.c projects/arm64/crypto/openssl/ssl/t1_enc.c projects/arm64/crypto/openssl/ssl/t1_lib.c projects/arm64/crypto/openssl/ssl/tls_srp.c projects/arm64/crypto/openssl/util/mk1mf.pl projects/arm64/crypto/openssl/util/mkdef.pl projects/arm64/crypto/openssl/util/mkerr.pl projects/arm64/crypto/openssl/util/ssleay.num projects/arm64/lib/libc/net/linkaddr.c projects/arm64/secure/lib/libcrypto/Makefile.inc projects/arm64/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 projects/arm64/secure/lib/libcrypto/man/ASN1_STRING_length.3 projects/arm64/secure/lib/libcrypto/man/ASN1_STRING_new.3 projects/arm64/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 projects/arm64/secure/lib/libcrypto/man/ASN1_generate_nconf.3 projects/arm64/secure/lib/libcrypto/man/BIO_ctrl.3 projects/arm64/secure/lib/libcrypto/man/BIO_f_base64.3 projects/arm64/secure/lib/libcrypto/man/BIO_f_buffer.3 projects/arm64/secure/lib/libcrypto/man/BIO_f_cipher.3 projects/arm64/secure/lib/libcrypto/man/BIO_f_md.3 projects/arm64/secure/lib/libcrypto/man/BIO_f_null.3 projects/arm64/secure/lib/libcrypto/man/BIO_f_ssl.3 projects/arm64/secure/lib/libcrypto/man/BIO_find_type.3 projects/arm64/secure/lib/libcrypto/man/BIO_new.3 projects/arm64/secure/lib/libcrypto/man/BIO_new_CMS.3 projects/arm64/secure/lib/libcrypto/man/BIO_push.3 projects/arm64/secure/lib/libcrypto/man/BIO_read.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_accept.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_bio.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_connect.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_fd.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_file.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_mem.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_null.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_socket.3 projects/arm64/secure/lib/libcrypto/man/BIO_set_callback.3 projects/arm64/secure/lib/libcrypto/man/BIO_should_retry.3 projects/arm64/secure/lib/libcrypto/man/BN_BLINDING_new.3 projects/arm64/secure/lib/libcrypto/man/BN_CTX_new.3 projects/arm64/secure/lib/libcrypto/man/BN_CTX_start.3 projects/arm64/secure/lib/libcrypto/man/BN_add.3 projects/arm64/secure/lib/libcrypto/man/BN_add_word.3 projects/arm64/secure/lib/libcrypto/man/BN_bn2bin.3 projects/arm64/secure/lib/libcrypto/man/BN_cmp.3 projects/arm64/secure/lib/libcrypto/man/BN_copy.3 projects/arm64/secure/lib/libcrypto/man/BN_generate_prime.3 projects/arm64/secure/lib/libcrypto/man/BN_mod_inverse.3 projects/arm64/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 projects/arm64/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 projects/arm64/secure/lib/libcrypto/man/BN_new.3 projects/arm64/secure/lib/libcrypto/man/BN_num_bytes.3 projects/arm64/secure/lib/libcrypto/man/BN_rand.3 projects/arm64/secure/lib/libcrypto/man/BN_set_bit.3 projects/arm64/secure/lib/libcrypto/man/BN_swap.3 projects/arm64/secure/lib/libcrypto/man/BN_zero.3 projects/arm64/secure/lib/libcrypto/man/CMS_add0_cert.3 projects/arm64/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 projects/arm64/secure/lib/libcrypto/man/CMS_compress.3 projects/arm64/secure/lib/libcrypto/man/CMS_decrypt.3 projects/arm64/secure/lib/libcrypto/man/CMS_encrypt.3 projects/arm64/secure/lib/libcrypto/man/CMS_final.3 projects/arm64/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 projects/arm64/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 projects/arm64/secure/lib/libcrypto/man/CMS_get0_type.3 projects/arm64/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 projects/arm64/secure/lib/libcrypto/man/CMS_sign.3 projects/arm64/secure/lib/libcrypto/man/CMS_sign_add1_signer.3 projects/arm64/secure/lib/libcrypto/man/CMS_sign_receipt.3 projects/arm64/secure/lib/libcrypto/man/CMS_uncompress.3 projects/arm64/secure/lib/libcrypto/man/CMS_verify.3 projects/arm64/secure/lib/libcrypto/man/CMS_verify_receipt.3 projects/arm64/secure/lib/libcrypto/man/CONF_modules_free.3 projects/arm64/secure/lib/libcrypto/man/CONF_modules_load_file.3 projects/arm64/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 projects/arm64/secure/lib/libcrypto/man/DH_generate_key.3 projects/arm64/secure/lib/libcrypto/man/DH_generate_parameters.3 projects/arm64/secure/lib/libcrypto/man/DH_get_ex_new_index.3 projects/arm64/secure/lib/libcrypto/man/DH_new.3 projects/arm64/secure/lib/libcrypto/man/DH_set_method.3 projects/arm64/secure/lib/libcrypto/man/DH_size.3 projects/arm64/secure/lib/libcrypto/man/DSA_SIG_new.3 projects/arm64/secure/lib/libcrypto/man/DSA_do_sign.3 projects/arm64/secure/lib/libcrypto/man/DSA_dup_DH.3 projects/arm64/secure/lib/libcrypto/man/DSA_generate_key.3 projects/arm64/secure/lib/libcrypto/man/DSA_generate_parameters.3 projects/arm64/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 projects/arm64/secure/lib/libcrypto/man/DSA_new.3 projects/arm64/secure/lib/libcrypto/man/DSA_set_method.3 projects/arm64/secure/lib/libcrypto/man/DSA_sign.3 projects/arm64/secure/lib/libcrypto/man/DSA_size.3 projects/arm64/secure/lib/libcrypto/man/ERR_GET_LIB.3 projects/arm64/secure/lib/libcrypto/man/ERR_clear_error.3 projects/arm64/secure/lib/libcrypto/man/ERR_error_string.3 projects/arm64/secure/lib/libcrypto/man/ERR_get_error.3 projects/arm64/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 projects/arm64/secure/lib/libcrypto/man/ERR_load_strings.3 projects/arm64/secure/lib/libcrypto/man/ERR_print_errors.3 projects/arm64/secure/lib/libcrypto/man/ERR_put_error.3 projects/arm64/secure/lib/libcrypto/man/ERR_remove_state.3 projects/arm64/secure/lib/libcrypto/man/ERR_set_mark.3 projects/arm64/secure/lib/libcrypto/man/EVP_BytesToKey.3 projects/arm64/secure/lib/libcrypto/man/EVP_DigestInit.3 projects/arm64/secure/lib/libcrypto/man/EVP_DigestSignInit.3 projects/arm64/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 projects/arm64/secure/lib/libcrypto/man/EVP_EncryptInit.3 projects/arm64/secure/lib/libcrypto/man/EVP_OpenInit.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_derive.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_new.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_sign.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_verify.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 projects/arm64/secure/lib/libcrypto/man/EVP_SealInit.3 projects/arm64/secure/lib/libcrypto/man/EVP_SignInit.3 projects/arm64/secure/lib/libcrypto/man/EVP_VerifyInit.3 projects/arm64/secure/lib/libcrypto/man/OBJ_nid2obj.3 projects/arm64/secure/lib/libcrypto/man/OPENSSL_Applink.3 projects/arm64/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 projects/arm64/secure/lib/libcrypto/man/OPENSSL_config.3 projects/arm64/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 projects/arm64/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 projects/arm64/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 projects/arm64/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 projects/arm64/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 projects/arm64/secure/lib/libcrypto/man/PKCS12_create.3 projects/arm64/secure/lib/libcrypto/man/PKCS12_parse.3 projects/arm64/secure/lib/libcrypto/man/PKCS7_decrypt.3 projects/arm64/secure/lib/libcrypto/man/PKCS7_encrypt.3 projects/arm64/secure/lib/libcrypto/man/PKCS7_sign.3 projects/arm64/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 projects/arm64/secure/lib/libcrypto/man/PKCS7_verify.3 projects/arm64/secure/lib/libcrypto/man/RAND_add.3 projects/arm64/secure/lib/libcrypto/man/RAND_bytes.3 projects/arm64/secure/lib/libcrypto/man/RAND_cleanup.3 projects/arm64/secure/lib/libcrypto/man/RAND_egd.3 projects/arm64/secure/lib/libcrypto/man/RAND_load_file.3 projects/arm64/secure/lib/libcrypto/man/RAND_set_rand_method.3 projects/arm64/secure/lib/libcrypto/man/RSA_blinding_on.3 projects/arm64/secure/lib/libcrypto/man/RSA_check_key.3 projects/arm64/secure/lib/libcrypto/man/RSA_generate_key.3 projects/arm64/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 projects/arm64/secure/lib/libcrypto/man/RSA_new.3 projects/arm64/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 projects/arm64/secure/lib/libcrypto/man/RSA_print.3 projects/arm64/secure/lib/libcrypto/man/RSA_private_encrypt.3 projects/arm64/secure/lib/libcrypto/man/RSA_public_encrypt.3 projects/arm64/secure/lib/libcrypto/man/RSA_set_method.3 projects/arm64/secure/lib/libcrypto/man/RSA_sign.3 projects/arm64/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 projects/arm64/secure/lib/libcrypto/man/RSA_size.3 projects/arm64/secure/lib/libcrypto/man/SMIME_read_CMS.3 projects/arm64/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 projects/arm64/secure/lib/libcrypto/man/SMIME_write_CMS.3 projects/arm64/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 projects/arm64/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 projects/arm64/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 projects/arm64/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 projects/arm64/secure/lib/libcrypto/man/X509_NAME_print_ex.3 projects/arm64/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 projects/arm64/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 projects/arm64/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 projects/arm64/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 projects/arm64/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 projects/arm64/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 projects/arm64/secure/lib/libcrypto/man/X509_new.3 projects/arm64/secure/lib/libcrypto/man/X509_verify_cert.3 projects/arm64/secure/lib/libcrypto/man/bio.3 projects/arm64/secure/lib/libcrypto/man/blowfish.3 projects/arm64/secure/lib/libcrypto/man/bn.3 projects/arm64/secure/lib/libcrypto/man/bn_internal.3 projects/arm64/secure/lib/libcrypto/man/buffer.3 projects/arm64/secure/lib/libcrypto/man/crypto.3 projects/arm64/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 projects/arm64/secure/lib/libcrypto/man/d2i_DHparams.3 projects/arm64/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 projects/arm64/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 projects/arm64/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 projects/arm64/secure/lib/libcrypto/man/d2i_X509.3 projects/arm64/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 projects/arm64/secure/lib/libcrypto/man/d2i_X509_CRL.3 projects/arm64/secure/lib/libcrypto/man/d2i_X509_NAME.3 projects/arm64/secure/lib/libcrypto/man/d2i_X509_REQ.3 projects/arm64/secure/lib/libcrypto/man/d2i_X509_SIG.3 projects/arm64/secure/lib/libcrypto/man/des.3 projects/arm64/secure/lib/libcrypto/man/dh.3 projects/arm64/secure/lib/libcrypto/man/dsa.3 projects/arm64/secure/lib/libcrypto/man/ecdsa.3 projects/arm64/secure/lib/libcrypto/man/engine.3 projects/arm64/secure/lib/libcrypto/man/err.3 projects/arm64/secure/lib/libcrypto/man/evp.3 projects/arm64/secure/lib/libcrypto/man/hmac.3 projects/arm64/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 projects/arm64/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 projects/arm64/secure/lib/libcrypto/man/lh_stats.3 projects/arm64/secure/lib/libcrypto/man/lhash.3 projects/arm64/secure/lib/libcrypto/man/md5.3 projects/arm64/secure/lib/libcrypto/man/mdc2.3 projects/arm64/secure/lib/libcrypto/man/pem.3 projects/arm64/secure/lib/libcrypto/man/rand.3 projects/arm64/secure/lib/libcrypto/man/rc4.3 projects/arm64/secure/lib/libcrypto/man/ripemd.3 projects/arm64/secure/lib/libcrypto/man/rsa.3 projects/arm64/secure/lib/libcrypto/man/sha.3 projects/arm64/secure/lib/libcrypto/man/threads.3 projects/arm64/secure/lib/libcrypto/man/ui.3 projects/arm64/secure/lib/libcrypto/man/ui_compat.3 projects/arm64/secure/lib/libcrypto/man/x509.3 projects/arm64/secure/lib/libssl/Makefile.man projects/arm64/secure/lib/libssl/man/SSL_CIPHER_get_name.3 projects/arm64/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_add_session.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_ctrl.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_free.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_new.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_sess_number.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_sessions.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_mode.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_options.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_timeout.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_verify.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_use_certificate.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 projects/arm64/secure/lib/libssl/man/SSL_SESSION_free.3 projects/arm64/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 projects/arm64/secure/lib/libssl/man/SSL_SESSION_get_time.3 projects/arm64/secure/lib/libssl/man/SSL_accept.3 projects/arm64/secure/lib/libssl/man/SSL_alert_type_string.3 projects/arm64/secure/lib/libssl/man/SSL_clear.3 projects/arm64/secure/lib/libssl/man/SSL_connect.3 projects/arm64/secure/lib/libssl/man/SSL_do_handshake.3 projects/arm64/secure/lib/libssl/man/SSL_free.3 projects/arm64/secure/lib/libssl/man/SSL_get_SSL_CTX.3 projects/arm64/secure/lib/libssl/man/SSL_get_ciphers.3 projects/arm64/secure/lib/libssl/man/SSL_get_client_CA_list.3 projects/arm64/secure/lib/libssl/man/SSL_get_current_cipher.3 projects/arm64/secure/lib/libssl/man/SSL_get_default_timeout.3 projects/arm64/secure/lib/libssl/man/SSL_get_error.3 projects/arm64/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 projects/arm64/secure/lib/libssl/man/SSL_get_ex_new_index.3 projects/arm64/secure/lib/libssl/man/SSL_get_fd.3 projects/arm64/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 projects/arm64/secure/lib/libssl/man/SSL_get_peer_certificate.3 projects/arm64/secure/lib/libssl/man/SSL_get_psk_identity.3 projects/arm64/secure/lib/libssl/man/SSL_get_rbio.3 projects/arm64/secure/lib/libssl/man/SSL_get_session.3 projects/arm64/secure/lib/libssl/man/SSL_get_verify_result.3 projects/arm64/secure/lib/libssl/man/SSL_get_version.3 projects/arm64/secure/lib/libssl/man/SSL_library_init.3 projects/arm64/secure/lib/libssl/man/SSL_load_client_CA_file.3 projects/arm64/secure/lib/libssl/man/SSL_new.3 projects/arm64/secure/lib/libssl/man/SSL_pending.3 projects/arm64/secure/lib/libssl/man/SSL_read.3 projects/arm64/secure/lib/libssl/man/SSL_rstate_string.3 projects/arm64/secure/lib/libssl/man/SSL_session_reused.3 projects/arm64/secure/lib/libssl/man/SSL_set_bio.3 projects/arm64/secure/lib/libssl/man/SSL_set_connect_state.3 projects/arm64/secure/lib/libssl/man/SSL_set_fd.3 projects/arm64/secure/lib/libssl/man/SSL_set_session.3 projects/arm64/secure/lib/libssl/man/SSL_set_shutdown.3 projects/arm64/secure/lib/libssl/man/SSL_set_verify_result.3 projects/arm64/secure/lib/libssl/man/SSL_shutdown.3 projects/arm64/secure/lib/libssl/man/SSL_state_string.3 projects/arm64/secure/lib/libssl/man/SSL_want.3 projects/arm64/secure/lib/libssl/man/SSL_write.3 projects/arm64/secure/lib/libssl/man/d2i_SSL_SESSION.3 projects/arm64/secure/lib/libssl/man/ssl.3 projects/arm64/secure/usr.bin/openssl/man/CA.pl.1 projects/arm64/secure/usr.bin/openssl/man/asn1parse.1 projects/arm64/secure/usr.bin/openssl/man/ca.1 projects/arm64/secure/usr.bin/openssl/man/ciphers.1 projects/arm64/secure/usr.bin/openssl/man/cms.1 projects/arm64/secure/usr.bin/openssl/man/crl.1 projects/arm64/secure/usr.bin/openssl/man/crl2pkcs7.1 projects/arm64/secure/usr.bin/openssl/man/dgst.1 projects/arm64/secure/usr.bin/openssl/man/dhparam.1 projects/arm64/secure/usr.bin/openssl/man/dsa.1 projects/arm64/secure/usr.bin/openssl/man/dsaparam.1 projects/arm64/secure/usr.bin/openssl/man/ec.1 projects/arm64/secure/usr.bin/openssl/man/ecparam.1 projects/arm64/secure/usr.bin/openssl/man/enc.1 projects/arm64/secure/usr.bin/openssl/man/errstr.1 projects/arm64/secure/usr.bin/openssl/man/gendsa.1 projects/arm64/secure/usr.bin/openssl/man/genpkey.1 projects/arm64/secure/usr.bin/openssl/man/genrsa.1 projects/arm64/secure/usr.bin/openssl/man/nseq.1 projects/arm64/secure/usr.bin/openssl/man/ocsp.1 projects/arm64/secure/usr.bin/openssl/man/openssl.1 projects/arm64/secure/usr.bin/openssl/man/passwd.1 projects/arm64/secure/usr.bin/openssl/man/pkcs12.1 projects/arm64/secure/usr.bin/openssl/man/pkcs7.1 projects/arm64/secure/usr.bin/openssl/man/pkcs8.1 projects/arm64/secure/usr.bin/openssl/man/pkey.1 projects/arm64/secure/usr.bin/openssl/man/pkeyparam.1 projects/arm64/secure/usr.bin/openssl/man/pkeyutl.1 projects/arm64/secure/usr.bin/openssl/man/rand.1 projects/arm64/secure/usr.bin/openssl/man/req.1 projects/arm64/secure/usr.bin/openssl/man/rsa.1 projects/arm64/secure/usr.bin/openssl/man/rsautl.1 projects/arm64/secure/usr.bin/openssl/man/s_client.1 projects/arm64/secure/usr.bin/openssl/man/s_server.1 projects/arm64/secure/usr.bin/openssl/man/s_time.1 projects/arm64/secure/usr.bin/openssl/man/sess_id.1 projects/arm64/secure/usr.bin/openssl/man/smime.1 projects/arm64/secure/usr.bin/openssl/man/speed.1 projects/arm64/secure/usr.bin/openssl/man/spkac.1 projects/arm64/secure/usr.bin/openssl/man/ts.1 projects/arm64/secure/usr.bin/openssl/man/tsget.1 projects/arm64/secure/usr.bin/openssl/man/verify.1 projects/arm64/secure/usr.bin/openssl/man/version.1 projects/arm64/secure/usr.bin/openssl/man/x509.1 projects/arm64/secure/usr.bin/openssl/man/x509v3_config.1 projects/arm64/sys/amd64/vmm/vmm_instruction_emul.c projects/arm64/sys/arm/freescale/imx/imx6_ccmreg.h projects/arm64/sys/arm/samsung/exynos/chrome_ec.c projects/arm64/sys/arm/samsung/exynos/chrome_ec_spi.c projects/arm64/sys/arm/samsung/exynos/chrome_kb.c projects/arm64/sys/arm/samsung/exynos/exynos5_combiner.c projects/arm64/sys/arm/samsung/exynos/exynos5_ehci.c projects/arm64/sys/arm/samsung/exynos/exynos5_fimd.c projects/arm64/sys/arm/samsung/exynos/exynos5_i2c.c projects/arm64/sys/arm/samsung/exynos/exynos5_machdep.c projects/arm64/sys/arm/samsung/exynos/exynos5_mct.c projects/arm64/sys/arm/samsung/exynos/exynos5_pad.c projects/arm64/sys/arm/samsung/exynos/exynos5_pmu.c projects/arm64/sys/arm/samsung/exynos/exynos5_spi.c projects/arm64/sys/arm/samsung/exynos/exynos5_usb_phy.c projects/arm64/sys/arm/samsung/exynos/exynos5_xhci.c projects/arm64/sys/cam/scsi/scsi_all.c projects/arm64/sys/conf/Makefile.arm projects/arm64/sys/dev/aic7xxx/aic79xx_pci.c projects/arm64/sys/dev/amr/amr.c projects/arm64/sys/dev/an/if_an.c projects/arm64/sys/dev/ata/chipsets/ata-promise.c projects/arm64/sys/dev/ath/if_ath.c projects/arm64/sys/dev/esp/ncr53c9x.c projects/arm64/sys/dev/fb/creator_vt.c projects/arm64/sys/dev/oce/oce_mbox.c projects/arm64/sys/dev/usb/gadget/g_audio.c projects/arm64/sys/dev/vt/hw/efifb/efifb.c projects/arm64/sys/dev/vt/hw/fb/vt_fb.c projects/arm64/sys/dev/vt/hw/fb/vt_fb.h projects/arm64/sys/dev/vt/hw/ofwfb/ofwfb.c projects/arm64/sys/dev/vt/hw/vga/vt_vga.c projects/arm64/sys/dev/vt/vt.h projects/arm64/sys/dev/vt/vt_core.c projects/arm64/sys/fs/nullfs/null_vnops.c projects/arm64/sys/geom/cache/g_cache.c projects/arm64/sys/geom/journal/g_journal.c projects/arm64/sys/kern/kern_time.c projects/arm64/sys/net/if_stf.c projects/arm64/sys/net/if_stf.h projects/arm64/sys/netinet/igmp.c projects/arm64/sys/netinet/igmp_var.h projects/arm64/sys/netinet/in_gif.c projects/arm64/sys/netinet/in_gif.h projects/arm64/sys/netinet/ip_carp.c projects/arm64/sys/netinet/ip_carp.h projects/arm64/sys/netinet/ip_divert.c projects/arm64/sys/netinet/ip_encap.c projects/arm64/sys/netinet/ip_encap.h projects/arm64/sys/netinet/ip_gre.c projects/arm64/sys/netinet/ip_gre.h projects/arm64/sys/netinet/ip_icmp.c projects/arm64/sys/netinet/ip_icmp.h projects/arm64/sys/netinet/ip_input.c projects/arm64/sys/netinet/ip_mroute.c projects/arm64/sys/netinet/ip_var.h projects/arm64/sys/netinet/pim_var.h projects/arm64/sys/netinet/raw_ip.c projects/arm64/sys/netinet/sctp_input.c projects/arm64/sys/netinet/sctp_var.h projects/arm64/sys/netinet/tcp_input.c projects/arm64/sys/netinet/tcp_var.h projects/arm64/sys/netinet/udp_usrreq.c projects/arm64/sys/netinet/udp_var.h projects/arm64/sys/netinet6/in6_gif.c projects/arm64/sys/netinet6/in6_proto.c projects/arm64/sys/netinet6/ip6_forward.c projects/arm64/sys/netinet6/ip6_input.c projects/arm64/sys/netinet6/ip6_mroute.c projects/arm64/sys/netinet6/ip6_var.h projects/arm64/sys/netinet6/ip6protosw.h projects/arm64/sys/netinet6/raw_ip6.c projects/arm64/sys/netipsec/ipsec.h projects/arm64/sys/netipsec/ipsec_input.c projects/arm64/sys/netipsec/xform.h projects/arm64/sys/netipsec/xform_ipip.c projects/arm64/sys/netpfil/pf/if_pfsync.c projects/arm64/sys/powerpc/aim/trap.c projects/arm64/sys/powerpc/ps3/ps3_syscons.c projects/arm64/sys/sys/protosw.h projects/arm64/sys/sys/syscallsubr.h projects/arm64/sys/ufs/ffs/ffs_softdep.c projects/arm64/sys/x86/isa/atpic.c projects/arm64/usr.bin/m4/misc.c projects/arm64/usr.bin/vmstat/vmstat.8 projects/arm64/usr.bin/vmstat/vmstat.c projects/arm64/usr.sbin/bhyve/acpi.c projects/arm64/usr.sbin/bhyve/mem.c projects/arm64/usr.sbin/bhyve/mem.h projects/arm64/usr.sbin/bhyve/pci_emul.c projects/arm64/usr.sbin/bhyve/pci_emul.h Directory Properties: projects/arm64/ (props changed) projects/arm64/crypto/openssl/ (props changed) projects/arm64/lib/libc/ (props changed) projects/arm64/sys/ (props changed) projects/arm64/sys/amd64/vmm/ (props changed) projects/arm64/sys/conf/ (props changed) projects/arm64/sys/dev/usb/controller/ (props changed) projects/arm64/usr.sbin/bhyve/ (props changed) Modified: projects/arm64/Makefile.inc1 ============================================================================== --- projects/arm64/Makefile.inc1 Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/Makefile.inc1 Wed Nov 12 10:54:22 2014 (r274425) @@ -1207,12 +1207,9 @@ _vtfontcvt= usr.bin/vtfontcvt _sed= usr.bin/sed .endif -.if ${BOOTSTRAPPING} < 900006 -_lex= usr.bin/lex -.endif - .if ${BOOTSTRAPPING} < 1000002 -_m4= usr.bin/m4 +_m4= lib/libohash \ + usr.bin/m4 .endif .if ${BOOTSTRAPPING} < 1000013 @@ -1233,6 +1230,10 @@ _nmtree= lib/libnetbsd \ _cat= bin/cat .endif +.if ${BOOTSTRAPPING} < 1000033 +_lex= usr.bin/lex +.endif + .if ${BOOTSTRAPPING} >= 900040 && ${BOOTSTRAPPING} < 900041 _awk= usr.bin/awk .endif Modified: projects/arm64/crypto/openssl/CHANGES ============================================================================== --- projects/arm64/crypto/openssl/CHANGES Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/CHANGES Wed Nov 12 10:54:22 2014 (r274425) @@ -2,6 +2,92 @@ OpenSSL CHANGES _______________ + Changes between 1.0.1h and 1.0.1i [6 Aug 2014] + + *) Fix SRP buffer overrun vulnerability. Invalid parameters passed to the + SRP code can be overrun an internal buffer. Add sanity check that + g, A, B < N to SRP code. + + Thanks to Sean Devlin and Watson Ladd of Cryptography Services, NCC + Group for discovering this issue. + (CVE-2014-3512) + [Steve Henson] + + *) A flaw in the OpenSSL SSL/TLS server code causes the server to negotiate + TLS 1.0 instead of higher protocol versions when the ClientHello message + is badly fragmented. This allows a man-in-the-middle attacker to force a + downgrade to TLS 1.0 even if both the server and the client support a + higher protocol version, by modifying the client's TLS records. + + Thanks to David Benjamin and Adam Langley (Google) for discovering and + researching this issue. + (CVE-2014-3511) + [David Benjamin] + + *) OpenSSL DTLS clients enabling anonymous (EC)DH ciphersuites are subject + to a denial of service attack. A malicious server can crash the client + with a null pointer dereference (read) by specifying an anonymous (EC)DH + ciphersuite and sending carefully crafted handshake messages. + + Thanks to Felix Gröbert (Google) for discovering and researching this + issue. + (CVE-2014-3510) + [Emilia Käsper] + + *) By sending carefully crafted DTLS packets an attacker could cause openssl + to leak memory. This can be exploited through a Denial of Service attack. + Thanks to Adam Langley for discovering and researching this issue. + (CVE-2014-3507) + [Adam Langley] + + *) An attacker can force openssl to consume large amounts of memory whilst + processing DTLS handshake messages. This can be exploited through a + Denial of Service attack. + Thanks to Adam Langley for discovering and researching this issue. + (CVE-2014-3506) + [Adam Langley] + + *) An attacker can force an error condition which causes openssl to crash + whilst processing DTLS packets due to memory being freed twice. This + can be exploited through a Denial of Service attack. + Thanks to Adam Langley and Wan-Teh Chang for discovering and researching + this issue. + (CVE-2014-3505) + [Adam Langley] + + *) If a multithreaded client connects to a malicious server using a resumed + session and the server sends an ec point format extension it could write + up to 255 bytes to freed memory. + + Thanks to Gabor Tyukasz (LogMeIn Inc) for discovering and researching this + issue. + (CVE-2014-3509) + [Gabor Tyukasz] + + *) A malicious server can crash an OpenSSL client with a null pointer + dereference (read) by specifying an SRP ciphersuite even though it was not + properly negotiated with the client. This can be exploited through a + Denial of Service attack. + + Thanks to Joonas Kuorilehto and Riku Hietamäki (Codenomicon) for + discovering and researching this issue. + (CVE-2014-5139) + [Steve Henson] + + *) A flaw in OBJ_obj2txt may cause pretty printing functions such as + X509_name_oneline, X509_name_print_ex et al. to leak some information + from the stack. Applications may be affected if they echo pretty printing + output to the attacker. + + Thanks to Ivan Fratric (Google) for discovering this issue. + (CVE-2014-3508) + [Emilia Käsper, and Steve Henson] + + *) Fix ec_GFp_simple_points_make_affine (thus, EC_POINTs_mul etc.) + for corner cases. (Certain input points at infinity could lead to + bogus results, with non-infinity inputs mapped to infinity too.) + [Bodo Moeller] + Changes between 1.0.1g and 1.0.1h [5 Jun 2014] *) Fix for SSL/TLS MITM flaw. An attacker using a carefully crafted Modified: projects/arm64/crypto/openssl/Configure ============================================================================== --- projects/arm64/crypto/openssl/Configure Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/Configure Wed Nov 12 10:54:22 2014 (r274425) @@ -720,6 +720,7 @@ my %disabled = ( # "what" => "co "sctp" => "default", "shared" => "default", "store" => "experimental", + "unit-test" => "default", "zlib" => "default", "zlib-dynamic" => "default" ); @@ -727,7 +728,7 @@ my @experimental = (); # This is what $depflags will look like with the above defaults # (we need this to see if we should advise the user to run "make depend"): -my $default_depflags = " -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE"; +my $default_depflags = " -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST"; # Explicit "no-..." options will be collected in %disabled along with the defaults. # To remove something from %disabled, use "enable-foo" (unless it's experimental). Modified: projects/arm64/crypto/openssl/FAQ ============================================================================== --- projects/arm64/crypto/openssl/FAQ Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/FAQ Wed Nov 12 10:54:22 2014 (r274425) @@ -113,11 +113,6 @@ that came with the version of OpenSSL yo documentation is included in each OpenSSL distribution under the docs directory. -For information on parts of libcrypto that are not yet documented, you -might want to read Ariel Glenn's documentation on SSLeay 0.9, OpenSSL's -predecessor, at . Much -of this still applies to OpenSSL. - There is some documentation about certificate extensions and PKCS#12 in doc/openssl.txt Modified: projects/arm64/crypto/openssl/Makefile ============================================================================== --- projects/arm64/crypto/openssl/Makefile Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/Makefile Wed Nov 12 10:54:22 2014 (r274425) @@ -4,7 +4,7 @@ ## Makefile for OpenSSL ## -VERSION=1.0.1h +VERSION=1.0.1i MAJOR=1 MINOR=0.1 SHLIB_VERSION_NUMBER=1.0.0 @@ -13,7 +13,7 @@ SHLIB_MAJOR=1 SHLIB_MINOR=0.0 SHLIB_EXT= PLATFORM=dist -OPTIONS= no-ec_nistp_64_gcc_128 no-gmp no-jpake no-krb5 no-md2 no-rc5 no-rfc3779 no-sctp no-shared no-store no-zlib no-zlib-dynamic static-engine +OPTIONS= no-ec_nistp_64_gcc_128 no-gmp no-jpake no-krb5 no-md2 no-rc5 no-rfc3779 no-sctp no-shared no-store no-unit-test no-zlib no-zlib-dynamic static-engine CONFIGURE_ARGS=dist SHLIB_TARGET= @@ -61,7 +61,7 @@ OPENSSLDIR=/usr/local/ssl CC= cc CFLAG= -O -DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE +DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST PEX_LIBS= EX_LIBS= EXE_EXT= Modified: projects/arm64/crypto/openssl/NEWS ============================================================================== --- projects/arm64/crypto/openssl/NEWS Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/NEWS Wed Nov 12 10:54:22 2014 (r274425) @@ -5,10 +5,23 @@ This file gives a brief overview of the major changes between each OpenSSL release. For more details please read the CHANGES file. + Major changes between OpenSSL 1.0.1h and OpenSSL 1.0.1i [6 Aug 2014] + + o Fix for CVE-2014-3512 + o Fix for CVE-2014-3511 + o Fix for CVE-2014-3510 + o Fix for CVE-2014-3507 + o Fix for CVE-2014-3506 + o Fix for CVE-2014-3505 + o Fix for CVE-2014-3509 + o Fix for CVE-2014-5139 + o Fix for CVE-2014-3508 + Major changes between OpenSSL 1.0.1g and OpenSSL 1.0.1h [5 Jun 2014] o Fix for CVE-2014-0224 o Fix for CVE-2014-0221 + o Fix for CVE-2014-0198 o Fix for CVE-2014-0195 o Fix for CVE-2014-3470 o Fix for CVE-2010-5298 Modified: projects/arm64/crypto/openssl/README ============================================================================== --- projects/arm64/crypto/openssl/README Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/README Wed Nov 12 10:54:22 2014 (r274425) @@ -1,5 +1,5 @@ - OpenSSL 1.0.1h 5 Jun 2014 + OpenSSL 1.0.1i 6 Aug 2014 Copyright (c) 1998-2011 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson Modified: projects/arm64/crypto/openssl/apps/apps.c ============================================================================== --- projects/arm64/crypto/openssl/apps/apps.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/apps/apps.c Wed Nov 12 10:54:22 2014 (r274425) @@ -390,6 +390,8 @@ int chopup_args(ARGS *arg, char *buf, in { arg->count=20; arg->data=(char **)OPENSSL_malloc(sizeof(char *)*arg->count); + if (arg->data == NULL) + return 0; } for (i=0; icount; i++) arg->data[i]=NULL; @@ -1542,6 +1544,8 @@ char *make_config_name() len=strlen(t)+strlen(OPENSSL_CONF)+2; p=OPENSSL_malloc(len); + if (p == NULL) + return NULL; BUF_strlcpy(p,t,len); #ifndef OPENSSL_SYS_VMS BUF_strlcat(p,"/",len); Modified: projects/arm64/crypto/openssl/apps/ca.c ============================================================================== --- projects/arm64/crypto/openssl/apps/ca.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/apps/ca.c Wed Nov 12 10:54:22 2014 (r274425) @@ -1620,12 +1620,14 @@ static int certify(X509 **xret, char *in { ok=0; BIO_printf(bio_err,"Signature verification problems....\n"); + ERR_print_errors(bio_err); goto err; } if (i == 0) { ok=0; BIO_printf(bio_err,"Signature did not match the certificate request\n"); + ERR_print_errors(bio_err); goto err; } else @@ -2777,6 +2779,9 @@ char *make_revocation_str(int rev_type, revtm = X509_gmtime_adj(NULL, 0); + if (!revtm) + return NULL; + i = revtm->length + 1; if (reason) i += strlen(reason) + 1; Modified: projects/arm64/crypto/openssl/apps/ciphers.c ============================================================================== --- projects/arm64/crypto/openssl/apps/ciphers.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/apps/ciphers.c Wed Nov 12 10:54:22 2014 (r274425) @@ -96,13 +96,7 @@ int MAIN(int argc, char **argv) char buf[512]; BIO *STDout=NULL; -#if !defined(OPENSSL_NO_SSL2) && !defined(OPENSSL_NO_SSL3) meth=SSLv23_server_method(); -#elif !defined(OPENSSL_NO_SSL3) - meth=SSLv3_server_method(); -#elif !defined(OPENSSL_NO_SSL2) - meth=SSLv2_server_method(); -#endif apps_startup(); Modified: projects/arm64/crypto/openssl/apps/crl2p7.c ============================================================================== --- projects/arm64/crypto/openssl/apps/crl2p7.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/apps/crl2p7.c Wed Nov 12 10:54:22 2014 (r274425) @@ -141,7 +141,13 @@ int MAIN(int argc, char **argv) { if (--argc < 1) goto bad; if(!certflst) certflst = sk_OPENSSL_STRING_new_null(); - sk_OPENSSL_STRING_push(certflst,*(++argv)); + if (!certflst) + goto end; + if (!sk_OPENSSL_STRING_push(certflst,*(++argv))) + { + sk_OPENSSL_STRING_free(certflst); + goto end; + } } else { Modified: projects/arm64/crypto/openssl/apps/enc.c ============================================================================== --- projects/arm64/crypto/openssl/apps/enc.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/apps/enc.c Wed Nov 12 10:54:22 2014 (r274425) @@ -67,7 +67,9 @@ #include #include #include +#ifndef OPENSSL_NO_COMP #include +#endif #include int set_hex(char *in,unsigned char *out,int size); @@ -337,6 +339,12 @@ bad: goto end; } + if (cipher && (EVP_CIPHER_mode(cipher) == EVP_CIPH_XTS_MODE)) + { + BIO_printf(bio_err, "Ciphers in XTS mode are not supported by the enc utility\n"); + goto end; + } + if (md && (dgst=EVP_get_digestbyname(md)) == NULL) { BIO_printf(bio_err,"%s is an unsupported message digest type\n",md); Modified: projects/arm64/crypto/openssl/apps/ocsp.c ============================================================================== --- projects/arm64/crypto/openssl/apps/ocsp.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/apps/ocsp.c Wed Nov 12 10:54:22 2014 (r274425) @@ -1419,7 +1419,7 @@ OCSP_RESPONSE *process_responder(BIO *er } resp = query_responder(err, cbio, path, headers, req, req_timeout); if (!resp) - BIO_printf(bio_err, "Error querying OCSP responsder\n"); + BIO_printf(bio_err, "Error querying OCSP responder\n"); end: if (cbio) BIO_free_all(cbio); Modified: projects/arm64/crypto/openssl/apps/progs.h ============================================================================== --- projects/arm64/crypto/openssl/apps/progs.h Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/apps/progs.h Wed Nov 12 10:54:22 2014 (r274425) @@ -107,16 +107,16 @@ FUNCTION functions[] = { {FUNC_TYPE_GENERAL,"gendsa",gendsa_main}, #endif {FUNC_TYPE_GENERAL,"genpkey",genpkey_main}, -#if !defined(OPENSSL_NO_SOCK) && !(defined(OPENSSL_NO_SSL2) && defined(OPENSSL_NO_SSL3)) +#if !defined(OPENSSL_NO_SOCK) {FUNC_TYPE_GENERAL,"s_server",s_server_main}, #endif -#if !defined(OPENSSL_NO_SOCK) && !(defined(OPENSSL_NO_SSL2) && defined(OPENSSL_NO_SSL3)) +#if !defined(OPENSSL_NO_SOCK) {FUNC_TYPE_GENERAL,"s_client",s_client_main}, #endif #ifndef OPENSSL_NO_SPEED {FUNC_TYPE_GENERAL,"speed",speed_main}, #endif -#if !defined(OPENSSL_NO_SOCK) && !(defined(OPENSSL_NO_SSL2) && defined(OPENSSL_NO_SSL3)) +#if !defined(OPENSSL_NO_SOCK) {FUNC_TYPE_GENERAL,"s_time",s_time_main}, #endif {FUNC_TYPE_GENERAL,"version",version_main}, @@ -126,7 +126,7 @@ FUNCTION functions[] = { #endif {FUNC_TYPE_GENERAL,"crl2pkcs7",crl2pkcs7_main}, {FUNC_TYPE_GENERAL,"sess_id",sess_id_main}, -#if !defined(OPENSSL_NO_SOCK) && !(defined(OPENSSL_NO_SSL2) && defined(OPENSSL_NO_SSL3)) +#if !defined(OPENSSL_NO_SOCK) {FUNC_TYPE_GENERAL,"ciphers",ciphers_main}, #endif {FUNC_TYPE_GENERAL,"nseq",nseq_main}, Modified: projects/arm64/crypto/openssl/apps/progs.pl ============================================================================== --- projects/arm64/crypto/openssl/apps/progs.pl Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/apps/progs.pl Wed Nov 12 10:54:22 2014 (r274425) @@ -32,7 +32,7 @@ foreach (@ARGV) push(@files,$_); $str="\t{FUNC_TYPE_GENERAL,\"$_\",${_}_main},\n"; if (($_ =~ /^s_/) || ($_ =~ /^ciphers$/)) - { print "#if !defined(OPENSSL_NO_SOCK) && !(defined(OPENSSL_NO_SSL2) && defined(OPENSSL_NO_SSL3))\n${str}#endif\n"; } + { print "#if !defined(OPENSSL_NO_SOCK)\n${str}#endif\n"; } elsif ( ($_ =~ /^speed$/)) { print "#ifndef OPENSSL_NO_SPEED\n${str}#endif\n"; } elsif ( ($_ =~ /^engine$/)) Modified: projects/arm64/crypto/openssl/apps/s_client.c ============================================================================== --- projects/arm64/crypto/openssl/apps/s_client.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/apps/s_client.c Wed Nov 12 10:54:22 2014 (r274425) @@ -290,6 +290,7 @@ static void sc_usage(void) BIO_printf(bio_err," -connect host:port - who to connect to (default is %s:%s)\n",SSL_HOST_NAME,PORT_STR); BIO_printf(bio_err," -verify arg - turn on peer certificate verification\n"); + BIO_printf(bio_err," -verify_return_error - return verification errors\n"); BIO_printf(bio_err," -cert arg - certificate file to use, PEM format assumed\n"); BIO_printf(bio_err," -certform arg - certificate format (PEM or DER) PEM default\n"); BIO_printf(bio_err," -key arg - Private key file to use, in cert file if\n"); @@ -300,6 +301,7 @@ static void sc_usage(void) BIO_printf(bio_err," -CAfile arg - PEM format file of CA's\n"); BIO_printf(bio_err," -reconnect - Drop and re-make the connection with the same Session-ID\n"); BIO_printf(bio_err," -pause - sleep(1) after each read(2) and write(2) system call\n"); + BIO_printf(bio_err," -prexit - print session information even on connection failure\n"); BIO_printf(bio_err," -showcerts - show all certificates in the chain\n"); BIO_printf(bio_err," -debug - extra output\n"); #ifdef WATT32 Modified: projects/arm64/crypto/openssl/apps/s_server.c ============================================================================== --- projects/arm64/crypto/openssl/apps/s_server.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/apps/s_server.c Wed Nov 12 10:54:22 2014 (r274425) @@ -463,6 +463,7 @@ static void sv_usage(void) BIO_printf(bio_err," -context arg - set session ID context\n"); BIO_printf(bio_err," -verify arg - turn on peer certificate verification\n"); BIO_printf(bio_err," -Verify arg - turn on peer certificate verification, must have a cert.\n"); + BIO_printf(bio_err," -verify_return_error - return verification errors\n"); BIO_printf(bio_err," -cert arg - certificate file to use\n"); BIO_printf(bio_err," (default is %s)\n",TEST_CERT); BIO_printf(bio_err," -crl_check - check the peer certificate has not been revoked by its CA.\n" \ @@ -534,6 +535,7 @@ static void sv_usage(void) BIO_printf(bio_err," -no_ecdhe - Disable ephemeral ECDH\n"); #endif BIO_printf(bio_err," -bugs - Turn on SSL bug compatibility\n"); + BIO_printf(bio_err," -hack - workaround for early Netscape code\n"); BIO_printf(bio_err," -www - Respond to a 'GET /' with a status page\n"); BIO_printf(bio_err," -WWW - Respond to a 'GET / HTTP/1.0' with file ./\n"); BIO_printf(bio_err," -HTTP - Respond to a 'GET / HTTP/1.0' with file ./\n"); @@ -562,6 +564,10 @@ static void sv_usage(void) #endif BIO_printf(bio_err," -keymatexport label - Export keying material using label\n"); BIO_printf(bio_err," -keymatexportlen len - Export len bytes of keying material (default 20)\n"); + BIO_printf(bio_err," -status - respond to certificate status requests\n"); + BIO_printf(bio_err," -status_verbose - enable status request verbose printout\n"); + BIO_printf(bio_err," -status_timeout n - status request responder timeout\n"); + BIO_printf(bio_err," -status_url URL - status request fallback URL\n"); } static int local_argc=0; @@ -739,7 +745,7 @@ static int MS_CALLBACK ssl_servername_cb if (servername) { - if (strcmp(servername,p->servername)) + if (strcasecmp(servername,p->servername)) return p->extension_error; if (ctx2) { @@ -1356,6 +1362,14 @@ bad: sv_usage(); goto end; } +#ifndef OPENSSL_NO_DTLS1 + if (www && socket_type == SOCK_DGRAM) + { + BIO_printf(bio_err, + "Can't use -HTTP, -www or -WWW with DTLS\n"); + goto end; + } +#endif #if !defined(OPENSSL_NO_JPAKE) && !defined(OPENSSL_NO_PSK) if (jpake_secret) Modified: projects/arm64/crypto/openssl/crypto/asn1/a_object.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/asn1/a_object.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/asn1/a_object.c Wed Nov 12 10:54:22 2014 (r274425) @@ -283,17 +283,29 @@ err: ASN1err(ASN1_F_D2I_ASN1_OBJECT,i); return(NULL); } + ASN1_OBJECT *c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, long len) { ASN1_OBJECT *ret=NULL; const unsigned char *p; unsigned char *data; - int i; - /* Sanity check OID encoding: can't have leading 0x80 in - * subidentifiers, see: X.690 8.19.2 + int i, length; + + /* Sanity check OID encoding. + * Need at least one content octet. + * MSB must be clear in the last octet. + * can't have leading 0x80 in subidentifiers, see: X.690 8.19.2 */ - for (i = 0, p = *pp; i < len; i++, p++) + if (len <= 0 || len > INT_MAX || pp == NULL || (p = *pp) == NULL || + p[len - 1] & 0x80) + { + ASN1err(ASN1_F_C2I_ASN1_OBJECT,ASN1_R_INVALID_OBJECT_ENCODING); + return NULL; + } + /* Now 0 < len <= INT_MAX, so the cast is safe. */ + length = (int)len; + for (i = 0; i < length; i++, p++) { if (*p == 0x80 && (!i || !(p[-1] & 0x80))) { @@ -316,23 +328,23 @@ ASN1_OBJECT *c2i_ASN1_OBJECT(ASN1_OBJECT data = (unsigned char *)ret->data; ret->data = NULL; /* once detached we can change it */ - if ((data == NULL) || (ret->length < len)) + if ((data == NULL) || (ret->length < length)) { ret->length=0; if (data != NULL) OPENSSL_free(data); - data=(unsigned char *)OPENSSL_malloc(len ? (int)len : 1); + data=(unsigned char *)OPENSSL_malloc(length); if (data == NULL) { i=ERR_R_MALLOC_FAILURE; goto err; } ret->flags|=ASN1_OBJECT_FLAG_DYNAMIC_DATA; } - memcpy(data,p,(int)len); + memcpy(data,p,length); /* reattach data to object, after which it remains const */ ret->data =data; - ret->length=(int)len; + ret->length=length; ret->sn=NULL; ret->ln=NULL; /* ret->flags=ASN1_OBJECT_FLAG_DYNAMIC; we know it is dynamic */ - p+=len; + p+=length; if (a != NULL) (*a)=ret; *pp=p; Modified: projects/arm64/crypto/openssl/crypto/asn1/a_utctm.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/asn1/a_utctm.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/asn1/a_utctm.c Wed Nov 12 10:54:22 2014 (r274425) @@ -196,24 +196,29 @@ ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCT struct tm *ts; struct tm data; size_t len = 20; + int free_s = 0; if (s == NULL) + { + free_s = 1; s=M_ASN1_UTCTIME_new(); + } if (s == NULL) - return(NULL); + goto err; + ts=OPENSSL_gmtime(&t, &data); if (ts == NULL) - return(NULL); + goto err; if (offset_day || offset_sec) { if (!OPENSSL_gmtime_adj(ts, offset_day, offset_sec)) - return NULL; + goto err; } if((ts->tm_year < 50) || (ts->tm_year >= 150)) - return NULL; + goto err; p=(char *)s->data; if ((p == NULL) || ((size_t)s->length < len)) @@ -222,7 +227,7 @@ ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCT if (p == NULL) { ASN1err(ASN1_F_ASN1_UTCTIME_ADJ,ERR_R_MALLOC_FAILURE); - return(NULL); + goto err; } if (s->data != NULL) OPENSSL_free(s->data); @@ -237,6 +242,10 @@ ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCT ebcdic2ascii(s->data, s->data, s->length); #endif return(s); + err: + if (free_s && s) + M_ASN1_UTCTIME_free(s); + return NULL; } @@ -261,6 +270,11 @@ int ASN1_UTCTIME_cmp_time_t(const ASN1_U t -= offset*60; /* FIXME: may overflow in extreme cases */ tm = OPENSSL_gmtime(&t, &data); + /* NB: -1, 0, 1 already valid return values so use -2 to + * indicate error. + */ + if (tm == NULL) + return -2; #define return_cmp(a,b) if ((a)<(b)) return -1; else if ((a)>(b)) return 1 year = g2(s->data); Modified: projects/arm64/crypto/openssl/crypto/asn1/ameth_lib.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/asn1/ameth_lib.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/asn1/ameth_lib.c Wed Nov 12 10:54:22 2014 (r274425) @@ -258,7 +258,12 @@ int EVP_PKEY_asn1_add_alias(int to, int if (!ameth) return 0; ameth->pkey_base_id = to; - return EVP_PKEY_asn1_add0(ameth); + if (!EVP_PKEY_asn1_add0(ameth)) + { + EVP_PKEY_asn1_free(ameth); + return 0; + } + return 1; } int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *ppkey_base_id, int *ppkey_flags, Modified: projects/arm64/crypto/openssl/crypto/asn1/asn1_lib.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/asn1/asn1_lib.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/asn1/asn1_lib.c Wed Nov 12 10:54:22 2014 (r274425) @@ -131,6 +131,9 @@ int ASN1_get_object(const unsigned char *pclass=xclass; if (!asn1_get_length(&p,&inf,plength,(int)max)) goto err; + if (inf && !(ret & V_ASN1_CONSTRUCTED)) + goto err; + #if 0 fprintf(stderr,"p=%d + *plength=%ld > omax=%ld + *pp=%d (%d > %d)\n", (int)p,*plength,omax,(int)*pp,(int)(p+ *plength), Modified: projects/arm64/crypto/openssl/crypto/asn1/asn_mime.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/asn1/asn_mime.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/asn1/asn_mime.c Wed Nov 12 10:54:22 2014 (r274425) @@ -667,6 +667,8 @@ static STACK_OF(MIME_HEADER) *mime_parse int len, state, save_state = 0; headers = sk_MIME_HEADER_new(mime_hdr_cmp); + if (!headers) + return NULL; while ((len = BIO_gets(bio, linebuf, MAX_SMLEN)) > 0) { /* If whitespace at line start then continuation line */ if(mhdr && isspace((unsigned char)linebuf[0])) state = MIME_NAME; Modified: projects/arm64/crypto/openssl/crypto/asn1/asn_pack.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/asn1/asn_pack.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/asn1/asn_pack.c Wed Nov 12 10:54:22 2014 (r274425) @@ -134,15 +134,23 @@ ASN1_STRING *ASN1_pack_string(void *obj, if (!(octmp->length = i2d(obj, NULL))) { ASN1err(ASN1_F_ASN1_PACK_STRING,ASN1_R_ENCODE_ERROR); - return NULL; + goto err; } if (!(p = OPENSSL_malloc (octmp->length))) { ASN1err(ASN1_F_ASN1_PACK_STRING,ERR_R_MALLOC_FAILURE); - return NULL; + goto err; } octmp->data = p; i2d (obj, &p); return octmp; + err: + if (!oct || !*oct) + { + ASN1_STRING_free(octmp); + if (oct) + *oct = NULL; + } + return NULL; } #endif Modified: projects/arm64/crypto/openssl/crypto/asn1/bio_asn1.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/asn1/bio_asn1.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/asn1/bio_asn1.c Wed Nov 12 10:54:22 2014 (r274425) @@ -154,7 +154,10 @@ static int asn1_bio_new(BIO *b) if (!ctx) return 0; if (!asn1_bio_init(ctx, DEFAULT_ASN1_BUF_SIZE)) + { + OPENSSL_free(ctx); return 0; + } b->init = 1; b->ptr = (char *)ctx; b->flags = 0; Modified: projects/arm64/crypto/openssl/crypto/asn1/charmap.pl ============================================================================== --- projects/arm64/crypto/openssl/crypto/asn1/charmap.pl Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/asn1/charmap.pl Wed Nov 12 10:54:22 2014 (r274425) @@ -1,5 +1,8 @@ #!/usr/local/bin/perl -w +# Written by Dr Stephen N Henson (steve@openssl.org). +# Licensed under the terms of the OpenSSL license. + use strict; my ($i, @arr); Modified: projects/arm64/crypto/openssl/crypto/asn1/evp_asn1.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/asn1/evp_asn1.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/asn1/evp_asn1.c Wed Nov 12 10:54:22 2014 (r274425) @@ -66,7 +66,11 @@ int ASN1_TYPE_set_octetstring(ASN1_TYPE ASN1_STRING *os; if ((os=M_ASN1_OCTET_STRING_new()) == NULL) return(0); - if (!M_ASN1_OCTET_STRING_set(os,data,len)) return(0); + if (!M_ASN1_OCTET_STRING_set(os,data,len)) + { + M_ASN1_OCTET_STRING_free(os); + return 0; + } ASN1_TYPE_set(a,V_ASN1_OCTET_STRING,os); return(1); } Modified: projects/arm64/crypto/openssl/crypto/asn1/t_x509.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/asn1/t_x509.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/asn1/t_x509.c Wed Nov 12 10:54:22 2014 (r274425) @@ -475,6 +475,8 @@ int X509_NAME_print(BIO *bp, X509_NAME * l=80-2-obase; b=X509_NAME_oneline(name,NULL,0); + if (!b) + return 0; if (!*b) { OPENSSL_free(b); Modified: projects/arm64/crypto/openssl/crypto/asn1/tasn_enc.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/asn1/tasn_enc.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/asn1/tasn_enc.c Wed Nov 12 10:54:22 2014 (r274425) @@ -453,9 +453,14 @@ static int asn1_set_seq_out(STACK_OF(ASN { derlst = OPENSSL_malloc(sk_ASN1_VALUE_num(sk) * sizeof(*derlst)); + if (!derlst) + return 0; tmpdat = OPENSSL_malloc(skcontlen); - if (!derlst || !tmpdat) + if (!tmpdat) + { + OPENSSL_free(derlst); return 0; + } } } /* If not sorting just output each item */ Modified: projects/arm64/crypto/openssl/crypto/asn1/x_crl.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/asn1/x_crl.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/asn1/x_crl.c Wed Nov 12 10:54:22 2014 (r274425) @@ -270,6 +270,7 @@ static int crl_cb(int operation, ASN1_VA { /* We handle IDP and deltas */ if ((nid == NID_issuing_distribution_point) + || (nid == NID_authority_key_identifier) || (nid == NID_delta_crl)) break;; crl->flags |= EXFLAG_CRITICAL; Modified: projects/arm64/crypto/openssl/crypto/bio/bio_lib.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/bio/bio_lib.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/bio/bio_lib.c Wed Nov 12 10:54:22 2014 (r274425) @@ -132,8 +132,8 @@ int BIO_free(BIO *a) CRYPTO_free_ex_data(CRYPTO_EX_INDEX_BIO, a, &a->ex_data); - if ((a->method == NULL) || (a->method->destroy == NULL)) return(1); - a->method->destroy(a); + if ((a->method != NULL) && (a->method->destroy != NULL)) + a->method->destroy(a); OPENSSL_free(a); return(1); } Modified: projects/arm64/crypto/openssl/crypto/bn/bn_exp.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/bn/bn_exp.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/bn/bn_exp.c Wed Nov 12 10:54:22 2014 (r274425) @@ -680,7 +680,7 @@ int BN_mod_exp_mont_consttime(BIGNUM *rr /* Dedicated window==4 case improves 512-bit RSA sign by ~15%, but as * 512-bit RSA is hardly relevant, we omit it to spare size... */ - if (window==5) + if (window==5 && top>1) { void bn_mul_mont_gather5(BN_ULONG *rp,const BN_ULONG *ap, const void *table,const BN_ULONG *np, Modified: projects/arm64/crypto/openssl/crypto/bn/bn_lib.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/bn/bn_lib.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/bn/bn_lib.c Wed Nov 12 10:54:22 2014 (r274425) @@ -320,6 +320,15 @@ static BN_ULONG *bn_expand_internal(cons BNerr(BN_F_BN_EXPAND_INTERNAL,ERR_R_MALLOC_FAILURE); return(NULL); } +#ifdef PURIFY + /* Valgrind complains in BN_consttime_swap because we process the whole + * array even if it's not initialised yet. This doesn't matter in that + * function - what's important is constant time operation (we're not + * actually going to use the data) + */ + memset(a, 0, sizeof(BN_ULONG)*words); +#endif + #if 1 B=b->d; /* Check if the previous number needs to be copied */ Modified: projects/arm64/crypto/openssl/crypto/bn/bn_sqr.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/bn/bn_sqr.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/bn/bn_sqr.c Wed Nov 12 10:54:22 2014 (r274425) @@ -77,6 +77,7 @@ int BN_sqr(BIGNUM *r, const BIGNUM *a, B if (al <= 0) { r->top=0; + r->neg = 0; return 1; } Modified: projects/arm64/crypto/openssl/crypto/cms/cms_pwri.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/cms/cms_pwri.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/cms/cms_pwri.c Wed Nov 12 10:54:22 2014 (r274425) @@ -93,9 +93,10 @@ CMS_RecipientInfo *CMS_add0_recipient_pa X509_ALGOR *encalg = NULL; unsigned char iv[EVP_MAX_IV_LENGTH]; int ivlen; + env = cms_get0_enveloped(cms); if (!env) - goto err; + return NULL; if (wrap_nid <= 0) wrap_nid = NID_id_alg_PWRI_KEK; Modified: projects/arm64/crypto/openssl/crypto/conf/conf_def.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/conf/conf_def.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/conf/conf_def.c Wed Nov 12 10:54:22 2014 (r274425) @@ -321,7 +321,7 @@ again: p=eat_ws(conf, end); if (*p != ']') { - if (*p != '\0') + if (*p != '\0' && ss != p) { ss=p; goto again; Modified: projects/arm64/crypto/openssl/crypto/ec/ec_lib.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/ec/ec_lib.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/ec/ec_lib.c Wed Nov 12 10:54:22 2014 (r274425) @@ -942,7 +942,7 @@ int EC_POINT_dbl(const EC_GROUP *group, int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx) { - if (group->meth->dbl == 0) + if (group->meth->invert == 0) { ECerr(EC_F_EC_POINT_INVERT, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); return 0; Modified: projects/arm64/crypto/openssl/crypto/ec/ecp_smpl.c ============================================================================== --- projects/arm64/crypto/openssl/crypto/ec/ecp_smpl.c Wed Nov 12 10:32:21 2014 (r274424) +++ projects/arm64/crypto/openssl/crypto/ec/ecp_smpl.c Wed Nov 12 10:54:22 2014 (r274425) @@ -1181,9 +1181,8 @@ int ec_GFp_simple_make_affine(const EC_G int ec_GFp_simple_points_make_affine(const EC_GROUP *group, size_t num, EC_POINT *points[], BN_CTX *ctx) { BN_CTX *new_ctx = NULL; - BIGNUM *tmp0, *tmp1; - size_t pow2 = 0; - BIGNUM **heap = NULL; + BIGNUM *tmp, *tmp_Z; + BIGNUM **prod_Z = NULL; size_t i; int ret = 0; @@ -1198,124 +1197,104 @@ int ec_GFp_simple_points_make_affine(con } BN_CTX_start(ctx); - tmp0 = BN_CTX_get(ctx); - tmp1 = BN_CTX_get(ctx); - if (tmp0 == NULL || tmp1 == NULL) goto err; - - /* Before converting the individual points, compute inverses of all Z values. - * Modular inversion is rather slow, but luckily we can do with a single - * explicit inversion, plus about 3 multiplications per input value. - */ - - pow2 = 1; - while (num > pow2) - pow2 <<= 1; - /* Now pow2 is the smallest power of 2 satifsying pow2 >= num. - * We need twice that. */ - pow2 <<= 1; - - heap = OPENSSL_malloc(pow2 * sizeof heap[0]); - if (heap == NULL) goto err; - - /* The array is used as a binary tree, exactly as in heapsort: - * - * heap[1] - * heap[2] heap[3] - * heap[4] heap[5] heap[6] heap[7] - * heap[8]heap[9] heap[10]heap[11] heap[12]heap[13] heap[14] heap[15] - * - * We put the Z's in the last line; - * then we set each other node to the product of its two child-nodes (where - * empty or 0 entries are treated as ones); - * then we invert heap[1]; - * then we invert each other node by replacing it by the product of its - * parent (after inversion) and its sibling (before inversion). - */ - heap[0] = NULL; - for (i = pow2/2 - 1; i > 0; i--) - heap[i] = NULL; + tmp = BN_CTX_get(ctx); + tmp_Z = BN_CTX_get(ctx); + if (tmp == NULL || tmp_Z == NULL) goto err; + + prod_Z = OPENSSL_malloc(num * sizeof prod_Z[0]); + if (prod_Z == NULL) goto err; for (i = 0; i < num; i++) - heap[pow2/2 + i] = &points[i]->Z; - for (i = pow2/2 + num; i < pow2; i++) - heap[i] = NULL; - - /* set each node to the product of its children */ - for (i = pow2/2 - 1; i > 0; i--) - { - heap[i] = BN_new(); - if (heap[i] == NULL) goto err; - - if (heap[2*i] != NULL) + { + prod_Z[i] = BN_new(); + if (prod_Z[i] == NULL) goto err; + } + + /* Set each prod_Z[i] to the product of points[0]->Z .. points[i]->Z, + * skipping any zero-valued inputs (pretend that they're 1). */ + + if (!BN_is_zero(&points[0]->Z)) + { + if (!BN_copy(prod_Z[0], &points[0]->Z)) goto err; + } + else + { + if (group->meth->field_set_to_one != 0) { - if ((heap[2*i + 1] == NULL) || BN_is_zero(heap[2*i + 1])) - { - if (!BN_copy(heap[i], heap[2*i])) goto err; - } - else - { - if (BN_is_zero(heap[2*i])) - { - if (!BN_copy(heap[i], heap[2*i + 1])) goto err; - } - else - { - if (!group->meth->field_mul(group, heap[i], - heap[2*i], heap[2*i + 1], ctx)) goto err; - } - } + if (!group->meth->field_set_to_one(group, prod_Z[0], ctx)) goto err; + } + else + { + if (!BN_one(prod_Z[0])) goto err; } } - /* invert heap[1] */ - if (!BN_is_zero(heap[1])) + for (i = 1; i < num; i++) { - if (!BN_mod_inverse(heap[1], heap[1], &group->field, ctx)) + if (!BN_is_zero(&points[i]->Z)) { - ECerr(EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE, ERR_R_BN_LIB); - goto err; + if (!group->meth->field_mul(group, prod_Z[i], prod_Z[i - 1], &points[i]->Z, ctx)) goto err; } + else + { + if (!BN_copy(prod_Z[i], prod_Z[i - 1])) goto err; + } + } + + /* Now use a single explicit inversion to replace every + * non-zero points[i]->Z by its inverse. */ + + if (!BN_mod_inverse(tmp, prod_Z[num - 1], &group->field, ctx)) + { + ECerr(EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE, ERR_R_BN_LIB); + goto err; } if (group->meth->field_encode != 0) { - /* in the Montgomery case, we just turned R*H (representing H) + /* In the Montgomery case, we just turned R*H (representing H) * into 1/(R*H), but we need R*(1/H) (representing 1/H); - * i.e. we have need to multiply by the Montgomery factor twice */ - if (!group->meth->field_encode(group, heap[1], heap[1], ctx)) goto err; - if (!group->meth->field_encode(group, heap[1], heap[1], ctx)) goto err; + * i.e. we need to multiply by the Montgomery factor twice. */ + if (!group->meth->field_encode(group, tmp, tmp, ctx)) goto err; + if (!group->meth->field_encode(group, tmp, tmp, ctx)) goto err; } - /* set other heap[i]'s to their inverses */ - for (i = 2; i < pow2/2 + num; i += 2) + for (i = num - 1; i > 0; --i) { - /* i is even */ - if ((heap[i + 1] != NULL) && !BN_is_zero(heap[i + 1])) - { - if (!group->meth->field_mul(group, tmp0, heap[i/2], heap[i + 1], ctx)) goto err; - if (!group->meth->field_mul(group, tmp1, heap[i/2], heap[i], ctx)) goto err; - if (!BN_copy(heap[i], tmp0)) goto err; - if (!BN_copy(heap[i + 1], tmp1)) goto err; - } - else + /* Loop invariant: tmp is the product of the inverses of + * points[0]->Z .. points[i]->Z (zero-valued inputs skipped). */ + if (!BN_is_zero(&points[i]->Z)) { - if (!BN_copy(heap[i], heap[i/2])) goto err; + /* Set tmp_Z to the inverse of points[i]->Z (as product + * of Z inverses 0 .. i, Z values 0 .. i - 1). */ + if (!group->meth->field_mul(group, tmp_Z, prod_Z[i - 1], tmp, ctx)) goto err; + /* Update tmp to satisfy the loop invariant for i - 1. */ + if (!group->meth->field_mul(group, tmp, tmp, &points[i]->Z, ctx)) goto err; + /* Replace points[i]->Z by its inverse. */ + if (!BN_copy(&points[i]->Z, tmp_Z)) goto err; } } - /* we have replaced all non-zero Z's by their inverses, now fix up all the points */ + if (!BN_is_zero(&points[0]->Z)) + { + /* Replace points[0]->Z by its inverse. */ + if (!BN_copy(&points[0]->Z, tmp)) goto err; + } + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Nov 12 11:34:41 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2F8E8CBD; Wed, 12 Nov 2014 11:34:41 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 17046231; Wed, 12 Nov 2014 11:34:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sACBYfLc021598; Wed, 12 Nov 2014 11:34:41 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sACBYVNW021437; Wed, 12 Nov 2014 11:34:31 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201411121134.sACBYVNW021437@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Wed, 12 Nov 2014 11:34:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274426 - in projects/arm64: . bin/date/tests bin/dd bin/ed bin/pkill/tests bin/ps bin/rmail bin/sh bin/sh/tests bin/sh/tests/builtins bin/sh/tests/errors bin/sh/tests/execution bin/sh/... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2014 11:34:41 -0000 Author: andrew Date: Wed Nov 12 11:34:27 2014 New Revision: 274426 URL: https://svnweb.freebsd.org/changeset/base/274426 Log: MFH to r271180. This brings in pmap kpi changes but leaves out arm driver conflicts Sponsored by: The FreeBSD Foundation Added: projects/arm64/bin/date/tests/format_string_test.sh - copied unchanged from r271180, head/bin/date/tests/format_string_test.sh projects/arm64/bin/sh/tests/expansion/arith14.0 - copied unchanged from r271180, head/bin/sh/tests/expansion/arith14.0 projects/arm64/bin/sh/tests/functional_test.sh - copied unchanged from r271180, head/bin/sh/tests/functional_test.sh projects/arm64/contrib/llvm/patches/patch-r270147-llvm-r197824-r213427-r213960.diff - copied unchanged from r271180, head/contrib/llvm/patches/patch-r270147-llvm-r197824-r213427-r213960.diff projects/arm64/contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff - copied unchanged from r271180, head/contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff projects/arm64/contrib/subversion/subversion/include/private/svn_cert.h - copied unchanged from r271180, head/contrib/subversion/subversion/include/private/svn_cert.h projects/arm64/contrib/tzdata/zone1970.tab - copied unchanged from r271180, head/contrib/tzdata/zone1970.tab projects/arm64/etc/auto_master - copied unchanged from r271180, head/etc/auto_master projects/arm64/etc/autofs/ - copied from r271180, head/etc/autofs/ projects/arm64/etc/rc.d/automount - copied unchanged from r271180, head/etc/rc.d/automount projects/arm64/etc/rc.d/automountd - copied unchanged from r271180, head/etc/rc.d/automountd projects/arm64/etc/rc.d/autounmountd - copied unchanged from r271180, head/etc/rc.d/autounmountd projects/arm64/etc/rc.d/ipropd_master - copied unchanged from r271180, head/etc/rc.d/ipropd_master projects/arm64/etc/rc.d/ipropd_slave - copied unchanged from r271180, head/etc/rc.d/ipropd_slave projects/arm64/etc/rc.d/kdc - copied unchanged from r271180, head/etc/rc.d/kdc projects/arm64/lib/libc/arm/Symbol_vfp.map - copied unchanged from r271180, head/lib/libc/arm/Symbol_vfp.map projects/arm64/lib/libc/md/ - copied from r271180, head/lib/libc/md/ projects/arm64/lib/libutil/tests/ - copied from r271180, head/lib/libutil/tests/ projects/arm64/sbin/devd/tests/ - copied from r271180, head/sbin/devd/tests/ projects/arm64/sbin/ifconfig/sfp.c - copied unchanged from r271180, head/sbin/ifconfig/sfp.c projects/arm64/share/dtrace/disklatency - copied unchanged from r271180, head/share/dtrace/disklatency projects/arm64/share/dtrace/disklatencycmd - copied unchanged from r271180, head/share/dtrace/disklatencycmd projects/arm64/share/man/man4/uled.4 - copied unchanged from r271180, head/share/man/man4/uled.4 projects/arm64/share/man/man5/autofs.5 - copied unchanged from r271180, head/share/man/man5/autofs.5 projects/arm64/share/vt/keymaps/INDEX.keymaps - copied unchanged from r271180, head/share/vt/keymaps/INDEX.keymaps projects/arm64/share/vt/keymaps/am.kbd - copied unchanged from r271180, head/share/vt/keymaps/am.kbd projects/arm64/share/vt/keymaps/be.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/be.acc.kbd projects/arm64/share/vt/keymaps/be.kbd - copied unchanged from r271180, head/share/vt/keymaps/be.kbd projects/arm64/share/vt/keymaps/bg.bds.kbd - copied unchanged from r271180, head/share/vt/keymaps/bg.bds.kbd projects/arm64/share/vt/keymaps/bg.phonetic.kbd - copied unchanged from r271180, head/share/vt/keymaps/bg.phonetic.kbd projects/arm64/share/vt/keymaps/br.kbd - copied unchanged from r271180, head/share/vt/keymaps/br.kbd projects/arm64/share/vt/keymaps/br.noacc.kbd - copied unchanged from r271180, head/share/vt/keymaps/br.noacc.kbd projects/arm64/share/vt/keymaps/by.kbd - copied unchanged from r271180, head/share/vt/keymaps/by.kbd projects/arm64/share/vt/keymaps/ca-fr.kbd - copied unchanged from r271180, head/share/vt/keymaps/ca-fr.kbd projects/arm64/share/vt/keymaps/ca.kbd - copied unchanged from r271180, head/share/vt/keymaps/ca.kbd projects/arm64/share/vt/keymaps/centraleuropean.kbd - copied unchanged from r271180, head/share/vt/keymaps/centraleuropean.kbd projects/arm64/share/vt/keymaps/centraleuropean.qwerty.kbd - copied unchanged from r271180, head/share/vt/keymaps/centraleuropean.qwerty.kbd projects/arm64/share/vt/keymaps/ch-fr.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/ch-fr.acc.kbd projects/arm64/share/vt/keymaps/ch-fr.kbd - copied unchanged from r271180, head/share/vt/keymaps/ch-fr.kbd projects/arm64/share/vt/keymaps/ch.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/ch.acc.kbd projects/arm64/share/vt/keymaps/ch.kbd - copied unchanged from r271180, head/share/vt/keymaps/ch.kbd projects/arm64/share/vt/keymaps/ch.macbook.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/ch.macbook.acc.kbd projects/arm64/share/vt/keymaps/colemak.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/colemak.acc.kbd projects/arm64/share/vt/keymaps/cz.kbd - copied unchanged from r271180, head/share/vt/keymaps/cz.kbd projects/arm64/share/vt/keymaps/de.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/de.acc.kbd projects/arm64/share/vt/keymaps/de.kbd - copied unchanged from r271180, head/share/vt/keymaps/de.kbd projects/arm64/share/vt/keymaps/de.noacc.kbd - copied unchanged from r271180, head/share/vt/keymaps/de.noacc.kbd projects/arm64/share/vt/keymaps/dk.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/dk.acc.kbd projects/arm64/share/vt/keymaps/dk.kbd - copied unchanged from r271180, head/share/vt/keymaps/dk.kbd projects/arm64/share/vt/keymaps/dk.macbook.kbd - copied unchanged from r271180, head/share/vt/keymaps/dk.macbook.kbd projects/arm64/share/vt/keymaps/ee.kbd - copied unchanged from r271180, head/share/vt/keymaps/ee.kbd projects/arm64/share/vt/keymaps/es.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/es.acc.kbd projects/arm64/share/vt/keymaps/es.dvorak.kbd - copied unchanged from r271180, head/share/vt/keymaps/es.dvorak.kbd projects/arm64/share/vt/keymaps/es.kbd - copied unchanged from r271180, head/share/vt/keymaps/es.kbd projects/arm64/share/vt/keymaps/fi.kbd - copied unchanged from r271180, head/share/vt/keymaps/fi.kbd projects/arm64/share/vt/keymaps/fr.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/fr.acc.kbd projects/arm64/share/vt/keymaps/fr.dvorak.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/fr.dvorak.acc.kbd projects/arm64/share/vt/keymaps/fr.dvorak.kbd - copied unchanged from r271180, head/share/vt/keymaps/fr.dvorak.kbd projects/arm64/share/vt/keymaps/fr.kbd - copied unchanged from r271180, head/share/vt/keymaps/fr.kbd projects/arm64/share/vt/keymaps/fr.macbook.kbd - copied unchanged from r271180, head/share/vt/keymaps/fr.macbook.kbd projects/arm64/share/vt/keymaps/gr.101.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/gr.101.acc.kbd projects/arm64/share/vt/keymaps/gr.elot.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/gr.elot.acc.kbd projects/arm64/share/vt/keymaps/gr.kbd - copied unchanged from r271180, head/share/vt/keymaps/gr.kbd projects/arm64/share/vt/keymaps/hr.kbd - copied unchanged from r271180, head/share/vt/keymaps/hr.kbd projects/arm64/share/vt/keymaps/hu.101.kbd - copied unchanged from r271180, head/share/vt/keymaps/hu.101.kbd projects/arm64/share/vt/keymaps/hu.102.kbd - copied unchanged from r271180, head/share/vt/keymaps/hu.102.kbd projects/arm64/share/vt/keymaps/il.kbd - copied unchanged from r271180, head/share/vt/keymaps/il.kbd projects/arm64/share/vt/keymaps/is.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/is.acc.kbd projects/arm64/share/vt/keymaps/is.kbd - copied unchanged from r271180, head/share/vt/keymaps/is.kbd projects/arm64/share/vt/keymaps/it.kbd - copied unchanged from r271180, head/share/vt/keymaps/it.kbd projects/arm64/share/vt/keymaps/jp.capsctrl.kbd - copied unchanged from r271180, head/share/vt/keymaps/jp.capsctrl.kbd projects/arm64/share/vt/keymaps/jp.kbd - copied unchanged from r271180, head/share/vt/keymaps/jp.kbd projects/arm64/share/vt/keymaps/jp.pc98.iso.kbd - copied unchanged from r271180, head/share/vt/keymaps/jp.pc98.iso.kbd projects/arm64/share/vt/keymaps/jp.pc98.kbd - copied unchanged from r271180, head/share/vt/keymaps/jp.pc98.kbd projects/arm64/share/vt/keymaps/kz.io.kbd - copied unchanged from r271180, head/share/vt/keymaps/kz.io.kbd projects/arm64/share/vt/keymaps/kz.kst.kbd - copied unchanged from r271180, head/share/vt/keymaps/kz.kst.kbd projects/arm64/share/vt/keymaps/latinamerican.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/latinamerican.acc.kbd projects/arm64/share/vt/keymaps/latinamerican.kbd - copied unchanged from r271180, head/share/vt/keymaps/latinamerican.kbd projects/arm64/share/vt/keymaps/lt.kbd - copied unchanged from r271180, head/share/vt/keymaps/lt.kbd projects/arm64/share/vt/keymaps/nl.kbd - copied unchanged from r271180, head/share/vt/keymaps/nl.kbd projects/arm64/share/vt/keymaps/no.dvorak.kbd - copied unchanged from r271180, head/share/vt/keymaps/no.dvorak.kbd projects/arm64/share/vt/keymaps/no.kbd - copied unchanged from r271180, head/share/vt/keymaps/no.kbd projects/arm64/share/vt/keymaps/nordic.asus-eee.kbd - copied unchanged from r271180, head/share/vt/keymaps/nordic.asus-eee.kbd projects/arm64/share/vt/keymaps/pl.dvorak.kbd - copied unchanged from r271180, head/share/vt/keymaps/pl.dvorak.kbd projects/arm64/share/vt/keymaps/pt.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/pt.acc.kbd projects/arm64/share/vt/keymaps/pt.kbd - copied unchanged from r271180, head/share/vt/keymaps/pt.kbd projects/arm64/share/vt/keymaps/ru.kbd - copied unchanged from r271180, head/share/vt/keymaps/ru.kbd projects/arm64/share/vt/keymaps/ru.shift.kbd - copied unchanged from r271180, head/share/vt/keymaps/ru.shift.kbd projects/arm64/share/vt/keymaps/ru.win.kbd - copied unchanged from r271180, head/share/vt/keymaps/ru.win.kbd projects/arm64/share/vt/keymaps/se.kbd - copied unchanged from r271180, head/share/vt/keymaps/se.kbd projects/arm64/share/vt/keymaps/si.kbd - copied unchanged from r271180, head/share/vt/keymaps/si.kbd projects/arm64/share/vt/keymaps/sk.kbd - copied unchanged from r271180, head/share/vt/keymaps/sk.kbd projects/arm64/share/vt/keymaps/tr.kbd - copied unchanged from r271180, head/share/vt/keymaps/tr.kbd projects/arm64/share/vt/keymaps/uk.capsctrl.kbd - copied unchanged from r271180, head/share/vt/keymaps/uk.capsctrl.kbd projects/arm64/share/vt/keymaps/uk.dvorak.kbd - copied unchanged from r271180, head/share/vt/keymaps/uk.dvorak.kbd projects/arm64/share/vt/keymaps/uk.kbd - copied unchanged from r271180, head/share/vt/keymaps/uk.kbd projects/arm64/share/vt/keymaps/us.acc.kbd - copied unchanged from r271180, head/share/vt/keymaps/us.acc.kbd projects/arm64/share/vt/keymaps/us.ctrl.kbd - copied unchanged from r271180, head/share/vt/keymaps/us.ctrl.kbd projects/arm64/share/vt/keymaps/us.dvorak.kbd - copied unchanged from r271180, head/share/vt/keymaps/us.dvorak.kbd projects/arm64/share/vt/keymaps/us.dvorakl.kbd - copied unchanged from r271180, head/share/vt/keymaps/us.dvorakl.kbd projects/arm64/share/vt/keymaps/us.dvorakp.kbd - copied unchanged from r271180, head/share/vt/keymaps/us.dvorakp.kbd projects/arm64/share/vt/keymaps/us.dvorakr.kbd - copied unchanged from r271180, head/share/vt/keymaps/us.dvorakr.kbd projects/arm64/share/vt/keymaps/us.dvorakx.kbd - copied unchanged from r271180, head/share/vt/keymaps/us.dvorakx.kbd projects/arm64/share/vt/keymaps/us.emacs.kbd - copied unchanged from r271180, head/share/vt/keymaps/us.emacs.kbd projects/arm64/share/vt/keymaps/us.kbd - copied unchanged from r271180, head/share/vt/keymaps/us.kbd projects/arm64/share/vt/keymaps/us.unix.kbd - copied unchanged from r271180, head/share/vt/keymaps/us.unix.kbd projects/arm64/sys/arm/altera/ - copied from r271180, head/sys/arm/altera/ projects/arm64/sys/arm/at91/at91_common.c - copied unchanged from r271180, head/sys/arm/at91/at91_common.c projects/arm64/sys/arm/at91/at91_pinctrl.c - copied unchanged from r271180, head/sys/arm/at91/at91_pinctrl.c projects/arm64/sys/arm/conf/SOCKIT - copied unchanged from r271180, head/sys/arm/conf/SOCKIT projects/arm64/sys/arm/freescale/imx/imx6_iomux.c - copied unchanged from r271180, head/sys/arm/freescale/imx/imx6_iomux.c projects/arm64/sys/arm/freescale/imx/imx6_iomuxreg.h - copied unchanged from r271180, head/sys/arm/freescale/imx/imx6_iomuxreg.h projects/arm64/sys/arm/freescale/imx/imx_iomuxvar.h - copied unchanged from r271180, head/sys/arm/freescale/imx/imx_iomuxvar.h projects/arm64/sys/arm/include/acle-compat.h - copied unchanged from r271180, head/sys/arm/include/acle-compat.h projects/arm64/sys/boot/fdt/dts/arm/sam9260ek.dts - copied unchanged from r271180, head/sys/boot/fdt/dts/arm/sam9260ek.dts projects/arm64/sys/boot/fdt/dts/arm/socfpga-sockit.dts - copied unchanged from r271180, head/sys/boot/fdt/dts/arm/socfpga-sockit.dts projects/arm64/sys/boot/fdt/dts/arm/socfpga.dtsi - copied unchanged from r271180, head/sys/boot/fdt/dts/arm/socfpga.dtsi projects/arm64/sys/cddl/dev/fbt/fbt.h - copied unchanged from r271180, head/sys/cddl/dev/fbt/fbt.h projects/arm64/sys/cddl/dev/fbt/powerpc/ - copied from r271180, head/sys/cddl/dev/fbt/powerpc/ projects/arm64/sys/cddl/dev/fbt/x86/ - copied from r271180, head/sys/cddl/dev/fbt/x86/ projects/arm64/sys/contrib/dev/iwn/iwlwifi-100-39.31.5.1.fw.uu - copied unchanged from r271180, head/sys/contrib/dev/iwn/iwlwifi-100-39.31.5.1.fw.uu projects/arm64/sys/dev/ahci/ahci_pci.c - copied unchanged from r271180, head/sys/dev/ahci/ahci_pci.c projects/arm64/sys/dev/fdt/fdt_clock.c - copied unchanged from r271180, head/sys/dev/fdt/fdt_clock.c projects/arm64/sys/dev/fdt/fdt_clock.h - copied unchanged from r271180, head/sys/dev/fdt/fdt_clock.h projects/arm64/sys/dev/fdt/fdt_clock_if.m - copied unchanged from r271180, head/sys/dev/fdt/fdt_clock_if.m projects/arm64/sys/dev/ixl/ - copied from r271180, head/sys/dev/ixl/ projects/arm64/sys/dev/netmap/if_vtnet_netmap.h - copied unchanged from r271180, head/sys/dev/netmap/if_vtnet_netmap.h projects/arm64/sys/dev/netmap/netmap_monitor.c - copied unchanged from r271180, head/sys/dev/netmap/netmap_monitor.c projects/arm64/sys/dev/usb/misc/uled.c - copied unchanged from r271180, head/sys/dev/usb/misc/uled.c projects/arm64/sys/dev/usb/uled_ioctl.h - copied unchanged from r271180, head/sys/dev/usb/uled_ioctl.h projects/arm64/sys/fs/autofs/ - copied from r271180, head/sys/fs/autofs/ projects/arm64/sys/gnu/dts/include/dt-bindings/clk/ti-dra7-atl.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clk/ti-dra7-atl.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/at91.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/at91.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/bcm21664.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/bcm21664.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/bcm281xx.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/bcm281xx.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/berlin2.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/berlin2.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/berlin2q.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/berlin2q.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/clps711x-clock.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/clps711x-clock.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/exynos-audss-clk.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/exynos-audss-clk.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/exynos3250.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/exynos3250.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/exynos5260-clk.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/exynos5260-clk.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/exynos5410.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/exynos5410.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/hip04-clock.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/hip04-clock.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/hix5hd2-clock.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/hix5hd2-clock.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/imx1-clock.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/imx1-clock.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/imx21-clock.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/imx21-clock.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/imx27-clock.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/imx27-clock.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/imx6qdl-clock.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/imx6qdl-clock.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/imx6sx-clock.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/imx6sx-clock.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/lsi,axm5516-clks.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/lsi,axm5516-clks.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-apq8084.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-apq8084.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-ipq806x.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-ipq806x.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/qcom,mmcc-apq8084.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/qcom,mmcc-apq8084.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/r7s72100-clock.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/r7s72100-clock.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/r8a7779-clock.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/r8a7779-clock.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/rk3066a-cru.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/rk3066a-cru.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/rk3188-cru-common.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/rk3188-cru-common.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/rk3188-cru.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/rk3188-cru.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/rk3288-cru.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/rk3288-cru.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/s3c2410.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/s3c2410.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/s3c2412.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/s3c2412.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/s3c2443.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/s3c2443.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/s5pv210-audss.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/s5pv210-audss.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/s5pv210.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/s5pv210.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/stih415-clks.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/stih415-clks.h projects/arm64/sys/gnu/dts/include/dt-bindings/clock/stih416-clks.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/clock/stih416-clks.h projects/arm64/sys/gnu/dts/include/dt-bindings/dma/nbpfaxi.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/dma/nbpfaxi.h projects/arm64/sys/gnu/dts/include/dt-bindings/mfd/palmas.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/mfd/palmas.h projects/arm64/sys/gnu/dts/include/dt-bindings/phy/ - copied from r271180, head/sys/gnu/dts/include/dt-bindings/phy/ projects/arm64/sys/gnu/dts/include/dt-bindings/pinctrl/pinctrl-tegra-xusb.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/pinctrl/pinctrl-tegra-xusb.h projects/arm64/sys/gnu/dts/include/dt-bindings/reset-controller/ - copied from r271180, head/sys/gnu/dts/include/dt-bindings/reset-controller/ projects/arm64/sys/gnu/dts/include/dt-bindings/reset/altr,rst-mgr.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/reset/altr,rst-mgr.h projects/arm64/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-apq8084.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-apq8084.h projects/arm64/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-ipq806x.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-ipq806x.h projects/arm64/sys/gnu/dts/include/dt-bindings/reset/qcom,mmcc-apq8084.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/reset/qcom,mmcc-apq8084.h projects/arm64/sys/gnu/dts/include/dt-bindings/soc/ - copied from r271180, head/sys/gnu/dts/include/dt-bindings/soc/ projects/arm64/sys/gnu/dts/include/dt-bindings/sound/tlv320aic31xx-micbias.h - copied unchanged from r271180, head/sys/gnu/dts/include/dt-bindings/sound/tlv320aic31xx-micbias.h projects/arm64/sys/gnu/dts/include/dt-bindings/spmi/ - copied from r271180, head/sys/gnu/dts/include/dt-bindings/spmi/ projects/arm64/sys/libkern/memmem.c - copied unchanged from r271180, head/sys/libkern/memmem.c projects/arm64/sys/libkern/strndup.c - copied unchanged from r271180, head/sys/libkern/strndup.c projects/arm64/sys/modules/autofs/ - copied from r271180, head/sys/modules/autofs/ projects/arm64/sys/modules/iwnfw/iwn100/ - copied from r271180, head/sys/modules/iwnfw/iwn100/ projects/arm64/sys/modules/ixl/ - copied from r271180, head/sys/modules/ixl/ projects/arm64/sys/modules/ixlv/ - copied from r271180, head/sys/modules/ixlv/ projects/arm64/sys/modules/si/ - copied from r271180, head/sys/modules/si/ projects/arm64/sys/modules/usb/uled/ - copied from r271180, head/sys/modules/usb/uled/ projects/arm64/sys/modules/wds/ - copied from r271180, head/sys/modules/wds/ projects/arm64/sys/modules/wl/ - copied from r271180, head/sys/modules/wl/ projects/arm64/sys/net/paravirt.h - copied unchanged from r271180, head/sys/net/paravirt.h projects/arm64/sys/net/sff8436.h - copied unchanged from r271180, head/sys/net/sff8436.h projects/arm64/sys/ofed/include/linux/cache.h - copied unchanged from r271180, head/sys/ofed/include/linux/cache.h projects/arm64/sys/ofed/include/linux/etherdevice.h - copied unchanged from r271180, head/sys/ofed/include/linux/etherdevice.h projects/arm64/sys/ofed/include/linux/kmod.h - copied unchanged from r271180, head/sys/ofed/include/linux/kmod.h projects/arm64/sys/ofed/include/linux/ktime.h - copied unchanged from r271180, head/sys/ofed/include/linux/ktime.h projects/arm64/sys/ofed/include/linux/math64.h - copied unchanged from r271180, head/sys/ofed/include/linux/math64.h projects/arm64/sys/ofed/include/net/if_inet6.h - copied unchanged from r271180, head/sys/ofed/include/net/if_inet6.h projects/arm64/sys/sparc64/include/sf_buf.h - copied unchanged from r271180, head/sys/sparc64/include/sf_buf.h projects/arm64/sys/x86/x86/identcpu.c - copied unchanged from r271180, head/sys/x86/x86/identcpu.c projects/arm64/tools/build/options/WITHOUT_CUSE - copied unchanged from r271180, head/tools/build/options/WITHOUT_CUSE projects/arm64/tools/tools/perforce/ - copied from r271180, head/tools/tools/perforce/ projects/arm64/tools/tools/tscdrift/ - copied from r271180, head/tools/tools/tscdrift/ projects/arm64/tools/tools/vt/keymaps/ - copied from r271180, head/tools/tools/vt/keymaps/ projects/arm64/usr.sbin/autofs/ - copied from r271180, head/usr.sbin/autofs/ Replaced: - copied from r271180, head/sys/gnu/dts/arm/ Directory Properties: projects/arm64/sys/gnu/dts/arm/ (props changed) Deleted: projects/arm64/bin/date/tests/legacy_test.sh projects/arm64/bin/sh/tests/legacy_test.sh projects/arm64/etc/rc.d/kerberos projects/arm64/share/examples/autofs/ projects/arm64/sys/amd64/amd64/identcpu.c projects/arm64/sys/arm/freescale/imx/imx51_iomuxvar.h projects/arm64/sys/cddl/dev/fbt/fbt_powerpc.c projects/arm64/sys/dev/i40e/ projects/arm64/sys/i386/i386/identcpu.c projects/arm64/sys/modules/i40e/ projects/arm64/sys/ofed/include/asm/current.h projects/arm64/sys/ofed/include/asm/semaphore.h projects/arm64/sys/ofed/include/asm/system.h projects/arm64/sys/ofed/include/linux/atomic.h projects/arm64/sys/ofed/include/linux/bitmap.h projects/arm64/sys/ofed/include/linux/ctype.h projects/arm64/sys/ofed/include/linux/init.h projects/arm64/sys/ofed/include/linux/rtnetlink.h projects/arm64/sys/ofed/include/linux/stddef.h projects/arm64/sys/ofed/include/net/addrconf.h projects/arm64/sys/ofed/include/net/arp.h projects/arm64/sys/ofed/include/net/ip6_route.h projects/arm64/sys/ofed/include/net/neighbour.h projects/arm64/tools/build/options/WITH_PIE projects/arm64/tools/regression/lib/libutil/ Modified: projects/arm64/.arcconfig projects/arm64/MAINTAINERS (contents, props changed) projects/arm64/Makefile projects/arm64/Makefile.inc1 projects/arm64/ObsoleteFiles.inc projects/arm64/bin/date/tests/Makefile projects/arm64/bin/dd/dd.1 projects/arm64/bin/ed/cbc.c projects/arm64/bin/pkill/tests/Makefile projects/arm64/bin/ps/keyword.c projects/arm64/bin/ps/ps.1 projects/arm64/bin/rmail/Makefile projects/arm64/bin/sh/arith_yacc.c projects/arm64/bin/sh/histedit.c projects/arm64/bin/sh/jobs.c projects/arm64/bin/sh/mystring.c projects/arm64/bin/sh/sh.1 projects/arm64/bin/sh/tests/Makefile projects/arm64/bin/sh/tests/builtins/Makefile projects/arm64/bin/sh/tests/errors/Makefile projects/arm64/bin/sh/tests/errors/bad-parm-exp2.2 projects/arm64/bin/sh/tests/errors/bad-parm-exp2.2.stderr projects/arm64/bin/sh/tests/errors/bad-parm-exp3.2 projects/arm64/bin/sh/tests/errors/bad-parm-exp3.2.stderr projects/arm64/bin/sh/tests/errors/bad-parm-exp4.2 projects/arm64/bin/sh/tests/errors/bad-parm-exp4.2.stderr projects/arm64/bin/sh/tests/errors/bad-parm-exp5.2 projects/arm64/bin/sh/tests/errors/bad-parm-exp5.2.stderr projects/arm64/bin/sh/tests/errors/bad-parm-exp6.2 projects/arm64/bin/sh/tests/errors/bad-parm-exp6.2.stderr projects/arm64/bin/sh/tests/execution/Makefile projects/arm64/bin/sh/tests/expansion/Makefile projects/arm64/bin/sh/tests/parameters/Makefile projects/arm64/bin/sh/tests/parser/Makefile projects/arm64/bin/sh/tests/set-e/Makefile projects/arm64/cddl/Makefile.inc projects/arm64/cddl/contrib/opensolaris/cmd/lockstat/sym.c projects/arm64/cddl/contrib/opensolaris/head/libintl.h projects/arm64/cddl/contrib/opensolaris/head/nlist.h projects/arm64/cddl/contrib/opensolaris/head/synch.h projects/arm64/cddl/contrib/opensolaris/head/thread.h projects/arm64/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h projects/arm64/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/arm64/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c projects/arm64/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pragma.c projects/arm64/cddl/contrib/opensolaris/lib/libgen/common/gmatch.c projects/arm64/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c projects/arm64/cddl/lib/libdtrace/libproc_compat.h projects/arm64/contrib/binutils/ld/emultempl/elf32.em projects/arm64/contrib/gcc/config/i386/emmintrin.h projects/arm64/contrib/libarchive/tar/util.c projects/arm64/contrib/libc++/include/list projects/arm64/contrib/libc++/include/type_traits projects/arm64/contrib/llvm/include/llvm/Support/ELF.h projects/arm64/contrib/llvm/lib/Object/ELF.cpp projects/arm64/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td projects/arm64/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp projects/arm64/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp projects/arm64/contrib/llvm/lib/Target/PowerPC/PPC.h projects/arm64/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp projects/arm64/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp projects/arm64/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.h projects/arm64/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp projects/arm64/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp projects/arm64/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h projects/arm64/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td projects/arm64/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td projects/arm64/contrib/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp projects/arm64/contrib/llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp projects/arm64/contrib/llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h projects/arm64/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp projects/arm64/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.h projects/arm64/contrib/openbsm/bin/auditdistd/sender.c projects/arm64/contrib/opie/libopie/challenge.c projects/arm64/contrib/opie/opie.h projects/arm64/contrib/opie/opiekey.c projects/arm64/contrib/serf/CHANGES projects/arm64/contrib/serf/buckets/ssl_buckets.c projects/arm64/contrib/serf/serf.h projects/arm64/contrib/sqlite3/INSTALL projects/arm64/contrib/sqlite3/Makefile.in projects/arm64/contrib/sqlite3/aclocal.m4 projects/arm64/contrib/sqlite3/config.guess projects/arm64/contrib/sqlite3/config.sub projects/arm64/contrib/sqlite3/configure projects/arm64/contrib/sqlite3/configure.ac projects/arm64/contrib/sqlite3/depcomp projects/arm64/contrib/sqlite3/install-sh projects/arm64/contrib/sqlite3/ltmain.sh projects/arm64/contrib/sqlite3/missing projects/arm64/contrib/sqlite3/shell.c projects/arm64/contrib/sqlite3/sqlite3.1 projects/arm64/contrib/sqlite3/sqlite3.c projects/arm64/contrib/sqlite3/sqlite3.h projects/arm64/contrib/sqlite3/sqlite3ext.h projects/arm64/contrib/subversion/CHANGES projects/arm64/contrib/subversion/build-outputs.mk projects/arm64/contrib/subversion/build.conf projects/arm64/contrib/subversion/configure projects/arm64/contrib/subversion/configure.ac projects/arm64/contrib/subversion/get-deps.sh projects/arm64/contrib/subversion/subversion/include/svn_version.h projects/arm64/contrib/subversion/subversion/libsvn_client/delete.c projects/arm64/contrib/subversion/subversion/libsvn_client/externals.c projects/arm64/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.c projects/arm64/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.h projects/arm64/contrib/subversion/subversion/libsvn_ra_serf/commit.c projects/arm64/contrib/subversion/subversion/libsvn_ra_serf/options.c projects/arm64/contrib/subversion/subversion/libsvn_ra_serf/util.c projects/arm64/contrib/subversion/subversion/libsvn_subr/config_auth.c projects/arm64/contrib/subversion/subversion/libsvn_subr/dirent_uri.c projects/arm64/contrib/subversion/subversion/libsvn_subr/internal_statements.h projects/arm64/contrib/subversion/subversion/libsvn_subr/opt.c projects/arm64/contrib/subversion/subversion/libsvn_wc/wc-checks.h projects/arm64/contrib/subversion/subversion/libsvn_wc/wc-metadata.h projects/arm64/contrib/subversion/subversion/libsvn_wc/wc-queries.h projects/arm64/contrib/subversion/subversion/libsvn_wc/wc_db.c projects/arm64/contrib/tzdata/africa projects/arm64/contrib/tzdata/antarctica projects/arm64/contrib/tzdata/asia projects/arm64/contrib/tzdata/australasia projects/arm64/contrib/tzdata/backward projects/arm64/contrib/tzdata/etcetera projects/arm64/contrib/tzdata/europe projects/arm64/contrib/tzdata/factory projects/arm64/contrib/tzdata/leap-seconds.list projects/arm64/contrib/tzdata/northamerica projects/arm64/contrib/tzdata/pacificnew projects/arm64/contrib/tzdata/southamerica projects/arm64/contrib/tzdata/systemv projects/arm64/contrib/tzdata/yearistype.sh projects/arm64/contrib/tzdata/zone.tab projects/arm64/etc/Makefile projects/arm64/etc/defaults/rc.conf projects/arm64/etc/devd/Makefile projects/arm64/etc/mtree/BSD.root.dist projects/arm64/etc/mtree/BSD.tests.dist projects/arm64/etc/pam.d/README projects/arm64/etc/rc.d/Makefile projects/arm64/etc/rc.d/SERVERS projects/arm64/etc/rc.d/gssd projects/arm64/etc/rc.d/ip6addrctl projects/arm64/etc/rc.d/jail projects/arm64/etc/rc.d/kadmind projects/arm64/etc/rc.d/kfd projects/arm64/etc/rc.d/kpasswdd projects/arm64/etc/rc.d/routing projects/arm64/etc/rc.d/syscons projects/arm64/etc/rc.subr projects/arm64/gnu/lib/libgcc/Makefile projects/arm64/gnu/usr.bin/binutils/addr2line/Makefile projects/arm64/gnu/usr.bin/binutils/nm/Makefile projects/arm64/gnu/usr.bin/binutils/objcopy/Makefile projects/arm64/gnu/usr.bin/binutils/objdump/Makefile projects/arm64/gnu/usr.bin/binutils/readelf/Makefile projects/arm64/gnu/usr.bin/binutils/size/Makefile projects/arm64/gnu/usr.bin/binutils/strings/Makefile projects/arm64/gnu/usr.bin/binutils/strip/Makefile projects/arm64/gnu/usr.bin/gdb/gdb/Makefile projects/arm64/gnu/usr.bin/gdb/gdbtui/Makefile projects/arm64/gnu/usr.bin/gdb/kgdb/Makefile projects/arm64/gnu/usr.bin/grep/Makefile projects/arm64/gnu/usr.bin/groff/src/devices/grodvi/Makefile projects/arm64/gnu/usr.bin/groff/src/devices/grohtml/Makefile projects/arm64/gnu/usr.bin/groff/src/devices/grolbp/Makefile projects/arm64/gnu/usr.bin/groff/src/devices/grolj4/Makefile projects/arm64/gnu/usr.bin/groff/src/devices/grops/Makefile projects/arm64/gnu/usr.bin/groff/src/devices/grotty/Makefile projects/arm64/gnu/usr.bin/groff/src/preproc/eqn/Makefile projects/arm64/gnu/usr.bin/groff/src/preproc/grn/Makefile projects/arm64/gnu/usr.bin/groff/src/preproc/html/Makefile projects/arm64/gnu/usr.bin/groff/src/preproc/pic/Makefile projects/arm64/gnu/usr.bin/groff/src/preproc/refer/Makefile projects/arm64/gnu/usr.bin/groff/src/preproc/soelim/Makefile projects/arm64/gnu/usr.bin/groff/src/preproc/tbl/Makefile projects/arm64/gnu/usr.bin/groff/src/roff/groff/Makefile projects/arm64/gnu/usr.bin/groff/src/roff/troff/Makefile projects/arm64/gnu/usr.bin/groff/src/utils/addftinfo/Makefile projects/arm64/gnu/usr.bin/groff/src/utils/hpftodit/Makefile projects/arm64/gnu/usr.bin/groff/src/utils/indxbib/Makefile projects/arm64/gnu/usr.bin/groff/src/utils/lkbib/Makefile projects/arm64/gnu/usr.bin/groff/src/utils/lookbib/Makefile projects/arm64/gnu/usr.bin/groff/src/utils/tfmtodit/Makefile projects/arm64/gnu/usr.bin/rcs/Makefile.inc projects/arm64/gnu/usr.bin/texinfo/info/Makefile projects/arm64/gnu/usr.bin/texinfo/infokey/Makefile projects/arm64/gnu/usr.bin/texinfo/install-info/Makefile projects/arm64/gnu/usr.bin/texinfo/makeinfo/Makefile projects/arm64/gnu/usr.bin/texinfo/texindex/Makefile projects/arm64/include/arpa/inet.h projects/arm64/include/arpa/nameser.h projects/arm64/include/arpa/nameser_compat.h projects/arm64/include/pthread.h projects/arm64/include/res_update.h projects/arm64/include/resolv.h projects/arm64/include/stddef.h projects/arm64/include/stdlib.h projects/arm64/kerberos5/libexec/digest-service/Makefile projects/arm64/kerberos5/libexec/hprop/Makefile projects/arm64/kerberos5/libexec/hpropd/Makefile projects/arm64/kerberos5/libexec/ipropd-master/Makefile projects/arm64/kerberos5/libexec/ipropd-slave/Makefile projects/arm64/kerberos5/libexec/kadmind/Makefile projects/arm64/kerberos5/libexec/kcm/Makefile projects/arm64/kerberos5/libexec/kdc/Makefile projects/arm64/kerberos5/libexec/kdigest/Makefile projects/arm64/kerberos5/libexec/kfd/Makefile projects/arm64/kerberos5/libexec/kimpersonate/Makefile projects/arm64/kerberos5/libexec/kpasswdd/Makefile projects/arm64/kerberos5/tools/asn1_compile/Makefile projects/arm64/kerberos5/tools/slc/Makefile projects/arm64/kerberos5/usr.bin/hxtool/Makefile projects/arm64/kerberos5/usr.bin/kadmin/Makefile projects/arm64/kerberos5/usr.bin/kcc/Makefile projects/arm64/kerberos5/usr.bin/kdestroy/Makefile projects/arm64/kerberos5/usr.bin/kf/Makefile projects/arm64/kerberos5/usr.bin/kgetcred/Makefile projects/arm64/kerberos5/usr.bin/kinit/Makefile projects/arm64/kerberos5/usr.bin/kpasswd/Makefile projects/arm64/kerberos5/usr.bin/ksu/Makefile projects/arm64/kerberos5/usr.bin/string2key/Makefile projects/arm64/kerberos5/usr.bin/verify_krb5_conf/Makefile projects/arm64/kerberos5/usr.sbin/iprop-log/Makefile projects/arm64/kerberos5/usr.sbin/kstash/Makefile projects/arm64/kerberos5/usr.sbin/ktutil/Makefile projects/arm64/lib/atf/libatf-c++/Makefile projects/arm64/lib/clang/clang.build.mk projects/arm64/lib/clang/include/clang/Config/config.h projects/arm64/lib/clang/include/llvm/Config/config.h projects/arm64/lib/csu/amd64/Makefile projects/arm64/lib/csu/i386-elf/Makefile projects/arm64/lib/libc++/Makefile projects/arm64/lib/libc/Makefile projects/arm64/lib/libc/arm/Makefile.inc projects/arm64/lib/libc/arm/aeabi/aeabi_vfp.h projects/arm64/lib/libc/arm/gen/__aeabi_read_tp.S projects/arm64/lib/libc/arm/gen/_ctx_start.S projects/arm64/lib/libc/arm/gen/_setjmp.S projects/arm64/lib/libc/arm/gen/alloca.S projects/arm64/lib/libc/arm/gen/divsi3.S projects/arm64/lib/libc/arm/gen/setjmp.S projects/arm64/lib/libc/arm/gen/sigsetjmp.S projects/arm64/lib/libc/arm/string/ffs.S projects/arm64/lib/libc/arm/string/memcmp.S projects/arm64/lib/libc/arm/string/memcpy_arm.S projects/arm64/lib/libc/arm/string/memcpy_xscale.S projects/arm64/lib/libc/arm/string/memmove.S projects/arm64/lib/libc/arm/string/memset.S projects/arm64/lib/libc/arm/string/strcmp.S projects/arm64/lib/libc/arm/string/strlen.S projects/arm64/lib/libc/arm/string/strncmp.S projects/arm64/lib/libc/arm/sys/Ovfork.S projects/arm64/lib/libc/arm/sys/brk.S projects/arm64/lib/libc/arm/sys/cerror.S projects/arm64/lib/libc/arm/sys/pipe.S projects/arm64/lib/libc/arm/sys/ptrace.S projects/arm64/lib/libc/arm/sys/sbrk.S projects/arm64/lib/libc/gen/posix_spawnattr_init.3 projects/arm64/lib/libc/gen/rewinddir.c projects/arm64/lib/libc/include/isc/eventlib.h projects/arm64/lib/libc/include/isc/list.h projects/arm64/lib/libc/include/port_before.h projects/arm64/lib/libc/inet/inet_addr.c projects/arm64/lib/libc/inet/inet_cidr_ntop.c projects/arm64/lib/libc/inet/inet_cidr_pton.c projects/arm64/lib/libc/inet/inet_net_ntop.c projects/arm64/lib/libc/inet/inet_net_pton.c projects/arm64/lib/libc/inet/inet_neta.c projects/arm64/lib/libc/inet/inet_ntoa.c projects/arm64/lib/libc/inet/inet_ntop.c projects/arm64/lib/libc/inet/inet_pton.c projects/arm64/lib/libc/inet/nsap_addr.c projects/arm64/lib/libc/isc/ev_streams.c projects/arm64/lib/libc/isc/ev_timers.c projects/arm64/lib/libc/isc/eventlib_p.h projects/arm64/lib/libc/locale/lmonetary.c projects/arm64/lib/libc/nameser/Symbol.map projects/arm64/lib/libc/nameser/ns_name.c projects/arm64/lib/libc/nameser/ns_netint.c projects/arm64/lib/libc/nameser/ns_parse.c projects/arm64/lib/libc/nameser/ns_print.c projects/arm64/lib/libc/nameser/ns_samedomain.c projects/arm64/lib/libc/nameser/ns_ttl.c projects/arm64/lib/libc/net/sctp_sys_calls.c projects/arm64/lib/libc/resolv/Makefile.inc projects/arm64/lib/libc/resolv/Symbol.map projects/arm64/lib/libc/resolv/herror.c projects/arm64/lib/libc/resolv/res_comp.c projects/arm64/lib/libc/resolv/res_data.c projects/arm64/lib/libc/resolv/res_debug.c projects/arm64/lib/libc/resolv/res_findzonecut.c projects/arm64/lib/libc/resolv/res_init.c projects/arm64/lib/libc/resolv/res_mkquery.c projects/arm64/lib/libc/resolv/res_mkupdate.c projects/arm64/lib/libc/resolv/res_query.c projects/arm64/lib/libc/resolv/res_send.c projects/arm64/lib/libc/resolv/res_update.c projects/arm64/lib/libc/stdlib/Symbol.map projects/arm64/lib/libc/stdlib/strtonum.c projects/arm64/lib/libcrypt/tests/Makefile projects/arm64/lib/libcuse/Makefile projects/arm64/lib/libcuse/cuse_lib.c projects/arm64/lib/libgeom/geom_getxml.c projects/arm64/lib/libnv/nvlist.c projects/arm64/lib/libopie/Makefile projects/arm64/lib/libpam/modules/pam_opie/pam_opie.c projects/arm64/lib/libproc/proc_sym.c projects/arm64/lib/libstdthreads/threads.h projects/arm64/lib/libthr/thread/thr_cond.c projects/arm64/lib/libthr/thread/thr_init.c projects/arm64/lib/libthr/thread/thr_stack.c projects/arm64/lib/libusb/libusb.h projects/arm64/lib/libutil/Makefile projects/arm64/lib/msun/arm/fenv.c projects/arm64/lib/msun/src/e_lgamma_r.c projects/arm64/lib/msun/src/e_lgammaf_r.c projects/arm64/lib/msun/src/math.h projects/arm64/lib/msun/src/s_tanh.c projects/arm64/lib/msun/src/s_tanhf.c projects/arm64/libexec/getty/main.c projects/arm64/libexec/mail.local/Makefile projects/arm64/libexec/rshd/rshd.c projects/arm64/libexec/rtld-elf/Makefile projects/arm64/libexec/rtld-elf/amd64/reloc.c projects/arm64/libexec/rtld-elf/arm/reloc.c projects/arm64/libexec/rtld-elf/i386/reloc.c projects/arm64/libexec/rtld-elf/libmap.c projects/arm64/libexec/rtld-elf/mips/reloc.c projects/arm64/libexec/rtld-elf/powerpc/reloc.c projects/arm64/libexec/rtld-elf/powerpc64/reloc.c projects/arm64/libexec/rtld-elf/rtld.c projects/arm64/libexec/rtld-elf/rtld.h projects/arm64/libexec/rtld-elf/sparc64/reloc.c projects/arm64/libexec/rtld-elf/tests/target/Makefile projects/arm64/libexec/smrsh/Makefile projects/arm64/libexec/telnetd/Makefile projects/arm64/release/arm/release.sh projects/arm64/release/release.sh projects/arm64/rescue/rescue/Makefile projects/arm64/sbin/atm/atmconfig/Makefile projects/arm64/sbin/atm/atmconfig/main.c projects/arm64/sbin/camcontrol/camcontrol.8 projects/arm64/sbin/conscontrol/conscontrol.8 projects/arm64/sbin/devd/Makefile projects/arm64/sbin/devd/devd.8 projects/arm64/sbin/devd/devd.cc projects/arm64/sbin/dhclient/tests/Makefile projects/arm64/sbin/fsck/Makefile projects/arm64/sbin/gbde/gbde.8 projects/arm64/sbin/geom/class/part/gpart.8 projects/arm64/sbin/hastd/Makefile projects/arm64/sbin/hastd/primary.c projects/arm64/sbin/hastd/synch.h projects/arm64/sbin/ifconfig/Makefile projects/arm64/sbin/ifconfig/ifconfig.c projects/arm64/sbin/ifconfig/ifconfig.h projects/arm64/sbin/init/init.c projects/arm64/sbin/ipf/ipf/Makefile projects/arm64/sbin/ipf/ipfstat/Makefile projects/arm64/sbin/ipf/ipftest/Makefile projects/arm64/sbin/ipf/ipmon/Makefile projects/arm64/sbin/ipf/ipnat/Makefile projects/arm64/sbin/ipf/ippool/Makefile projects/arm64/sbin/ipf/ipresend/Makefile projects/arm64/sbin/ipfw/altq.c projects/arm64/sbin/ipfw/dummynet.c projects/arm64/sbin/ipfw/ipfw2.c projects/arm64/sbin/ipfw/ipfw2.h projects/arm64/sbin/ipfw/ipv6.c projects/arm64/sbin/mksnap_ffs/Makefile projects/arm64/sbin/mount/mntopts.h projects/arm64/sbin/mount/mount.8 projects/arm64/sbin/mount/mount.c projects/arm64/sbin/newfs_msdos/newfs_msdos.c projects/arm64/sbin/rcorder/Makefile projects/arm64/sbin/shutdown/Makefile projects/arm64/sbin/sysctl/sysctl.c projects/arm64/sbin/umount/umount.c projects/arm64/secure/usr.bin/ssh/Makefile projects/arm64/share/dtrace/Makefile projects/arm64/share/dtrace/README projects/arm64/share/dtrace/toolkit/Makefile projects/arm64/share/examples/bhyve/vmrun.sh projects/arm64/share/man/man3/pthread.3 projects/arm64/share/man/man4/Makefile projects/arm64/share/man/man4/altera_atse.4 projects/arm64/share/man/man4/atkbd.4 projects/arm64/share/man/man4/filemon.4 projects/arm64/share/man/man4/ip.4 projects/arm64/share/man/man4/iwn.4 projects/arm64/share/man/man4/iwnfw.4 projects/arm64/share/man/man4/kbdmux.4 projects/arm64/share/man/man4/ukbd.4 projects/arm64/share/man/man4/urtwn.4 projects/arm64/share/man/man4/vkbd.4 projects/arm64/share/man/man4/vt.4 projects/arm64/share/man/man5/Makefile projects/arm64/share/man/man5/rc.conf.5 projects/arm64/share/man/man5/src.conf.5 projects/arm64/share/man/man7/hier.7 projects/arm64/share/man/man8/nanobsd.8 projects/arm64/share/man/man9/Makefile projects/arm64/share/man/man9/sysctl_add_oid.9 projects/arm64/share/man/man9/timeout.9 projects/arm64/share/man/man9/vm_page_busy.9 projects/arm64/share/misc/bsd-family-tree projects/arm64/share/misc/committers-ports.dot projects/arm64/share/mk/bsd.dep.mk projects/arm64/share/mk/bsd.lib.mk projects/arm64/share/mk/bsd.libnames.mk projects/arm64/share/mk/bsd.opts.mk projects/arm64/share/mk/bsd.prog.mk projects/arm64/share/mk/bsd.sys.mk projects/arm64/share/mk/src.libnames.mk projects/arm64/share/syscons/keymaps/INDEX.keymaps projects/arm64/share/syscons/keymaps/be.iso.acc.kbd projects/arm64/share/syscons/keymaps/cs.latin2.qwertz.kbd projects/arm64/share/syscons/keymaps/uk.iso-ctrl.kbd projects/arm64/share/syscons/keymaps/uk.iso.kbd projects/arm64/share/vt/keymaps/Makefile projects/arm64/share/vt/keymaps/pl.kbd (contents, props changed) projects/arm64/share/vt/keymaps/ua.kbd (contents, props changed) projects/arm64/share/vt/keymaps/ua.shift.alt.kbd (contents, props changed) projects/arm64/share/zoneinfo/Makefile projects/arm64/sys/amd64/amd64/machdep.c projects/arm64/sys/amd64/amd64/pmap.c projects/arm64/sys/amd64/amd64/support.S projects/arm64/sys/amd64/conf/GENERIC projects/arm64/sys/amd64/conf/NOTES projects/arm64/sys/amd64/include/md_var.h projects/arm64/sys/amd64/include/param.h projects/arm64/sys/amd64/include/pc/bios.h projects/arm64/sys/amd64/include/vmm.h (contents, props changed) projects/arm64/sys/amd64/include/vmparam.h projects/arm64/sys/amd64/vmm/intel/vtd.c projects/arm64/sys/amd64/vmm/io/vatpic.c projects/arm64/sys/amd64/vmm/vmm.c projects/arm64/sys/amd64/vmm/vmm_instruction_emul.c projects/arm64/sys/amd64/vmm/x86.c projects/arm64/sys/arm/arm/disassem.c projects/arm64/sys/arm/arm/elf_machdep.c projects/arm64/sys/arm/arm/locore.S projects/arm64/sys/arm/arm/nexus.c projects/arm64/sys/arm/arm/pmap-v6.c projects/arm64/sys/arm/arm/pmap.c projects/arm64/sys/arm/at91/at91.c projects/arm64/sys/arm/at91/at91_aic.c projects/arm64/sys/arm/at91/at91_machdep.c projects/arm64/sys/arm/at91/at91_mci.c projects/arm64/sys/arm/at91/at91_mcireg.h projects/arm64/sys/arm/at91/at91_pio.c projects/arm64/sys/arm/at91/at91_piovar.h projects/arm64/sys/arm/at91/at91_pit.c projects/arm64/sys/arm/at91/at91_pmc.c projects/arm64/sys/arm/at91/at91sam9260.c projects/arm64/sys/arm/at91/at91sam9260reg.h projects/arm64/sys/arm/at91/files.at91 projects/arm64/sys/arm/at91/std.atmel projects/arm64/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c projects/arm64/sys/arm/conf/BEAGLEBONE projects/arm64/sys/arm/conf/CNS11XXNAS projects/arm64/sys/arm/conf/CUBIEBOARD projects/arm64/sys/arm/conf/CUBIEBOARD2 projects/arm64/sys/arm/conf/DB-78XXX projects/arm64/sys/arm/conf/DB-88F5XXX projects/arm64/sys/arm/conf/DB-88F6XXX projects/arm64/sys/arm/conf/DIGI-CCWMX53 projects/arm64/sys/arm/conf/DOCKSTAR projects/arm64/sys/arm/conf/DREAMPLUG-1001 projects/arm64/sys/arm/conf/EA3250 projects/arm64/sys/arm/conf/EB9200 projects/arm64/sys/arm/conf/EFIKA_MX projects/arm64/sys/arm/conf/EXYNOS5.common projects/arm64/sys/arm/conf/HL200 projects/arm64/sys/arm/conf/HL201 projects/arm64/sys/arm/conf/IMX53-QSB projects/arm64/sys/arm/conf/IMX6 projects/arm64/sys/arm/conf/KB920X projects/arm64/sys/arm/conf/NSLU projects/arm64/sys/arm/conf/PANDABOARD projects/arm64/sys/arm/conf/QILA9G20 projects/arm64/sys/arm/conf/RK3188 projects/arm64/sys/arm/conf/SAM9G20EK projects/arm64/sys/arm/conf/SAM9X25EK projects/arm64/sys/arm/conf/SN9G45 projects/arm64/sys/arm/conf/VYBRID projects/arm64/sys/arm/conf/WANDBOARD-DUAL projects/arm64/sys/arm/conf/WANDBOARD-QUAD projects/arm64/sys/arm/conf/WANDBOARD-SOLO projects/arm64/sys/arm/conf/ZEDBOARD projects/arm64/sys/arm/freescale/fsl_ocotp.c projects/arm64/sys/arm/freescale/imx/files.imx51 projects/arm64/sys/arm/freescale/imx/files.imx53 projects/arm64/sys/arm/freescale/imx/files.imx6 projects/arm64/sys/arm/freescale/imx/imx51_ccm.c projects/arm64/sys/arm/freescale/imx/imx51_iomux.c projects/arm64/sys/arm/freescale/imx/imx51_ipuv3_fbd.c projects/arm64/sys/arm/freescale/imx/imx6_anatop.c projects/arm64/sys/arm/freescale/imx/imx6_ccm.c projects/arm64/sys/arm/freescale/imx/imx_ccmvar.h projects/arm64/sys/arm/freescale/imx/imx_sdhci.c projects/arm64/sys/arm/freescale/vybrid/vf_sai.c projects/arm64/sys/arm/include/asm.h projects/arm64/sys/arm/include/cpuconf.h projects/arm64/sys/arm/include/elf.h projects/arm64/sys/arm/include/intr.h projects/arm64/sys/arm/include/param.h projects/arm64/sys/arm/include/platform.h projects/arm64/sys/arm/mv/gpio.c projects/arm64/sys/arm/rockchip/rk30xx_gpio.c projects/arm64/sys/arm/ti/ti_i2c.c projects/arm64/sys/arm/ti/ti_i2c.h projects/arm64/sys/arm/ti/ti_sdhci.c projects/arm64/sys/arm/xilinx/files.zynq7 projects/arm64/sys/arm64/arm64/pmap.c projects/arm64/sys/boot/common/module.c projects/arm64/sys/boot/common/part.c projects/arm64/sys/boot/fdt/dts/arm/cubieboard2.dts projects/arm64/sys/boot/fdt/dts/arm/imx6.dtsi projects/arm64/sys/boot/fdt/dts/arm/sun4i-a10.dtsi projects/arm64/sys/boot/fdt/dts/arm/sun7i-a20.dtsi projects/arm64/sys/boot/fdt/dts/arm/wandboard-dual.dts projects/arm64/sys/boot/fdt/dts/arm/wandboard-quad.dts projects/arm64/sys/boot/fdt/dts/arm/wandboard-solo.dts projects/arm64/sys/boot/i386/boot2/Makefile projects/arm64/sys/boot/i386/btx/btx/Makefile projects/arm64/sys/boot/i386/btx/btxldr/Makefile projects/arm64/sys/boot/i386/btx/lib/Makefile projects/arm64/sys/boot/i386/loader/Makefile projects/arm64/sys/boot/mips/beri/boot2/Makefile projects/arm64/sys/boot/mips/beri/loader/Makefile projects/arm64/sys/boot/pc98/boot2/Makefile projects/arm64/sys/boot/pc98/btx/lib/Makefile projects/arm64/sys/boot/pc98/loader/Makefile projects/arm64/sys/boot/sparc64/boot1/Makefile projects/arm64/sys/boot/sparc64/loader/Makefile projects/arm64/sys/boot/userboot/userboot/devicename.c projects/arm64/sys/cam/ata/ata_all.c projects/arm64/sys/cam/ata/ata_da.c projects/arm64/sys/cam/ata/ata_xpt.c projects/arm64/sys/cam/ctl/ctl_frontend_iscsi.c projects/arm64/sys/cam/ctl/ctl_tpc.c projects/arm64/sys/cam/scsi/scsi_da.c projects/arm64/sys/cam/scsi/scsi_low.c projects/arm64/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c projects/arm64/sys/cddl/compat/opensolaris/sys/atomic.h projects/arm64/sys/cddl/compat/opensolaris/sys/kmem.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/dtrace/profile.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/dtrace/systrace.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/refcount.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/os/fm.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/sys/bitmap.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/sys/cpuvar.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/sys/feature_tests.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/sys/processor.h projects/arm64/sys/cddl/contrib/opensolaris/uts/sparc/dtrace/fasttrap_isa.c projects/arm64/sys/cddl/dev/fbt/fbt.c projects/arm64/sys/compat/freebsd32/freebsd32.h projects/arm64/sys/compat/freebsd32/freebsd32_misc.c projects/arm64/sys/compat/freebsd32/freebsd32_proto.h projects/arm64/sys/compat/freebsd32/freebsd32_syscall.h projects/arm64/sys/compat/freebsd32/freebsd32_syscalls.c projects/arm64/sys/compat/freebsd32/freebsd32_sysent.c projects/arm64/sys/compat/freebsd32/freebsd32_systrace_args.c projects/arm64/sys/compat/freebsd32/syscalls.master projects/arm64/sys/compat/linprocfs/linprocfs.c projects/arm64/sys/conf/Makefile.arm projects/arm64/sys/conf/NOTES projects/arm64/sys/conf/files projects/arm64/sys/conf/files.amd64 projects/arm64/sys/conf/files.i386 projects/arm64/sys/conf/files.pc98 projects/arm64/sys/conf/kern.mk projects/arm64/sys/conf/kern.opts.mk projects/arm64/sys/conf/kern.post.mk projects/arm64/sys/conf/options projects/arm64/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_power.c projects/arm64/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_recv.c projects/arm64/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_reset.c projects/arm64/sys/contrib/rdma/krping/krping.c projects/arm64/sys/ddb/db_run.c projects/arm64/sys/dev/acpica/acpi_hpet.c projects/arm64/sys/dev/ae/if_ae.c projects/arm64/sys/dev/age/if_age.c projects/arm64/sys/dev/ahci/ahci.c projects/arm64/sys/dev/ahci/ahci.h projects/arm64/sys/dev/alc/if_alc.c projects/arm64/sys/dev/ale/if_ale.c projects/arm64/sys/dev/altera/atse/if_atse.c projects/arm64/sys/dev/ath/ath_hal/ah.c projects/arm64/sys/dev/ath/ath_hal/ah_decode.h projects/arm64/sys/dev/ath/ath_hal/ah_internal.h projects/arm64/sys/dev/ath/if_ath.c projects/arm64/sys/dev/ath/if_ath_beacon.c projects/arm64/sys/dev/bce/if_bce.c projects/arm64/sys/dev/bfe/if_bfe.c projects/arm64/sys/dev/bge/if_bge.c projects/arm64/sys/dev/bktr/CHANGELOG.TXT projects/arm64/sys/dev/bxe/bxe.c projects/arm64/sys/dev/cadence/if_cgem.c projects/arm64/sys/dev/cadence/if_cgem_hw.h projects/arm64/sys/dev/cas/if_cas.c projects/arm64/sys/dev/cs/if_cs.c projects/arm64/sys/dev/cxgb/cxgb_osdep.h projects/arm64/sys/dev/cxgbe/common/t4_hw.c projects/arm64/sys/dev/cxgbe/iw_cxgbe/cm.c projects/arm64/sys/dev/cxgbe/iw_cxgbe/qp.c projects/arm64/sys/dev/cxgbe/t4_netmap.c projects/arm64/sys/dev/dc/if_dc.c projects/arm64/sys/dev/drm/drm_sysctl.c projects/arm64/sys/dev/drm2/drm_fb_helper.c projects/arm64/sys/dev/drm2/i915/i915_drv.h projects/arm64/sys/dev/drm2/i915/i915_irq.c projects/arm64/sys/dev/drm2/i915/intel_opregion.c projects/arm64/sys/dev/drm2/radeon/radeon_fb.c projects/arm64/sys/dev/e1000/if_em.c projects/arm64/sys/dev/e1000/if_igb.c projects/arm64/sys/dev/e1000/if_lem.c projects/arm64/sys/dev/ep/if_ep.c projects/arm64/sys/dev/fb/creator_vt.c projects/arm64/sys/dev/fb/fbd.c projects/arm64/sys/dev/fdt/fdt_common.c projects/arm64/sys/dev/fdt/simplebus.c projects/arm64/sys/dev/ffec/if_ffec.c projects/arm64/sys/dev/firewire/if_fwe.c projects/arm64/sys/dev/fxp/if_fxp.c projects/arm64/sys/dev/gem/if_gem.c projects/arm64/sys/dev/gpio/ofw_gpiobus.c projects/arm64/sys/dev/gxemul/ether/if_gx.c projects/arm64/sys/dev/hme/if_hme.c projects/arm64/sys/dev/hptnr/README projects/arm64/sys/dev/hptnr/amd64-elf.hptnr_lib.o.uu projects/arm64/sys/dev/hptnr/hptnr_config.c projects/arm64/sys/dev/hptnr/hptnr_os_bsd.c projects/arm64/sys/dev/hptnr/hptnr_osm_bsd.c projects/arm64/sys/dev/hptnr/i386-elf.hptnr_lib.o.uu projects/arm64/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/arm64/sys/dev/if_ndis/if_ndis.c projects/arm64/sys/dev/iscsi/icl.c projects/arm64/sys/dev/iscsi/icl_proxy.c projects/arm64/sys/dev/iscsi/iscsi.c projects/arm64/sys/dev/iwn/if_iwn.c projects/arm64/sys/dev/iwn/if_iwnreg.h projects/arm64/sys/dev/iwn/if_iwnvar.h projects/arm64/sys/dev/ixgb/if_ixgb.c projects/arm64/sys/dev/ixgbe/ixgbe.c projects/arm64/sys/dev/ixgbe/ixgbe.h projects/arm64/sys/dev/ixgbe/ixv.c projects/arm64/sys/dev/jme/if_jme.c projects/arm64/sys/dev/le/lance.c projects/arm64/sys/dev/mii/e1000phy.c projects/arm64/sys/dev/mii/mii.c projects/arm64/sys/dev/mrsas/mrsas.h projects/arm64/sys/dev/mrsas/mrsas_cam.c projects/arm64/sys/dev/msk/if_msk.c projects/arm64/sys/dev/netfpga10g/nf10bmac/if_nf10bmac.c projects/arm64/sys/dev/netmap/if_em_netmap.h projects/arm64/sys/dev/netmap/if_igb_netmap.h projects/arm64/sys/dev/netmap/if_lem_netmap.h projects/arm64/sys/dev/netmap/if_re_netmap.h projects/arm64/sys/dev/netmap/ixgbe_netmap.h projects/arm64/sys/dev/netmap/netmap.c projects/arm64/sys/dev/netmap/netmap_freebsd.c projects/arm64/sys/dev/netmap/netmap_generic.c projects/arm64/sys/dev/netmap/netmap_kern.h projects/arm64/sys/dev/netmap/netmap_mbq.h projects/arm64/sys/dev/netmap/netmap_mem2.c projects/arm64/sys/dev/netmap/netmap_mem2.h projects/arm64/sys/dev/netmap/netmap_offloadings.c projects/arm64/sys/dev/netmap/netmap_pipe.c projects/arm64/sys/dev/netmap/netmap_vale.c projects/arm64/sys/dev/nfe/if_nfe.c projects/arm64/sys/dev/nge/if_nge.c projects/arm64/sys/dev/ofw/ofw_bus_subr.c projects/arm64/sys/dev/ofw/ofw_console.c projects/arm64/sys/dev/ofw/ofw_fdt.c projects/arm64/sys/dev/ofw/ofwbus.c projects/arm64/sys/dev/ofw/openfirm.c projects/arm64/sys/dev/ofw/openfirm.h projects/arm64/sys/dev/pci/pci.c projects/arm64/sys/dev/pci/pci_if.m projects/arm64/sys/dev/pci/pci_private.h projects/arm64/sys/dev/pci/pcivar.h projects/arm64/sys/dev/qlxgb/qla_os.c projects/arm64/sys/dev/qlxgbe/ql_os.c projects/arm64/sys/dev/qlxge/qls_os.c projects/arm64/sys/dev/re/if_re.c projects/arm64/sys/dev/rt/if_rt.c projects/arm64/sys/dev/sdhci/sdhci.c projects/arm64/sys/dev/sdhci/sdhci.h projects/arm64/sys/dev/sdhci/sdhci_fdt.c projects/arm64/sys/dev/sdhci/sdhci_if.m projects/arm64/sys/dev/sdhci/sdhci_pci.c projects/arm64/sys/dev/sf/if_sf.c projects/arm64/sys/dev/sge/if_sge.c projects/arm64/sys/dev/si/si.c projects/arm64/sys/dev/sis/if_sis.c projects/arm64/sys/dev/sk/if_sk.c projects/arm64/sys/dev/sound/usb/uaudio.c projects/arm64/sys/dev/ste/if_ste.c projects/arm64/sys/dev/stge/if_stge.c projects/arm64/sys/dev/streams/streams.c projects/arm64/sys/dev/tsec/if_tsec_fdt.c projects/arm64/sys/dev/txp/if_txp.c projects/arm64/sys/dev/usb/controller/ehci_pci.c projects/arm64/sys/dev/usb/net/if_aue.c projects/arm64/sys/dev/usb/quirk/usb_quirk.c projects/arm64/sys/dev/usb/usbdevs projects/arm64/sys/dev/usb/wlan/if_run.c projects/arm64/sys/dev/usb/wlan/if_urtwn.c projects/arm64/sys/dev/vge/if_vge.c projects/arm64/sys/dev/virtio/network/if_vtnet.c projects/arm64/sys/dev/virtio/virtqueue.c projects/arm64/sys/dev/vr/if_vr.c projects/arm64/sys/dev/vt/colors/vt_termcolors.c projects/arm64/sys/dev/vt/colors/vt_termcolors.h projects/arm64/sys/dev/vt/font/vt_mouse_cursor.c projects/arm64/sys/dev/vt/hw/efifb/efifb.c projects/arm64/sys/dev/vt/hw/fb/vt_early_fb.c projects/arm64/sys/dev/vt/hw/fb/vt_fb.c projects/arm64/sys/dev/vt/hw/fb/vt_fb.h projects/arm64/sys/dev/vt/hw/ofwfb/ofwfb.c projects/arm64/sys/dev/vt/hw/vga/vt_vga.c projects/arm64/sys/dev/vt/vt.h projects/arm64/sys/dev/vt/vt_buf.c projects/arm64/sys/dev/vt/vt_core.c projects/arm64/sys/dev/vt/vt_sysmouse.c projects/arm64/sys/dev/vxge/vxge.c projects/arm64/sys/dev/xen/blkback/blkback.c projects/arm64/sys/dev/xen/netback/netback.c projects/arm64/sys/fs/nfs/nfsm_subs.h projects/arm64/sys/fs/nfsserver/nfs_nfsdsocket.c projects/arm64/sys/gdb/gdb_int.h projects/arm64/sys/gdb/gdb_main.c projects/arm64/sys/gdb/gdb_packet.c projects/arm64/sys/geom/eli/g_eli_crypto.c projects/arm64/sys/geom/eli/g_eli_integrity.c projects/arm64/sys/geom/eli/g_eli_privacy.c projects/arm64/sys/geom/geom_dev.c projects/arm64/sys/geom/part/g_part_mbr.c projects/arm64/sys/gnu/dts/include/dt-bindings/clock/exynos4.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/exynos5250.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/exynos5420.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/exynos5440.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/hi3620-clock.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/imx6sl-clock.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-msm8960.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-msm8974.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/qcom,mmcc-msm8960.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/r8a7790-clock.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/r8a7791-clock.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/tegra114-car.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/tegra124-car.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/vf610-clock.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/mfd/as3722.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/pinctrl/am43xx.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/pinctrl/dra.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/pinctrl/omap.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-msm8960.h (contents, props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/reset/qcom,mmcc-msm8960.h (contents, props changed) projects/arm64/sys/i386/acpica/acpi_wakecode.S projects/arm64/sys/i386/conf/GENERIC projects/arm64/sys/i386/conf/NOTES projects/arm64/sys/i386/i386/db_disasm.c projects/arm64/sys/i386/i386/initcpu.c projects/arm64/sys/i386/i386/machdep.c projects/arm64/sys/i386/i386/mp_machdep.c projects/arm64/sys/i386/i386/pmap.c projects/arm64/sys/i386/i386/support.s projects/arm64/sys/i386/i386/swtch.s projects/arm64/sys/i386/i386/trap.c projects/arm64/sys/i386/include/md_var.h projects/arm64/sys/i386/include/npx.h projects/arm64/sys/i386/include/pc/bios.h projects/arm64/sys/i386/include/pcb.h projects/arm64/sys/i386/isa/npx.c projects/arm64/sys/i386/xen/pmap.c projects/arm64/sys/kern/imgact_binmisc.c projects/arm64/sys/kern/imgact_elf.c projects/arm64/sys/kern/imgact_shell.c projects/arm64/sys/kern/kern_descrip.c projects/arm64/sys/kern/kern_exec.c projects/arm64/sys/kern/kern_exit.c projects/arm64/sys/kern/kern_lock.c projects/arm64/sys/kern/kern_malloc.c projects/arm64/sys/kern/kern_proc.c projects/arm64/sys/kern/kern_prot.c projects/arm64/sys/kern/kern_sig.c projects/arm64/sys/kern/kern_thread.c projects/arm64/sys/kern/kern_umtx.c projects/arm64/sys/kern/sched_4bsd.c projects/arm64/sys/kern/sched_ule.c projects/arm64/sys/kern/subr_sfbuf.c projects/arm64/sys/kern/subr_terminal.c projects/arm64/sys/kern/sys_socket.c projects/arm64/sys/kern/sysv_shm.c projects/arm64/sys/kern/uipc_mbuf.c projects/arm64/sys/kern/uipc_shm.c projects/arm64/sys/kern/uipc_socket.c projects/arm64/sys/kern/uipc_syscalls.c projects/arm64/sys/kern/vfs_bio.c projects/arm64/sys/kern/vfs_lookup.c projects/arm64/sys/kern/vfs_mount.c projects/arm64/sys/kern/vfs_vnops.c projects/arm64/sys/mips/beri/beri_simplebus.c projects/arm64/sys/mips/cavium/if_octm.c projects/arm64/sys/mips/cavium/octe/octe.c projects/arm64/sys/mips/mips/pmap.c projects/arm64/sys/modules/Makefile projects/arm64/sys/modules/ahci/Makefile projects/arm64/sys/modules/aic7xxx/ahc/Makefile projects/arm64/sys/modules/aic7xxx/ahc/ahc_eisa/Makefile projects/arm64/sys/modules/cxgb/Makefile projects/arm64/sys/modules/cxgbe/Makefile projects/arm64/sys/modules/dpt/Makefile projects/arm64/sys/modules/drm/Makefile projects/arm64/sys/modules/drm2/Makefile projects/arm64/sys/modules/drm2/i915kms/Makefile projects/arm64/sys/modules/dtrace/fbt/Makefile projects/arm64/sys/modules/ep/Makefile projects/arm64/sys/modules/if_gif/Makefile projects/arm64/sys/modules/iwnfw/Makefile projects/arm64/sys/modules/mlx4/Makefile projects/arm64/sys/modules/mlx4ib/Makefile projects/arm64/sys/modules/mlxen/Makefile projects/arm64/sys/modules/netgraph/Makefile projects/arm64/sys/modules/sound/driver/Makefile projects/arm64/sys/modules/usb/Makefile projects/arm64/sys/modules/vx/Makefile projects/arm64/sys/net/if.c projects/arm64/sys/net/if.h projects/arm64/sys/net/if_gre.c projects/arm64/sys/net/if_lagg.c projects/arm64/sys/net/if_mib.c projects/arm64/sys/net/if_stf.c projects/arm64/sys/net/if_var.h projects/arm64/sys/net/if_vlan.c projects/arm64/sys/net/netmap.h projects/arm64/sys/net/netmap_user.h projects/arm64/sys/net/pfvar.h projects/arm64/sys/net/rtsock.c projects/arm64/sys/net/sff8472.h projects/arm64/sys/net80211/ieee80211.c projects/arm64/sys/net80211/ieee80211_amrr.c projects/arm64/sys/netinet/cc/cc.c projects/arm64/sys/netinet/cc/cc_cdg.c projects/arm64/sys/netinet/if_ether.c projects/arm64/sys/netinet/in.c projects/arm64/sys/netinet/in_gif.c projects/arm64/sys/netinet/ip_carp.c projects/arm64/sys/netinet/ip_fastfwd.c projects/arm64/sys/netinet/ip_mroute.c projects/arm64/sys/netinet/ip_output.c projects/arm64/sys/netinet/ip_var.h projects/arm64/sys/netinet/raw_ip.c projects/arm64/sys/netinet/sctp.h projects/arm64/sys/netinet/sctp_asconf.c projects/arm64/sys/netinet/sctp_auth.c projects/arm64/sys/netinet/sctp_auth.h projects/arm64/sys/netinet/sctp_input.c projects/arm64/sys/netinet/sctp_output.c projects/arm64/sys/netinet/sctp_pcb.c projects/arm64/sys/netinet/sctp_pcb.h projects/arm64/sys/netinet/sctp_peeloff.c projects/arm64/sys/netinet/sctp_structs.h projects/arm64/sys/netinet/sctp_sysctl.c projects/arm64/sys/netinet/sctp_sysctl.h projects/arm64/sys/netinet/sctp_uio.h projects/arm64/sys/netinet/sctp_usrreq.c projects/arm64/sys/netinet/sctputil.c projects/arm64/sys/netinet/tcp_input.c projects/arm64/sys/netinet/tcp_reass.c projects/arm64/sys/netinet/tcp_subr.c projects/arm64/sys/netinet/tcp_syncache.c projects/arm64/sys/netinet6/in6.c projects/arm64/sys/netinet6/in6_gif.c projects/arm64/sys/netinet6/in6_proto.c projects/arm64/sys/netinet6/in6_src.c projects/arm64/sys/netinet6/ip6_mroute.c projects/arm64/sys/netinet6/scope6.c projects/arm64/sys/netinet6/scope6_var.h projects/arm64/sys/netipsec/keysock.c projects/arm64/sys/netipsec/keysock.h projects/arm64/sys/netpfil/ipfw/ip_fw2.c projects/arm64/sys/netpfil/ipfw/ip_fw_sockopt.c projects/arm64/sys/netpfil/pf/if_pfsync.c projects/arm64/sys/netpfil/pf/pf.c projects/arm64/sys/netpfil/pf/pf.h projects/arm64/sys/netpfil/pf/pf_ioctl.c projects/arm64/sys/netpfil/pf/pf_lb.c projects/arm64/sys/ofed/drivers/infiniband/core/addr.c projects/arm64/sys/ofed/drivers/infiniband/core/cm.c projects/arm64/sys/ofed/drivers/infiniband/core/device.c projects/arm64/sys/ofed/drivers/infiniband/core/iwcm.c projects/arm64/sys/ofed/drivers/infiniband/core/sa_query.c projects/arm64/sys/ofed/drivers/infiniband/core/sysfs.c projects/arm64/sys/ofed/drivers/infiniband/core/ucm.c projects/arm64/sys/ofed/drivers/infiniband/core/user_mad.c projects/arm64/sys/ofed/drivers/infiniband/core/uverbs_cmd.c projects/arm64/sys/ofed/drivers/infiniband/core/uverbs_main.c projects/arm64/sys/ofed/drivers/infiniband/hw/mlx4/alias_GUID.c projects/arm64/sys/ofed/drivers/infiniband/hw/mlx4/cm.c projects/arm64/sys/ofed/drivers/infiniband/hw/mlx4/mad.c projects/arm64/sys/ofed/drivers/infiniband/hw/mlx4/main.c projects/arm64/sys/ofed/drivers/infiniband/hw/mlx4/mlx4_ib.h projects/arm64/sys/ofed/drivers/infiniband/hw/mlx4/mr.c projects/arm64/sys/ofed/drivers/infiniband/hw/mlx4/qp.c projects/arm64/sys/ofed/drivers/infiniband/hw/mlx4/sysfs.c projects/arm64/sys/ofed/drivers/infiniband/hw/mthca/mthca_allocator.c projects/arm64/sys/ofed/drivers/infiniband/hw/mthca/mthca_main.c projects/arm64/sys/ofed/drivers/infiniband/hw/mthca/mthca_provider.c projects/arm64/sys/ofed/drivers/infiniband/hw/mthca/mthca_reset.c projects/arm64/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c projects/arm64/sys/ofed/drivers/infiniband/ulp/sdp/sdp.h projects/arm64/sys/ofed/drivers/net/mlx4/alloc.c projects/arm64/sys/ofed/drivers/net/mlx4/cmd.c projects/arm64/sys/ofed/drivers/net/mlx4/cq.c projects/arm64/sys/ofed/drivers/net/mlx4/en_netdev.c projects/arm64/sys/ofed/drivers/net/mlx4/en_rx.c projects/arm64/sys/ofed/drivers/net/mlx4/eq.c projects/arm64/sys/ofed/drivers/net/mlx4/fw.c projects/arm64/sys/ofed/drivers/net/mlx4/main.c projects/arm64/sys/ofed/drivers/net/mlx4/mcg.c projects/arm64/sys/ofed/drivers/net/mlx4/mr.c projects/arm64/sys/ofed/drivers/net/mlx4/pd.c projects/arm64/sys/ofed/drivers/net/mlx4/qp.c projects/arm64/sys/ofed/drivers/net/mlx4/reset.c projects/arm64/sys/ofed/drivers/net/mlx4/resource_tracker.c projects/arm64/sys/ofed/drivers/net/mlx4/sense.c projects/arm64/sys/ofed/drivers/net/mlx4/srq.c projects/arm64/sys/ofed/drivers/net/mlx4/xrcd.c projects/arm64/sys/ofed/include/asm/atomic-long.h projects/arm64/sys/ofed/include/asm/atomic.h projects/arm64/sys/ofed/include/asm/byteorder.h projects/arm64/sys/ofed/include/asm/fcntl.h projects/arm64/sys/ofed/include/asm/io.h projects/arm64/sys/ofed/include/asm/page.h projects/arm64/sys/ofed/include/asm/pgtable.h projects/arm64/sys/ofed/include/asm/types.h projects/arm64/sys/ofed/include/asm/uaccess.h projects/arm64/sys/ofed/include/linux/bitops.h projects/arm64/sys/ofed/include/linux/cdev.h projects/arm64/sys/ofed/include/linux/clocksource.h projects/arm64/sys/ofed/include/linux/compat.h projects/arm64/sys/ofed/include/linux/compiler.h projects/arm64/sys/ofed/include/linux/completion.h projects/arm64/sys/ofed/include/linux/delay.h projects/arm64/sys/ofed/include/linux/device.h projects/arm64/sys/ofed/include/linux/dma-attrs.h projects/arm64/sys/ofed/include/linux/dma-mapping.h projects/arm64/sys/ofed/include/linux/dmapool.h projects/arm64/sys/ofed/include/linux/err.h projects/arm64/sys/ofed/include/linux/errno.h projects/arm64/sys/ofed/include/linux/ethtool.h projects/arm64/sys/ofed/include/linux/file.h projects/arm64/sys/ofed/include/linux/fs.h projects/arm64/sys/ofed/include/linux/gfp.h projects/arm64/sys/ofed/include/linux/hardirq.h projects/arm64/sys/ofed/include/linux/idr.h projects/arm64/sys/ofed/include/linux/if_arp.h projects/arm64/sys/ofed/include/linux/if_ether.h projects/arm64/sys/ofed/include/linux/if_vlan.h projects/arm64/sys/ofed/include/linux/in.h projects/arm64/sys/ofed/include/linux/in6.h projects/arm64/sys/ofed/include/linux/inet.h projects/arm64/sys/ofed/include/linux/inetdevice.h projects/arm64/sys/ofed/include/linux/interrupt.h projects/arm64/sys/ofed/include/linux/io-mapping.h projects/arm64/sys/ofed/include/linux/io.h projects/arm64/sys/ofed/include/linux/ioctl.h projects/arm64/sys/ofed/include/linux/jiffies.h projects/arm64/sys/ofed/include/linux/kdev_t.h projects/arm64/sys/ofed/include/linux/kernel.h projects/arm64/sys/ofed/include/linux/kobject.h projects/arm64/sys/ofed/include/linux/kref.h projects/arm64/sys/ofed/include/linux/kthread.h projects/arm64/sys/ofed/include/linux/linux_compat.c projects/arm64/sys/ofed/include/linux/linux_idr.c projects/arm64/sys/ofed/include/linux/linux_radix.c projects/arm64/sys/ofed/include/linux/list.h projects/arm64/sys/ofed/include/linux/lockdep.h projects/arm64/sys/ofed/include/linux/log2.h projects/arm64/sys/ofed/include/linux/miscdevice.h projects/arm64/sys/ofed/include/linux/mm.h projects/arm64/sys/ofed/include/linux/module.h projects/arm64/sys/ofed/include/linux/moduleparam.h projects/arm64/sys/ofed/include/linux/mount.h projects/arm64/sys/ofed/include/linux/mutex.h projects/arm64/sys/ofed/include/linux/net.h projects/arm64/sys/ofed/include/linux/netdevice.h projects/arm64/sys/ofed/include/linux/notifier.h projects/arm64/sys/ofed/include/linux/page.h projects/arm64/sys/ofed/include/linux/pci.h projects/arm64/sys/ofed/include/linux/poll.h projects/arm64/sys/ofed/include/linux/radix-tree.h projects/arm64/sys/ofed/include/linux/random.h projects/arm64/sys/ofed/include/linux/rbtree.h projects/arm64/sys/ofed/include/linux/rwlock.h projects/arm64/sys/ofed/include/linux/rwsem.h projects/arm64/sys/ofed/include/linux/scatterlist.h projects/arm64/sys/ofed/include/linux/sched.h projects/arm64/sys/ofed/include/linux/semaphore.h projects/arm64/sys/ofed/include/linux/slab.h projects/arm64/sys/ofed/include/linux/socket.h projects/arm64/sys/ofed/include/linux/spinlock.h projects/arm64/sys/ofed/include/linux/string.h projects/arm64/sys/ofed/include/linux/sysfs.h projects/arm64/sys/ofed/include/linux/timer.h projects/arm64/sys/ofed/include/linux/types.h projects/arm64/sys/ofed/include/linux/uaccess.h projects/arm64/sys/ofed/include/linux/vmalloc.h projects/arm64/sys/ofed/include/linux/wait.h projects/arm64/sys/ofed/include/linux/workqueue.h projects/arm64/sys/ofed/include/net/ip.h projects/arm64/sys/ofed/include/net/ipv6.h projects/arm64/sys/ofed/include/net/netevent.h projects/arm64/sys/ofed/include/net/tcp.h projects/arm64/sys/ofed/include/rdma/ib_umem.h projects/arm64/sys/ofed/include/rdma/ib_verbs.h projects/arm64/sys/pc98/pc98/machdep.c projects/arm64/sys/powerpc/aim/mmu_oea.c projects/arm64/sys/powerpc/aim/mmu_oea64.c projects/arm64/sys/powerpc/booke/pmap.c projects/arm64/sys/powerpc/include/vmparam.h projects/arm64/sys/powerpc/ofw/ofw_pcibus.c projects/arm64/sys/powerpc/powermac/macio.c projects/arm64/sys/powerpc/powerpc/mmu_if.m projects/arm64/sys/powerpc/powerpc/pmap_dispatch.c projects/arm64/sys/powerpc/ps3/ps3_syscons.c projects/arm64/sys/security/audit/audit_pipe.c projects/arm64/sys/sparc64/include/vmparam.h projects/arm64/sys/sparc64/sparc64/pmap.c projects/arm64/sys/sparc64/sparc64/vm_machdep.c projects/arm64/sys/sys/_cpuset.h projects/arm64/sys/sys/ata.h projects/arm64/sys/sys/callout.h projects/arm64/sys/sys/cdefs.h projects/arm64/sys/sys/elf_common.h projects/arm64/sys/sys/exec.h projects/arm64/sys/sys/file.h projects/arm64/sys/sys/hhook.h projects/arm64/sys/sys/imgact.h projects/arm64/sys/sys/imgact_elf.h projects/arm64/sys/sys/khelp.h projects/arm64/sys/sys/libkern.h projects/arm64/sys/sys/lockmgr.h projects/arm64/sys/sys/mbuf.h projects/arm64/sys/sys/mman.h projects/arm64/sys/sys/mount.h projects/arm64/sys/sys/param.h projects/arm64/sys/sys/proc.h projects/arm64/sys/sys/protosw.h projects/arm64/sys/sys/sdt.h projects/arm64/sys/sys/sf_buf.h projects/arm64/sys/sys/socketvar.h projects/arm64/sys/sys/sockio.h projects/arm64/sys/sys/syscallsubr.h projects/arm64/sys/sys/terminal.h projects/arm64/sys/sys/user.h projects/arm64/sys/sys/vnode.h projects/arm64/sys/tools/fdt/make_dtb.sh projects/arm64/sys/ufs/ffs/ffs_softdep.c projects/arm64/sys/ufs/ffs/ffs_vfsops.c projects/arm64/sys/ufs/ufs/ufs_dirhash.c projects/arm64/sys/ufs/ufs/ufs_quota.c projects/arm64/sys/ufs/ufs/ufs_vnops.c projects/arm64/sys/vm/pmap.h projects/arm64/sys/vm/vm_fault.c projects/arm64/sys/vm/vm_glue.c projects/arm64/sys/vm/vm_kern.c projects/arm64/sys/vm/vm_page.c projects/arm64/sys/vm/vm_page.h projects/arm64/sys/vm/vm_pageout.c projects/arm64/sys/x86/acpica/acpi_wakeup.c projects/arm64/sys/x86/x86/tsc.c projects/arm64/tests/sys/kern/unix_seqpacket_test.c projects/arm64/tools/build/make_check/Makefile projects/arm64/tools/build/mk/OptionalObsoleteFiles.inc projects/arm64/tools/tools/ath/Makefile projects/arm64/tools/tools/ath/athaggrstats/Makefile projects/arm64/tools/tools/ath/athalq/ar9300_ds.c projects/arm64/tools/tools/ath/athpoke/athpoke.c projects/arm64/tools/tools/ath/athregs/dumpregs.c projects/arm64/tools/tools/ath/athstats/Makefile projects/arm64/tools/tools/nanobsd/dhcpd/common projects/arm64/tools/tools/nanobsd/nanobsd.sh projects/arm64/tools/tools/nanobsd/rescue/common projects/arm64/tools/tools/net80211/wlanstats/Makefile projects/arm64/tools/tools/netmap/pkt-gen.c projects/arm64/tools/tools/netmap/vale-ctl.c projects/arm64/usr.bin/bc/Makefile projects/arm64/usr.bin/clang/clang-tblgen/Makefile projects/arm64/usr.bin/clang/clang.prog.mk projects/arm64/usr.bin/clang/lldb/Makefile projects/arm64/usr.bin/clang/tblgen/Makefile projects/arm64/usr.bin/compile_et/Makefile projects/arm64/usr.bin/elfdump/elfdump.c projects/arm64/usr.bin/grep/util.c projects/arm64/usr.bin/host/Makefile projects/arm64/usr.bin/iscsictl/Makefile projects/arm64/usr.bin/iscsictl/iscsictl.c projects/arm64/usr.bin/iscsictl/token.l projects/arm64/usr.bin/ktrace/ktrace.1 projects/arm64/usr.bin/lock/lock.1 projects/arm64/usr.bin/lock/lock.c projects/arm64/usr.bin/login/login.c projects/arm64/usr.bin/mail/edit.c projects/arm64/usr.bin/mandoc/Makefile projects/arm64/usr.bin/mkimg/vmdk.c projects/arm64/usr.bin/netstat/inet6.c projects/arm64/usr.bin/opiekey/Makefile projects/arm64/usr.bin/sed/defs.h projects/arm64/usr.bin/sed/main.c projects/arm64/usr.bin/sed/process.c projects/arm64/usr.bin/sed/tests/regress.y.out projects/arm64/usr.bin/showmount/showmount.8 projects/arm64/usr.bin/showmount/showmount.c projects/arm64/usr.bin/svn/svn/Makefile projects/arm64/usr.bin/svn/svn_private_config.h projects/arm64/usr.bin/svn/svnadmin/Makefile projects/arm64/usr.bin/svn/svndumpfilter/Makefile projects/arm64/usr.bin/svn/svnlook/Makefile projects/arm64/usr.bin/svn/svnmucc/Makefile projects/arm64/usr.bin/svn/svnrdump/Makefile projects/arm64/usr.bin/svn/svnserve/Makefile projects/arm64/usr.bin/svn/svnsync/Makefile projects/arm64/usr.bin/svn/svnversion/Makefile projects/arm64/usr.bin/talk/Makefile projects/arm64/usr.bin/telnet/Makefile projects/arm64/usr.bin/vacation/Makefile projects/arm64/usr.bin/yacc/tests/Makefile projects/arm64/usr.bin/yacc/tests/yacc_tests.sh projects/arm64/usr.sbin/Makefile projects/arm64/usr.sbin/amd/amd/Makefile projects/arm64/usr.sbin/amd/amq/Makefile projects/arm64/usr.sbin/amd/fixmount/Makefile projects/arm64/usr.sbin/amd/fsinfo/Makefile projects/arm64/usr.sbin/amd/hlfsd/Makefile projects/arm64/usr.sbin/amd/mk-amd-map/Makefile projects/arm64/usr.sbin/amd/pawd/Makefile projects/arm64/usr.sbin/amd/wire-test/Makefile projects/arm64/usr.sbin/auditdistd/Makefile projects/arm64/usr.sbin/bhyve/pci_irq.c projects/arm64/usr.sbin/bhyve/task_switch.c projects/arm64/usr.sbin/bhyve/virtio.c projects/arm64/usr.sbin/bsdconfig/bsdconfig.8 projects/arm64/usr.sbin/bsdconfig/share/common.subr projects/arm64/usr.sbin/bsdconfig/share/dialog.subr projects/arm64/usr.sbin/bsdconfig/share/packages/packages.subr projects/arm64/usr.sbin/bsdinstall/bsdinstall.8 projects/arm64/usr.sbin/btxld/Makefile projects/arm64/usr.sbin/cron/cron/Makefile projects/arm64/usr.sbin/cron/crontab/Makefile projects/arm64/usr.sbin/crunch/crunchgen/Makefile projects/arm64/usr.sbin/crunch/crunchide/Makefile projects/arm64/usr.sbin/ctld/Makefile projects/arm64/usr.sbin/ctld/ctl.conf.5 projects/arm64/usr.sbin/ctld/ctld.c projects/arm64/usr.sbin/ctld/discovery.c projects/arm64/usr.sbin/ctld/kernel.c projects/arm64/usr.sbin/ctld/keys.c projects/arm64/usr.sbin/ctld/log.c projects/arm64/usr.sbin/ctld/login.c projects/arm64/usr.sbin/ctld/pdu.c projects/arm64/usr.sbin/editmap/Makefile projects/arm64/usr.sbin/fifolog/fifolog_create/Makefile projects/arm64/usr.sbin/fifolog/fifolog_reader/Makefile projects/arm64/usr.sbin/fifolog/fifolog_writer/Makefile projects/arm64/usr.sbin/ftp-proxy/ftp-proxy/Makefile projects/arm64/usr.sbin/gstat/Makefile projects/arm64/usr.sbin/iscsid/Makefile projects/arm64/usr.sbin/iscsid/discovery.c projects/arm64/usr.sbin/iscsid/iscsid.c projects/arm64/usr.sbin/iscsid/keys.c projects/arm64/usr.sbin/iscsid/log.c projects/arm64/usr.sbin/iscsid/login.c projects/arm64/usr.sbin/iscsid/pdu.c projects/arm64/usr.sbin/kbdcontrol/kbdcontrol.1 projects/arm64/usr.sbin/kbdcontrol/kbdcontrol.c projects/arm64/usr.sbin/kbdcontrol/kbdmap.5 projects/arm64/usr.sbin/kbdmap/kbdmap.1 projects/arm64/usr.sbin/kbdmap/kbdmap.c projects/arm64/usr.sbin/kbdmap/kbdmap.h projects/arm64/usr.sbin/lpr/chkprintcap/Makefile projects/arm64/usr.sbin/lpr/lpc/Makefile projects/arm64/usr.sbin/lpr/lpd/Makefile projects/arm64/usr.sbin/lpr/lpq/Makefile projects/arm64/usr.sbin/lpr/lpr/Makefile projects/arm64/usr.sbin/lpr/lprm/Makefile projects/arm64/usr.sbin/lpr/pac/Makefile projects/arm64/usr.sbin/mailstats/Makefile projects/arm64/usr.sbin/mailwrapper/mailwrapper.8 projects/arm64/usr.sbin/mailwrapper/mailwrapper.c projects/arm64/usr.sbin/makefs/Makefile projects/arm64/usr.sbin/makemap/Makefile projects/arm64/usr.sbin/mountd/exports.5 projects/arm64/usr.sbin/mountd/mountd.c projects/arm64/usr.sbin/nfsd/nfsd.8 projects/arm64/usr.sbin/nmtree/Makefile projects/arm64/usr.sbin/ntp/ntp-keygen/Makefile projects/arm64/usr.sbin/ntp/ntpd/Makefile projects/arm64/usr.sbin/ntp/ntpdate/Makefile projects/arm64/usr.sbin/ntp/ntpdc/Makefile projects/arm64/usr.sbin/ntp/ntpq/Makefile projects/arm64/usr.sbin/ntp/ntptime/Makefile projects/arm64/usr.sbin/ppp/Makefile projects/arm64/usr.sbin/praliases/Makefile projects/arm64/usr.sbin/route6d/route6d.c projects/arm64/usr.sbin/sendmail/Makefile projects/arm64/usr.sbin/smbmsg/smbmsg.8 projects/arm64/usr.sbin/timed/timedc/timedc.c projects/arm64/usr.sbin/traceroute/Makefile projects/arm64/usr.sbin/vidcontrol/vidcontrol.1 projects/arm64/usr.sbin/wlandebug/wlandebug.c Directory Properties: projects/arm64/ (props changed) projects/arm64/cddl/ (props changed) projects/arm64/cddl/contrib/opensolaris/ (props changed) projects/arm64/contrib/binutils/ (props changed) projects/arm64/contrib/gcc/ (props changed) projects/arm64/contrib/libarchive/ (props changed) projects/arm64/contrib/libarchive/tar/ (props changed) projects/arm64/contrib/libc++/ (props changed) projects/arm64/contrib/llvm/ (props changed) projects/arm64/contrib/openbsm/ (props changed) projects/arm64/contrib/serf/ (props changed) projects/arm64/contrib/sqlite3/ (props changed) projects/arm64/contrib/subversion/ (props changed) projects/arm64/contrib/tzdata/ (props changed) projects/arm64/etc/ (props changed) projects/arm64/gnu/lib/ (props changed) projects/arm64/gnu/usr.bin/binutils/ (props changed) projects/arm64/gnu/usr.bin/gdb/ (props changed) projects/arm64/include/ (props changed) projects/arm64/lib/libc/ (props changed) projects/arm64/lib/libutil/ (props changed) projects/arm64/sbin/ (props changed) projects/arm64/sbin/ipfw/ (props changed) projects/arm64/share/ (props changed) projects/arm64/share/man/man4/ (props changed) projects/arm64/share/zoneinfo/ (props changed) projects/arm64/sys/ (props changed) projects/arm64/sys/amd64/vmm/ (props changed) projects/arm64/sys/boot/ (props changed) projects/arm64/sys/cddl/contrib/opensolaris/ (props changed) projects/arm64/sys/conf/ (props changed) projects/arm64/sys/dev/hyperv/ (props changed) projects/arm64/sys/gnu/dts/ (props changed) projects/arm64/sys/gnu/dts/include/ (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/ (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clk/ (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clk/at91.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clk/exynos-audss-clk.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/ (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/efm32-cmu.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/imx5-clock.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/mpc512x-clock.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-msm8660.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/qcom,mmcc-msm8974.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/samsung,s3c64xx-clock.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/tegra20-car.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/clock/tegra30-car.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/dma/ (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/dma/at91.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/gpio/ (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/gpio/gpio.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/gpio/tegra-gpio.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/input/ (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/input/input.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/interrupt-controller/ (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/interrupt-controller/arm-gic.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/interrupt-controller/irq.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/mfd/ (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/mfd/dbx500-prcmu.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/pinctrl/ (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/pinctrl/am33xx.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/pinctrl/at91.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/pinctrl/nomadik.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/pinctrl/pinctrl-tegra.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/pinctrl/rockchip.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/pwm/ (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/pwm/pwm.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/reset/ (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-msm8660.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-msm8974.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/reset/qcom,mmcc-msm8974.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/sound/ (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/sound/fsl-imx-audmux.h (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/thermal/ (props changed) projects/arm64/sys/gnu/dts/include/dt-bindings/thermal/thermal.h (props changed) projects/arm64/usr.bin/mkimg/ (props changed) projects/arm64/usr.sbin/bhyve/ (props changed) Modified: projects/arm64/.arcconfig ============================================================================== --- projects/arm64/.arcconfig Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/.arcconfig Wed Nov 12 11:34:27 2014 (r274426) @@ -1,5 +1,5 @@ { "project.name": "S", - "phabricator.uri" : "https://phabric.freebsd.org/", + "phabricator.uri" : "https://reviews.freebsd.org/", "history.immutable" : true } Modified: projects/arm64/MAINTAINERS ============================================================================== --- projects/arm64/MAINTAINERS Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/MAINTAINERS Wed Nov 12 11:34:27 2014 (r274426) @@ -20,7 +20,7 @@ It is not a registry of 'turf' or privat subsystem login notes ----------------------------- -kqueue jmg Pre-commit review requested. +kqueue jmg Pre-commit review requested. Documentation Required. libc/posix1e rwatson Pre-commit review requested. POSIX.1e ACLs rwatson Pre-commit review requested. UFS EAs rwatson Pre-commit review requested. @@ -132,3 +132,4 @@ release/release.sh gjb Pre-commit review requested. nanobsd imp Pre-commit review requested for coordination. vmm(4) neel,grehan Pre-commit review requested. +opencrypto jmg Pre-commit review requested. Documentation Required. Modified: projects/arm64/Makefile ============================================================================== --- projects/arm64/Makefile Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/Makefile Wed Nov 12 11:34:27 2014 (r274426) @@ -37,6 +37,8 @@ # xdev-build - Build cross-development tools. # xdev-install - Install cross-development tools. # xdev-links - Create traditional links in /usr/bin for cc, etc +# native-xtools - Create host binaries that produce target objects +# for use in qemu user-mode jails. # # "quick" way to test all kernel builds: # _jflag=`sysctl -n hw.ncpu` @@ -111,7 +113,7 @@ TGTS= all all-man buildenv buildenvvars _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ _build-tools _cross-tools _includes _libraries _depend \ build32 builddtb distribute32 install32 xdev xdev-build xdev-install \ - xdev-links \ + xdev-links native-xtools \ TGTS+= ${SUBDIR_TARGETS} Modified: projects/arm64/Makefile.inc1 ============================================================================== --- projects/arm64/Makefile.inc1 Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/Makefile.inc1 Wed Nov 12 11:34:27 2014 (r274426) @@ -246,7 +246,7 @@ BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ - SSP_CFLAGS= MK_PIE=no \ + SSP_CFLAGS= \ MK_HTML=no MK_INFO=no NO_LINT=yes MK_MAN=no \ -DNO_PIC MK_PROFILE=no -DNO_SHARED \ -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ @@ -258,7 +258,7 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ - SSP_CFLAGS= MK_PIE=no \ + SSP_CFLAGS= \ -DNO_LINT \ -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no MK_CLANG_FULL=no MK_LLDB=no MK_TESTS=no @@ -276,7 +276,7 @@ KTMAKE= TOOLS_PREFIX=${WORLDTMP} MAKEOB ${KTMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ - SSP_CFLAGS= MK_PIE=no \ + SSP_CFLAGS= \ MK_HTML=no MK_INFO=no -DNO_LINT MK_MAN=no \ -DNO_PIC MK_PROFILE=no -DNO_SHARED \ -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no @@ -395,7 +395,8 @@ LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${OBJTR PATH=${TMPPATH} \ LIBDIR=/usr/lib32 \ SHLIBDIR=/usr/lib32 \ - LIBPRIVATEDIR=/usr/lib32/private + LIBPRIVATEDIR=/usr/lib32/private \ + DTRACE="${DTRACE} -32" LIB32WMAKEFLAGS+= CC="${XCC} ${LIB32FLAGS}" \ CXX="${XCXX} ${LIB32FLAGS}" \ DESTDIR=${LIB32TMP} \ @@ -1238,11 +1239,11 @@ _lex= usr.bin/lex _awk= usr.bin/awk .endif -.if ${MK_BSNMP} != "no" && !exists(/usr/sbin/gensnmptree) +.if ${MK_BSNMP} != "no" _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif -# We need to build tlbgen when we're building clang either as +# We need to build tblgen when we're building clang either as # the bootstrap compiler, or as the part of the normal build. .if ${MK_CLANG_BOOTSTRAP} != "no" || ${MK_CLANG} != "no" _clang_tblgen= \ @@ -1417,6 +1418,48 @@ cross-tools: .MAKE ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX} install .endfor +NXBENV= MAKEOBJDIRPREFIX=${OBJTREE}/nxb \ + INSTALL="sh ${.CURDIR}/tools/install.sh" \ + VERSION="${VERSION}" +NXBMAKE= ${NXBENV} ${MAKE} \ + TBLGEN=${OBJTREE}/nxb-bin/usr/bin/tblgen \ + CLANG_TBLGEN=${OBJTREE}/nxb-bin/usr/bin/clang-tblgen \ + MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \ + MK_GDB=no MK_TESTS=no \ + SSP_CFLAGS= \ + MK_HTML=no MK_INFO=no NO_LINT=yes MK_MAN=no \ + -DNO_PIC MK_PROFILE=no -DNO_SHARED \ + -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ + MK_CLANG_FULL=no MK_LLDB=no + +native-xtools: .MAKE + mkdir -p ${OBJTREE}/nxb-bin/usr + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ + -p ${OBJTREE}/nxb-bin/usr >/dev/null + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ + -p ${OBJTREE}/nxb-bin/usr/include >/dev/null +.for _tool in \ + ${_clang_tblgen} \ + usr.bin/ar \ + ${_binutils} \ + ${_cc} \ + ${_gcc_tools} \ + ${_clang_libs} \ + ${_clang} \ + usr.bin/awk \ + usr.bin/bmake \ + usr.bin/lex \ + usr.bin/lorder \ + usr.bin/sed \ + usr.bin/yacc + ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ + cd ${.CURDIR}/${_tool} && \ + ${NXBMAKE} DIRPRFX=${_tool}/ obj && \ + ${NXBMAKE} DIRPRFX=${_tool}/ depend && \ + ${NXBMAKE} DIRPRFX=${_tool}/ all && \ + ${NXBMAKE} DIRPRFX=${_tool}/ DESTDIR=${OBJTREE}/nxb-bin install +.endfor + # # hierarchy - ensure that all the needed directories are present # Modified: projects/arm64/ObsoleteFiles.inc ============================================================================== --- projects/arm64/ObsoleteFiles.inc Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/ObsoleteFiles.inc Wed Nov 12 11:34:27 2014 (r274426) @@ -38,6 +38,12 @@ # xargs -n1 | sort | uniq -d; # done +# 20140814: libopie version bump +OLD_LIBS+=usr/lib/libopie.so.7 +OLD_LIBS+=usr/lib32/libopie.so.7 +# 20140811: otp-sha renamed to otp-sha1 +OLD_FILES+=usr/bin/otp-sha +OLD_FILES+=usr/share/man/man1/otp-sha.1.gz # 20140807: Remove private lib files that should not be installed. OLD_FILES+=usr/lib/private/libatf-c.a OLD_FILES+=usr/lib/private/libatf-c.so @@ -3199,6 +3205,202 @@ OLD_FILES+=lib/geom/geom_concat.so.1 OLD_FILES+=lib/geom/geom_label.so.1 OLD_FILES+=lib/geom/geom_nop.so.1 OLD_FILES+=lib/geom/geom_stripe.so.1 +# 20040728: GCC 3.4.2 +OLD_DIRS+=usr/include/c++/3.3 +OLD_FILES+=usr/include/c++/3.3/FlexLexer.h +OLD_FILES+=usr/include/c++/3.3/algorithm +OLD_FILES+=usr/include/c++/3.3/backward/algo.h +OLD_FILES+=usr/include/c++/3.3/backward/algobase.h +OLD_FILES+=usr/include/c++/3.3/backward/alloc.h +OLD_FILES+=usr/include/c++/3.3/backward/backward_warning.h +OLD_FILES+=usr/include/c++/3.3/backward/bvector.h +OLD_FILES+=usr/include/c++/3.3/backward/complex.h +OLD_FILES+=usr/include/c++/3.3/backward/defalloc.h +OLD_FILES+=usr/include/c++/3.3/backward/deque.h +OLD_FILES+=usr/include/c++/3.3/backward/fstream.h +OLD_FILES+=usr/include/c++/3.3/backward/function.h +OLD_FILES+=usr/include/c++/3.3/backward/hash_map.h +OLD_FILES+=usr/include/c++/3.3/backward/hash_set.h +OLD_FILES+=usr/include/c++/3.3/backward/hashtable.h +OLD_FILES+=usr/include/c++/3.3/backward/heap.h +OLD_FILES+=usr/include/c++/3.3/backward/iomanip.h +OLD_FILES+=usr/include/c++/3.3/backward/iostream.h +OLD_FILES+=usr/include/c++/3.3/backward/istream.h +OLD_FILES+=usr/include/c++/3.3/backward/iterator.h +OLD_FILES+=usr/include/c++/3.3/backward/list.h +OLD_FILES+=usr/include/c++/3.3/backward/map.h +OLD_FILES+=usr/include/c++/3.3/backward/multimap.h +OLD_FILES+=usr/include/c++/3.3/backward/multiset.h +OLD_FILES+=usr/include/c++/3.3/backward/new.h +OLD_FILES+=usr/include/c++/3.3/backward/ostream.h +OLD_FILES+=usr/include/c++/3.3/backward/pair.h +OLD_FILES+=usr/include/c++/3.3/backward/queue.h +OLD_FILES+=usr/include/c++/3.3/backward/rope.h +OLD_FILES+=usr/include/c++/3.3/backward/set.h +OLD_FILES+=usr/include/c++/3.3/backward/slist.h +OLD_FILES+=usr/include/c++/3.3/backward/stack.h +OLD_FILES+=usr/include/c++/3.3/backward/stream.h +OLD_FILES+=usr/include/c++/3.3/backward/streambuf.h +OLD_FILES+=usr/include/c++/3.3/backward/strstream +OLD_FILES+=usr/include/c++/3.3/backward/strstream.h +OLD_FILES+=usr/include/c++/3.3/backward/tempbuf.h +OLD_FILES+=usr/include/c++/3.3/backward/tree.h +OLD_FILES+=usr/include/c++/3.3/backward/vector.h +OLD_DIRS+=usr/include/c++/3.3/backward +OLD_FILES+=usr/include/c++/3.3/bits/atomicity.h +OLD_FILES+=usr/include/c++/3.3/bits/basic_file.h +OLD_FILES+=usr/include/c++/3.3/bits/basic_ios.h +OLD_FILES+=usr/include/c++/3.3/bits/basic_ios.tcc +OLD_FILES+=usr/include/c++/3.3/bits/basic_string.h +OLD_FILES+=usr/include/c++/3.3/bits/basic_string.tcc +OLD_FILES+=usr/include/c++/3.3/bits/boost_concept_check.h +OLD_FILES+=usr/include/c++/3.3/bits/c++config.h +OLD_FILES+=usr/include/c++/3.3/bits/c++io.h +OLD_FILES+=usr/include/c++/3.3/bits/c++locale.h +OLD_FILES+=usr/include/c++/3.3/bits/c++locale_internal.h +OLD_FILES+=usr/include/c++/3.3/bits/char_traits.h +OLD_FILES+=usr/include/c++/3.3/bits/cmath.tcc +OLD_FILES+=usr/include/c++/3.3/bits/codecvt.h +OLD_FILES+=usr/include/c++/3.3/bits/codecvt_specializations.h +OLD_FILES+=usr/include/c++/3.3/bits/concept_check.h +OLD_FILES+=usr/include/c++/3.3/bits/cpp_type_traits.h +OLD_FILES+=usr/include/c++/3.3/bits/ctype_base.h +OLD_FILES+=usr/include/c++/3.3/bits/ctype_inline.h +OLD_FILES+=usr/include/c++/3.3/bits/ctype_noninline.h +OLD_FILES+=usr/include/c++/3.3/bits/deque.tcc +OLD_FILES+=usr/include/c++/3.3/bits/fpos.h +OLD_FILES+=usr/include/c++/3.3/bits/fstream.tcc +OLD_FILES+=usr/include/c++/3.3/bits/functexcept.h +OLD_FILES+=usr/include/c++/3.3/bits/generic_shadow.h +OLD_FILES+=usr/include/c++/3.3/bits/gslice.h +OLD_FILES+=usr/include/c++/3.3/bits/gslice_array.h +OLD_FILES+=usr/include/c++/3.3/bits/gthr-default.h +OLD_FILES+=usr/include/c++/3.3/bits/gthr-posix.h +OLD_FILES+=usr/include/c++/3.3/bits/gthr-single.h +OLD_FILES+=usr/include/c++/3.3/bits/gthr.h +OLD_FILES+=usr/include/c++/3.3/bits/indirect_array.h +OLD_FILES+=usr/include/c++/3.3/bits/ios_base.h +OLD_FILES+=usr/include/c++/3.3/bits/istream.tcc +OLD_FILES+=usr/include/c++/3.3/bits/list.tcc +OLD_FILES+=usr/include/c++/3.3/bits/locale_classes.h +OLD_FILES+=usr/include/c++/3.3/bits/locale_facets.h +OLD_FILES+=usr/include/c++/3.3/bits/locale_facets.tcc +OLD_FILES+=usr/include/c++/3.3/bits/localefwd.h +OLD_FILES+=usr/include/c++/3.3/bits/mask_array.h +OLD_FILES+=usr/include/c++/3.3/bits/messages_members.h +OLD_FILES+=usr/include/c++/3.3/bits/os_defines.h +OLD_FILES+=usr/include/c++/3.3/bits/ostream.tcc +OLD_FILES+=usr/include/c++/3.3/bits/pthread_allocimpl.h +OLD_FILES+=usr/include/c++/3.3/bits/slice.h +OLD_FILES+=usr/include/c++/3.3/bits/slice_array.h +OLD_FILES+=usr/include/c++/3.3/bits/sstream.tcc +OLD_FILES+=usr/include/c++/3.3/bits/stl_algo.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_algobase.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_alloc.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_bvector.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_construct.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_deque.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_function.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_heap.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_iterator.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_iterator_base_funcs.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_iterator_base_types.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_list.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_map.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_multimap.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_multiset.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_numeric.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_pair.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_pthread_alloc.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_queue.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_raw_storage_iter.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_relops.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_set.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_stack.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_tempbuf.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_threads.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_tree.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_uninitialized.h +OLD_FILES+=usr/include/c++/3.3/bits/stl_vector.h +OLD_FILES+=usr/include/c++/3.3/bits/stream_iterator.h +OLD_FILES+=usr/include/c++/3.3/bits/streambuf.tcc +OLD_FILES+=usr/include/c++/3.3/bits/streambuf_iterator.h +OLD_FILES+=usr/include/c++/3.3/bits/stringfwd.h +OLD_FILES+=usr/include/c++/3.3/bits/time_members.h +OLD_FILES+=usr/include/c++/3.3/bits/type_traits.h +OLD_FILES+=usr/include/c++/3.3/bits/valarray_array.h +OLD_FILES+=usr/include/c++/3.3/bits/valarray_array.tcc +OLD_FILES+=usr/include/c++/3.3/bits/valarray_meta.h +OLD_FILES+=usr/include/c++/3.3/bits/vector.tcc +OLD_DIRS+=usr/include/c++/3.3/bits +OLD_FILES+=usr/include/c++/3.3/bitset +OLD_FILES+=usr/include/c++/3.3/cassert +OLD_FILES+=usr/include/c++/3.3/cctype +OLD_FILES+=usr/include/c++/3.3/cerrno +OLD_FILES+=usr/include/c++/3.3/cfloat +OLD_FILES+=usr/include/c++/3.3/ciso646 +OLD_FILES+=usr/include/c++/3.3/climits +OLD_FILES+=usr/include/c++/3.3/clocale +OLD_FILES+=usr/include/c++/3.3/cmath +OLD_FILES+=usr/include/c++/3.3/complex +OLD_FILES+=usr/include/c++/3.3/csetjmp +OLD_FILES+=usr/include/c++/3.3/csignal +OLD_FILES+=usr/include/c++/3.3/cstdarg +OLD_FILES+=usr/include/c++/3.3/cstddef +OLD_FILES+=usr/include/c++/3.3/cstdio +OLD_FILES+=usr/include/c++/3.3/cstdlib +OLD_FILES+=usr/include/c++/3.3/cstring +OLD_FILES+=usr/include/c++/3.3/ctime +OLD_FILES+=usr/include/c++/3.3/cwchar +OLD_FILES+=usr/include/c++/3.3/cwctype +OLD_FILES+=usr/include/c++/3.3/cxxabi.h +OLD_FILES+=usr/include/c++/3.3/deque +OLD_FILES+=usr/include/c++/3.3/exception +OLD_FILES+=usr/include/c++/3.3/exception_defines.h +OLD_FILES+=usr/include/c++/3.3/ext/algorithm +OLD_FILES+=usr/include/c++/3.3/ext/enc_filebuf.h +OLD_FILES+=usr/include/c++/3.3/ext/functional +OLD_FILES+=usr/include/c++/3.3/ext/hash_map +OLD_FILES+=usr/include/c++/3.3/ext/hash_set +OLD_FILES+=usr/include/c++/3.3/ext/iterator +OLD_FILES+=usr/include/c++/3.3/ext/memory +OLD_FILES+=usr/include/c++/3.3/ext/numeric +OLD_FILES+=usr/include/c++/3.3/ext/rb_tree +OLD_FILES+=usr/include/c++/3.3/ext/rope +OLD_FILES+=usr/include/c++/3.3/ext/ropeimpl.h +OLD_FILES+=usr/include/c++/3.3/ext/slist +OLD_FILES+=usr/include/c++/3.3/ext/stdio_filebuf.h +OLD_FILES+=usr/include/c++/3.3/ext/stl_hash_fun.h +OLD_FILES+=usr/include/c++/3.3/ext/stl_hashtable.h +OLD_FILES+=usr/include/c++/3.3/ext/stl_rope.h +OLD_DIRS+=usr/include/c++/3.3/ext +OLD_FILES+=usr/include/c++/3.3/fstream +OLD_FILES+=usr/include/c++/3.3/functional +OLD_FILES+=usr/include/c++/3.3/iomanip +OLD_FILES+=usr/include/c++/3.3/ios +OLD_FILES+=usr/include/c++/3.3/iosfwd +OLD_FILES+=usr/include/c++/3.3/iostream +OLD_FILES+=usr/include/c++/3.3/istream +OLD_FILES+=usr/include/c++/3.3/iterator +OLD_FILES+=usr/include/c++/3.3/limits +OLD_FILES+=usr/include/c++/3.3/list +OLD_FILES+=usr/include/c++/3.3/locale +OLD_FILES+=usr/include/c++/3.3/map +OLD_FILES+=usr/include/c++/3.3/memory +OLD_FILES+=usr/include/c++/3.3/new +OLD_FILES+=usr/include/c++/3.3/numeric +OLD_FILES+=usr/include/c++/3.3/ostream +OLD_FILES+=usr/include/c++/3.3/queue +OLD_FILES+=usr/include/c++/3.3/set +OLD_FILES+=usr/include/c++/3.3/sstream +OLD_FILES+=usr/include/c++/3.3/stack +OLD_FILES+=usr/include/c++/3.3/stdexcept +OLD_FILES+=usr/include/c++/3.3/streambuf +OLD_FILES+=usr/include/c++/3.3/string +OLD_FILES+=usr/include/c++/3.3/typeinfo +OLD_FILES+=usr/include/c++/3.3/utility +OLD_FILES+=usr/include/c++/3.3/valarray +OLD_FILES+=usr/include/c++/3.3/vector # 20040713: fla(4) removed. OLD_FILES+=usr/share/man/man4/fla.4.gz # 200407XX Modified: projects/arm64/bin/date/tests/Makefile ============================================================================== --- projects/arm64/bin/date/tests/Makefile Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/date/tests/Makefile Wed Nov 12 11:34:27 2014 (r274426) @@ -4,6 +4,6 @@ TESTSDIR= ${TESTSBASE}/bin/date -TAP_TESTS_SH= legacy_test +ATF_TESTS_SH= format_string_test .include Copied: projects/arm64/bin/date/tests/format_string_test.sh (from r271180, head/bin/date/tests/format_string_test.sh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/arm64/bin/date/tests/format_string_test.sh Wed Nov 12 11:34:27 2014 (r274426, copy of r271180, head/bin/date/tests/format_string_test.sh) @@ -0,0 +1,92 @@ +# +# Regression tests for date(1) +# +# Submitted by Edwin Groothuis +# +# $FreeBSD$ +# + +# +# These two date/times have been chosen carefully -- they +# create both the single digit and double/multidigit version of +# the values. +# +# To create a new one, make sure you are using the UTC timezone! +# + +TEST1=3222243 # 1970-02-07 07:04:03 +TEST2=1005600000 # 2001-11-12 21:11:12 + +check() +{ + local format_string exp_output_1 exp_output_2 + + format_string=${1} + exp_output_1=${2} + exp_output_2=${3} + + atf_check -o "inline:${exp_output_1}\n" \ + date -r ${TEST1} +%${format_string} + atf_check -o "inline:${exp_output_2}\n" \ + date -r ${TEST2} +%${format_string} +} + +format_string_test() +{ + local desc exp_output_1 exp_output_2 flag + + desc=${1} + flag=${2} + exp_output_1=${3} + exp_output_2=${4} + + atf_test_case ${desc}_test + eval " +${desc}_test_body() { + check ${flag} '${exp_output_1}' '${exp_output_2}'; +}" + atf_add_test_case ${desc}_test +} + +atf_init_test_cases() +{ + format_string_test A A Saturday Monday + format_string_test a a Sat Mon + format_string_test B B February November + format_string_test b b Feb Nov + format_string_test C C 19 20 + format_string_test c c "Sat Feb 7 07:04:03 1970" "Mon Nov 12 21:20:00 2001" + format_string_test D D 02/07/70 11/12/01 + format_string_test d d 07 12 + format_string_test e e " 7" 12 + format_string_test F F "1970-02-07" "2001-11-12" + format_string_test G G 1970 2001 + format_string_test g g 70 01 + format_string_test H H 07 21 + format_string_test h h Feb Nov + format_string_test I I 07 09 + format_string_test j j 038 316 + format_string_test k k " 7" 21 + format_string_test l l " 7" " 9" + format_string_test M M 04 20 + format_string_test m m 02 11 + format_string_test p p AM PM + format_string_test R R 07:04 21:20 + format_string_test r r "07:04:03 AM" "09:20:00 PM" + format_string_test S S 03 00 + format_string_test s s ${TEST1} ${TEST2} + format_string_test U U 05 45 + format_string_test u u 6 1 + format_string_test V V 06 46 + format_string_test v v " 7-Feb-1970" "12-Nov-2001" + format_string_test W W 05 46 + format_string_test w w 6 1 + format_string_test X X "07:04:03" "21:20:00" + format_string_test x x "02/07/70" "11/12/01" + format_string_test Y Y 1970 2001 + format_string_test y y 70 01 + format_string_test Z Z UTC UTC + format_string_test z z +0000 +0000 + format_string_test percent % % % + format_string_test plus + "Sat Feb 7 07:04:03 UTC 1970" "Mon Nov 12 21:20:00 UTC 2001" +} Modified: projects/arm64/bin/dd/dd.1 ============================================================================== --- projects/arm64/bin/dd/dd.1 Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/dd/dd.1 Wed Nov 12 11:34:27 2014 (r274426) @@ -32,7 +32,7 @@ .\" @(#)dd.1 8.2 (Berkeley) 1/13/94 .\" $FreeBSD$ .\" -.Dd April 2, 2014 +.Dd August 28, 2014 .Dt DD 1 .Os .Sh NAME @@ -408,6 +408,11 @@ To create an image of a Mode-1 CD-ROM, w for data CD-ROM disks, use a block size of 2048 bytes: .Pp .Dl "dd if=/dev/acd0 of=filename.iso bs=2048" +.Pp +Write a filesystem image to a memory stick, padding the end with zeros, +if necessary, to a 1MiB boundary: +.Pp +.Dl "dd if=memstick.img of=/dev/da0 bs=1m conv=noerror,sync" .Sh SEE ALSO .Xr cp 1 , .Xr mt 1 , Modified: projects/arm64/bin/ed/cbc.c ============================================================================== --- projects/arm64/bin/ed/cbc.c Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/ed/cbc.c Wed Nov 12 11:34:27 2014 (r274426) @@ -237,7 +237,7 @@ expand_des_key(char *obuf, char *kbuf) /* * now translate it, bombing on any illegal hex digit */ - for (i = 0; kbuf[i] && i < 16; i++) + for (i = 0; i < 16 && kbuf[i]; i++) if ((nbuf[i] = hex_to_binary((int) kbuf[i], 16)) == -1) des_error("bad hex digit in key"); while (i < 16) Modified: projects/arm64/bin/pkill/tests/Makefile ============================================================================== --- projects/arm64/bin/pkill/tests/Makefile Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/pkill/tests/Makefile Wed Nov 12 11:34:27 2014 (r274426) @@ -14,6 +14,7 @@ TAP_TESTS_SH+= pgrep-g_test TAP_TESTS_SH+= pgrep-i_test TAP_TESTS_SH+= pgrep-j_test TEST_METADATA.pgrep-j_test+= required_user="root" +TEST_METADATA.pgrep-j_test+= required_programs="jail jls" TAP_TESTS_SH+= pgrep-l_test TAP_TESTS_SH+= pgrep-n_test TAP_TESTS_SH+= pgrep-o_test @@ -31,6 +32,7 @@ TAP_TESTS_SH+= pkill-g_test TAP_TESTS_SH+= pkill-i_test TAP_TESTS_SH+= pkill-j_test TEST_METADATA.pkill-j_test+= required_user="root" +TEST_METADATA.pkill-j_test+= required_programs="jail jls" TAP_TESTS_SH+= pkill-s_test TAP_TESTS_SH+= pkill-t_test TAP_TESTS_SH+= pkill-x_test Modified: projects/arm64/bin/ps/keyword.c ============================================================================== --- projects/arm64/bin/ps/keyword.c Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/ps/keyword.c Wed Nov 12 11:34:27 2014 (r274426) @@ -157,6 +157,7 @@ static VAR var[] = { {"tdnam", "TDNAM", NULL, LJUST, tdnam, 0, CHAR, NULL, 0}, {"time", "TIME", NULL, USER, cputime, 0, CHAR, NULL, 0}, {"tpgid", "TPGID", NULL, 0, kvar, KOFF(ki_tpgid), UINT, PIDFMT, 0}, + {"tracer", "TRACER", NULL, 0, kvar, KOFF(ki_tracer), UINT, PIDFMT, 0}, {"tsid", "TSID", NULL, 0, kvar, KOFF(ki_tsid), UINT, PIDFMT, 0}, {"tsiz", "TSIZ", NULL, 0, kvar, KOFF(ki_tsize), PGTOK, "ld", 0}, {"tt", "TT ", NULL, 0, tname, 0, CHAR, NULL, 0}, Modified: projects/arm64/bin/ps/ps.1 ============================================================================== --- projects/arm64/bin/ps/ps.1 Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/ps/ps.1 Wed Nov 12 11:34:27 2014 (r274426) @@ -29,7 +29,7 @@ .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd August 7, 2014 +.Dd August 27, 2014 .Dt PS 1 .Os .Sh NAME @@ -665,6 +665,8 @@ accumulated CPU time, user + system (ali .Cm cputime ) .It Cm tpgid control terminal process group ID +.It Cm tracer +tracer process ID .\".It Cm trss .\"text resident set size (in Kbytes) .It Cm tsid Modified: projects/arm64/bin/rmail/Makefile ============================================================================== --- projects/arm64/bin/rmail/Makefile Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/rmail/Makefile Wed Nov 12 11:34:27 2014 (r274426) @@ -14,8 +14,6 @@ MAN= rmail.8 WARNS?= 2 CFLAGS+=-I${SENDMAIL_DIR}/include -I. -NO_PIE= yes - LIBSMDIR= ${.OBJDIR}/../../lib/libsm LIBSM= ${LIBSMDIR}/libsm.a Modified: projects/arm64/bin/sh/arith_yacc.c ============================================================================== --- projects/arm64/bin/sh/arith_yacc.c Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/arith_yacc.c Wed Nov 12 11:34:27 2014 (r274426) @@ -139,9 +139,9 @@ static arith_t do_binop(int op, arith_t case ARITH_SUB: return (uintmax_t)a - (uintmax_t)b; case ARITH_LSHIFT: - return (uintmax_t)a << b; + return (uintmax_t)a << (b & (sizeof(uintmax_t) * CHAR_BIT - 1)); case ARITH_RSHIFT: - return a >> b; + return a >> (b & (sizeof(uintmax_t) * CHAR_BIT - 1)); case ARITH_LT: return a < b; case ARITH_LE: Modified: projects/arm64/bin/sh/histedit.c ============================================================================== --- projects/arm64/bin/sh/histedit.c Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/histedit.c Wed Nov 12 11:34:27 2014 (r274426) @@ -166,9 +166,10 @@ sethistsize(const char *hs) HistEvent he; if (hist != NULL) { - if (hs == NULL || *hs == '\0' || - (histsize = atoi(hs)) < 0) + if (hs == NULL || !is_number(hs)) histsize = 100; + else + histsize = atoi(hs); history(hist, &he, H_SETSIZE, histsize); history(hist, &he, H_SETUNIQUE, 1); } Modified: projects/arm64/bin/sh/jobs.c ============================================================================== --- projects/arm64/bin/sh/jobs.c Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/jobs.c Wed Nov 12 11:34:27 2014 (r274426) @@ -118,6 +118,24 @@ static void showjob(struct job *, int); static int jobctl; #if JOBS +static void +jobctl_notty(void) +{ + if (ttyfd >= 0) { + close(ttyfd); + ttyfd = -1; + } + if (!iflag) { + setsignal(SIGTSTP); + setsignal(SIGTTOU); + setsignal(SIGTTIN); + jobctl = 1; + return; + } + out2fmt_flush("sh: can't access tty; job control turned off\n"); + mflag = 0; +} + void setjobctl(int on) { @@ -133,8 +151,10 @@ setjobctl(int on) while (i <= 2 && !isatty(i)) i++; if (i > 2 || - (ttyfd = fcntl(i, F_DUPFD_CLOEXEC, 10)) < 0) - goto out; + (ttyfd = fcntl(i, F_DUPFD_CLOEXEC, 10)) < 0) { + jobctl_notty(); + return; + } } if (ttyfd < 10) { /* @@ -142,9 +162,8 @@ setjobctl(int on) * the user's redirections. */ if ((i = fcntl(ttyfd, F_DUPFD_CLOEXEC, 10)) < 0) { - close(ttyfd); - ttyfd = -1; - goto out; + jobctl_notty(); + return; } close(ttyfd); ttyfd = i; @@ -152,11 +171,15 @@ setjobctl(int on) do { /* while we are in the background */ initialpgrp = tcgetpgrp(ttyfd); if (initialpgrp < 0) { -out: out2fmt_flush("sh: can't access tty; job control turned off\n"); - mflag = 0; + jobctl_notty(); return; } if (initialpgrp != getpgrp()) { + if (!iflag) { + initialpgrp = -1; + jobctl_notty(); + return; + } kill(0, SIGTTIN); continue; } @@ -168,9 +191,11 @@ out: out2fmt_flush("sh: can't access tcsetpgrp(ttyfd, rootpid); } else { /* turning job control off */ setpgid(0, initialpgrp); - tcsetpgrp(ttyfd, initialpgrp); - close(ttyfd); - ttyfd = -1; + if (ttyfd >= 0) { + tcsetpgrp(ttyfd, initialpgrp); + close(ttyfd); + ttyfd = -1; + } setsignal(SIGTSTP); setsignal(SIGTTOU); setsignal(SIGTTIN); @@ -195,7 +220,8 @@ fgcmd(int argc __unused, char **argv __u printjobcmd(jp); flushout(&output); pgrp = jp->ps[0].pid; - tcsetpgrp(ttyfd, pgrp); + if (ttyfd >= 0) + tcsetpgrp(ttyfd, pgrp); restartjob(jp); jp->foreground = 1; INTOFF; @@ -847,7 +873,8 @@ forkshell(struct job *jp, union node *n, pgrp = getpid(); else pgrp = jp->ps[0].pid; - if (setpgid(0, pgrp) == 0 && mode == FORK_FG) { + if (setpgid(0, pgrp) == 0 && mode == FORK_FG && + ttyfd >= 0) { /*** this causes superfluous TIOCSPGRPS ***/ if (tcsetpgrp(ttyfd, pgrp) < 0) error("tcsetpgrp failed, errno=%d", errno); @@ -1007,7 +1034,7 @@ waitforjob(struct job *jp, int *origstat dotrap(); #if JOBS if (jp->jobctl) { - if (tcsetpgrp(ttyfd, rootpid) < 0) + if (ttyfd >= 0 && tcsetpgrp(ttyfd, rootpid) < 0) error("tcsetpgrp failed, errno=%d\n", errno); } if (jp->state == JOBSTOPPED) Modified: projects/arm64/bin/sh/mystring.c ============================================================================== --- projects/arm64/bin/sh/mystring.c Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/mystring.c Wed Nov 12 11:34:27 2014 (r274426) @@ -82,9 +82,17 @@ number(const char *s) int is_number(const char *p) { - do { - if (! is_digit(*p)) + const char *q; + + if (*p == '\0') + return 0; + while (*p == '0') + p++; + for (q = p; *q != '\0'; q++) + if (! is_digit(*q)) return 0; - } while (*++p != '\0'); + if (q - p > 10 || + (q - p == 10 && memcmp(p, "2147483647", 10) > 0)) + return 0; return 1; } Modified: projects/arm64/bin/sh/sh.1 ============================================================================== --- projects/arm64/bin/sh/sh.1 Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/sh.1 Wed Nov 12 11:34:27 2014 (r274426) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd January 26, 2014 +.Dd September 4, 2014 .Dt SH 1 .Os .Sh NAME @@ -259,6 +259,12 @@ from input when in interactive mode. Force the shell to behave interactively. .It Fl m Li monitor Turn on job control (set automatically when interactive). +A new process group is created for each pipeline (called a job). +It is possible to suspend jobs or to have them run in the foreground or +in the background. +In a non-interactive shell, +this option can be set even if no terminal is available +and is useful to place processes in separate process groups. .It Fl n Li noexec If not interactive, read commands but do not execute them. Modified: projects/arm64/bin/sh/tests/Makefile ============================================================================== --- projects/arm64/bin/sh/tests/Makefile Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/tests/Makefile Wed Nov 12 11:34:27 2014 (r274426) @@ -4,15 +4,12 @@ TESTSDIR= ${TESTSBASE}/bin/sh -TAP_TESTS_SH= legacy_test -TAP_TESTS_SH_SED_legacy_test= -e 's,__SH__,/bin/sh,g' -# Some tests in here are silently not run when the tests are executed as -# root. Explicitly tell Kyua to drop privileges. -# -# TODO(jmmv): Kyua needs to do this by default, not only when explicitly -# requested. See https://code.google.com/p/kyua/issues/detail?id=6 -TEST_METADATA.legacy_test+= required_user="unprivileged" - -SUBDIR+= builtins errors execution expansion parameters parser set-e +TESTS_SUBDIRS+= builtins +TESTS_SUBDIRS+= errors +TESTS_SUBDIRS+= execution +TESTS_SUBDIRS+= expansion +TESTS_SUBDIRS+= parameters +TESTS_SUBDIRS+= parser +TESTS_SUBDIRS+= set-e .include Modified: projects/arm64/bin/sh/tests/builtins/Makefile ============================================================================== --- projects/arm64/bin/sh/tests/builtins/Makefile Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/tests/builtins/Makefile Wed Nov 12 11:34:27 2014 (r274426) @@ -1,9 +1,13 @@ # $FreeBSD$ -.include +.include -FILESDIR= ${TESTSBASE}/bin/sh/builtins -KYUAFILE= no +TESTSDIR= ${TESTSBASE}/bin/sh/${.CURDIR:T} + +.PATH: ${.CURDIR:H} +ATF_TESTS_SH= functional_test + +FILESDIR= ${TESTSDIR} FILES= alias.0 alias.0.stdout FILES+= alias.1 alias.1.stderr Modified: projects/arm64/bin/sh/tests/errors/Makefile ============================================================================== --- projects/arm64/bin/sh/tests/errors/Makefile Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/tests/errors/Makefile Wed Nov 12 11:34:27 2014 (r274426) @@ -1,9 +1,11 @@ # $FreeBSD$ -.include +TESTSDIR= ${TESTSBASE}/bin/sh/${.CURDIR:T} -FILESDIR= ${TESTSBASE}/bin/sh/errors -KYUAFILE= no +.PATH: ${.CURDIR:H} +ATF_TESTS_SH= functional_test + +FILESDIR= ${TESTSDIR} FILES= assignment-error1.0 FILES+= assignment-error2.0 Modified: projects/arm64/bin/sh/tests/errors/bad-parm-exp2.2 ============================================================================== --- projects/arm64/bin/sh/tests/errors/bad-parm-exp2.2 Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/tests/errors/bad-parm-exp2.2 Wed Nov 12 11:34:27 2014 (r274426) @@ -1,2 +1,2 @@ # $FreeBSD$ -${} +eval '${}' Modified: projects/arm64/bin/sh/tests/errors/bad-parm-exp2.2.stderr ============================================================================== --- projects/arm64/bin/sh/tests/errors/bad-parm-exp2.2.stderr Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/tests/errors/bad-parm-exp2.2.stderr Wed Nov 12 11:34:27 2014 (r274426) @@ -1 +1 @@ -./errors/bad-parm-exp2.2: ${}: Bad substitution +eval: ${}: Bad substitution Modified: projects/arm64/bin/sh/tests/errors/bad-parm-exp3.2 ============================================================================== --- projects/arm64/bin/sh/tests/errors/bad-parm-exp3.2 Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/tests/errors/bad-parm-exp3.2 Wed Nov 12 11:34:27 2014 (r274426) @@ -1,2 +1,2 @@ # $FreeBSD$ -${foo/} +eval '${foo/}' Modified: projects/arm64/bin/sh/tests/errors/bad-parm-exp3.2.stderr ============================================================================== --- projects/arm64/bin/sh/tests/errors/bad-parm-exp3.2.stderr Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/tests/errors/bad-parm-exp3.2.stderr Wed Nov 12 11:34:27 2014 (r274426) @@ -1 +1 @@ -./errors/bad-parm-exp3.2: ${foo/}: Bad substitution +eval: ${foo/}: Bad substitution Modified: projects/arm64/bin/sh/tests/errors/bad-parm-exp4.2 ============================================================================== --- projects/arm64/bin/sh/tests/errors/bad-parm-exp4.2 Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/tests/errors/bad-parm-exp4.2 Wed Nov 12 11:34:27 2014 (r274426) @@ -1,2 +1,2 @@ # $FreeBSD$ -${foo:@abc} +eval '${foo:@abc}' Modified: projects/arm64/bin/sh/tests/errors/bad-parm-exp4.2.stderr ============================================================================== --- projects/arm64/bin/sh/tests/errors/bad-parm-exp4.2.stderr Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/tests/errors/bad-parm-exp4.2.stderr Wed Nov 12 11:34:27 2014 (r274426) @@ -1 +1 @@ -./errors/bad-parm-exp4.2: ${foo:@...}: Bad substitution +eval: ${foo:@...}: Bad substitution Modified: projects/arm64/bin/sh/tests/errors/bad-parm-exp5.2 ============================================================================== --- projects/arm64/bin/sh/tests/errors/bad-parm-exp5.2 Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/tests/errors/bad-parm-exp5.2 Wed Nov 12 11:34:27 2014 (r274426) @@ -1,2 +1,2 @@ # $FreeBSD$ -${/} +eval '${/}' Modified: projects/arm64/bin/sh/tests/errors/bad-parm-exp5.2.stderr ============================================================================== --- projects/arm64/bin/sh/tests/errors/bad-parm-exp5.2.stderr Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/tests/errors/bad-parm-exp5.2.stderr Wed Nov 12 11:34:27 2014 (r274426) @@ -1 +1 @@ -./errors/bad-parm-exp5.2: ${/}: Bad substitution +eval: ${/}: Bad substitution Modified: projects/arm64/bin/sh/tests/errors/bad-parm-exp6.2 ============================================================================== --- projects/arm64/bin/sh/tests/errors/bad-parm-exp6.2 Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/tests/errors/bad-parm-exp6.2 Wed Nov 12 11:34:27 2014 (r274426) @@ -1,2 +1,2 @@ # $FreeBSD$ -${#foo^} +eval '${#foo^}' Modified: projects/arm64/bin/sh/tests/errors/bad-parm-exp6.2.stderr ============================================================================== --- projects/arm64/bin/sh/tests/errors/bad-parm-exp6.2.stderr Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/tests/errors/bad-parm-exp6.2.stderr Wed Nov 12 11:34:27 2014 (r274426) @@ -1 +1 @@ -./errors/bad-parm-exp6.2: ${foo...}: Bad substitution +eval: ${foo...}: Bad substitution Modified: projects/arm64/bin/sh/tests/execution/Makefile ============================================================================== --- projects/arm64/bin/sh/tests/execution/Makefile Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/tests/execution/Makefile Wed Nov 12 11:34:27 2014 (r274426) @@ -1,9 +1,11 @@ # $FreeBSD$ -.include +TESTSDIR= ${TESTSBASE}/bin/sh/${.CURDIR:T} -FILESDIR= ${TESTSBASE}/bin/sh/execution -KYUAFILE= no +.PATH: ${.CURDIR:H} +ATF_TESTS_SH= functional_test + +FILESDIR= ${TESTSDIR} FILES= bg1.0 FILES+= bg2.0 Modified: projects/arm64/bin/sh/tests/expansion/Makefile ============================================================================== --- projects/arm64/bin/sh/tests/expansion/Makefile Wed Nov 12 10:54:22 2014 (r274425) +++ projects/arm64/bin/sh/tests/expansion/Makefile Wed Nov 12 11:34:27 2014 (r274426) @@ -1,9 +1,11 @@ # $FreeBSD$ -.include +TESTSDIR= ${TESTSBASE}/bin/sh/${.CURDIR:T} -FILESDIR= ${TESTSBASE}/bin/sh/expansion -KYUAFILE= no +.PATH: ${.CURDIR:H} +ATF_TESTS_SH= functional_test + +FILESDIR= ${TESTSDIR} FILES= arith1.0 FILES+= arith2.0 @@ -18,6 +20,7 @@ FILES+= arith10.0 FILES+= arith11.0 FILES+= arith12.0 FILES+= arith13.0 +FILES+= arith14.0 FILES+= assign1.0 FILES+= cmdsubst1.0 FILES+= cmdsubst2.0 Copied: projects/arm64/bin/sh/tests/expansion/arith14.0 (from r271180, head/bin/sh/tests/expansion/arith14.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/arm64/bin/sh/tests/expansion/arith14.0 Wed Nov 12 11:34:27 2014 (r274426, copy of r271180, head/bin/sh/tests/expansion/arith14.0) @@ -0,0 +1,40 @@ +# $FreeBSD$ +# Check that <> use the low bits of the shift count. + +if [ $((1<<16<<16)) = 0 ]; then + width=32 +elif [ $((1<<32<<32)) = 0 ]; then + width=64 +elif [ $((1<<64<<64)) = 0 ]; then + width=128 +elif [ $((1<<64>>64)) = 1 ]; then + # Integers are wider than 128 bits; assume arbitrary precision. + # Nothing to test here. + exit 0 +else + echo "Cannot determine integer width" + exit 2 +fi + +twowidth=$((width * 2)) +j=43 k=$((1 << (width - 2))) r=0 + +i=0 +while [ $i -lt $twowidth ]; do + if [ "$((j << i))" != "$((j << (i + width)))" ]; then + echo "Problem with $j << $i" + r=2 + fi + i=$((i + 1)) +done + +i=0 +while [ $i -lt $twowidth ]; do + if [ "$((k >> i))" != "$((k >> (i + width)))" ]; then + echo "Problem with $k >> $i" + r=2 + fi + i=$((i + 1)) +done + +exit $r Copied: projects/arm64/bin/sh/tests/functional_test.sh (from r271180, head/bin/sh/tests/functional_test.sh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/arm64/bin/sh/tests/functional_test.sh Wed Nov 12 11:34:27 2014 (r274426, copy of r271180, head/bin/sh/tests/functional_test.sh) @@ -0,0 +1,72 @@ +# +# Copyright 2014 EMC Corp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * 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. +# +# 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$ + +SRCDIR=$(atf_get_srcdir) + +check() +{ + local tc=${1}; shift + + export SH=$(atf_config_get bin.sh.test_shell /bin/sh) + + local err_file="${SRCDIR}/${tc}.stderr" + [ -f "${err_file}" ] && err_flag="-e file:${err_file}" + local out_file="${SRCDIR}/${tc}.stdout" + [ -f "${out_file}" ] && out_flag="-o file:${out_file}" + + atf_check -s exit:${tc##*.} ${err_flag} ${out_flag} ${SH} "${SRCDIR}/${tc}" +} *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Nov 12 12:47:07 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EF60F89A; Wed, 12 Nov 2014 12:47:07 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D5B9BBA1; Wed, 12 Nov 2014 12:47:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sACCl7Wl054903; Wed, 12 Nov 2014 12:47:07 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sACCl4wR054888; Wed, 12 Nov 2014 12:47:04 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201411121247.sACCl4wR054888@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Wed, 12 Nov 2014 12:47:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274427 - in projects/arm64: . bin/csh bin/df bin/pkill/tests bin/sh bin/sh/tests/builtins bin/sh/tests/expansion bin/sh/tests/parameters bin/sh/tests/parser bin/sleep bin/sleep/tests c... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2014 12:47:08 -0000 Author: andrew Date: Wed Nov 12 12:46:57 2014 New Revision: 274427 URL: https://svnweb.freebsd.org/changeset/base/274427 Log: Finish the MFC. The project branch should now be up to date with HEAD. Sponsored by: The FreeBSD Foundation Added: projects/arm64/bin/sh/tests/builtins/eval7.0 - copied unchanged from r274426, head/bin/sh/tests/builtins/eval7.0 projects/arm64/bin/sh/tests/builtins/eval8.7 - copied unchanged from r274426, head/bin/sh/tests/builtins/eval8.7 projects/arm64/bin/sh/tests/builtins/getopts9.0 - copied unchanged from r274426, head/bin/sh/tests/builtins/getopts9.0 projects/arm64/bin/sh/tests/builtins/getopts9.0.stdout - copied unchanged from r274426, head/bin/sh/tests/builtins/getopts9.0.stdout projects/arm64/bin/sh/tests/builtins/lineno3.0 - copied unchanged from r274426, head/bin/sh/tests/builtins/lineno3.0 projects/arm64/bin/sh/tests/builtins/lineno3.0.stdout - copied unchanged from r274426, head/bin/sh/tests/builtins/lineno3.0.stdout projects/arm64/bin/sh/tests/expansion/redir1.0 - copied unchanged from r274426, head/bin/sh/tests/expansion/redir1.0 projects/arm64/bin/sh/tests/parameters/positional6.0 - copied unchanged from r274426, head/bin/sh/tests/parameters/positional6.0 projects/arm64/bin/sh/tests/parameters/positional7.0 - copied unchanged from r274426, head/bin/sh/tests/parameters/positional7.0 projects/arm64/bin/sh/tests/parser/heredoc12.0 - copied unchanged from r274426, head/bin/sh/tests/parser/heredoc12.0 projects/arm64/bin/sh/tests/parser/line-cont1.0 - copied unchanged from r274426, head/bin/sh/tests/parser/line-cont1.0 projects/arm64/bin/sh/tests/parser/line-cont10.0 - copied unchanged from r274426, head/bin/sh/tests/parser/line-cont10.0 projects/arm64/bin/sh/tests/parser/line-cont11.0 - copied unchanged from r274426, head/bin/sh/tests/parser/line-cont11.0 projects/arm64/bin/sh/tests/parser/line-cont2.0 - copied unchanged from r274426, head/bin/sh/tests/parser/line-cont2.0 projects/arm64/bin/sh/tests/parser/line-cont3.0 - copied unchanged from r274426, head/bin/sh/tests/parser/line-cont3.0 projects/arm64/bin/sh/tests/parser/line-cont4.0 - copied unchanged from r274426, head/bin/sh/tests/parser/line-cont4.0 projects/arm64/bin/sh/tests/parser/line-cont5.0 - copied unchanged from r274426, head/bin/sh/tests/parser/line-cont5.0 projects/arm64/bin/sh/tests/parser/line-cont6.0 - copied unchanged from r274426, head/bin/sh/tests/parser/line-cont6.0 projects/arm64/bin/sh/tests/parser/line-cont7.0 - copied unchanged from r274426, head/bin/sh/tests/parser/line-cont7.0 projects/arm64/bin/sh/tests/parser/line-cont8.0 - copied unchanged from r274426, head/bin/sh/tests/parser/line-cont8.0 projects/arm64/bin/sh/tests/parser/line-cont9.0 - copied unchanged from r274426, head/bin/sh/tests/parser/line-cont9.0 projects/arm64/bin/sleep/tests/ - copied from r274426, head/bin/sleep/tests/ projects/arm64/contrib/atf/atf-c++/atf-c++.3 - copied unchanged from r274426, head/contrib/atf/atf-c++/atf-c++.3 projects/arm64/contrib/atf/atf-c/atf-c.3 - copied unchanged from r274426, head/contrib/atf/atf-c/atf-c.3 projects/arm64/contrib/atf/atf-sh/atf-sh.3 - copied unchanged from r274426, head/contrib/atf/atf-sh/atf-sh.3 projects/arm64/contrib/atf/config.h - copied unchanged from r274426, head/contrib/atf/config.h projects/arm64/contrib/atf/doc/atf.7.in - copied unchanged from r274426, head/contrib/atf/doc/atf.7.in projects/arm64/contrib/byacc/test/btyacc/btyacc_demo2.error - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_demo2.error projects/arm64/contrib/byacc/test/btyacc/btyacc_demo2.output - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_demo2.output projects/arm64/contrib/byacc/test/btyacc/btyacc_demo2.tab.c - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_demo2.tab.c projects/arm64/contrib/byacc/test/btyacc/btyacc_demo2.tab.h - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_demo2.tab.h projects/arm64/contrib/byacc/test/btyacc/btyacc_destroy1.error - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_destroy1.error projects/arm64/contrib/byacc/test/btyacc/btyacc_destroy1.output - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_destroy1.output projects/arm64/contrib/byacc/test/btyacc/btyacc_destroy1.tab.c - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_destroy1.tab.c projects/arm64/contrib/byacc/test/btyacc/btyacc_destroy1.tab.h - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_destroy1.tab.h projects/arm64/contrib/byacc/test/btyacc/btyacc_destroy2.error - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_destroy2.error projects/arm64/contrib/byacc/test/btyacc/btyacc_destroy2.output - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_destroy2.output projects/arm64/contrib/byacc/test/btyacc/btyacc_destroy2.tab.c - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_destroy2.tab.c projects/arm64/contrib/byacc/test/btyacc/btyacc_destroy2.tab.h - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_destroy2.tab.h projects/arm64/contrib/byacc/test/btyacc/btyacc_destroy3.error - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_destroy3.error projects/arm64/contrib/byacc/test/btyacc/btyacc_destroy3.output - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_destroy3.output projects/arm64/contrib/byacc/test/btyacc/btyacc_destroy3.tab.c - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_destroy3.tab.c projects/arm64/contrib/byacc/test/btyacc/btyacc_destroy3.tab.h - copied unchanged from r274426, head/contrib/byacc/test/btyacc/btyacc_destroy3.tab.h projects/arm64/contrib/byacc/test/btyacc_destroy1.y - copied unchanged from r274426, head/contrib/byacc/test/btyacc_destroy1.y projects/arm64/contrib/byacc/test/btyacc_destroy2.y - copied unchanged from r274426, head/contrib/byacc/test/btyacc_destroy2.y projects/arm64/contrib/byacc/test/btyacc_destroy3.y - copied unchanged from r274426, head/contrib/byacc/test/btyacc_destroy3.y projects/arm64/contrib/hyperv/ - copied from r274426, head/contrib/hyperv/ projects/arm64/contrib/libxo/ - copied from r274426, head/contrib/libxo/ projects/arm64/contrib/llvm/patches/patch-r269387-clang-arm-target-cpu.diff - copied unchanged from r274426, head/contrib/llvm/patches/patch-r269387-clang-arm-target-cpu.diff projects/arm64/contrib/llvm/patches/patch-r271024-llvm-r216989-r216990-fix-movw-armv6.diff - copied unchanged from r274426, head/contrib/llvm/patches/patch-r271024-llvm-r216989-r216990-fix-movw-armv6.diff projects/arm64/contrib/llvm/patches/patch-r271282-clang-r200797-r200798-r200805-debug-info-crash.diff - copied unchanged from r274426, head/contrib/llvm/patches/patch-r271282-clang-r200797-r200798-r200805-debug-info-crash.diff projects/arm64/contrib/llvm/patches/patch-r271432-clang-r205331-debug-info-crash.diff - copied unchanged from r274426, head/contrib/llvm/patches/patch-r271432-clang-r205331-debug-info-crash.diff projects/arm64/contrib/llvm/patches/patch-r271597-clang-r217410-i386-garbage-float.diff - copied unchanged from r274426, head/contrib/llvm/patches/patch-r271597-clang-r217410-i386-garbage-float.diff projects/arm64/contrib/llvm/patches/patch-r274286-llvm-r201784-asm-dollar.diff - copied unchanged from r274426, head/contrib/llvm/patches/patch-r274286-llvm-r201784-asm-dollar.diff projects/arm64/contrib/netbsd-tests/ - copied from r274426, head/contrib/netbsd-tests/ projects/arm64/contrib/ofed/libcxgb4/ - copied from r274426, head/contrib/ofed/libcxgb4/ projects/arm64/contrib/ofed/librdmacm/examples/build/ - copied from r274426, head/contrib/ofed/librdmacm/examples/build/ projects/arm64/contrib/ofed/usr.lib/libcxgb4/ - copied from r274426, head/contrib/ofed/usr.lib/libcxgb4/ projects/arm64/contrib/openpam/lib/libpam/openpam_strlset.c - copied unchanged from r274426, head/contrib/openpam/lib/libpam/openpam_strlset.c projects/arm64/contrib/openpam/lib/libpam/openpam_strlset.h - copied unchanged from r274426, head/contrib/openpam/lib/libpam/openpam_strlset.h projects/arm64/contrib/pjdfstest/ - copied from r274426, head/contrib/pjdfstest/ projects/arm64/contrib/telnet/telnet/baud.h - copied unchanged from r274426, head/contrib/telnet/telnet/baud.h projects/arm64/crypto/openssl/crypto/constant_time_locl.h - copied unchanged from r274426, head/crypto/openssl/crypto/constant_time_locl.h projects/arm64/crypto/openssl/crypto/constant_time_test.c - copied unchanged from r274426, head/crypto/openssl/crypto/constant_time_test.c projects/arm64/crypto/openssl/doc/apps/c_rehash.pod - copied unchanged from r274426, head/crypto/openssl/doc/apps/c_rehash.pod projects/arm64/crypto/openssl/doc/crypto/CMS_add1_signer.pod - copied unchanged from r274426, head/crypto/openssl/doc/crypto/CMS_add1_signer.pod projects/arm64/etc/devd/hyperv.conf - copied unchanged from r274426, head/etc/devd/hyperv.conf projects/arm64/etc/devd/ulpt.conf - copied unchanged from r274426, head/etc/devd/ulpt.conf projects/arm64/etc/rc.d/growfs - copied unchanged from r274426, head/etc/rc.d/growfs projects/arm64/games/primes/spsp.c - copied unchanged from r274426, head/games/primes/spsp.c projects/arm64/gnu/usr.bin/diff/tests/ - copied from r274426, head/gnu/usr.bin/diff/tests/ projects/arm64/lib/libarchive/libarchive.pc - copied unchanged from r274426, head/lib/libarchive/libarchive.pc projects/arm64/lib/libc/Makefile.amd64 - copied unchanged from r274426, head/lib/libc/Makefile.amd64 projects/arm64/lib/libc/Makefile.i386 - copied unchanged from r274426, head/lib/libc/Makefile.i386 projects/arm64/lib/libc/arm/aeabi/aeabi_asm_double.S - copied unchanged from r274426, head/lib/libc/arm/aeabi/aeabi_asm_double.S projects/arm64/lib/libc/arm/aeabi/aeabi_asm_float.S - copied unchanged from r274426, head/lib/libc/arm/aeabi/aeabi_asm_float.S projects/arm64/lib/libc/tests/ - copied from r274426, head/lib/libc/tests/ projects/arm64/lib/libdpv/ - copied from r274426, head/lib/libdpv/ projects/arm64/lib/libevent/ - copied from r274426, head/lib/libevent/ projects/arm64/lib/libfigpar/ - copied from r274426, head/lib/libfigpar/ projects/arm64/lib/libnetbsd/netinet/ - copied from r274426, head/lib/libnetbsd/netinet/ projects/arm64/lib/libnetbsd/sys/time.h - copied unchanged from r274426, head/lib/libnetbsd/sys/time.h projects/arm64/lib/libpam/libpam/tests/ - copied from r274426, head/lib/libpam/libpam/tests/ projects/arm64/lib/libpcap/pcap-netmap.c - copied unchanged from r274426, head/lib/libpcap/pcap-netmap.c projects/arm64/lib/libproc/tests/ - copied from r274426, head/lib/libproc/tests/ projects/arm64/lib/libxo/ - copied from r274426, head/lib/libxo/ projects/arm64/lib/msun/ld128/e_lgammal_r.c - copied unchanged from r274426, head/lib/msun/ld128/e_lgammal_r.c projects/arm64/lib/msun/ld80/e_lgammal_r.c - copied unchanged from r274426, head/lib/msun/ld80/e_lgammal_r.c projects/arm64/lib/msun/src/e_lgammal.c - copied unchanged from r274426, head/lib/msun/src/e_lgammal.c projects/arm64/libexec/Makefile.amd64 - copied unchanged from r274426, head/libexec/Makefile.amd64 projects/arm64/libexec/Makefile.i386 - copied unchanged from r274426, head/libexec/Makefile.i386 projects/arm64/libexec/Makefile.pc98 - copied unchanged from r274426, head/libexec/Makefile.pc98 projects/arm64/libexec/hyperv/ - copied from r274426, head/libexec/hyperv/ projects/arm64/release/amd64/mk-azure.sh - copied unchanged from r274426, head/release/amd64/mk-azure.sh projects/arm64/release/amd64/mk-vmimage.sh - copied unchanged from r274426, head/release/amd64/mk-vmimage.sh projects/arm64/release/i386/mk-azure.sh - copied unchanged from r274426, head/release/i386/mk-azure.sh projects/arm64/release/i386/mk-vmimage.sh - copied unchanged from r274426, head/release/i386/mk-vmimage.sh projects/arm64/release/tools/azure.conf - copied unchanged from r274426, head/release/tools/azure.conf projects/arm64/sbin/ifconfig/ifvxlan.c - copied unchanged from r274426, head/sbin/ifconfig/ifvxlan.c projects/arm64/sbin/ipfw/tables.c - copied unchanged from r274426, head/sbin/ipfw/tables.c projects/arm64/secure/lib/libcrypto/man/CMS_add1_signer.3 - copied unchanged from r274426, head/secure/lib/libcrypto/man/CMS_add1_signer.3 projects/arm64/secure/usr.bin/openssl/man/c_rehash.1 - copied unchanged from r274426, head/secure/usr.bin/openssl/man/c_rehash.1 projects/arm64/share/doc/pjdfstest/ - copied from r274426, head/share/doc/pjdfstest/ projects/arm64/share/man/man4/ipheth.4 - copied unchanged from r274426, head/share/man/man4/ipheth.4 projects/arm64/share/man/man4/iscsi.4 - copied unchanged from r274426, head/share/man/man4/iscsi.4 projects/arm64/share/man/man4/man4.arm/cgem.4 - copied unchanged from r274426, head/share/man/man4/man4.arm/cgem.4 projects/arm64/share/man/man4/me.4 - copied unchanged from r274426, head/share/man/man4/me.4 projects/arm64/share/man/man4/smsc.4 - copied unchanged from r274426, head/share/man/man4/smsc.4 projects/arm64/share/man/man4/virtio_console.4 - copied unchanged from r274426, head/share/man/man4/virtio_console.4 projects/arm64/share/man/man4/vxlan.4 - copied unchanged from r274426, head/share/man/man4/vxlan.4 projects/arm64/share/man/man7/growfs.7 - copied unchanged from r274426, head/share/man/man7/growfs.7 projects/arm64/share/man/man8/uefi.8 - copied unchanged from r274426, head/share/man/man8/uefi.8 projects/arm64/share/man/man9/casuword.9 - copied unchanged from r274426, head/share/man/man9/casuword.9 projects/arm64/share/mk/netbsd-tests.test.mk - copied unchanged from r274426, head/share/mk/netbsd-tests.test.mk - copied unchanged from r274426, head/sys/amd64/vmm/amd/npt.c - copied unchanged from r274426, head/sys/amd64/vmm/amd/npt.h - copied unchanged from r274426, head/sys/amd64/vmm/amd/svm.c - copied unchanged from r274426, head/sys/amd64/vmm/amd/svm.h - copied unchanged from r274426, head/sys/amd64/vmm/amd/svm_genassym.c - copied unchanged from r274426, head/sys/amd64/vmm/amd/svm_msr.c - copied unchanged from r274426, head/sys/amd64/vmm/amd/svm_msr.h - copied unchanged from r274426, head/sys/amd64/vmm/amd/svm_softc.h - copied unchanged from r274426, head/sys/amd64/vmm/amd/svm_support.S - copied unchanged from r274426, head/sys/amd64/vmm/amd/vmcb.c - copied unchanged from r274426, head/sys/amd64/vmm/amd/vmcb.h projects/arm64/sys/amd64/vmm/io/vpmtmr.c - copied unchanged from r274426, head/sys/amd64/vmm/io/vpmtmr.c projects/arm64/sys/amd64/vmm/io/vpmtmr.h - copied unchanged from r274426, head/sys/amd64/vmm/io/vpmtmr.h projects/arm64/sys/arm/altera/socfpga/socfpga_common.h - copied unchanged from r274426, head/sys/arm/altera/socfpga/socfpga_common.h projects/arm64/sys/arm/altera/socfpga/socfpga_l3regs.h - copied unchanged from r274426, head/sys/arm/altera/socfpga/socfpga_l3regs.h projects/arm64/sys/arm/altera/socfpga/socfpga_manager.c - copied unchanged from r274426, head/sys/arm/altera/socfpga/socfpga_manager.c projects/arm64/sys/arm/altera/socfpga/socfpga_mp.c - copied unchanged from r274426, head/sys/arm/altera/socfpga/socfpga_mp.c projects/arm64/sys/arm/altera/socfpga/socfpga_rstmgr.c - copied unchanged from r274426, head/sys/arm/altera/socfpga/socfpga_rstmgr.c projects/arm64/sys/arm/altera/socfpga/socfpga_rstmgr.h - copied unchanged from r274426, head/sys/arm/altera/socfpga/socfpga_rstmgr.h projects/arm64/sys/arm/arm/elf_note.S - copied unchanged from r274426, head/sys/arm/arm/elf_note.S projects/arm64/sys/arm/arm/syscall.c - copied unchanged from r274426, head/sys/arm/arm/syscall.c projects/arm64/sys/arm/conf/IMX53 - copied unchanged from r274426, head/sys/arm/conf/IMX53 projects/arm64/sys/arm/conf/SOCKIT-BERI - copied unchanged from r274426, head/sys/arm/conf/SOCKIT-BERI projects/arm64/sys/arm/freescale/imx/imx_iomux.c - copied unchanged from r274426, head/sys/arm/freescale/imx/imx_iomux.c projects/arm64/sys/arm/include/sysreg.h - copied unchanged from r274426, head/sys/arm/include/sysreg.h projects/arm64/sys/arm/samsung/s3c2xx0/ - copied from r274426, head/sys/arm/samsung/s3c2xx0/ projects/arm64/sys/arm/ti/am335x/am335x_gpio.c - copied unchanged from r274426, head/sys/arm/ti/am335x/am335x_gpio.c projects/arm64/sys/arm/ti/am335x/am335x_scm_padconf.h - copied unchanged from r274426, head/sys/arm/ti/am335x/am335x_scm_padconf.h projects/arm64/sys/arm/ti/omap4/omap4_gpio.c - copied unchanged from r274426, head/sys/arm/ti/omap4/omap4_gpio.c projects/arm64/sys/arm/ti/omap4/omap4_scm_padconf.h - copied unchanged from r274426, head/sys/arm/ti/omap4/omap4_scm_padconf.h projects/arm64/sys/arm/ti/ti_gpio.h - copied unchanged from r274426, head/sys/arm/ti/ti_gpio.h projects/arm64/sys/arm/ti/ti_gpio_if.m - copied unchanged from r274426, head/sys/arm/ti/ti_gpio_if.m projects/arm64/sys/arm/ti/ti_wdt.c - copied unchanged from r274426, head/sys/arm/ti/ti_wdt.c projects/arm64/sys/arm/ti/ti_wdt.h - copied unchanged from r274426, head/sys/arm/ti/ti_wdt.h projects/arm64/sys/boot/common/zfsloader.8 - copied unchanged from r274426, head/sys/boot/common/zfsloader.8 projects/arm64/sys/boot/efi/include/eficonsctl.h - copied unchanged from r274426, head/sys/boot/efi/include/eficonsctl.h projects/arm64/sys/boot/fdt/dts/arm/socfpga-sockit-beri.dts - copied unchanged from r274426, head/sys/boot/fdt/dts/arm/socfpga-sockit-beri.dts projects/arm64/sys/boot/fdt/fdt_platform.h - copied unchanged from r274426, head/sys/boot/fdt/fdt_platform.h projects/arm64/sys/boot/forth/pcibios.4th - copied unchanged from r274426, head/sys/boot/forth/pcibios.4th projects/arm64/sys/boot/i386/gptzfsboot/gptzfsboot.8 - copied unchanged from r274426, head/sys/boot/i386/gptzfsboot/gptzfsboot.8 projects/arm64/sys/boot/i386/zfsboot/zfsboot.8 - copied unchanged from r274426, head/sys/boot/i386/zfsboot/zfsboot.8 projects/arm64/sys/boot/uboot/fdt/ - copied from r274426, head/sys/boot/uboot/fdt/ projects/arm64/sys/cddl/compat/opensolaris/kern/opensolaris_dtrace.c - copied unchanged from r274426, head/sys/cddl/compat/opensolaris/kern/opensolaris_dtrace.c projects/arm64/sys/compat/linux/linux_timer.c - copied unchanged from r274426, head/sys/compat/linux/linux_timer.c projects/arm64/sys/compat/linux/linux_timer.h - copied unchanged from r274426, head/sys/compat/linux/linux_timer.h projects/arm64/sys/compat/svr4/README - copied unchanged from r274426, head/sys/compat/svr4/README projects/arm64/sys/compat/svr4/TO-DO - copied unchanged from r274426, head/sys/compat/svr4/TO-DO projects/arm64/sys/contrib/dev/acpica/common/acgetline.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/common/acgetline.c projects/arm64/sys/contrib/dev/acpica/common/ahids.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/common/ahids.c projects/arm64/sys/contrib/dev/acpica/common/ahuuids.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/common/ahuuids.c projects/arm64/sys/contrib/dev/acpica/common/cmfsize.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/common/cmfsize.c projects/arm64/sys/contrib/dev/acpica/compiler/aslascii.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/compiler/aslascii.c projects/arm64/sys/contrib/dev/acpica/compiler/aslmapenter.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/compiler/aslmapenter.c projects/arm64/sys/contrib/dev/acpica/compiler/aslmapoutput.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/compiler/aslmapoutput.c projects/arm64/sys/contrib/dev/acpica/compiler/aslmaputils.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/compiler/aslmaputils.c projects/arm64/sys/contrib/dev/acpica/compiler/aslmessages.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/compiler/aslmessages.c projects/arm64/sys/contrib/dev/acpica/compiler/aslparser.y - copied unchanged from r274426, head/sys/contrib/dev/acpica/compiler/aslparser.y projects/arm64/sys/contrib/dev/acpica/compiler/aslrules.y - copied unchanged from r274426, head/sys/contrib/dev/acpica/compiler/aslrules.y projects/arm64/sys/contrib/dev/acpica/compiler/aslsupport.y - copied unchanged from r274426, head/sys/contrib/dev/acpica/compiler/aslsupport.y projects/arm64/sys/contrib/dev/acpica/compiler/asltokens.y - copied unchanged from r274426, head/sys/contrib/dev/acpica/compiler/asltokens.y projects/arm64/sys/contrib/dev/acpica/compiler/asltypes.y - copied unchanged from r274426, head/sys/contrib/dev/acpica/compiler/asltypes.y projects/arm64/sys/contrib/dev/acpica/components/debugger/dbtest.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/components/debugger/dbtest.c projects/arm64/sys/contrib/dev/acpica/components/tables/tbdata.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/components/tables/tbdata.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utfileio.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/components/utilities/utfileio.c projects/arm64/sys/contrib/dev/acpica/components/utilities/uthex.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/components/utilities/uthex.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utprint.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/components/utilities/utprint.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utuuid.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/components/utilities/utuuid.c projects/arm64/sys/contrib/dev/acpica/include/platform/acenvex.h - copied unchanged from r274426, head/sys/contrib/dev/acpica/include/platform/acenvex.h projects/arm64/sys/contrib/dev/acpica/os_specific/service_layers/oslibcfs.c - copied unchanged from r274426, head/sys/contrib/dev/acpica/os_specific/service_layers/oslibcfs.c projects/arm64/sys/dev/alpm/ - copied from r274426, head/sys/dev/alpm/ projects/arm64/sys/dev/amdpm/ - copied from r274426, head/sys/dev/amdpm/ projects/arm64/sys/dev/amdsmb/ - copied from r274426, head/sys/dev/amdsmb/ projects/arm64/sys/dev/ath/if_ath_pci_devlist.h - copied unchanged from r274426, head/sys/dev/ath/if_ath_pci_devlist.h projects/arm64/sys/dev/beri/ - copied from r274426, head/sys/dev/beri/ projects/arm64/sys/dev/drm2/i915/i915_gem_context.c - copied unchanged from r274426, head/sys/dev/drm2/i915/i915_gem_context.c projects/arm64/sys/dev/dwc/ - copied from r274426, head/sys/dev/dwc/ projects/arm64/sys/dev/fdc/fdc_cbus.c - copied unchanged from r274426, head/sys/dev/fdc/fdc_cbus.c projects/arm64/sys/dev/fdt/fdt_pinctrl.c - copied unchanged from r274426, head/sys/dev/fdt/fdt_pinctrl.c projects/arm64/sys/dev/fdt/fdt_pinctrl.h - copied unchanged from r274426, head/sys/dev/fdt/fdt_pinctrl.h projects/arm64/sys/dev/fdt/fdt_pinctrl_if.m - copied unchanged from r274426, head/sys/dev/fdt/fdt_pinctrl_if.m projects/arm64/sys/dev/hyperv/utilities/hv_kvp.c - copied unchanged from r274426, head/sys/dev/hyperv/utilities/hv_kvp.c projects/arm64/sys/dev/hyperv/utilities/unicode.h - copied unchanged from r274426, head/sys/dev/hyperv/utilities/unicode.h projects/arm64/sys/dev/iicbus/adm1030.c - copied unchanged from r274426, head/sys/dev/iicbus/adm1030.c projects/arm64/sys/dev/intpm/ - copied from r274426, head/sys/dev/intpm/ projects/arm64/sys/dev/ixl/ixlv_vc_mgr.h - copied unchanged from r274426, head/sys/dev/ixl/ixlv_vc_mgr.h projects/arm64/sys/dev/mii/micphy.c - copied unchanged from r274426, head/sys/dev/mii/micphy.c projects/arm64/sys/dev/mmc/host/ - copied from r274426, head/sys/dev/mmc/host/ projects/arm64/sys/dev/mrsas/mrsas_linux.c - copied unchanged from r274426, head/sys/dev/mrsas/mrsas_linux.c projects/arm64/sys/dev/ncr/ - copied from r274426, head/sys/dev/ncr/ projects/arm64/sys/dev/nfsmb/ - copied from r274426, head/sys/dev/nfsmb/ projects/arm64/sys/dev/random/build.sh - copied unchanged from r274426, head/sys/dev/random/build.sh projects/arm64/sys/dev/random/fortuna.c - copied unchanged from r274426, head/sys/dev/random/fortuna.c projects/arm64/sys/dev/random/fortuna.h - copied unchanged from r274426, head/sys/dev/random/fortuna.h projects/arm64/sys/dev/random/uint128.h - copied unchanged from r274426, head/sys/dev/random/uint128.h projects/arm64/sys/dev/random/unit_test.c - copied unchanged from r274426, head/sys/dev/random/unit_test.c projects/arm64/sys/dev/random/unit_test.h - copied unchanged from r274426, head/sys/dev/random/unit_test.h projects/arm64/sys/dev/rl/ - copied from r274426, head/sys/dev/rl/ projects/arm64/sys/dev/smc/if_smc_fdt.c - copied unchanged from r274426, head/sys/dev/smc/if_smc_fdt.c projects/arm64/sys/dev/uart/uart_dev_msm.c - copied unchanged from r274426, head/sys/dev/uart/uart_dev_msm.c projects/arm64/sys/dev/uart/uart_dev_msm.h - copied unchanged from r274426, head/sys/dev/uart/uart_dev_msm.h projects/arm64/sys/dev/viapm/ - copied from r274426, head/sys/dev/viapm/ projects/arm64/sys/dev/virtio/console/ - copied from r274426, head/sys/dev/virtio/console/ projects/arm64/sys/dev/xen/evtchn/ - copied from r274426, head/sys/dev/xen/evtchn/ projects/arm64/sys/dev/xen/privcmd/ - copied from r274426, head/sys/dev/xen/privcmd/ projects/arm64/sys/dev/xen/xenstore/ - copied from r274426, head/sys/dev/xen/xenstore/ projects/arm64/sys/libkern/explicit_bzero.c - copied unchanged from r274426, head/sys/libkern/explicit_bzero.c projects/arm64/sys/libkern/murmur3_32.c - copied unchanged from r274426, head/sys/libkern/murmur3_32.c projects/arm64/sys/mips/conf/TP-MR3020 - copied unchanged from r274426, head/sys/mips/conf/TP-MR3020 projects/arm64/sys/mips/conf/TP-MR3020.hints - copied unchanged from r274426, head/sys/mips/conf/TP-MR3020.hints projects/arm64/sys/modules/if_me/ - copied from r274426, head/sys/modules/if_me/ projects/arm64/sys/modules/if_vxlan/ - copied from r274426, head/sys/modules/if_vxlan/ projects/arm64/sys/modules/mrsas/mrsas_linux/ - copied from r274426, head/sys/modules/mrsas/mrsas_linux/ projects/arm64/sys/modules/ncr/ - copied from r274426, head/sys/modules/ncr/ projects/arm64/sys/modules/padlock_rng/ - copied from r274426, head/sys/modules/padlock_rng/ projects/arm64/sys/modules/rdrand_rng/ - copied from r274426, head/sys/modules/rdrand_rng/ projects/arm64/sys/modules/virtio/console/ - copied from r274426, head/sys/modules/virtio/console/ projects/arm64/sys/net/if_me.c - copied unchanged from r274426, head/sys/net/if_me.c projects/arm64/sys/net/if_vxlan.c - copied unchanged from r274426, head/sys/net/if_vxlan.c projects/arm64/sys/net/if_vxlan.h - copied unchanged from r274426, head/sys/net/if_vxlan.h projects/arm64/sys/netinet/sctp_syscalls.c - copied unchanged from r274426, head/sys/netinet/sctp_syscalls.c projects/arm64/sys/netinet6/ip6_gre.c - copied unchanged from r274426, head/sys/netinet6/ip6_gre.c projects/arm64/sys/netpfil/ipfw/ip_fw_iface.c - copied unchanged from r274426, head/sys/netpfil/ipfw/ip_fw_iface.c projects/arm64/sys/netpfil/ipfw/ip_fw_table.h - copied unchanged from r274426, head/sys/netpfil/ipfw/ip_fw_table.h projects/arm64/sys/netpfil/ipfw/ip_fw_table_algo.c - copied unchanged from r274426, head/sys/netpfil/ipfw/ip_fw_table_algo.c projects/arm64/sys/netpfil/ipfw/ip_fw_table_value.c - copied unchanged from r274426, head/sys/netpfil/ipfw/ip_fw_table_value.c projects/arm64/sys/ofed/drivers/net/mlx4/mlx4_stats.h - copied unchanged from r274426, head/sys/ofed/drivers/net/mlx4/mlx4_stats.h projects/arm64/sys/ofed/drivers/net/mlx4/utils.c - copied unchanged from r274426, head/sys/ofed/drivers/net/mlx4/utils.c projects/arm64/sys/ofed/drivers/net/mlx4/utils.h - copied unchanged from r274426, head/sys/ofed/drivers/net/mlx4/utils.h projects/arm64/sys/sys/seq.h - copied unchanged from r274426, head/sys/sys/seq.h projects/arm64/sys/x86/include/vmware.h - copied unchanged from r274426, head/sys/x86/include/vmware.h projects/arm64/sys/x86/xen/xen_msi.c - copied unchanged from r274426, head/sys/x86/xen/xen_msi.c projects/arm64/sys/x86/xen/xen_pci.c - copied unchanged from r274426, head/sys/x86/xen/xen_pci.c projects/arm64/sys/xen/error.h - copied unchanged from r274426, head/sys/xen/error.h projects/arm64/sys/xen/privcmd.h - copied unchanged from r274426, head/sys/xen/privcmd.h projects/arm64/sys/xen/xen_msi.h - copied unchanged from r274426, head/sys/xen/xen_msi.h projects/arm64/tests/sys/pjdfstest/ - copied from r274426, head/tests/sys/pjdfstest/ projects/arm64/tools/build/check-links.sh - copied unchanged from r274426, head/tools/build/check-links.sh projects/arm64/tools/build/options/WITHOUT_HYPERV - copied unchanged from r274426, head/tools/build/options/WITHOUT_HYPERV projects/arm64/tools/tools/bootparttest/stub.c - copied unchanged from r274426, head/tools/tools/bootparttest/stub.c projects/arm64/usr.bin/basename/tests/ - copied from r274426, head/usr.bin/basename/tests/ projects/arm64/usr.bin/cmp/tests/ - copied from r274426, head/usr.bin/cmp/tests/ projects/arm64/usr.bin/cut/tests/ - copied from r274426, head/usr.bin/cut/tests/ projects/arm64/usr.bin/dirname/tests/ - copied from r274426, head/usr.bin/dirname/tests/ projects/arm64/usr.bin/dpv/ - copied from r274426, head/usr.bin/dpv/ projects/arm64/usr.bin/grep/tests/ - copied from r274426, head/usr.bin/grep/tests/ projects/arm64/usr.bin/gzip/tests/ - copied from r274426, head/usr.bin/gzip/tests/ projects/arm64/usr.bin/mkimg/qcow.c - copied unchanged from r274426, head/usr.bin/mkimg/qcow.c projects/arm64/usr.bin/mkimg/tests/ - copied from r274426, head/usr.bin/mkimg/tests/ projects/arm64/usr.bin/timeout/tests/ - copied from r274426, head/usr.bin/timeout/tests/ projects/arm64/usr.bin/xo/ - copied from r274426, head/usr.bin/xo/ projects/arm64/usr.sbin/ctld/chap.c - copied unchanged from r274426, head/usr.sbin/ctld/chap.c projects/arm64/usr.sbin/ctld/isns.c - copied unchanged from r274426, head/usr.sbin/ctld/isns.c projects/arm64/usr.sbin/ctld/isns.h - copied unchanged from r274426, head/usr.sbin/ctld/isns.h projects/arm64/usr.sbin/hyperv/ - copied from r274426, head/usr.sbin/hyperv/ projects/arm64/usr.sbin/iscsid/chap.c - copied unchanged from r274426, head/usr.sbin/iscsid/chap.c projects/arm64/usr.sbin/nmtree/tests/ - copied from r274426, head/usr.sbin/nmtree/tests/ projects/arm64/usr.sbin/pw/tests/ - copied from r274426, head/usr.sbin/pw/tests/ Directory Properties: projects/arm64/sys/amd64/vmm/amd/npt.c (props changed) projects/arm64/sys/amd64/vmm/amd/npt.h (props changed) projects/arm64/sys/amd64/vmm/amd/svm.c (props changed) projects/arm64/sys/amd64/vmm/amd/svm.h (props changed) projects/arm64/sys/amd64/vmm/amd/svm_genassym.c (props changed) projects/arm64/sys/amd64/vmm/amd/svm_msr.c (props changed) projects/arm64/sys/amd64/vmm/amd/svm_msr.h (props changed) projects/arm64/sys/amd64/vmm/amd/svm_softc.h (props changed) projects/arm64/sys/amd64/vmm/amd/svm_support.S (props changed) projects/arm64/sys/amd64/vmm/amd/vmcb.c (props changed) projects/arm64/sys/amd64/vmm/amd/vmcb.h (props changed) Deleted: projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/main.c projects/arm64/contrib/atf/atf-c++/config.cpp projects/arm64/contrib/atf/atf-c++/config.hpp projects/arm64/contrib/atf/atf-c++/config_test.cpp projects/arm64/contrib/atf/atf-c++/detail/sanity_test.cpp projects/arm64/contrib/atf/atf-c/config.c projects/arm64/contrib/atf/atf-c/config.h projects/arm64/contrib/atf/atf-c/config_test.c projects/arm64/contrib/atf/bconfig.h projects/arm64/contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff projects/arm64/contrib/openpam/m4/ projects/arm64/contrib/xz/po/ projects/arm64/crypto/openssl/doc/crypto/CMS_sign_add1_signer.pod projects/arm64/etc/rc.d/faith projects/arm64/etc/rc.d/initrandom projects/arm64/etc/rc.d/postrandom projects/arm64/lib/libc/arm/Symbol_oabi.map projects/arm64/lib/libproc/test/ projects/arm64/secure/lib/libcrypto/man/CMS_sign_add1_signer.3 projects/arm64/share/man/man4/faith.4 projects/arm64/share/man/man8/hv_kvp_daemon.8 projects/arm64/sys/amd64/vmm/vmm_msr.c projects/arm64/sys/amd64/vmm/vmm_msr.h projects/arm64/sys/arm/freescale/imx/imx51_iomux.c projects/arm64/sys/arm/freescale/imx/imx51_iomuxreg.h projects/arm64/sys/arm/freescale/imx/imx6_iomux.c projects/arm64/sys/arm/freescale/imx/imx6_iomuxreg.h projects/arm64/sys/arm/s3c2xx0/ projects/arm64/sys/arm/ti/am335x/files.beaglebone projects/arm64/sys/arm/ti/am335x/std.beaglebone projects/arm64/sys/arm/ti/omap3/ projects/arm64/sys/arm/ti/ti_mmchs.c projects/arm64/sys/arm/ti/ti_mmchs.h projects/arm64/sys/arm/versatile/if_smc_fdt.c projects/arm64/sys/contrib/dev/acpica/compiler/aslcompiler.y projects/arm64/sys/dev/ixl/i40e_register_x710_int.h projects/arm64/sys/dev/random/harvest.c projects/arm64/sys/dev/random/rwfile.c projects/arm64/sys/dev/random/rwfile.h projects/arm64/sys/modules/acpi/acpi/ projects/arm64/sys/modules/if_faith/ projects/arm64/sys/modules/svr4/README projects/arm64/sys/modules/svr4/TO-DO projects/arm64/sys/net/if_faith.c projects/arm64/sys/netinet/ip_gre.h projects/arm64/sys/ofed/drivers/net/mlx4/en_frag.c projects/arm64/sys/ofed/drivers/net/mlx4/en_params.c projects/arm64/sys/ofed/drivers/net/mlx4/xrcd.c projects/arm64/sys/ofed/include/asm/page.h projects/arm64/sys/ofed/include/linux/ethtool.h projects/arm64/sys/ofed/include/linux/inet.h projects/arm64/sys/ofed/include/linux/mount.h projects/arm64/sys/pc98/cbus/fdc.c projects/arm64/sys/pc98/cbus/fdc_cbus.c projects/arm64/sys/pc98/cbus/fdcreg.h projects/arm64/sys/pc98/cbus/fdcvar.h projects/arm64/sys/pc98/pc98/machdep.c projects/arm64/sys/pci/ projects/arm64/sys/powerpc/powermac/windtunnel.c projects/arm64/sys/sys/sf_base.h projects/arm64/sys/sys/sf_sync.h projects/arm64/sys/xen/evtchn/evtchn_dev.c projects/arm64/sys/xen/xenstore/xenstore.c projects/arm64/sys/xen/xenstore/xenstore_dev.c projects/arm64/tests/lib/ projects/arm64/tools/build/options/WITHOUT_ARM_EABI projects/arm64/tools/regression/pjdfstest/ projects/arm64/tools/tools/bootparttest/malloc.c projects/arm64/usr.sbin/bhyve/pmtmr.c projects/arm64/usr.sbin/faithd/ projects/arm64/usr.sbin/ftp-proxy/Makefile.inc projects/arm64/usr.sbin/ftp-proxy/ftp-proxy/ projects/arm64/usr.sbin/ftp-proxy/libevent/ projects/arm64/usr.sbin/pkg/elf_tables.h Modified: projects/arm64/MAINTAINERS (contents, props changed) projects/arm64/Makefile.inc1 projects/arm64/ObsoleteFiles.inc projects/arm64/UPDATING projects/arm64/bin/csh/Makefile projects/arm64/bin/df/Makefile projects/arm64/bin/df/df.1 projects/arm64/bin/df/df.c projects/arm64/bin/pkill/tests/pgrep-j_test.sh projects/arm64/bin/pkill/tests/pkill-j_test.sh projects/arm64/bin/sh/eval.c projects/arm64/bin/sh/expand.c projects/arm64/bin/sh/input.c projects/arm64/bin/sh/input.h projects/arm64/bin/sh/jobs.c projects/arm64/bin/sh/options.c projects/arm64/bin/sh/options.h projects/arm64/bin/sh/parser.c projects/arm64/bin/sh/redir.c projects/arm64/bin/sh/sh.1 projects/arm64/bin/sh/tests/builtins/Makefile projects/arm64/bin/sh/tests/expansion/Makefile projects/arm64/bin/sh/tests/parameters/Makefile projects/arm64/bin/sh/tests/parser/Makefile projects/arm64/bin/sh/trap.c projects/arm64/bin/sleep/Makefile projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/dtrace.1 projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.weak2.c projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/err.invalidtype.ksh projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/err.invalidtype2.ksh projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/err.user64mode.ksh projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/tst.aouttype.ksh projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/tst.chasestrings.ksh projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/tst.libtype.ksh projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/tst.pidprint.ksh projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/tst.pidprinttarg.ksh projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/tst.printtype.ksh projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/tst.printtypetarg.ksh projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/tst.userlandkey.ksh projects/arm64/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf/tst.userstrings.ksh projects/arm64/cddl/contrib/opensolaris/cmd/lockstat/lockstat.1 projects/arm64/cddl/contrib/opensolaris/cmd/zdb/zdb.c projects/arm64/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/arm64/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c projects/arm64/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 projects/arm64/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c projects/arm64/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c projects/arm64/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c projects/arm64/cddl/contrib/opensolaris/cmd/ztest/ztest.c projects/arm64/cddl/contrib/opensolaris/lib/libctf/common/ctf_lib.c projects/arm64/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c projects/arm64/cddl/contrib/opensolaris/lib/libdtrace/common/dt_grammar.y projects/arm64/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/arm64/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.c projects/arm64/cddl/contrib/opensolaris/lib/libdtrace/common/dt_print.c projects/arm64/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h projects/arm64/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c projects/arm64/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c projects/arm64/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c projects/arm64/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c projects/arm64/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c projects/arm64/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h projects/arm64/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c projects/arm64/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c projects/arm64/cddl/lib/libdtrace/libproc_compat.h projects/arm64/cddl/lib/libdtrace/tcp.d projects/arm64/cddl/lib/libzfs/Makefile projects/arm64/cddl/lib/libzpool/Makefile projects/arm64/cddl/usr.sbin/Makefile projects/arm64/contrib/apr-util/CHANGES projects/arm64/contrib/apr-util/NOTICE projects/arm64/contrib/apr-util/apr-util.spec projects/arm64/contrib/apr-util/configure projects/arm64/contrib/apr-util/crypto/apr_crypto.c projects/arm64/contrib/apr-util/crypto/apr_passwd.c projects/arm64/contrib/apr-util/dbd/apr_dbd_mysql.c projects/arm64/contrib/apr-util/dbd/apr_dbd_odbc.c projects/arm64/contrib/apr-util/dbm/NWGNUmakefile projects/arm64/contrib/apr-util/include/apu_version.h projects/arm64/contrib/apr-util/test/Makefile.win projects/arm64/contrib/atf/FREEBSD-Xlist projects/arm64/contrib/atf/FREEBSD-upgrade projects/arm64/contrib/atf/NEWS projects/arm64/contrib/atf/atf-c++.hpp projects/arm64/contrib/atf/atf-c++/Kyuafile projects/arm64/contrib/atf/atf-c++/atf-c++-api.3 projects/arm64/contrib/atf/atf-c++/atf_c++_test.cpp projects/arm64/contrib/atf/atf-c++/build.cpp projects/arm64/contrib/atf/atf-c++/build.hpp projects/arm64/contrib/atf/atf-c++/build_test.cpp projects/arm64/contrib/atf/atf-c++/check.cpp projects/arm64/contrib/atf/atf-c++/check.hpp projects/arm64/contrib/atf/atf-c++/check_test.cpp projects/arm64/contrib/atf/atf-c++/detail/Kyuafile projects/arm64/contrib/atf/atf-c++/detail/application.cpp projects/arm64/contrib/atf/atf-c++/detail/application.hpp projects/arm64/contrib/atf/atf-c++/detail/application_test.cpp projects/arm64/contrib/atf/atf-c++/detail/auto_array.hpp projects/arm64/contrib/atf/atf-c++/detail/auto_array_test.cpp projects/arm64/contrib/atf/atf-c++/detail/env.cpp projects/arm64/contrib/atf/atf-c++/detail/env.hpp projects/arm64/contrib/atf/atf-c++/detail/env_test.cpp projects/arm64/contrib/atf/atf-c++/detail/exceptions.cpp projects/arm64/contrib/atf/atf-c++/detail/exceptions.hpp projects/arm64/contrib/atf/atf-c++/detail/exceptions_test.cpp projects/arm64/contrib/atf/atf-c++/detail/fs.cpp projects/arm64/contrib/atf/atf-c++/detail/fs.hpp projects/arm64/contrib/atf/atf-c++/detail/fs_test.cpp projects/arm64/contrib/atf/atf-c++/detail/process.cpp projects/arm64/contrib/atf/atf-c++/detail/process.hpp projects/arm64/contrib/atf/atf-c++/detail/process_test.cpp projects/arm64/contrib/atf/atf-c++/detail/sanity.hpp projects/arm64/contrib/atf/atf-c++/detail/test_helpers.cpp projects/arm64/contrib/atf/atf-c++/detail/test_helpers.hpp projects/arm64/contrib/atf/atf-c++/detail/text.cpp projects/arm64/contrib/atf/atf-c++/detail/text.hpp projects/arm64/contrib/atf/atf-c++/detail/text_test.cpp projects/arm64/contrib/atf/atf-c++/detail/version_helper.cpp projects/arm64/contrib/atf/atf-c++/macros.hpp projects/arm64/contrib/atf/atf-c++/macros_hpp_test.cpp projects/arm64/contrib/atf/atf-c++/macros_test.cpp projects/arm64/contrib/atf/atf-c++/pkg_config_test.sh projects/arm64/contrib/atf/atf-c++/tests.cpp projects/arm64/contrib/atf/atf-c++/tests.hpp projects/arm64/contrib/atf/atf-c++/tests_test.cpp projects/arm64/contrib/atf/atf-c++/unused_test.cpp projects/arm64/contrib/atf/atf-c++/utils.cpp projects/arm64/contrib/atf/atf-c++/utils.hpp projects/arm64/contrib/atf/atf-c++/utils_test.cpp projects/arm64/contrib/atf/atf-c.h projects/arm64/contrib/atf/atf-c/Kyuafile projects/arm64/contrib/atf/atf-c/atf-c-api.3 projects/arm64/contrib/atf/atf-c/atf_c_test.c projects/arm64/contrib/atf/atf-c/build.c projects/arm64/contrib/atf/atf-c/build.h projects/arm64/contrib/atf/atf-c/build_test.c projects/arm64/contrib/atf/atf-c/check.c projects/arm64/contrib/atf/atf-c/check.h projects/arm64/contrib/atf/atf-c/check_test.c projects/arm64/contrib/atf/atf-c/defs.h.in projects/arm64/contrib/atf/atf-c/detail/dynstr.c projects/arm64/contrib/atf/atf-c/detail/dynstr.h projects/arm64/contrib/atf/atf-c/detail/dynstr_test.c projects/arm64/contrib/atf/atf-c/detail/env.c projects/arm64/contrib/atf/atf-c/detail/env.h projects/arm64/contrib/atf/atf-c/detail/env_test.c projects/arm64/contrib/atf/atf-c/detail/fs.c projects/arm64/contrib/atf/atf-c/detail/fs.h projects/arm64/contrib/atf/atf-c/detail/fs_test.c projects/arm64/contrib/atf/atf-c/detail/list.c projects/arm64/contrib/atf/atf-c/detail/list.h projects/arm64/contrib/atf/atf-c/detail/list_test.c projects/arm64/contrib/atf/atf-c/detail/map.c projects/arm64/contrib/atf/atf-c/detail/map.h projects/arm64/contrib/atf/atf-c/detail/map_test.c projects/arm64/contrib/atf/atf-c/detail/process.c projects/arm64/contrib/atf/atf-c/detail/process.h projects/arm64/contrib/atf/atf-c/detail/process_helpers.c projects/arm64/contrib/atf/atf-c/detail/process_test.c projects/arm64/contrib/atf/atf-c/detail/sanity.c projects/arm64/contrib/atf/atf-c/detail/sanity.h projects/arm64/contrib/atf/atf-c/detail/sanity_test.c projects/arm64/contrib/atf/atf-c/detail/test_helpers.c projects/arm64/contrib/atf/atf-c/detail/test_helpers.h projects/arm64/contrib/atf/atf-c/detail/text.c projects/arm64/contrib/atf/atf-c/detail/text.h projects/arm64/contrib/atf/atf-c/detail/text_test.c projects/arm64/contrib/atf/atf-c/detail/tp_main.c projects/arm64/contrib/atf/atf-c/detail/user.c projects/arm64/contrib/atf/atf-c/detail/user.h projects/arm64/contrib/atf/atf-c/detail/user_test.c projects/arm64/contrib/atf/atf-c/detail/version_helper.c projects/arm64/contrib/atf/atf-c/error.c projects/arm64/contrib/atf/atf-c/error.h projects/arm64/contrib/atf/atf-c/error_fwd.h projects/arm64/contrib/atf/atf-c/error_test.c projects/arm64/contrib/atf/atf-c/h_build.h projects/arm64/contrib/atf/atf-c/macros.h projects/arm64/contrib/atf/atf-c/macros_h_test.c projects/arm64/contrib/atf/atf-c/macros_test.c projects/arm64/contrib/atf/atf-c/pkg_config_test.sh projects/arm64/contrib/atf/atf-c/tc.c projects/arm64/contrib/atf/atf-c/tc.h projects/arm64/contrib/atf/atf-c/tc_test.c projects/arm64/contrib/atf/atf-c/tp.c projects/arm64/contrib/atf/atf-c/tp.h projects/arm64/contrib/atf/atf-c/tp_test.c projects/arm64/contrib/atf/atf-c/unused_test.c projects/arm64/contrib/atf/atf-c/utils.c projects/arm64/contrib/atf/atf-c/utils.h projects/arm64/contrib/atf/atf-c/utils_test.c projects/arm64/contrib/atf/atf-sh/atf-check.1 projects/arm64/contrib/atf/atf-sh/atf-check.cpp projects/arm64/contrib/atf/atf-sh/atf-check_test.sh projects/arm64/contrib/atf/atf-sh/atf-sh-api.3 projects/arm64/contrib/atf/atf-sh/atf-sh.1 projects/arm64/contrib/atf/atf-sh/atf-sh.cpp projects/arm64/contrib/atf/atf-sh/atf_check_test.sh projects/arm64/contrib/atf/atf-sh/config_test.sh projects/arm64/contrib/atf/atf-sh/integration_test.sh projects/arm64/contrib/atf/atf-sh/libatf-sh.subr projects/arm64/contrib/atf/atf-sh/misc_helpers.sh projects/arm64/contrib/atf/atf-sh/normalize_test.sh projects/arm64/contrib/atf/atf-sh/tc_test.sh projects/arm64/contrib/atf/atf-sh/tp_test.sh projects/arm64/contrib/atf/doc/atf-test-case.4 projects/arm64/contrib/atf/doc/atf-test-program.1 projects/arm64/contrib/atf/test-programs/c_helpers.c projects/arm64/contrib/atf/test-programs/common.sh projects/arm64/contrib/atf/test-programs/config_test.sh projects/arm64/contrib/atf/test-programs/cpp_helpers.cpp projects/arm64/contrib/atf/test-programs/expect_test.sh projects/arm64/contrib/atf/test-programs/meta_data_test.sh projects/arm64/contrib/atf/test-programs/result_test.sh projects/arm64/contrib/atf/test-programs/sh_helpers.sh projects/arm64/contrib/atf/test-programs/srcdir_test.sh projects/arm64/contrib/binutils/bfd/config.bfd projects/arm64/contrib/binutils/bfd/elf32-arm.c projects/arm64/contrib/binutils/bfd/elf32-ppc.c projects/arm64/contrib/binutils/bfd/elf64-ppc.c projects/arm64/contrib/binutils/gas/config/tc-arm.c projects/arm64/contrib/binutils/gas/config/tc-ppc.c projects/arm64/contrib/binutils/include/elf/arm.h projects/arm64/contrib/binutils/ld/emulparams/elf32ppc_fbsd.sh projects/arm64/contrib/binutils/ld/emulparams/elf64ppc_fbsd.sh projects/arm64/contrib/bsnmp/snmp_target/target_snmp.c projects/arm64/contrib/byacc/CHANGES projects/arm64/contrib/byacc/MANIFEST projects/arm64/contrib/byacc/VERSION projects/arm64/contrib/byacc/aclocal.m4 projects/arm64/contrib/byacc/btyaccpar.c projects/arm64/contrib/byacc/closure.c projects/arm64/contrib/byacc/config.sub projects/arm64/contrib/byacc/configure projects/arm64/contrib/byacc/configure.in projects/arm64/contrib/byacc/defs.h projects/arm64/contrib/byacc/lalr.c projects/arm64/contrib/byacc/main.c projects/arm64/contrib/byacc/output.c projects/arm64/contrib/byacc/package/byacc.spec projects/arm64/contrib/byacc/package/debian/changelog projects/arm64/contrib/byacc/package/debian/source/format projects/arm64/contrib/byacc/package/mingw-byacc.spec projects/arm64/contrib/byacc/package/pkgsrc/Makefile projects/arm64/contrib/byacc/reader.c projects/arm64/contrib/byacc/test/btyacc/btyacc_calc1.tab.c projects/arm64/contrib/byacc/test/btyacc/btyacc_demo.tab.c projects/arm64/contrib/byacc/test/btyacc/calc.tab.c projects/arm64/contrib/byacc/test/btyacc/calc1.tab.c projects/arm64/contrib/byacc/test/btyacc/calc2.tab.c projects/arm64/contrib/byacc/test/btyacc/calc3.tab.c projects/arm64/contrib/byacc/test/btyacc/code_calc.code.c projects/arm64/contrib/byacc/test/btyacc/code_calc.tab.c projects/arm64/contrib/byacc/test/btyacc/code_error.code.c projects/arm64/contrib/byacc/test/btyacc/code_error.tab.c projects/arm64/contrib/byacc/test/btyacc/empty.tab.c projects/arm64/contrib/byacc/test/btyacc/err_inherit1.tab.c projects/arm64/contrib/byacc/test/btyacc/err_inherit2.tab.c projects/arm64/contrib/byacc/test/btyacc/err_inherit3.tab.c projects/arm64/contrib/byacc/test/btyacc/err_inherit4.tab.c projects/arm64/contrib/byacc/test/btyacc/err_inherit5.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax1.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax10.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax11.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax12.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax13.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax14.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax15.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax16.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax17.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax18.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax19.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax2.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax20.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax21.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax22.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax23.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax24.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax25.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax26.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax27.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax3.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax4.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax5.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax6.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax7.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax7a.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax7b.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax8.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax8a.tab.c projects/arm64/contrib/byacc/test/btyacc/err_syntax9.tab.c projects/arm64/contrib/byacc/test/btyacc/error.tab.c projects/arm64/contrib/byacc/test/btyacc/grammar.tab.c projects/arm64/contrib/byacc/test/btyacc/inherit0.tab.c projects/arm64/contrib/byacc/test/btyacc/inherit1.tab.c projects/arm64/contrib/byacc/test/btyacc/inherit2.tab.c projects/arm64/contrib/byacc/test/btyacc/ok_syntax1.tab.c projects/arm64/contrib/byacc/test/btyacc/pure_calc.tab.c projects/arm64/contrib/byacc/test/btyacc/pure_error.tab.c projects/arm64/contrib/byacc/test/btyacc/quote_calc-s.tab.c projects/arm64/contrib/byacc/test/btyacc/quote_calc.tab.c projects/arm64/contrib/byacc/test/btyacc/quote_calc2-s.tab.c projects/arm64/contrib/byacc/test/btyacc/quote_calc2.tab.c projects/arm64/contrib/byacc/test/btyacc/quote_calc3-s.tab.c projects/arm64/contrib/byacc/test/btyacc/quote_calc3.tab.c projects/arm64/contrib/byacc/test/btyacc/quote_calc4-s.tab.c projects/arm64/contrib/byacc/test/btyacc/quote_calc4.tab.c projects/arm64/contrib/byacc/test/btyacc/rename_debug.c projects/arm64/contrib/byacc/test/btyacc/varsyntax_calc1.tab.c projects/arm64/contrib/byacc/test/yacc/calc2.tab.c projects/arm64/contrib/byacc/test/yacc/calc3.tab.c projects/arm64/contrib/byacc/test/yacc/ok_syntax1.tab.c projects/arm64/contrib/byacc/yacc.1 projects/arm64/contrib/elftoolchain/libelf/libelf_align.c projects/arm64/contrib/elftoolchain/libelf/libelf_convert.m4 projects/arm64/contrib/file/magic/Magdir/filesystems projects/arm64/contrib/ipfilter/lib/gethost.c projects/arm64/contrib/ipfilter/lib/printnat.c projects/arm64/contrib/ipfilter/tools/ipf_y.y projects/arm64/contrib/ipfilter/tools/ipnat_y.y projects/arm64/contrib/libc++/include/__config projects/arm64/contrib/libc++/src/new.cpp projects/arm64/contrib/libc-vis/vis.c projects/arm64/contrib/libcxxrt/auxhelper.cc projects/arm64/contrib/libcxxrt/stdexcept.cc projects/arm64/contrib/libcxxrt/stdexcept.h projects/arm64/contrib/libpcap/inet.c projects/arm64/contrib/libpcap/pcap.c projects/arm64/contrib/llvm/lib/MC/MCParser/AsmParser.cpp projects/arm64/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/arm64/contrib/llvm/patches/patch-r270147-llvm-r197824-r213427-r213960.diff projects/arm64/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/arm64/contrib/mtree/create.c projects/arm64/contrib/mtree/extern.h projects/arm64/contrib/mtree/getid.c projects/arm64/contrib/mtree/mtree.c projects/arm64/contrib/mtree/spec.c projects/arm64/contrib/netcat/netcat.c projects/arm64/contrib/ofed/libibverbs/examples/asyncwatch.c projects/arm64/contrib/ofed/libibverbs/examples/device_list.c projects/arm64/contrib/ofed/libibverbs/examples/devinfo.c projects/arm64/contrib/ofed/libmlx4/src/mlx4-abi.h projects/arm64/contrib/ofed/librdmacm/examples/rping.c projects/arm64/contrib/ofed/usr.lib/Makefile projects/arm64/contrib/ofed/usr.lib/Makefile.inc projects/arm64/contrib/one-true-awk/awk.1 projects/arm64/contrib/one-true-awk/main.c projects/arm64/contrib/one-true-awk/run.c projects/arm64/contrib/openbsm/bin/auditdistd/subr.c projects/arm64/contrib/openpam/CREDITS (contents, props changed) projects/arm64/contrib/openpam/HISTORY (contents, props changed) projects/arm64/contrib/openpam/INSTALL (contents, props changed) projects/arm64/contrib/openpam/LICENSE (contents, props changed) projects/arm64/contrib/openpam/Makefile.am (contents, props changed) projects/arm64/contrib/openpam/Makefile.in (contents, props changed) projects/arm64/contrib/openpam/README (contents, props changed) projects/arm64/contrib/openpam/RELNOTES (contents, props changed) projects/arm64/contrib/openpam/TODO projects/arm64/contrib/openpam/aclocal.m4 (contents, props changed) projects/arm64/contrib/openpam/autogen.sh (contents, props changed) projects/arm64/contrib/openpam/bin/Makefile.in (contents, props changed) projects/arm64/contrib/openpam/bin/openpam_dump_policy/Makefile.in projects/arm64/contrib/openpam/bin/openpam_dump_policy/openpam_dump_policy.c projects/arm64/contrib/openpam/bin/pamtest/Makefile.in projects/arm64/contrib/openpam/bin/pamtest/pamtest.1 projects/arm64/contrib/openpam/bin/su/Makefile.in (contents, props changed) projects/arm64/contrib/openpam/bin/su/su.1 projects/arm64/contrib/openpam/config.h.in (contents, props changed) projects/arm64/contrib/openpam/configure (contents, props changed) projects/arm64/contrib/openpam/configure.ac (contents, props changed) projects/arm64/contrib/openpam/doc/Makefile.in (contents, props changed) projects/arm64/contrib/openpam/doc/man/Makefile.in (contents, props changed) projects/arm64/contrib/openpam/doc/man/openpam.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/openpam_borrow_cred.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/openpam_free_data.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/openpam_free_envlist.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/openpam_get_feature.3 projects/arm64/contrib/openpam/doc/man/openpam_get_option.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/openpam_log.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/openpam_nullconv.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/openpam_readline.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/openpam_readlinev.3 projects/arm64/contrib/openpam/doc/man/openpam_readword.3 projects/arm64/contrib/openpam/doc/man/openpam_restore_cred.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/openpam_set_feature.3 projects/arm64/contrib/openpam/doc/man/openpam_set_option.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/openpam_straddch.3 projects/arm64/contrib/openpam/doc/man/openpam_subst.3 projects/arm64/contrib/openpam/doc/man/openpam_ttyconv.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam.conf.5 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_acct_mgmt.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_authenticate.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_chauthtok.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_close_session.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_conv.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_end.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_error.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_get_authtok.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_get_data.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_get_item.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_get_user.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_getenv.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_getenvlist.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_info.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_open_session.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_prompt.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_putenv.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_set_data.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_set_item.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_setcred.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_setenv.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_sm_acct_mgmt.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_sm_authenticate.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_sm_chauthtok.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_sm_close_session.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_sm_open_session.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_sm_setcred.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_start.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_strerror.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_verror.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_vinfo.3 (contents, props changed) projects/arm64/contrib/openpam/doc/man/pam_vprompt.3 (contents, props changed) projects/arm64/contrib/openpam/include/Makefile.in (contents, props changed) projects/arm64/contrib/openpam/include/security/Makefile.in (contents, props changed) projects/arm64/contrib/openpam/include/security/openpam_version.h (contents, props changed) projects/arm64/contrib/openpam/lib/Makefile.am projects/arm64/contrib/openpam/lib/Makefile.in projects/arm64/contrib/openpam/lib/libpam/Makefile.am projects/arm64/contrib/openpam/lib/libpam/Makefile.in projects/arm64/contrib/openpam/lib/libpam/openpam_configure.c projects/arm64/contrib/openpam/lib/libpam/openpam_ctype.h projects/arm64/contrib/openpam/lib/libpam/openpam_dispatch.c projects/arm64/contrib/openpam/lib/libpam/openpam_readword.c projects/arm64/contrib/openpam/lib/libpam/openpam_ttyconv.c projects/arm64/contrib/openpam/lib/libpam/pam_get_authtok.c projects/arm64/contrib/openpam/ltmain.sh (contents, props changed) projects/arm64/contrib/openpam/mkpkgng.in projects/arm64/contrib/openpam/modules/Makefile.in (contents, props changed) projects/arm64/contrib/openpam/modules/pam_deny/Makefile.in (contents, props changed) projects/arm64/contrib/openpam/modules/pam_permit/Makefile.in (contents, props changed) projects/arm64/contrib/openpam/modules/pam_unix/Makefile.in (contents, props changed) projects/arm64/contrib/openpam/pamgdb.in projects/arm64/contrib/openpam/t/Makefile.am projects/arm64/contrib/openpam/t/Makefile.in projects/arm64/contrib/openpam/t/t_openpam_ctype.c projects/arm64/contrib/openpam/t/t_openpam_readlinev.c projects/arm64/contrib/openpam/t/t_openpam_readword.c projects/arm64/contrib/smbfs/lib/smb/ctx.c projects/arm64/contrib/smbfs/mount_smbfs/mount_smbfs.c projects/arm64/contrib/tcp_wrappers/inetcf.h projects/arm64/contrib/tcp_wrappers/mystdarg.h projects/arm64/contrib/tcp_wrappers/tcpd.h projects/arm64/contrib/tcp_wrappers/tli-sequent.h projects/arm64/contrib/tcpdump/tcpdump.c projects/arm64/contrib/telnet/arpa/telnet.h projects/arm64/contrib/telnet/telnet/commands.c projects/arm64/contrib/telnet/telnet/externs.h projects/arm64/contrib/telnet/telnet/main.c projects/arm64/contrib/telnet/telnet/sys_bsd.c projects/arm64/contrib/telnet/telnet/telnet.1 projects/arm64/contrib/telnet/telnet/telnet.c projects/arm64/contrib/telnet/telnet/types.h projects/arm64/contrib/telnet/telnetd/sys_term.c projects/arm64/contrib/tnftp/src/fetch.c projects/arm64/contrib/tzdata/africa projects/arm64/contrib/tzdata/antarctica projects/arm64/contrib/tzdata/asia projects/arm64/contrib/tzdata/australasia projects/arm64/contrib/tzdata/backward projects/arm64/contrib/tzdata/europe projects/arm64/contrib/tzdata/northamerica projects/arm64/contrib/tzdata/southamerica projects/arm64/contrib/tzdata/zone.tab projects/arm64/contrib/tzdata/zone1970.tab projects/arm64/contrib/xz/ChangeLog projects/arm64/contrib/xz/FREEBSD-Xlist projects/arm64/contrib/xz/THANKS projects/arm64/contrib/xz/TODO projects/arm64/contrib/xz/src/liblzma/api/lzma/block.h projects/arm64/contrib/xz/src/liblzma/api/lzma/version.h projects/arm64/contrib/xz/src/liblzma/check/crc32_fast.c projects/arm64/contrib/xz/src/liblzma/check/sha256.c projects/arm64/contrib/xz/src/liblzma/lzma/lzma_encoder_presets.c projects/arm64/contrib/xz/src/xz/coder.c projects/arm64/contrib/xz/src/xz/signals.c projects/arm64/contrib/xz/src/xz/suffix.c projects/arm64/crypto/heimdal/tools/krb5-config.in projects/arm64/crypto/openssl/CHANGES projects/arm64/crypto/openssl/Configure projects/arm64/crypto/openssl/Makefile projects/arm64/crypto/openssl/NEWS projects/arm64/crypto/openssl/README projects/arm64/crypto/openssl/apps/s_client.c projects/arm64/crypto/openssl/crypto/Makefile projects/arm64/crypto/openssl/crypto/aes/asm/aesni-x86_64.pl projects/arm64/crypto/openssl/crypto/asn1/a_strex.c projects/arm64/crypto/openssl/crypto/bn/asm/x86_64-gcc.c projects/arm64/crypto/openssl/crypto/bn/bn_exp.c projects/arm64/crypto/openssl/crypto/bn/bn_nist.c projects/arm64/crypto/openssl/crypto/bn/exptest.c projects/arm64/crypto/openssl/crypto/dsa/dsa_ameth.c projects/arm64/crypto/openssl/crypto/ebcdic.h projects/arm64/crypto/openssl/crypto/ec/ec.h projects/arm64/crypto/openssl/crypto/ec/ec2_smpl.c projects/arm64/crypto/openssl/crypto/ec/ec_ameth.c projects/arm64/crypto/openssl/crypto/ec/ec_asn1.c projects/arm64/crypto/openssl/crypto/ec/ecp_mont.c projects/arm64/crypto/openssl/crypto/ec/ecp_nist.c projects/arm64/crypto/openssl/crypto/ec/ecp_smpl.c projects/arm64/crypto/openssl/crypto/ec/ectest.c projects/arm64/crypto/openssl/crypto/evp/Makefile projects/arm64/crypto/openssl/crypto/evp/e_aes.c projects/arm64/crypto/openssl/crypto/evp/evp_enc.c projects/arm64/crypto/openssl/crypto/md5/asm/md5-x86_64.pl projects/arm64/crypto/openssl/crypto/modes/modes.h projects/arm64/crypto/openssl/crypto/ocsp/ocsp_vfy.c projects/arm64/crypto/openssl/crypto/opensslconf.h projects/arm64/crypto/openssl/crypto/opensslv.h projects/arm64/crypto/openssl/crypto/ossl_typ.h projects/arm64/crypto/openssl/crypto/pkcs7/pkcs7.h projects/arm64/crypto/openssl/crypto/pqueue/pqueue.h projects/arm64/crypto/openssl/crypto/rsa/Makefile projects/arm64/crypto/openssl/crypto/rsa/rsa.h projects/arm64/crypto/openssl/crypto/rsa/rsa_err.c projects/arm64/crypto/openssl/crypto/rsa/rsa_oaep.c projects/arm64/crypto/openssl/crypto/rsa/rsa_pk1.c projects/arm64/crypto/openssl/crypto/rsa/rsa_sign.c projects/arm64/crypto/openssl/crypto/stack/safestack.h projects/arm64/crypto/openssl/doc/apps/dgst.pod projects/arm64/crypto/openssl/doc/crypto/BIO_s_accept.pod projects/arm64/crypto/openssl/doc/crypto/EVP_DigestInit.pod projects/arm64/crypto/openssl/doc/crypto/EVP_DigestVerifyInit.pod projects/arm64/crypto/openssl/doc/crypto/EVP_EncryptInit.pod projects/arm64/crypto/openssl/doc/crypto/EVP_PKEY_set1_RSA.pod projects/arm64/crypto/openssl/doc/crypto/EVP_PKEY_sign.pod projects/arm64/crypto/openssl/doc/ssl/SSL_CTX_set_tmp_dh_callback.pod projects/arm64/crypto/openssl/e_os.h projects/arm64/crypto/openssl/ssl/Makefile projects/arm64/crypto/openssl/ssl/d1_both.c projects/arm64/crypto/openssl/ssl/d1_lib.c projects/arm64/crypto/openssl/ssl/d1_srtp.c projects/arm64/crypto/openssl/ssl/dtls1.h projects/arm64/crypto/openssl/ssl/s23_clnt.c projects/arm64/crypto/openssl/ssl/s23_srvr.c projects/arm64/crypto/openssl/ssl/s2_lib.c projects/arm64/crypto/openssl/ssl/s3_cbc.c projects/arm64/crypto/openssl/ssl/s3_clnt.c projects/arm64/crypto/openssl/ssl/s3_enc.c projects/arm64/crypto/openssl/ssl/s3_lib.c projects/arm64/crypto/openssl/ssl/s3_pkt.c projects/arm64/crypto/openssl/ssl/s3_srvr.c projects/arm64/crypto/openssl/ssl/srtp.h projects/arm64/crypto/openssl/ssl/ssl.h projects/arm64/crypto/openssl/ssl/ssl3.h projects/arm64/crypto/openssl/ssl/ssl_err.c projects/arm64/crypto/openssl/ssl/ssl_lib.c projects/arm64/crypto/openssl/ssl/t1_enc.c projects/arm64/crypto/openssl/ssl/t1_lib.c projects/arm64/crypto/openssl/ssl/tls1.h projects/arm64/crypto/openssl/util/mk1mf.pl projects/arm64/crypto/openssl/util/mkdef.pl projects/arm64/crypto/openssl/util/ssleay.num projects/arm64/etc/defaults/periodic.conf projects/arm64/etc/defaults/rc.conf projects/arm64/etc/devd/Makefile projects/arm64/etc/devd/apple.conf projects/arm64/etc/devd/usb.conf projects/arm64/etc/mail/Makefile projects/arm64/etc/motd projects/arm64/etc/mtree/BSD.debug.dist projects/arm64/etc/mtree/BSD.include.dist projects/arm64/etc/mtree/BSD.tests.dist projects/arm64/etc/mtree/BSD.usr.dist projects/arm64/etc/mtree/BSD.var.dist projects/arm64/etc/network.subr projects/arm64/etc/periodic/daily/110.clean-tmps projects/arm64/etc/periodic/security/Makefile projects/arm64/etc/rc.d/Makefile projects/arm64/etc/rc.d/NETWORKING projects/arm64/etc/rc.d/adjkerntz projects/arm64/etc/rc.d/bgfsck projects/arm64/etc/rc.d/bridge projects/arm64/etc/rc.d/defaultroute projects/arm64/etc/rc.d/geli projects/arm64/etc/rc.d/ipropd_slave projects/arm64/etc/rc.d/jail projects/arm64/etc/rc.d/netif projects/arm64/etc/rc.d/random projects/arm64/etc/rc.d/routing projects/arm64/etc/rc.d/syscons projects/arm64/etc/rc.d/syslogd projects/arm64/etc/rc.firewall projects/arm64/etc/rc.subr projects/arm64/games/factor/factor.6 projects/arm64/games/factor/factor.c projects/arm64/games/primes/Makefile projects/arm64/games/primes/primes.c projects/arm64/games/primes/primes.h projects/arm64/gnu/lib/csu/Makefile projects/arm64/gnu/lib/libdialog/Makefile projects/arm64/gnu/lib/libgcc/Makefile projects/arm64/gnu/lib/libgcov/Makefile projects/arm64/gnu/lib/libstdc++/Makefile projects/arm64/gnu/lib/libsupc++/Makefile projects/arm64/gnu/usr.bin/Makefile projects/arm64/gnu/usr.bin/cc/Makefile.inc projects/arm64/gnu/usr.bin/cc/cc_tools/Makefile projects/arm64/gnu/usr.bin/diff/Makefile projects/arm64/gnu/usr.bin/gdb/kgdb/kgdb.h projects/arm64/gnu/usr.bin/gdb/kgdb/trgt_i386.c projects/arm64/include/Makefile projects/arm64/include/rpcsvc/nis.x projects/arm64/include/semaphore.h projects/arm64/include/strings.h projects/arm64/include/unistd.h projects/arm64/kerberos5/lib/libasn1/Makefile projects/arm64/lib/Makefile projects/arm64/lib/atf/Makefile.inc projects/arm64/lib/atf/common.mk projects/arm64/lib/atf/libatf-c++/Makefile projects/arm64/lib/atf/libatf-c++/tests/Makefile projects/arm64/lib/atf/libatf-c++/tests/detail/Makefile projects/arm64/lib/atf/libatf-c/Makefile projects/arm64/lib/atf/libatf-c/tests/Makefile projects/arm64/lib/atf/libatf-c/tests/detail/Makefile projects/arm64/lib/clang/clang.build.mk projects/arm64/lib/libarchive/Makefile projects/arm64/lib/libc++/Makefile projects/arm64/lib/libc/Makefile projects/arm64/lib/libc/arm/Makefile.inc projects/arm64/lib/libc/arm/aeabi/Makefile.inc projects/arm64/lib/libc/arm/aeabi/Symbol.map projects/arm64/lib/libc/arm/aeabi/aeabi_double.c projects/arm64/lib/libc/arm/aeabi/aeabi_float.c projects/arm64/lib/libc/arm/aeabi/aeabi_vfp_double.S projects/arm64/lib/libc/arm/aeabi/aeabi_vfp_float.S projects/arm64/lib/libc/arm/gen/Makefile.inc projects/arm64/lib/libc/gen/dl_iterate_phdr.3 projects/arm64/lib/libc/gen/getgrouplist.3 projects/arm64/lib/libc/gen/initgroups.3 projects/arm64/lib/libc/gen/nlist.c projects/arm64/lib/libc/gen/sem_destroy.3 projects/arm64/lib/libc/gen/sem_getvalue.3 projects/arm64/lib/libc/gen/sem_init.3 projects/arm64/lib/libc/gen/sem_new.c projects/arm64/lib/libc/gen/sem_open.3 projects/arm64/lib/libc/gen/sem_post.3 projects/arm64/lib/libc/gen/sem_timedwait.3 projects/arm64/lib/libc/gen/sem_wait.3 projects/arm64/lib/libc/net/getaddrinfo.c projects/arm64/lib/libc/net/getnameinfo.c projects/arm64/lib/libc/net/nsdispatch.c projects/arm64/lib/libc/posix1e/acl.3 projects/arm64/lib/libc/posix1e/acl_add_flag_np.3 projects/arm64/lib/libc/posix1e/acl_clear_flags_np.3 projects/arm64/lib/libc/posix1e/acl_delete_flag_np.3 projects/arm64/lib/libc/posix1e/acl_get_flag_np.3 projects/arm64/lib/libc/posix1e/acl_get_flagset_np.3 projects/arm64/lib/libc/posix1e/acl_set_entry_type_np.3 projects/arm64/lib/libc/posix1e/acl_set_flagset_np.3 projects/arm64/lib/libc/powerpc/gen/_ctx_start.S projects/arm64/lib/libc/powerpc/gen/_setjmp.S projects/arm64/lib/libc/powerpc/gen/eabi.S projects/arm64/lib/libc/powerpc/gen/fabs.S projects/arm64/lib/libc/powerpc/gen/setjmp.S projects/arm64/lib/libc/powerpc/gen/sigsetjmp.S projects/arm64/lib/libc/powerpc/sys/brk.S projects/arm64/lib/libc/powerpc/sys/exect.S projects/arm64/lib/libc/powerpc/sys/pipe.S projects/arm64/lib/libc/powerpc/sys/ptrace.S projects/arm64/lib/libc/powerpc/sys/sbrk.S projects/arm64/lib/libc/powerpc64/gen/_ctx_start.S projects/arm64/lib/libc/powerpc64/gen/_setjmp.S projects/arm64/lib/libc/powerpc64/gen/fabs.S projects/arm64/lib/libc/powerpc64/gen/setjmp.S projects/arm64/lib/libc/powerpc64/gen/sigsetjmp.S projects/arm64/lib/libc/powerpc64/sys/brk.S projects/arm64/lib/libc/powerpc64/sys/exect.S projects/arm64/lib/libc/powerpc64/sys/pipe.S projects/arm64/lib/libc/powerpc64/sys/ptrace.S projects/arm64/lib/libc/powerpc64/sys/sbrk.S projects/arm64/lib/libc/quad/Makefile.inc projects/arm64/lib/libc/rpc/clnt_vc.c projects/arm64/lib/libc/stdio/open_memstream.3 projects/arm64/lib/libc/stdlib/lsearch.c projects/arm64/lib/libc/stdtime/strptime.3 projects/arm64/lib/libc/stdtime/strptime.c projects/arm64/lib/libc/string/Makefile.inc projects/arm64/lib/libc/string/Symbol.map projects/arm64/lib/libc/string/bzero.3 projects/arm64/lib/libc/sys/accept.2 projects/arm64/lib/libc/sys/access.2 projects/arm64/lib/libc/sys/connect.2 projects/arm64/lib/libc/sys/kqueue.2 projects/arm64/lib/libc/sys/mmap.2 projects/arm64/lib/libc/sys/mq_open.2 projects/arm64/lib/libc/sys/recv.2 projects/arm64/lib/libc/sys/utrace.2 projects/arm64/lib/libcompiler_rt/Makefile projects/arm64/lib/libcrypt/crypt.c projects/arm64/lib/libcuse/cuse_lib.c projects/arm64/lib/libcxxrt/Version.map projects/arm64/lib/libfetch/common.c projects/arm64/lib/libfetch/fetch.3 projects/arm64/lib/libgeom/geom_stats.c projects/arm64/lib/libkvm/kvm_arm.c projects/arm64/lib/libkvm/kvm_proc.c projects/arm64/lib/libnetbsd/sys/cdefs.h projects/arm64/lib/libnv/Makefile projects/arm64/lib/libnv/msgio.c projects/arm64/lib/libnv/nv.3 projects/arm64/lib/libnv/nv.h projects/arm64/lib/libnv/nv_impl.h projects/arm64/lib/libnv/nvlist.c projects/arm64/lib/libnv/nvlist_impl.h projects/arm64/lib/libnv/nvpair.c projects/arm64/lib/libnv/nvpair_impl.h projects/arm64/lib/libpam/libpam/Makefile projects/arm64/lib/libpam/modules/pam_login_access/pam_login_access.c projects/arm64/lib/libpcap/Makefile projects/arm64/lib/libpcap/config.h projects/arm64/lib/libproc/Makefile projects/arm64/lib/libproc/libproc.h projects/arm64/lib/libproc/proc_sym.c projects/arm64/lib/librtld_db/rtld_db.c projects/arm64/lib/libstand/Makefile projects/arm64/lib/libthr/libthr.3 projects/arm64/lib/libthr/thread/thr_init.c projects/arm64/lib/libunbound/Makefile projects/arm64/lib/libusb/Makefile projects/arm64/lib/libutil/gr_util.c projects/arm64/lib/libutil/login_class.c projects/arm64/lib/libz/Makefile projects/arm64/lib/msun/Makefile projects/arm64/lib/msun/Symbol.map projects/arm64/lib/msun/man/lgamma.3 projects/arm64/lib/msun/src/e_lgamma.c projects/arm64/lib/msun/src/e_lgamma_r.c projects/arm64/lib/msun/src/e_lgammaf_r.c projects/arm64/lib/msun/src/imprecise.c projects/arm64/lib/msun/src/math.h projects/arm64/libexec/Makefile projects/arm64/libexec/atf/atf-check/Makefile projects/arm64/libexec/atf/atf-sh/Makefile projects/arm64/libexec/atf/atf-sh/tests/Makefile projects/arm64/libexec/rtld-elf/Makefile projects/arm64/libexec/rtld-elf/rtld.c projects/arm64/libexec/save-entropy/save-entropy.sh projects/arm64/libexec/telnetd/Makefile projects/arm64/release/Makefile projects/arm64/release/arm/BEAGLEBONE.conf projects/arm64/release/arm/PANDABOARD.conf projects/arm64/release/arm/RPI-B.conf projects/arm64/release/arm/WANDBOARD-QUAD.conf projects/arm64/release/arm/ZEDBOARD.conf projects/arm64/release/arm/release.sh projects/arm64/release/doc/en_US.ISO8859-1/hardware/article.xml projects/arm64/release/doc/en_US.ISO8859-1/share/xml/release.xsl projects/arm64/release/doc/share/mk/doc.relnotes.mk projects/arm64/release/doc/share/xml/release.ent projects/arm64/release/doc/share/xml/release.xsl projects/arm64/release/picobsd/bridge/PICOBSD projects/arm64/release/picobsd/qemu/PICOBSD projects/arm64/release/picobsd/tinyware/simple_httpd/simple_httpd.c projects/arm64/release/rc.local projects/arm64/release/release.conf.sample projects/arm64/release/release.sh projects/arm64/release/scripts/pkg-stage.sh projects/arm64/rescue/rescue/Makefile projects/arm64/sbin/camcontrol/camcontrol.c projects/arm64/sbin/dhclient/packet.c projects/arm64/sbin/dump/traverse.c projects/arm64/sbin/dumpon/dumpon.8 projects/arm64/sbin/fdisk_pc98/Makefile projects/arm64/sbin/fsck_msdosfs/boot.c projects/arm64/sbin/fsck_msdosfs/dosfs.h projects/arm64/sbin/fsirand/Makefile projects/arm64/sbin/gbde/gbde.8 projects/arm64/sbin/gbde/gbde.c projects/arm64/sbin/ifconfig/Makefile projects/arm64/sbin/ifconfig/af_inet6.c projects/arm64/sbin/ifconfig/ifconfig.8 projects/arm64/sbin/ifconfig/ifconfig.h projects/arm64/sbin/ifconfig/ifgre.c projects/arm64/sbin/ifconfig/iflagg.c projects/arm64/sbin/ifconfig/sfp.c projects/arm64/sbin/ipfw/Makefile projects/arm64/sbin/ipfw/ipfw.8 projects/arm64/sbin/ipfw/ipfw2.c projects/arm64/sbin/ipfw/ipfw2.h projects/arm64/sbin/ipfw/main.c projects/arm64/sbin/ipfw/nat.c projects/arm64/sbin/iscontrol/iscontrol.8 projects/arm64/sbin/mount_nfs/Makefile projects/arm64/sbin/mount_nfs/mount_nfs.8 projects/arm64/sbin/mount_nfs/mount_nfs.c projects/arm64/sbin/ping/Makefile projects/arm64/sbin/ping/ping.c projects/arm64/sbin/ping6/Makefile projects/arm64/sbin/ping6/ping6.8 projects/arm64/sbin/ping6/ping6.c projects/arm64/sbin/route/keywords projects/arm64/sbin/route/route.8 projects/arm64/sbin/route/route.c projects/arm64/sbin/routed/defs.h projects/arm64/sbin/routed/input.c projects/arm64/sbin/routed/main.c projects/arm64/sbin/routed/output.c projects/arm64/sbin/routed/routed.8 projects/arm64/sbin/savecore/savecore.c projects/arm64/sbin/swapon/swapon.c projects/arm64/sbin/sysctl/sysctl.c projects/arm64/secure/lib/libcrypto/Makefile.inc projects/arm64/secure/lib/libcrypto/Makefile.man projects/arm64/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 projects/arm64/secure/lib/libcrypto/man/ASN1_STRING_length.3 projects/arm64/secure/lib/libcrypto/man/ASN1_STRING_new.3 projects/arm64/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 projects/arm64/secure/lib/libcrypto/man/ASN1_generate_nconf.3 projects/arm64/secure/lib/libcrypto/man/BIO_ctrl.3 projects/arm64/secure/lib/libcrypto/man/BIO_f_base64.3 projects/arm64/secure/lib/libcrypto/man/BIO_f_buffer.3 projects/arm64/secure/lib/libcrypto/man/BIO_f_cipher.3 projects/arm64/secure/lib/libcrypto/man/BIO_f_md.3 projects/arm64/secure/lib/libcrypto/man/BIO_f_null.3 projects/arm64/secure/lib/libcrypto/man/BIO_f_ssl.3 projects/arm64/secure/lib/libcrypto/man/BIO_find_type.3 projects/arm64/secure/lib/libcrypto/man/BIO_new.3 projects/arm64/secure/lib/libcrypto/man/BIO_new_CMS.3 projects/arm64/secure/lib/libcrypto/man/BIO_push.3 projects/arm64/secure/lib/libcrypto/man/BIO_read.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_accept.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_bio.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_connect.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_fd.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_file.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_mem.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_null.3 projects/arm64/secure/lib/libcrypto/man/BIO_s_socket.3 projects/arm64/secure/lib/libcrypto/man/BIO_set_callback.3 projects/arm64/secure/lib/libcrypto/man/BIO_should_retry.3 projects/arm64/secure/lib/libcrypto/man/BN_BLINDING_new.3 projects/arm64/secure/lib/libcrypto/man/BN_CTX_new.3 projects/arm64/secure/lib/libcrypto/man/BN_CTX_start.3 projects/arm64/secure/lib/libcrypto/man/BN_add.3 projects/arm64/secure/lib/libcrypto/man/BN_add_word.3 projects/arm64/secure/lib/libcrypto/man/BN_bn2bin.3 projects/arm64/secure/lib/libcrypto/man/BN_cmp.3 projects/arm64/secure/lib/libcrypto/man/BN_copy.3 projects/arm64/secure/lib/libcrypto/man/BN_generate_prime.3 projects/arm64/secure/lib/libcrypto/man/BN_mod_inverse.3 projects/arm64/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 projects/arm64/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 projects/arm64/secure/lib/libcrypto/man/BN_new.3 projects/arm64/secure/lib/libcrypto/man/BN_num_bytes.3 projects/arm64/secure/lib/libcrypto/man/BN_rand.3 projects/arm64/secure/lib/libcrypto/man/BN_set_bit.3 projects/arm64/secure/lib/libcrypto/man/BN_swap.3 projects/arm64/secure/lib/libcrypto/man/BN_zero.3 projects/arm64/secure/lib/libcrypto/man/CMS_add0_cert.3 projects/arm64/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 projects/arm64/secure/lib/libcrypto/man/CMS_compress.3 projects/arm64/secure/lib/libcrypto/man/CMS_decrypt.3 projects/arm64/secure/lib/libcrypto/man/CMS_encrypt.3 projects/arm64/secure/lib/libcrypto/man/CMS_final.3 projects/arm64/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 projects/arm64/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 projects/arm64/secure/lib/libcrypto/man/CMS_get0_type.3 projects/arm64/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 projects/arm64/secure/lib/libcrypto/man/CMS_sign.3 projects/arm64/secure/lib/libcrypto/man/CMS_sign_receipt.3 projects/arm64/secure/lib/libcrypto/man/CMS_uncompress.3 projects/arm64/secure/lib/libcrypto/man/CMS_verify.3 projects/arm64/secure/lib/libcrypto/man/CMS_verify_receipt.3 projects/arm64/secure/lib/libcrypto/man/CONF_modules_free.3 projects/arm64/secure/lib/libcrypto/man/CONF_modules_load_file.3 projects/arm64/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 projects/arm64/secure/lib/libcrypto/man/DH_generate_key.3 projects/arm64/secure/lib/libcrypto/man/DH_generate_parameters.3 projects/arm64/secure/lib/libcrypto/man/DH_get_ex_new_index.3 projects/arm64/secure/lib/libcrypto/man/DH_new.3 projects/arm64/secure/lib/libcrypto/man/DH_set_method.3 projects/arm64/secure/lib/libcrypto/man/DH_size.3 projects/arm64/secure/lib/libcrypto/man/DSA_SIG_new.3 projects/arm64/secure/lib/libcrypto/man/DSA_do_sign.3 projects/arm64/secure/lib/libcrypto/man/DSA_dup_DH.3 projects/arm64/secure/lib/libcrypto/man/DSA_generate_key.3 projects/arm64/secure/lib/libcrypto/man/DSA_generate_parameters.3 projects/arm64/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 projects/arm64/secure/lib/libcrypto/man/DSA_new.3 projects/arm64/secure/lib/libcrypto/man/DSA_set_method.3 projects/arm64/secure/lib/libcrypto/man/DSA_sign.3 projects/arm64/secure/lib/libcrypto/man/DSA_size.3 projects/arm64/secure/lib/libcrypto/man/ERR_GET_LIB.3 projects/arm64/secure/lib/libcrypto/man/ERR_clear_error.3 projects/arm64/secure/lib/libcrypto/man/ERR_error_string.3 projects/arm64/secure/lib/libcrypto/man/ERR_get_error.3 projects/arm64/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 projects/arm64/secure/lib/libcrypto/man/ERR_load_strings.3 projects/arm64/secure/lib/libcrypto/man/ERR_print_errors.3 projects/arm64/secure/lib/libcrypto/man/ERR_put_error.3 projects/arm64/secure/lib/libcrypto/man/ERR_remove_state.3 projects/arm64/secure/lib/libcrypto/man/ERR_set_mark.3 projects/arm64/secure/lib/libcrypto/man/EVP_BytesToKey.3 projects/arm64/secure/lib/libcrypto/man/EVP_DigestInit.3 projects/arm64/secure/lib/libcrypto/man/EVP_DigestSignInit.3 projects/arm64/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 projects/arm64/secure/lib/libcrypto/man/EVP_EncryptInit.3 projects/arm64/secure/lib/libcrypto/man/EVP_OpenInit.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_derive.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_new.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_sign.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_verify.3 projects/arm64/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 projects/arm64/secure/lib/libcrypto/man/EVP_SealInit.3 projects/arm64/secure/lib/libcrypto/man/EVP_SignInit.3 projects/arm64/secure/lib/libcrypto/man/EVP_VerifyInit.3 projects/arm64/secure/lib/libcrypto/man/OBJ_nid2obj.3 projects/arm64/secure/lib/libcrypto/man/OPENSSL_Applink.3 projects/arm64/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 projects/arm64/secure/lib/libcrypto/man/OPENSSL_config.3 projects/arm64/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 projects/arm64/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 projects/arm64/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 projects/arm64/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 projects/arm64/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 projects/arm64/secure/lib/libcrypto/man/PKCS12_create.3 projects/arm64/secure/lib/libcrypto/man/PKCS12_parse.3 projects/arm64/secure/lib/libcrypto/man/PKCS7_decrypt.3 projects/arm64/secure/lib/libcrypto/man/PKCS7_encrypt.3 projects/arm64/secure/lib/libcrypto/man/PKCS7_sign.3 projects/arm64/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 projects/arm64/secure/lib/libcrypto/man/PKCS7_verify.3 projects/arm64/secure/lib/libcrypto/man/RAND_add.3 projects/arm64/secure/lib/libcrypto/man/RAND_bytes.3 projects/arm64/secure/lib/libcrypto/man/RAND_cleanup.3 projects/arm64/secure/lib/libcrypto/man/RAND_egd.3 projects/arm64/secure/lib/libcrypto/man/RAND_load_file.3 projects/arm64/secure/lib/libcrypto/man/RAND_set_rand_method.3 projects/arm64/secure/lib/libcrypto/man/RSA_blinding_on.3 projects/arm64/secure/lib/libcrypto/man/RSA_check_key.3 projects/arm64/secure/lib/libcrypto/man/RSA_generate_key.3 projects/arm64/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 projects/arm64/secure/lib/libcrypto/man/RSA_new.3 projects/arm64/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 projects/arm64/secure/lib/libcrypto/man/RSA_print.3 projects/arm64/secure/lib/libcrypto/man/RSA_private_encrypt.3 projects/arm64/secure/lib/libcrypto/man/RSA_public_encrypt.3 projects/arm64/secure/lib/libcrypto/man/RSA_set_method.3 projects/arm64/secure/lib/libcrypto/man/RSA_sign.3 projects/arm64/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 projects/arm64/secure/lib/libcrypto/man/RSA_size.3 projects/arm64/secure/lib/libcrypto/man/SMIME_read_CMS.3 projects/arm64/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 projects/arm64/secure/lib/libcrypto/man/SMIME_write_CMS.3 projects/arm64/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 projects/arm64/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 projects/arm64/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 projects/arm64/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 projects/arm64/secure/lib/libcrypto/man/X509_NAME_print_ex.3 projects/arm64/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 projects/arm64/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 projects/arm64/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 projects/arm64/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 projects/arm64/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 projects/arm64/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 projects/arm64/secure/lib/libcrypto/man/X509_new.3 projects/arm64/secure/lib/libcrypto/man/X509_verify_cert.3 projects/arm64/secure/lib/libcrypto/man/bio.3 projects/arm64/secure/lib/libcrypto/man/blowfish.3 projects/arm64/secure/lib/libcrypto/man/bn.3 projects/arm64/secure/lib/libcrypto/man/bn_internal.3 projects/arm64/secure/lib/libcrypto/man/buffer.3 projects/arm64/secure/lib/libcrypto/man/crypto.3 projects/arm64/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 projects/arm64/secure/lib/libcrypto/man/d2i_DHparams.3 projects/arm64/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 projects/arm64/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 projects/arm64/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 projects/arm64/secure/lib/libcrypto/man/d2i_X509.3 projects/arm64/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 projects/arm64/secure/lib/libcrypto/man/d2i_X509_CRL.3 projects/arm64/secure/lib/libcrypto/man/d2i_X509_NAME.3 projects/arm64/secure/lib/libcrypto/man/d2i_X509_REQ.3 projects/arm64/secure/lib/libcrypto/man/d2i_X509_SIG.3 projects/arm64/secure/lib/libcrypto/man/des.3 projects/arm64/secure/lib/libcrypto/man/dh.3 projects/arm64/secure/lib/libcrypto/man/dsa.3 projects/arm64/secure/lib/libcrypto/man/ecdsa.3 projects/arm64/secure/lib/libcrypto/man/engine.3 projects/arm64/secure/lib/libcrypto/man/err.3 projects/arm64/secure/lib/libcrypto/man/evp.3 projects/arm64/secure/lib/libcrypto/man/hmac.3 projects/arm64/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 projects/arm64/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 projects/arm64/secure/lib/libcrypto/man/lh_stats.3 projects/arm64/secure/lib/libcrypto/man/lhash.3 projects/arm64/secure/lib/libcrypto/man/md5.3 projects/arm64/secure/lib/libcrypto/man/mdc2.3 projects/arm64/secure/lib/libcrypto/man/pem.3 projects/arm64/secure/lib/libcrypto/man/rand.3 projects/arm64/secure/lib/libcrypto/man/rc4.3 projects/arm64/secure/lib/libcrypto/man/ripemd.3 projects/arm64/secure/lib/libcrypto/man/rsa.3 projects/arm64/secure/lib/libcrypto/man/sha.3 projects/arm64/secure/lib/libcrypto/man/threads.3 projects/arm64/secure/lib/libcrypto/man/ui.3 projects/arm64/secure/lib/libcrypto/man/ui_compat.3 projects/arm64/secure/lib/libcrypto/man/x509.3 projects/arm64/secure/lib/libssl/man/SSL_CIPHER_get_name.3 projects/arm64/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_add_session.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_ctrl.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_free.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_new.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_sess_number.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_sessions.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_mode.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_options.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_timeout.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_set_verify.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_use_certificate.3 projects/arm64/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 projects/arm64/secure/lib/libssl/man/SSL_SESSION_free.3 projects/arm64/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 projects/arm64/secure/lib/libssl/man/SSL_SESSION_get_time.3 projects/arm64/secure/lib/libssl/man/SSL_accept.3 projects/arm64/secure/lib/libssl/man/SSL_alert_type_string.3 projects/arm64/secure/lib/libssl/man/SSL_clear.3 projects/arm64/secure/lib/libssl/man/SSL_connect.3 projects/arm64/secure/lib/libssl/man/SSL_do_handshake.3 projects/arm64/secure/lib/libssl/man/SSL_free.3 projects/arm64/secure/lib/libssl/man/SSL_get_SSL_CTX.3 projects/arm64/secure/lib/libssl/man/SSL_get_ciphers.3 projects/arm64/secure/lib/libssl/man/SSL_get_client_CA_list.3 projects/arm64/secure/lib/libssl/man/SSL_get_current_cipher.3 projects/arm64/secure/lib/libssl/man/SSL_get_default_timeout.3 projects/arm64/secure/lib/libssl/man/SSL_get_error.3 projects/arm64/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 projects/arm64/secure/lib/libssl/man/SSL_get_ex_new_index.3 projects/arm64/secure/lib/libssl/man/SSL_get_fd.3 projects/arm64/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 projects/arm64/secure/lib/libssl/man/SSL_get_peer_certificate.3 projects/arm64/secure/lib/libssl/man/SSL_get_psk_identity.3 projects/arm64/secure/lib/libssl/man/SSL_get_rbio.3 projects/arm64/secure/lib/libssl/man/SSL_get_session.3 projects/arm64/secure/lib/libssl/man/SSL_get_verify_result.3 projects/arm64/secure/lib/libssl/man/SSL_get_version.3 projects/arm64/secure/lib/libssl/man/SSL_library_init.3 projects/arm64/secure/lib/libssl/man/SSL_load_client_CA_file.3 projects/arm64/secure/lib/libssl/man/SSL_new.3 projects/arm64/secure/lib/libssl/man/SSL_pending.3 projects/arm64/secure/lib/libssl/man/SSL_read.3 projects/arm64/secure/lib/libssl/man/SSL_rstate_string.3 projects/arm64/secure/lib/libssl/man/SSL_session_reused.3 projects/arm64/secure/lib/libssl/man/SSL_set_bio.3 projects/arm64/secure/lib/libssl/man/SSL_set_connect_state.3 projects/arm64/secure/lib/libssl/man/SSL_set_fd.3 projects/arm64/secure/lib/libssl/man/SSL_set_session.3 projects/arm64/secure/lib/libssl/man/SSL_set_shutdown.3 projects/arm64/secure/lib/libssl/man/SSL_set_verify_result.3 projects/arm64/secure/lib/libssl/man/SSL_shutdown.3 projects/arm64/secure/lib/libssl/man/SSL_state_string.3 projects/arm64/secure/lib/libssl/man/SSL_want.3 projects/arm64/secure/lib/libssl/man/SSL_write.3 projects/arm64/secure/lib/libssl/man/d2i_SSL_SESSION.3 projects/arm64/secure/lib/libssl/man/ssl.3 projects/arm64/secure/usr.bin/openssl/Makefile.man projects/arm64/secure/usr.bin/openssl/man/CA.pl.1 projects/arm64/secure/usr.bin/openssl/man/asn1parse.1 projects/arm64/secure/usr.bin/openssl/man/ca.1 projects/arm64/secure/usr.bin/openssl/man/ciphers.1 projects/arm64/secure/usr.bin/openssl/man/cms.1 projects/arm64/secure/usr.bin/openssl/man/crl.1 projects/arm64/secure/usr.bin/openssl/man/crl2pkcs7.1 projects/arm64/secure/usr.bin/openssl/man/dgst.1 projects/arm64/secure/usr.bin/openssl/man/dhparam.1 projects/arm64/secure/usr.bin/openssl/man/dsa.1 projects/arm64/secure/usr.bin/openssl/man/dsaparam.1 projects/arm64/secure/usr.bin/openssl/man/ec.1 projects/arm64/secure/usr.bin/openssl/man/ecparam.1 projects/arm64/secure/usr.bin/openssl/man/enc.1 projects/arm64/secure/usr.bin/openssl/man/errstr.1 projects/arm64/secure/usr.bin/openssl/man/gendsa.1 projects/arm64/secure/usr.bin/openssl/man/genpkey.1 projects/arm64/secure/usr.bin/openssl/man/genrsa.1 projects/arm64/secure/usr.bin/openssl/man/nseq.1 projects/arm64/secure/usr.bin/openssl/man/ocsp.1 projects/arm64/secure/usr.bin/openssl/man/openssl.1 projects/arm64/secure/usr.bin/openssl/man/passwd.1 projects/arm64/secure/usr.bin/openssl/man/pkcs12.1 projects/arm64/secure/usr.bin/openssl/man/pkcs7.1 projects/arm64/secure/usr.bin/openssl/man/pkcs8.1 projects/arm64/secure/usr.bin/openssl/man/pkey.1 projects/arm64/secure/usr.bin/openssl/man/pkeyparam.1 projects/arm64/secure/usr.bin/openssl/man/pkeyutl.1 projects/arm64/secure/usr.bin/openssl/man/rand.1 projects/arm64/secure/usr.bin/openssl/man/req.1 projects/arm64/secure/usr.bin/openssl/man/rsa.1 projects/arm64/secure/usr.bin/openssl/man/rsautl.1 projects/arm64/secure/usr.bin/openssl/man/s_client.1 projects/arm64/secure/usr.bin/openssl/man/s_server.1 projects/arm64/secure/usr.bin/openssl/man/s_time.1 projects/arm64/secure/usr.bin/openssl/man/sess_id.1 projects/arm64/secure/usr.bin/openssl/man/smime.1 projects/arm64/secure/usr.bin/openssl/man/speed.1 projects/arm64/secure/usr.bin/openssl/man/spkac.1 projects/arm64/secure/usr.bin/openssl/man/ts.1 projects/arm64/secure/usr.bin/openssl/man/tsget.1 projects/arm64/secure/usr.bin/openssl/man/verify.1 projects/arm64/secure/usr.bin/openssl/man/version.1 projects/arm64/secure/usr.bin/openssl/man/x509.1 projects/arm64/secure/usr.bin/openssl/man/x509v3_config.1 projects/arm64/share/doc/Makefile projects/arm64/share/examples/bhyve/vmrun.sh projects/arm64/share/examples/kld/random_adaptor/random_adaptor_example.c (contents, props changed) projects/arm64/share/man/man3/pthread_cleanup_pop.3 projects/arm64/share/man/man3/pthread_cleanup_push.3 projects/arm64/share/man/man4/Makefile projects/arm64/share/man/man4/ada.4 projects/arm64/share/man/man4/alc.4 projects/arm64/share/man/man4/cdce.4 projects/arm64/share/man/man4/ctl.4 projects/arm64/share/man/man4/cxgbe.4 projects/arm64/share/man/man4/da.4 projects/arm64/share/man/man4/gif.4 projects/arm64/share/man/man4/gre.4 projects/arm64/share/man/man4/icmp.4 projects/arm64/share/man/man4/igb.4 projects/arm64/share/man/man4/inet.4 projects/arm64/share/man/man4/inet6.4 projects/arm64/share/man/man4/ip6.4 projects/arm64/share/man/man4/iscsi_initiator.4 projects/arm64/share/man/man4/lagg.4 projects/arm64/share/man/man4/malo.4 projects/arm64/share/man/man4/man4.arm/Makefile projects/arm64/share/man/man4/miibus.4 projects/arm64/share/man/man4/sfxge.4 projects/arm64/share/man/man4/tap.4 projects/arm64/share/man/man4/tcp.4 projects/arm64/share/man/man4/ucom.4 projects/arm64/share/man/man4/udplite.4 projects/arm64/share/man/man4/uled.4 projects/arm64/share/man/man4/urndis.4 projects/arm64/share/man/man4/urtwn.4 projects/arm64/share/man/man4/virtio.4 projects/arm64/share/man/man4/vt.4 projects/arm64/share/man/man5/rc.conf.5 projects/arm64/share/man/man5/src.conf.5 projects/arm64/share/man/man7/Makefile projects/arm64/share/man/man7/hier.7 projects/arm64/share/man/man7/release.7 projects/arm64/share/man/man7/security.7 projects/arm64/share/man/man8/Makefile projects/arm64/share/man/man8/rc.subr.8 projects/arm64/share/man/man9/Makefile projects/arm64/share/man/man9/SDT.9 projects/arm64/share/man/man9/VOP_GETPAGES.9 projects/arm64/share/man/man9/altq.9 projects/arm64/share/man/man9/domain.9 projects/arm64/share/man/man9/fetch.9 projects/arm64/share/man/man9/fpu_kern.9 projects/arm64/share/man/man9/hash.9 projects/arm64/share/man/man9/ifnet.9 projects/arm64/share/man/man9/lock.9 projects/arm64/share/man/man9/mbuf.9 projects/arm64/share/man/man9/sleepqueue.9 projects/arm64/share/man/man9/store.9 projects/arm64/share/man/man9/sysctl.9 projects/arm64/share/man/man9/timeout.9 projects/arm64/share/misc/bsd-family-tree projects/arm64/share/misc/committers-src.dot projects/arm64/share/misc/scsi_modes projects/arm64/share/mk/atf.test.mk projects/arm64/share/mk/bsd.compiler.mk projects/arm64/share/mk/bsd.dep.mk projects/arm64/share/mk/bsd.endian.mk projects/arm64/share/mk/bsd.libnames.mk projects/arm64/share/mk/bsd.mkopt.mk projects/arm64/share/mk/bsd.obj.mk projects/arm64/share/mk/bsd.port.mk projects/arm64/share/mk/bsd.port.subdir.mk projects/arm64/share/mk/bsd.progs.mk projects/arm64/share/mk/bsd.test.mk projects/arm64/share/mk/plain.test.mk projects/arm64/share/mk/src.libnames.mk projects/arm64/share/mk/src.opts.mk projects/arm64/share/mk/sys.mk projects/arm64/share/mk/tap.test.mk projects/arm64/share/vt/keymaps/Makefile projects/arm64/sys/Makefile projects/arm64/sys/amd64/amd64/cpu_switch.S projects/arm64/sys/amd64/amd64/fpu.c projects/arm64/sys/amd64/amd64/genassym.c projects/arm64/sys/amd64/amd64/machdep.c projects/arm64/sys/amd64/amd64/minidump_machdep.c projects/arm64/sys/amd64/amd64/mp_machdep.c projects/arm64/sys/amd64/amd64/pmap.c projects/arm64/sys/amd64/amd64/support.S projects/arm64/sys/amd64/amd64/sys_machdep.c projects/arm64/sys/amd64/amd64/trap.c projects/arm64/sys/amd64/amd64/uio_machdep.c projects/arm64/sys/amd64/amd64/vm_machdep.c projects/arm64/sys/amd64/conf/GENERIC projects/arm64/sys/amd64/conf/NOTES projects/arm64/sys/amd64/ia32/ia32_syscall.c projects/arm64/sys/amd64/include/fpu.h projects/arm64/sys/amd64/include/md_var.h projects/arm64/sys/amd64/include/pcb.h projects/arm64/sys/amd64/include/pmap.h projects/arm64/sys/amd64/include/vmm.h (contents, props changed) projects/arm64/sys/amd64/include/vmm_instruction_emul.h (contents, props changed) projects/arm64/sys/amd64/include/vmparam.h projects/arm64/sys/amd64/include/xen/hypercall.h projects/arm64/sys/amd64/linux32/linux.h projects/arm64/sys/amd64/linux32/linux32_dummy.c projects/arm64/sys/amd64/linux32/linux32_proto.h projects/arm64/sys/amd64/linux32/linux32_syscall.h projects/arm64/sys/amd64/linux32/linux32_syscalls.c projects/arm64/sys/amd64/linux32/linux32_sysent.c projects/arm64/sys/amd64/linux32/linux32_systrace_args.c projects/arm64/sys/amd64/linux32/syscalls.master projects/arm64/sys/amd64/vmm/amd/amdv.c projects/arm64/sys/amd64/vmm/intel/ept.c projects/arm64/sys/amd64/vmm/intel/vmcs.h projects/arm64/sys/amd64/vmm/intel/vmx.c projects/arm64/sys/amd64/vmm/intel/vmx.h projects/arm64/sys/amd64/vmm/intel/vmx_msr.c projects/arm64/sys/amd64/vmm/intel/vmx_msr.h projects/arm64/sys/amd64/vmm/intel/vmx_support.S projects/arm64/sys/amd64/vmm/io/vatpic.c projects/arm64/sys/amd64/vmm/io/vatpic.h projects/arm64/sys/amd64/vmm/io/vatpit.c projects/arm64/sys/amd64/vmm/io/vatpit.h projects/arm64/sys/amd64/vmm/io/vlapic.c projects/arm64/sys/amd64/vmm/vmm.c projects/arm64/sys/amd64/vmm/vmm_instruction_emul.c projects/arm64/sys/amd64/vmm/vmm_ioport.c projects/arm64/sys/amd64/vmm/vmm_ioport.h projects/arm64/sys/amd64/vmm/x86.c projects/arm64/sys/arm/allwinner/a10_clk.c projects/arm64/sys/arm/allwinner/a10_gpio.c projects/arm64/sys/arm/allwinner/if_emac.c projects/arm64/sys/arm/allwinner/timer.c projects/arm64/sys/arm/altera/socfpga/files.socfpga projects/arm64/sys/arm/altera/socfpga/socfpga_common.c projects/arm64/sys/arm/altera/socfpga/socfpga_machdep.c projects/arm64/sys/arm/arm/busdma_machdep-v6.c projects/arm64/sys/arm/arm/busdma_machdep.c projects/arm64/sys/arm/arm/cpufunc_asm_armv7.S projects/arm64/sys/arm/arm/cpufunc_asm_sheeva.S projects/arm64/sys/arm/arm/cpufunc_asm_xscale.S projects/arm64/sys/arm/arm/cpufunc_asm_xscale_c3.S projects/arm64/sys/arm/arm/db_trace.c projects/arm64/sys/arm/arm/dump_machdep.c projects/arm64/sys/arm/arm/exception.S projects/arm64/sys/arm/arm/fiq.c projects/arm64/sys/arm/arm/generic_timer.c projects/arm64/sys/arm/arm/gic.c projects/arm64/sys/arm/arm/locore.S projects/arm64/sys/arm/arm/machdep.c projects/arm64/sys/arm/arm/minidump_machdep.c projects/arm64/sys/arm/arm/mp_machdep.c projects/arm64/sys/arm/arm/mpcore_timer.c projects/arm64/sys/arm/arm/nexus.c projects/arm64/sys/arm/arm/physmem.c projects/arm64/sys/arm/arm/pl310.c projects/arm64/sys/arm/arm/pmap-v6.c projects/arm64/sys/arm/arm/pmap.c projects/arm64/sys/arm/arm/trap.c projects/arm64/sys/arm/arm/undefined.c projects/arm64/sys/arm/arm/vm_machdep.c projects/arm64/sys/arm/at91/at91.c projects/arm64/sys/arm/at91/at91_aic.c projects/arm64/sys/arm/at91/at91_pinctrl.c projects/arm64/sys/arm/at91/at91rm9200.c projects/arm64/sys/arm/at91/at91rm92reg.h projects/arm64/sys/arm/at91/at91sam9260reg.h projects/arm64/sys/arm/at91/at91sam9g20reg.h projects/arm64/sys/arm/at91/at91sam9g45reg.h projects/arm64/sys/arm/at91/at91sam9x5reg.h projects/arm64/sys/arm/at91/files.at91 projects/arm64/sys/arm/at91/if_ate.c projects/arm64/sys/arm/at91/if_macb.c projects/arm64/sys/arm/at91/std.atmel projects/arm64/sys/arm/broadcom/bcm2835/bcm2835_bsc.c projects/arm64/sys/arm/broadcom/bcm2835/bcm2835_bscvar.h projects/arm64/sys/arm/broadcom/bcm2835/bcm2835_gpio.c projects/arm64/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c projects/arm64/sys/arm/cavium/cns11xx/econa.c projects/arm64/sys/arm/cavium/cns11xx/if_ece.c projects/arm64/sys/arm/conf/ATMEL projects/arm64/sys/arm/conf/BEAGLEBONE projects/arm64/sys/arm/conf/DIGI-CCWMX53 projects/arm64/sys/arm/conf/DOCKSTAR projects/arm64/sys/arm/conf/DREAMPLUG-1001 projects/arm64/sys/arm/conf/EFIKA_MX projects/arm64/sys/arm/conf/ETHERNUT5 projects/arm64/sys/arm/conf/EXYNOS5.common projects/arm64/sys/arm/conf/IMX53-QSB projects/arm64/sys/arm/conf/IMX6 projects/arm64/sys/arm/conf/LN2410SBC projects/arm64/sys/arm/conf/NOTES projects/arm64/sys/arm/conf/PANDABOARD projects/arm64/sys/arm/conf/SAM9260EK projects/arm64/sys/arm/conf/SOCKIT projects/arm64/sys/arm/freescale/imx/files.imx51 projects/arm64/sys/arm/freescale/imx/files.imx53 projects/arm64/sys/arm/freescale/imx/files.imx6 projects/arm64/sys/arm/freescale/imx/imx6_anatop.c projects/arm64/sys/arm/freescale/imx/imx6_ccm.c projects/arm64/sys/arm/freescale/imx/imx6_machdep.c projects/arm64/sys/arm/freescale/imx/imx_gpio.c projects/arm64/sys/arm/freescale/imx/imx_gpt.c projects/arm64/sys/arm/freescale/imx/std.imx51 projects/arm64/sys/arm/freescale/imx/std.imx53 projects/arm64/sys/arm/freescale/imx/std.imx6 projects/arm64/sys/arm/freescale/vybrid/vf_gpio.c projects/arm64/sys/arm/include/armreg.h projects/arm64/sys/arm/include/asm.h projects/arm64/sys/arm/include/asmacros.h projects/arm64/sys/arm/include/atomic.h projects/arm64/sys/arm/include/intr.h projects/arm64/sys/arm/include/md_var.h projects/arm64/sys/arm/include/param.h projects/arm64/sys/arm/include/pmap.h projects/arm64/sys/arm/lpc/if_lpe.c projects/arm64/sys/arm/lpc/lpc_gpio.c projects/arm64/sys/arm/rockchip/rk30xx_gpio.c projects/arm64/sys/arm/samsung/exynos/exynos5_machdep.c projects/arm64/sys/arm/samsung/exynos/exynos5_pad.c projects/arm64/sys/arm/samsung/exynos/files.exynos5 projects/arm64/sys/arm/ti/am335x/am335x_scm_padconf.c projects/arm64/sys/arm/ti/am335x/files.am335x projects/arm64/sys/arm/ti/cpsw/if_cpsw.c projects/arm64/sys/arm/ti/files.ti projects/arm64/sys/arm/ti/omap4/files.omap4 projects/arm64/sys/arm/ti/omap4/omap4_scm_padconf.c projects/arm64/sys/arm/ti/ti_cpuid.c projects/arm64/sys/arm/ti/ti_cpuid.h projects/arm64/sys/arm/ti/ti_gpio.c projects/arm64/sys/arm/ti/ti_i2c.c projects/arm64/sys/arm/ti/ti_scm.h projects/arm64/sys/arm/ti/ti_sdhci.c projects/arm64/sys/arm/versatile/files.versatile projects/arm64/sys/arm/xilinx/zy7_gpio.c projects/arm64/sys/arm/xscale/i80321/i80321_intr.h projects/arm64/sys/arm/xscale/i80321/i80321_timer.c projects/arm64/sys/arm/xscale/i80321/iq80321.c projects/arm64/sys/arm/xscale/i8134x/i81342.c projects/arm64/sys/arm/xscale/ixp425/avila_gpio.c projects/arm64/sys/arm/xscale/ixp425/cambria_gpio.c projects/arm64/sys/arm/xscale/ixp425/if_npe.c projects/arm64/sys/arm/xscale/ixp425/ixp425.c projects/arm64/sys/arm/xscale/ixp425/ixp425_pci.c projects/arm64/sys/arm/xscale/ixp425/ixp425_timer.c projects/arm64/sys/arm/xscale/pxa/pxa_icu.c projects/arm64/sys/arm/xscale/pxa/pxa_timer.c projects/arm64/sys/arm64/arm64/support.c projects/arm64/sys/arm64/conf/GENERIC projects/arm64/sys/arm64/include/param.h projects/arm64/sys/boot/Makefile.pc98 projects/arm64/sys/boot/amd64/boot1.efi/boot1.c projects/arm64/sys/boot/amd64/efi/bootinfo.c projects/arm64/sys/boot/amd64/efi/conf.c projects/arm64/sys/boot/arm/ixp425/boot2/Makefile projects/arm64/sys/boot/arm/uboot/Makefile projects/arm64/sys/boot/arm/uboot/help.uboot projects/arm64/sys/boot/common/Makefile.inc projects/arm64/sys/boot/common/disk.c projects/arm64/sys/boot/common/disk.h projects/arm64/sys/boot/common/install.c projects/arm64/sys/boot/common/load_elf.c projects/arm64/sys/boot/common/misc.c projects/arm64/sys/boot/common/part.c projects/arm64/sys/boot/efi/libefi/Makefile projects/arm64/sys/boot/efi/libefi/libefi.c projects/arm64/sys/boot/fdt/Makefile projects/arm64/sys/boot/fdt/dts/arm/am335x.dtsi projects/arm64/sys/boot/fdt/dts/arm/exynos5420-arndale-octa.dts projects/arm64/sys/boot/fdt/dts/arm/exynos5420-peach-pit.dts projects/arm64/sys/boot/fdt/dts/arm/exynos5420.dtsi projects/arm64/sys/boot/fdt/dts/arm/socfpga-sockit.dts projects/arm64/sys/boot/fdt/dts/arm/socfpga.dtsi projects/arm64/sys/boot/fdt/fdt_loader_cmd.c projects/arm64/sys/boot/ficl/loader.c projects/arm64/sys/boot/forth/loader.conf projects/arm64/sys/boot/i386/boot2/Makefile projects/arm64/sys/boot/i386/gptboot/gptboot.c projects/arm64/sys/boot/i386/gptzfsboot/Makefile projects/arm64/sys/boot/i386/libfirewire/fwohcireg.h projects/arm64/sys/boot/i386/libi386/biospci.c projects/arm64/sys/boot/i386/libi386/comconsole.c projects/arm64/sys/boot/i386/libi386/libi386.h projects/arm64/sys/boot/i386/loader/Makefile projects/arm64/sys/boot/i386/loader/conf.c projects/arm64/sys/boot/i386/loader/main.c projects/arm64/sys/boot/i386/zfsboot/Makefile projects/arm64/sys/boot/libstand32/Makefile projects/arm64/sys/boot/pc98/boot2/Makefile projects/arm64/sys/boot/pc98/cdboot/cdboot.S projects/arm64/sys/boot/pc98/libpc98/Makefile projects/arm64/sys/boot/pc98/loader/Makefile projects/arm64/sys/boot/powerpc/ofw/ldscript.powerpc projects/arm64/sys/boot/powerpc/ps3/ldscript.powerpc projects/arm64/sys/boot/powerpc/uboot/Makefile projects/arm64/sys/boot/powerpc/uboot/ldscript.powerpc projects/arm64/sys/boot/uboot/Makefile projects/arm64/sys/boot/uboot/common/main.c projects/arm64/sys/boot/uboot/common/metadata.c projects/arm64/sys/boot/uboot/lib/Makefile projects/arm64/sys/boot/uboot/lib/libuboot.h projects/arm64/sys/boot/uboot/lib/module.c projects/arm64/sys/boot/zfs/zfsimpl.c projects/arm64/sys/cam/ata/ata_da.c projects/arm64/sys/cam/cam_ccb.h projects/arm64/sys/cam/cam_queue.c projects/arm64/sys/cam/cam_queue.h projects/arm64/sys/cam/cam_xpt.c projects/arm64/sys/cam/ctl/ctl.c projects/arm64/sys/cam/ctl/ctl.h projects/arm64/sys/cam/ctl/ctl_backend.h projects/arm64/sys/cam/ctl/ctl_backend_block.c projects/arm64/sys/cam/ctl/ctl_backend_ramdisk.c projects/arm64/sys/cam/ctl/ctl_cmd_table.c projects/arm64/sys/cam/ctl/ctl_debug.h projects/arm64/sys/cam/ctl/ctl_error.c projects/arm64/sys/cam/ctl/ctl_error.h projects/arm64/sys/cam/ctl/ctl_frontend.c projects/arm64/sys/cam/ctl/ctl_frontend_cam_sim.c projects/arm64/sys/cam/ctl/ctl_frontend_iscsi.c projects/arm64/sys/cam/ctl/ctl_frontend_iscsi.h projects/arm64/sys/cam/ctl/ctl_io.h projects/arm64/sys/cam/ctl/ctl_ioctl.h projects/arm64/sys/cam/ctl/ctl_private.h projects/arm64/sys/cam/ctl/ctl_scsi_all.c projects/arm64/sys/cam/ctl/ctl_ser_table.c projects/arm64/sys/cam/ctl/ctl_tpc.c projects/arm64/sys/cam/ctl/ctl_util.c projects/arm64/sys/cam/ctl/ctl_util.h projects/arm64/sys/cam/ctl/scsi_ctl.c projects/arm64/sys/cam/scsi/scsi_all.c projects/arm64/sys/cam/scsi/scsi_all.h projects/arm64/sys/cam/scsi/scsi_da.c projects/arm64/sys/cam/scsi/scsi_da.h projects/arm64/sys/cam/scsi/scsi_sa.c projects/arm64/sys/cam/scsi/scsi_xpt.c projects/arm64/sys/cddl/boot/zfs/lz4.c projects/arm64/sys/cddl/boot/zfs/zfsimpl.h projects/arm64/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c projects/arm64/sys/cddl/compat/opensolaris/kern/opensolaris_lookup.c projects/arm64/sys/cddl/compat/opensolaris/sys/assfail.h projects/arm64/sys/cddl/compat/opensolaris/sys/kmem.h projects/arm64/sys/cddl/compat/opensolaris/sys/sdt.h projects/arm64/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c projects/arm64/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h projects/arm64/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c projects/arm64/sys/cddl/contrib/opensolaris/common/zfs/zpool_prop.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_send.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/arm64/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h projects/arm64/sys/cddl/contrib/opensolaris/uts/common/sys/gfs.h projects/arm64/sys/cddl/dev/dtrace/dtrace_sysctl.c projects/arm64/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c projects/arm64/sys/cddl/dev/fbt/powerpc/fbt_isa.c projects/arm64/sys/compat/freebsd32/freebsd32.h projects/arm64/sys/compat/freebsd32/freebsd32_misc.c projects/arm64/sys/compat/freebsd32/freebsd32_proto.h projects/arm64/sys/compat/freebsd32/freebsd32_syscall.h projects/arm64/sys/compat/freebsd32/freebsd32_syscalls.c projects/arm64/sys/compat/freebsd32/freebsd32_sysent.c projects/arm64/sys/compat/freebsd32/freebsd32_util.h projects/arm64/sys/compat/freebsd32/syscalls.master projects/arm64/sys/compat/linprocfs/linprocfs.c projects/arm64/sys/compat/linux/linux_ioctl.c projects/arm64/sys/compat/linux/linux_mib.c projects/arm64/sys/compat/ndis/kern_ndis.c projects/arm64/sys/conf/Makefile.arm projects/arm64/sys/conf/NOTES projects/arm64/sys/conf/files projects/arm64/sys/conf/files.amd64 projects/arm64/sys/conf/files.arm projects/arm64/sys/conf/files.i386 projects/arm64/sys/conf/files.pc98 projects/arm64/sys/conf/files.powerpc projects/arm64/sys/conf/kern.mk projects/arm64/sys/conf/kern.opts.mk projects/arm64/sys/conf/kern.post.mk projects/arm64/sys/conf/kern.pre.mk projects/arm64/sys/conf/kmod.mk projects/arm64/sys/conf/ldscript.powerpc projects/arm64/sys/conf/ldscript.powerpc64 projects/arm64/sys/conf/newvers.sh projects/arm64/sys/conf/options projects/arm64/sys/conf/options.arm projects/arm64/sys/conf/options.pc98 projects/arm64/sys/contrib/altq/altq/if_altq.h projects/arm64/sys/contrib/dev/acpica/acpica_prep.sh projects/arm64/sys/contrib/dev/acpica/changes.txt (contents, props changed) projects/arm64/sys/contrib/dev/acpica/common/adfile.c projects/arm64/sys/contrib/dev/acpica/common/adisasm.c projects/arm64/sys/contrib/dev/acpica/common/adwalk.c projects/arm64/sys/contrib/dev/acpica/common/ahpredef.c projects/arm64/sys/contrib/dev/acpica/common/dmextern.c projects/arm64/sys/contrib/dev/acpica/common/dmrestag.c projects/arm64/sys/contrib/dev/acpica/common/dmtable.c projects/arm64/sys/contrib/dev/acpica/common/dmtbdump.c projects/arm64/sys/contrib/dev/acpica/common/dmtbinfo.c projects/arm64/sys/contrib/dev/acpica/common/getopt.c projects/arm64/sys/contrib/dev/acpica/compiler/aslanalyze.c projects/arm64/sys/contrib/dev/acpica/compiler/aslbtypes.c projects/arm64/sys/contrib/dev/acpica/compiler/aslcodegen.c projects/arm64/sys/contrib/dev/acpica/compiler/aslcompile.c projects/arm64/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/arm64/sys/contrib/dev/acpica/compiler/aslcompiler.l projects/arm64/sys/contrib/dev/acpica/compiler/asldefine.h projects/arm64/sys/contrib/dev/acpica/compiler/aslerror.c projects/arm64/sys/contrib/dev/acpica/compiler/aslfileio.c projects/arm64/sys/contrib/dev/acpica/compiler/aslfiles.c projects/arm64/sys/contrib/dev/acpica/compiler/aslfold.c projects/arm64/sys/contrib/dev/acpica/compiler/aslglobal.h projects/arm64/sys/contrib/dev/acpica/compiler/aslhex.c projects/arm64/sys/contrib/dev/acpica/compiler/asllength.c projects/arm64/sys/contrib/dev/acpica/compiler/asllisting.c projects/arm64/sys/contrib/dev/acpica/compiler/asllistsup.c projects/arm64/sys/contrib/dev/acpica/compiler/aslload.c projects/arm64/sys/contrib/dev/acpica/compiler/asllookup.c projects/arm64/sys/contrib/dev/acpica/compiler/aslmain.c projects/arm64/sys/contrib/dev/acpica/compiler/aslmap.c projects/arm64/sys/contrib/dev/acpica/compiler/aslmessages.h projects/arm64/sys/contrib/dev/acpica/compiler/aslmethod.c projects/arm64/sys/contrib/dev/acpica/compiler/aslnamesp.c projects/arm64/sys/contrib/dev/acpica/compiler/asloffset.c projects/arm64/sys/contrib/dev/acpica/compiler/aslopcodes.c projects/arm64/sys/contrib/dev/acpica/compiler/asloperands.c projects/arm64/sys/contrib/dev/acpica/compiler/aslopt.c projects/arm64/sys/contrib/dev/acpica/compiler/asloptions.c projects/arm64/sys/contrib/dev/acpica/compiler/aslpredef.c projects/arm64/sys/contrib/dev/acpica/compiler/aslprepkg.c projects/arm64/sys/contrib/dev/acpica/compiler/aslresource.c projects/arm64/sys/contrib/dev/acpica/compiler/aslrestype1.c projects/arm64/sys/contrib/dev/acpica/compiler/aslrestype1i.c projects/arm64/sys/contrib/dev/acpica/compiler/aslrestype2.c projects/arm64/sys/contrib/dev/acpica/compiler/aslrestype2d.c projects/arm64/sys/contrib/dev/acpica/compiler/aslrestype2e.c projects/arm64/sys/contrib/dev/acpica/compiler/aslrestype2q.c projects/arm64/sys/contrib/dev/acpica/compiler/aslrestype2s.c projects/arm64/sys/contrib/dev/acpica/compiler/aslrestype2w.c projects/arm64/sys/contrib/dev/acpica/compiler/aslstartup.c projects/arm64/sys/contrib/dev/acpica/compiler/aslstubs.c projects/arm64/sys/contrib/dev/acpica/compiler/aslsupport.l projects/arm64/sys/contrib/dev/acpica/compiler/asltransform.c projects/arm64/sys/contrib/dev/acpica/compiler/asltree.c projects/arm64/sys/contrib/dev/acpica/compiler/asltypes.h projects/arm64/sys/contrib/dev/acpica/compiler/aslutils.c projects/arm64/sys/contrib/dev/acpica/compiler/asluuid.c projects/arm64/sys/contrib/dev/acpica/compiler/aslwalks.c projects/arm64/sys/contrib/dev/acpica/compiler/aslxref.c projects/arm64/sys/contrib/dev/acpica/compiler/dtcompile.c projects/arm64/sys/contrib/dev/acpica/compiler/dtcompiler.h projects/arm64/sys/contrib/dev/acpica/compiler/dtexpress.c projects/arm64/sys/contrib/dev/acpica/compiler/dtfield.c projects/arm64/sys/contrib/dev/acpica/compiler/dtio.c projects/arm64/sys/contrib/dev/acpica/compiler/dtparser.l projects/arm64/sys/contrib/dev/acpica/compiler/dtparser.y projects/arm64/sys/contrib/dev/acpica/compiler/dtsubtable.c projects/arm64/sys/contrib/dev/acpica/compiler/dttable.c projects/arm64/sys/contrib/dev/acpica/compiler/dttemplate.c projects/arm64/sys/contrib/dev/acpica/compiler/dttemplate.h projects/arm64/sys/contrib/dev/acpica/compiler/dtutils.c projects/arm64/sys/contrib/dev/acpica/compiler/preprocess.h projects/arm64/sys/contrib/dev/acpica/compiler/prexpress.c projects/arm64/sys/contrib/dev/acpica/compiler/prmacros.c projects/arm64/sys/contrib/dev/acpica/compiler/prparser.l projects/arm64/sys/contrib/dev/acpica/compiler/prparser.y projects/arm64/sys/contrib/dev/acpica/compiler/prscan.c projects/arm64/sys/contrib/dev/acpica/compiler/prutils.c projects/arm64/sys/contrib/dev/acpica/components/debugger/dbcmds.c projects/arm64/sys/contrib/dev/acpica/components/debugger/dbconvert.c projects/arm64/sys/contrib/dev/acpica/components/debugger/dbdisply.c projects/arm64/sys/contrib/dev/acpica/components/debugger/dbexec.c projects/arm64/sys/contrib/dev/acpica/components/debugger/dbfileio.c projects/arm64/sys/contrib/dev/acpica/components/debugger/dbhistry.c projects/arm64/sys/contrib/dev/acpica/components/debugger/dbinput.c projects/arm64/sys/contrib/dev/acpica/components/debugger/dbmethod.c projects/arm64/sys/contrib/dev/acpica/components/debugger/dbnames.c projects/arm64/sys/contrib/dev/acpica/components/debugger/dbstats.c projects/arm64/sys/contrib/dev/acpica/components/debugger/dbutils.c projects/arm64/sys/contrib/dev/acpica/components/debugger/dbxface.c projects/arm64/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c projects/arm64/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c projects/arm64/sys/contrib/dev/acpica/components/disassembler/dmnames.c projects/arm64/sys/contrib/dev/acpica/components/disassembler/dmobject.c projects/arm64/sys/contrib/dev/acpica/components/disassembler/dmopcode.c projects/arm64/sys/contrib/dev/acpica/components/disassembler/dmresrc.c projects/arm64/sys/contrib/dev/acpica/components/disassembler/dmresrcl.c projects/arm64/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c projects/arm64/sys/contrib/dev/acpica/components/disassembler/dmresrcs.c projects/arm64/sys/contrib/dev/acpica/components/disassembler/dmutils.c projects/arm64/sys/contrib/dev/acpica/components/disassembler/dmwalk.c projects/arm64/sys/contrib/dev/acpica/components/dispatcher/dsargs.c projects/arm64/sys/contrib/dev/acpica/components/dispatcher/dscontrol.c projects/arm64/sys/contrib/dev/acpica/components/dispatcher/dsfield.c projects/arm64/sys/contrib/dev/acpica/components/dispatcher/dsinit.c projects/arm64/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c projects/arm64/sys/contrib/dev/acpica/components/dispatcher/dsmthdat.c projects/arm64/sys/contrib/dev/acpica/components/dispatcher/dsobject.c projects/arm64/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c projects/arm64/sys/contrib/dev/acpica/components/dispatcher/dsutils.c projects/arm64/sys/contrib/dev/acpica/components/dispatcher/dswexec.c projects/arm64/sys/contrib/dev/acpica/components/dispatcher/dswload.c projects/arm64/sys/contrib/dev/acpica/components/dispatcher/dswload2.c projects/arm64/sys/contrib/dev/acpica/components/dispatcher/dswscope.c projects/arm64/sys/contrib/dev/acpica/components/dispatcher/dswstate.c projects/arm64/sys/contrib/dev/acpica/components/events/evevent.c projects/arm64/sys/contrib/dev/acpica/components/events/evglock.c projects/arm64/sys/contrib/dev/acpica/components/events/evgpe.c projects/arm64/sys/contrib/dev/acpica/components/events/evgpeblk.c projects/arm64/sys/contrib/dev/acpica/components/events/evgpeinit.c projects/arm64/sys/contrib/dev/acpica/components/events/evgpeutil.c projects/arm64/sys/contrib/dev/acpica/components/events/evhandler.c projects/arm64/sys/contrib/dev/acpica/components/events/evmisc.c projects/arm64/sys/contrib/dev/acpica/components/events/evregion.c projects/arm64/sys/contrib/dev/acpica/components/events/evrgnini.c projects/arm64/sys/contrib/dev/acpica/components/events/evsci.c projects/arm64/sys/contrib/dev/acpica/components/events/evxface.c projects/arm64/sys/contrib/dev/acpica/components/events/evxfevnt.c projects/arm64/sys/contrib/dev/acpica/components/events/evxfgpe.c projects/arm64/sys/contrib/dev/acpica/components/events/evxfregn.c projects/arm64/sys/contrib/dev/acpica/components/executer/exconfig.c projects/arm64/sys/contrib/dev/acpica/components/executer/exconvrt.c projects/arm64/sys/contrib/dev/acpica/components/executer/excreate.c projects/arm64/sys/contrib/dev/acpica/components/executer/exdebug.c projects/arm64/sys/contrib/dev/acpica/components/executer/exdump.c projects/arm64/sys/contrib/dev/acpica/components/executer/exfield.c projects/arm64/sys/contrib/dev/acpica/components/executer/exfldio.c projects/arm64/sys/contrib/dev/acpica/components/executer/exmisc.c projects/arm64/sys/contrib/dev/acpica/components/executer/exmutex.c projects/arm64/sys/contrib/dev/acpica/components/executer/exnames.c projects/arm64/sys/contrib/dev/acpica/components/executer/exoparg1.c projects/arm64/sys/contrib/dev/acpica/components/executer/exoparg2.c projects/arm64/sys/contrib/dev/acpica/components/executer/exoparg3.c projects/arm64/sys/contrib/dev/acpica/components/executer/exoparg6.c projects/arm64/sys/contrib/dev/acpica/components/executer/exprep.c projects/arm64/sys/contrib/dev/acpica/components/executer/exregion.c projects/arm64/sys/contrib/dev/acpica/components/executer/exresnte.c projects/arm64/sys/contrib/dev/acpica/components/executer/exresolv.c projects/arm64/sys/contrib/dev/acpica/components/executer/exresop.c projects/arm64/sys/contrib/dev/acpica/components/executer/exstore.c projects/arm64/sys/contrib/dev/acpica/components/executer/exstoren.c projects/arm64/sys/contrib/dev/acpica/components/executer/exstorob.c projects/arm64/sys/contrib/dev/acpica/components/executer/exsystem.c projects/arm64/sys/contrib/dev/acpica/components/executer/exutils.c projects/arm64/sys/contrib/dev/acpica/components/hardware/hwacpi.c projects/arm64/sys/contrib/dev/acpica/components/hardware/hwesleep.c projects/arm64/sys/contrib/dev/acpica/components/hardware/hwgpe.c projects/arm64/sys/contrib/dev/acpica/components/hardware/hwpci.c projects/arm64/sys/contrib/dev/acpica/components/hardware/hwregs.c projects/arm64/sys/contrib/dev/acpica/components/hardware/hwsleep.c projects/arm64/sys/contrib/dev/acpica/components/hardware/hwtimer.c projects/arm64/sys/contrib/dev/acpica/components/hardware/hwvalid.c projects/arm64/sys/contrib/dev/acpica/components/hardware/hwxface.c projects/arm64/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsaccess.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsalloc.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsarguments.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsconvert.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsdump.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsdumpdv.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nseval.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsinit.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsload.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsnames.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsobject.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsparse.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nspredef.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsprepkg.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsrepair.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsrepair2.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nssearch.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsutils.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nswalk.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsxfeval.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsxfname.c projects/arm64/sys/contrib/dev/acpica/components/namespace/nsxfobj.c projects/arm64/sys/contrib/dev/acpica/components/parser/psargs.c projects/arm64/sys/contrib/dev/acpica/components/parser/psloop.c projects/arm64/sys/contrib/dev/acpica/components/parser/psobject.c projects/arm64/sys/contrib/dev/acpica/components/parser/psopcode.c projects/arm64/sys/contrib/dev/acpica/components/parser/psopinfo.c projects/arm64/sys/contrib/dev/acpica/components/parser/psparse.c projects/arm64/sys/contrib/dev/acpica/components/parser/psscope.c projects/arm64/sys/contrib/dev/acpica/components/parser/pstree.c projects/arm64/sys/contrib/dev/acpica/components/parser/psutils.c projects/arm64/sys/contrib/dev/acpica/components/parser/pswalk.c projects/arm64/sys/contrib/dev/acpica/components/parser/psxface.c projects/arm64/sys/contrib/dev/acpica/components/resources/rsaddr.c projects/arm64/sys/contrib/dev/acpica/components/resources/rscalc.c projects/arm64/sys/contrib/dev/acpica/components/resources/rscreate.c projects/arm64/sys/contrib/dev/acpica/components/resources/rsdump.c projects/arm64/sys/contrib/dev/acpica/components/resources/rsdumpinfo.c projects/arm64/sys/contrib/dev/acpica/components/resources/rsinfo.c projects/arm64/sys/contrib/dev/acpica/components/resources/rsio.c projects/arm64/sys/contrib/dev/acpica/components/resources/rsirq.c projects/arm64/sys/contrib/dev/acpica/components/resources/rslist.c projects/arm64/sys/contrib/dev/acpica/components/resources/rsmemory.c projects/arm64/sys/contrib/dev/acpica/components/resources/rsmisc.c projects/arm64/sys/contrib/dev/acpica/components/resources/rsserial.c projects/arm64/sys/contrib/dev/acpica/components/resources/rsutils.c projects/arm64/sys/contrib/dev/acpica/components/resources/rsxface.c projects/arm64/sys/contrib/dev/acpica/components/tables/tbfadt.c projects/arm64/sys/contrib/dev/acpica/components/tables/tbfind.c projects/arm64/sys/contrib/dev/acpica/components/tables/tbinstal.c projects/arm64/sys/contrib/dev/acpica/components/tables/tbprint.c projects/arm64/sys/contrib/dev/acpica/components/tables/tbutils.c projects/arm64/sys/contrib/dev/acpica/components/tables/tbxface.c projects/arm64/sys/contrib/dev/acpica/components/tables/tbxfload.c projects/arm64/sys/contrib/dev/acpica/components/tables/tbxfroot.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utaddress.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utalloc.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utbuffer.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utcache.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utcopy.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utdebug.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utdecode.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utdelete.c projects/arm64/sys/contrib/dev/acpica/components/utilities/uterror.c projects/arm64/sys/contrib/dev/acpica/components/utilities/uteval.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utexcep.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utglobal.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utids.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utinit.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utlock.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utmath.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utmisc.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utmutex.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utobject.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utosi.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utownerid.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utpredef.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utresrc.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utstate.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utstring.c projects/arm64/sys/contrib/dev/acpica/components/utilities/uttrack.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utxface.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utxferror.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utxfinit.c projects/arm64/sys/contrib/dev/acpica/components/utilities/utxfmutex.c projects/arm64/sys/contrib/dev/acpica/include/acapps.h projects/arm64/sys/contrib/dev/acpica/include/acbuffer.h projects/arm64/sys/contrib/dev/acpica/include/accommon.h projects/arm64/sys/contrib/dev/acpica/include/acconfig.h projects/arm64/sys/contrib/dev/acpica/include/acdebug.h projects/arm64/sys/contrib/dev/acpica/include/acdisasm.h projects/arm64/sys/contrib/dev/acpica/include/acdispat.h projects/arm64/sys/contrib/dev/acpica/include/acevents.h projects/arm64/sys/contrib/dev/acpica/include/acexcep.h projects/arm64/sys/contrib/dev/acpica/include/acglobal.h projects/arm64/sys/contrib/dev/acpica/include/achware.h projects/arm64/sys/contrib/dev/acpica/include/acinterp.h projects/arm64/sys/contrib/dev/acpica/include/aclocal.h projects/arm64/sys/contrib/dev/acpica/include/acmacros.h projects/arm64/sys/contrib/dev/acpica/include/acnames.h projects/arm64/sys/contrib/dev/acpica/include/acnamesp.h projects/arm64/sys/contrib/dev/acpica/include/acobject.h projects/arm64/sys/contrib/dev/acpica/include/acopcode.h projects/arm64/sys/contrib/dev/acpica/include/acoutput.h projects/arm64/sys/contrib/dev/acpica/include/acparser.h projects/arm64/sys/contrib/dev/acpica/include/acpi.h projects/arm64/sys/contrib/dev/acpica/include/acpiosxf.h projects/arm64/sys/contrib/dev/acpica/include/acpixf.h projects/arm64/sys/contrib/dev/acpica/include/acpredef.h projects/arm64/sys/contrib/dev/acpica/include/acresrc.h projects/arm64/sys/contrib/dev/acpica/include/acrestyp.h projects/arm64/sys/contrib/dev/acpica/include/acstruct.h projects/arm64/sys/contrib/dev/acpica/include/actables.h projects/arm64/sys/contrib/dev/acpica/include/actbl.h projects/arm64/sys/contrib/dev/acpica/include/actbl1.h projects/arm64/sys/contrib/dev/acpica/include/actbl2.h projects/arm64/sys/contrib/dev/acpica/include/actbl3.h projects/arm64/sys/contrib/dev/acpica/include/actypes.h projects/arm64/sys/contrib/dev/acpica/include/acutils.h projects/arm64/sys/contrib/dev/acpica/include/amlcode.h projects/arm64/sys/contrib/dev/acpica/include/amlresrc.h projects/arm64/sys/contrib/dev/acpica/include/platform/acenv.h projects/arm64/sys/contrib/dev/acpica/include/platform/acfreebsd.h projects/arm64/sys/contrib/dev/acpica/include/platform/acgcc.h projects/arm64/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c projects/arm64/sys/contrib/dev/ath/ath_hal/ar9300/ar9300.h projects/arm64/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c projects/arm64/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c projects/arm64/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.c projects/arm64/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.h projects/arm64/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_reset.c projects/arm64/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_stub.c projects/arm64/sys/contrib/dev/ath/ath_hal/ar9300/ar9300desc.h projects/arm64/sys/contrib/ipfilter/netinet/fil.c projects/arm64/sys/contrib/ipfilter/netinet/ip_dns_pxy.c projects/arm64/sys/contrib/ipfilter/netinet/ip_dstlist.c projects/arm64/sys/contrib/ipfilter/netinet/ip_frag.c projects/arm64/sys/contrib/ipfilter/netinet/ip_nat.c projects/arm64/sys/contrib/rdma/krping/krping.c projects/arm64/sys/crypto/rijndael/rijndael-api-fst.c projects/arm64/sys/crypto/rijndael/rijndael-api-fst.h projects/arm64/sys/ddb/db_access.c projects/arm64/sys/ddb/db_break.c projects/arm64/sys/ddb/db_command.c projects/arm64/sys/ddb/db_examine.c projects/arm64/sys/ddb/db_input.c projects/arm64/sys/ddb/db_lex.c projects/arm64/sys/ddb/db_main.c projects/arm64/sys/ddb/db_output.c projects/arm64/sys/ddb/db_output.h projects/arm64/sys/ddb/db_print.c projects/arm64/sys/ddb/db_ps.c projects/arm64/sys/ddb/db_run.c projects/arm64/sys/ddb/db_sym.c projects/arm64/sys/ddb/db_sym.h projects/arm64/sys/ddb/db_textdump.c projects/arm64/sys/ddb/db_variables.h projects/arm64/sys/ddb/db_watch.c projects/arm64/sys/ddb/db_watch.h projects/arm64/sys/ddb/db_write_cmd.c projects/arm64/sys/ddb/ddb.h projects/arm64/sys/dev/acpi_support/acpi_asus.c projects/arm64/sys/dev/acpi_support/acpi_asus_wmi.c projects/arm64/sys/dev/acpi_support/acpi_hp.c projects/arm64/sys/dev/acpi_support/acpi_ibm.c projects/arm64/sys/dev/acpi_support/acpi_rapidstart.c projects/arm64/sys/dev/acpi_support/acpi_sony.c projects/arm64/sys/dev/acpica/Osd/OsdSchedule.c projects/arm64/sys/dev/acpica/Osd/OsdTable.c projects/arm64/sys/dev/acpica/acpi.c projects/arm64/sys/dev/acpica/acpi_hpet.c projects/arm64/sys/dev/acpica/acpi_pci.c projects/arm64/sys/dev/acpica/acpivar.h projects/arm64/sys/dev/ae/if_ae.c projects/arm64/sys/dev/age/if_age.c projects/arm64/sys/dev/agp/agp.c projects/arm64/sys/dev/agp/agp_amd.c projects/arm64/sys/dev/agp/agp_amd64.c projects/arm64/sys/dev/agp/agp_apple.c projects/arm64/sys/dev/agp/agp_ati.c projects/arm64/sys/dev/agp/agp_i810.c projects/arm64/sys/dev/agp/agppriv.h projects/arm64/sys/dev/agp/agpvar.h projects/arm64/sys/dev/ahci/ahci.c projects/arm64/sys/dev/ahci/ahci.h projects/arm64/sys/dev/ahci/ahci_pci.c projects/arm64/sys/dev/ahci/ahciem.c projects/arm64/sys/dev/alc/if_alc.c projects/arm64/sys/dev/alc/if_alcreg.h projects/arm64/sys/dev/alc/if_alcvar.h projects/arm64/sys/dev/ale/if_ale.c projects/arm64/sys/dev/ale/if_alereg.h projects/arm64/sys/dev/altera/atse/a_api.h projects/arm64/sys/dev/altera/atse/if_atse.c projects/arm64/sys/dev/amdtemp/amdtemp.c projects/arm64/sys/dev/an/if_an.c projects/arm64/sys/dev/asmc/asmc.c projects/arm64/sys/dev/asmc/asmcvar.h projects/arm64/sys/dev/ata/ata-pci.h projects/arm64/sys/dev/ata/chipsets/ata-jmicron.c projects/arm64/sys/dev/ath/ath_hal/ah.c projects/arm64/sys/dev/ath/ath_hal/ah.h projects/arm64/sys/dev/ath/ath_hal/ah_internal.h projects/arm64/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c projects/arm64/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c projects/arm64/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/arm64/sys/dev/ath/ath_hal/ar5312/ar5312_attach.c projects/arm64/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/arm64/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c projects/arm64/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c projects/arm64/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/arm64/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/arm64/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c projects/arm64/sys/dev/ath/if_ath.c projects/arm64/sys/dev/ath/if_ath_lna_div.c projects/arm64/sys/dev/ath/if_ath_pci.c projects/arm64/sys/dev/ath/if_ath_rx.c projects/arm64/sys/dev/ath/if_ath_rx_edma.c projects/arm64/sys/dev/ath/if_ath_tx.c projects/arm64/sys/dev/ath/if_athvar.h projects/arm64/sys/dev/atkbdc/atkbd.c projects/arm64/sys/dev/bce/if_bce.c projects/arm64/sys/dev/bce/if_bcereg.h projects/arm64/sys/dev/bfe/if_bfe.c projects/arm64/sys/dev/bge/if_bge.c projects/arm64/sys/dev/bm/if_bm.c projects/arm64/sys/dev/bwi/if_bwi.c projects/arm64/sys/dev/bwn/if_bwn.c projects/arm64/sys/dev/bxe/bxe.c projects/arm64/sys/dev/bxe/bxe_stats.c projects/arm64/sys/dev/bxe/bxe_stats.h projects/arm64/sys/dev/bxe/ecore_sp.h projects/arm64/sys/dev/cadence/if_cgem.c projects/arm64/sys/dev/cas/if_cas.c projects/arm64/sys/dev/ce/if_ce.c projects/arm64/sys/dev/cfe/cfe_env.c projects/arm64/sys/dev/cfi/cfi_core.c projects/arm64/sys/dev/cm/smc90cx6.c projects/arm64/sys/dev/cp/if_cp.c projects/arm64/sys/dev/cs/if_cs.c projects/arm64/sys/dev/ctau/if_ct.c projects/arm64/sys/dev/cx/if_cx.c projects/arm64/sys/dev/cxgb/common/cxgb_ael1002.c projects/arm64/sys/dev/cxgb/cxgb_adapter.h projects/arm64/sys/dev/cxgb/cxgb_main.c projects/arm64/sys/dev/cxgb/cxgb_sge.c projects/arm64/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c projects/arm64/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c projects/arm64/sys/dev/cxgbe/adapter.h projects/arm64/sys/dev/cxgbe/common/t4_msg.h projects/arm64/sys/dev/cxgbe/common/t4_regs.h projects/arm64/sys/dev/cxgbe/firmware/t4fw_cfg.txt projects/arm64/sys/dev/cxgbe/firmware/t4fw_cfg_uwire.txt projects/arm64/sys/dev/cxgbe/firmware/t5fw_cfg.txt projects/arm64/sys/dev/cxgbe/firmware/t5fw_cfg_fpga.txt projects/arm64/sys/dev/cxgbe/firmware/t5fw_cfg_uwire.txt projects/arm64/sys/dev/cxgbe/iw_cxgbe/cm.c projects/arm64/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h projects/arm64/sys/dev/cxgbe/iw_cxgbe/qp.c projects/arm64/sys/dev/cxgbe/t4_main.c projects/arm64/sys/dev/cxgbe/t4_netmap.c projects/arm64/sys/dev/cxgbe/tom/t4_connect.c projects/arm64/sys/dev/cxgbe/tom/t4_cpl_io.c projects/arm64/sys/dev/cxgbe/tom/t4_ddp.c projects/arm64/sys/dev/cxgbe/tom/t4_listen.c projects/arm64/sys/dev/cxgbe/tom/t4_tom.c projects/arm64/sys/dev/cxgbe/tom/t4_tom.h projects/arm64/sys/dev/cxgbe/tom/t4_tom_l2t.c projects/arm64/sys/dev/dc/if_dc.c projects/arm64/sys/dev/de/if_de.c projects/arm64/sys/dev/digi/digi_isa.c projects/arm64/sys/dev/drm2/drm_agpsupport.c projects/arm64/sys/dev/drm2/drm_crtc_helper.c projects/arm64/sys/dev/drm2/drm_edid.c projects/arm64/sys/dev/drm2/drm_fb_helper.c projects/arm64/sys/dev/drm2/drm_fb_helper.h projects/arm64/sys/dev/drm2/drm_gem_names.c projects/arm64/sys/dev/drm2/drm_gem_names.h projects/arm64/sys/dev/drm2/i915/i915_dma.c projects/arm64/sys/dev/drm2/i915/i915_drm.h projects/arm64/sys/dev/drm2/i915/i915_drv.c projects/arm64/sys/dev/drm2/i915/i915_drv.h projects/arm64/sys/dev/drm2/i915/i915_gem.c projects/arm64/sys/dev/drm2/i915/i915_gem_execbuffer.c projects/arm64/sys/dev/drm2/i915/i915_gem_gtt.c projects/arm64/sys/dev/drm2/i915/i915_irq.c projects/arm64/sys/dev/drm2/i915/i915_reg.h projects/arm64/sys/dev/drm2/i915/intel_ringbuffer.c projects/arm64/sys/dev/drm2/i915/intel_ringbuffer.h projects/arm64/sys/dev/drm2/radeon/radeon.h projects/arm64/sys/dev/drm2/radeon/radeon_connectors.c projects/arm64/sys/dev/drm2/radeon/radeon_device.c projects/arm64/sys/dev/drm2/radeon/radeon_ttm.c projects/arm64/sys/dev/drm2/ttm/ttm_agp_backend.c projects/arm64/sys/dev/drm2/ttm/ttm_bo_driver.h projects/arm64/sys/dev/drm2/ttm/ttm_bo_util.c projects/arm64/sys/dev/drm2/ttm/ttm_page_alloc.c projects/arm64/sys/dev/e1000/if_em.c projects/arm64/sys/dev/e1000/if_igb.c projects/arm64/sys/dev/e1000/if_igb.h projects/arm64/sys/dev/e1000/if_lem.c projects/arm64/sys/dev/ed/if_ed.c projects/arm64/sys/dev/en/midway.c projects/arm64/sys/dev/ep/if_ep.c projects/arm64/sys/dev/et/if_et.c projects/arm64/sys/dev/ex/if_ex.c projects/arm64/sys/dev/fatm/if_fatm.c projects/arm64/sys/dev/fdc/fdc.c projects/arm64/sys/dev/fdc/fdcvar.h projects/arm64/sys/dev/fdt/fdt_common.c projects/arm64/sys/dev/fdt/fdt_common.h projects/arm64/sys/dev/fdt/simplebus.c projects/arm64/sys/dev/fe/if_fe.c projects/arm64/sys/dev/ffec/if_ffec.c projects/arm64/sys/dev/firewire/firewire.c projects/arm64/sys/dev/firewire/firewire.h projects/arm64/sys/dev/firewire/firewire_phy.h projects/arm64/sys/dev/firewire/firewirereg.h projects/arm64/sys/dev/firewire/fwcrom.c projects/arm64/sys/dev/firewire/fwdev.c projects/arm64/sys/dev/firewire/fwdma.c projects/arm64/sys/dev/firewire/fwdma.h projects/arm64/sys/dev/firewire/fwmem.c projects/arm64/sys/dev/firewire/fwohci.c projects/arm64/sys/dev/firewire/fwohci_pci.c projects/arm64/sys/dev/firewire/fwohcireg.h projects/arm64/sys/dev/firewire/fwohcivar.h projects/arm64/sys/dev/firewire/iec68113.h projects/arm64/sys/dev/firewire/if_fwe.c projects/arm64/sys/dev/firewire/if_fwip.c projects/arm64/sys/dev/firewire/sbp.c projects/arm64/sys/dev/firewire/sbp.h projects/arm64/sys/dev/firewire/sbp_targ.c projects/arm64/sys/dev/fxp/if_fxp.c projects/arm64/sys/dev/gem/if_gem.c projects/arm64/sys/dev/glxsb/glxsb.c projects/arm64/sys/dev/gpio/gpiobus.c projects/arm64/sys/dev/gpio/gpiobus_if.m projects/arm64/sys/dev/gpio/gpiobusvar.h projects/arm64/sys/dev/gpio/gpioiic.c projects/arm64/sys/dev/gpio/gpioled.c projects/arm64/sys/dev/gpio/ofw_gpiobus.c projects/arm64/sys/dev/gxemul/ether/if_gx.c projects/arm64/sys/dev/hatm/if_hatm.c projects/arm64/sys/dev/hatm/if_hatm_rx.c projects/arm64/sys/dev/hatm/if_hatm_tx.c projects/arm64/sys/dev/hme/if_hme.c projects/arm64/sys/dev/hwpmc/hwpmc_core.c projects/arm64/sys/dev/hwpmc/hwpmc_mod.c projects/arm64/sys/dev/hwpmc/hwpmc_powerpc.c projects/arm64/sys/dev/hyperv/include/hyperv.h projects/arm64/sys/dev/hyperv/netvsc/hv_net_vsc.c projects/arm64/sys/dev/hyperv/netvsc/hv_net_vsc.h projects/arm64/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/arm64/sys/dev/hyperv/stordisengage/hv_ata_pci_disengage.c projects/arm64/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c projects/arm64/sys/dev/hyperv/utilities/hv_kvp.h projects/arm64/sys/dev/hyperv/utilities/hv_util.c projects/arm64/sys/dev/ida/ida_eisa.c projects/arm64/sys/dev/ie/if_ie.c projects/arm64/sys/dev/if_ndis/if_ndis.c projects/arm64/sys/dev/iicbus/if_ic.c projects/arm64/sys/dev/iicbus/iicbus.h projects/arm64/sys/dev/iicbus/iiconf.c projects/arm64/sys/dev/iicbus/max6690.c projects/arm64/sys/dev/ipw/if_ipw.c projects/arm64/sys/dev/iscsi/icl.c projects/arm64/sys/dev/iscsi/icl.h projects/arm64/sys/dev/iscsi/iscsi.c projects/arm64/sys/dev/iscsi_initiator/isc_cam.c projects/arm64/sys/dev/isp/isp_freebsd.c projects/arm64/sys/dev/isp/isp_freebsd.h projects/arm64/sys/dev/isp/isp_library.c projects/arm64/sys/dev/isp/ispmbox.h projects/arm64/sys/dev/iwi/if_iwi.c projects/arm64/sys/dev/iwn/if_iwn.c projects/arm64/sys/dev/iwn/if_iwnreg.h projects/arm64/sys/dev/ixgb/if_ixgb.c projects/arm64/sys/dev/ixgbe/ixgbe.c projects/arm64/sys/dev/ixgbe/ixgbe.h projects/arm64/sys/dev/ixgbe/ixv.c projects/arm64/sys/dev/ixl/i40e_alloc.h projects/arm64/sys/dev/ixl/i40e_common.c projects/arm64/sys/dev/ixl/i40e_osdep.c projects/arm64/sys/dev/ixl/i40e_osdep.h projects/arm64/sys/dev/ixl/if_ixl.c projects/arm64/sys/dev/ixl/if_ixlv.c projects/arm64/sys/dev/ixl/ixl.h projects/arm64/sys/dev/ixl/ixl_txrx.c projects/arm64/sys/dev/ixl/ixlv.h projects/arm64/sys/dev/ixl/ixlvc.c projects/arm64/sys/dev/jme/if_jme.c projects/arm64/sys/dev/le/am7990.c projects/arm64/sys/dev/le/am79900.c projects/arm64/sys/dev/le/lance.c projects/arm64/sys/dev/lge/if_lge.c projects/arm64/sys/dev/lmc/if_lmc.c projects/arm64/sys/dev/lmc/if_lmc.h projects/arm64/sys/dev/malo/if_malo.c projects/arm64/sys/dev/mc146818/mc146818.c projects/arm64/sys/dev/mge/if_mge.c projects/arm64/sys/dev/mii/brgphy.c projects/arm64/sys/dev/mii/miidevs projects/arm64/sys/dev/mii/rgephy.c projects/arm64/sys/dev/mii/rlphy.c projects/arm64/sys/dev/mii/rlswitch.c projects/arm64/sys/dev/mmc/mmc.c projects/arm64/sys/dev/mmc/mmcsd.c projects/arm64/sys/dev/mpr/mpr.c projects/arm64/sys/dev/mpr/mpr_sas.c projects/arm64/sys/dev/mpr/mpr_table.c projects/arm64/sys/dev/mps/mps.c projects/arm64/sys/dev/mrsas/mrsas.c projects/arm64/sys/dev/mrsas/mrsas.h projects/arm64/sys/dev/mrsas/mrsas_cam.c projects/arm64/sys/dev/mrsas/mrsas_fp.c projects/arm64/sys/dev/mrsas/mrsas_ioctl.c projects/arm64/sys/dev/mrsas/mrsas_ioctl.h projects/arm64/sys/dev/mse/mse.c projects/arm64/sys/dev/mse/mse_cbus.c projects/arm64/sys/dev/mse/mse_isa.c projects/arm64/sys/dev/mse/msevar.h projects/arm64/sys/dev/msk/if_msk.c projects/arm64/sys/dev/mvs/mvs.c projects/arm64/sys/dev/mvs/mvs_pci.c projects/arm64/sys/dev/mvs/mvs_soc.c projects/arm64/sys/dev/mwl/if_mwl.c projects/arm64/sys/dev/mxge/if_mxge.c projects/arm64/sys/dev/my/if_my.c projects/arm64/sys/dev/netfpga10g/nf10bmac/if_nf10bmac.c projects/arm64/sys/dev/netmap/if_lem_netmap.h projects/arm64/sys/dev/netmap/if_re_netmap.h projects/arm64/sys/dev/netmap/netmap.c projects/arm64/sys/dev/netmap/netmap_freebsd.c projects/arm64/sys/dev/netmap/netmap_generic.c projects/arm64/sys/dev/netmap/netmap_kern.h projects/arm64/sys/dev/netmap/netmap_pipe.c projects/arm64/sys/dev/nfe/if_nfe.c projects/arm64/sys/dev/nge/if_nge.c projects/arm64/sys/dev/nmdm/nmdm.c projects/arm64/sys/dev/null/null.c projects/arm64/sys/dev/nvram2env/nvram2env.c projects/arm64/sys/dev/oce/oce_if.c projects/arm64/sys/dev/oce/oce_if.h projects/arm64/sys/dev/oce/oce_sysctl.c projects/arm64/sys/dev/ofw/ofw_bus_subr.c projects/arm64/sys/dev/ofw/ofw_bus_subr.h projects/arm64/sys/dev/ofw/ofwbus.c projects/arm64/sys/dev/ofw/openfirm.c projects/arm64/sys/dev/patm/if_patm_attach.c projects/arm64/sys/dev/patm/if_patm_rx.c projects/arm64/sys/dev/patm/if_patm_tx.c projects/arm64/sys/dev/pci/pci.c projects/arm64/sys/dev/pci/pci_pci.c projects/arm64/sys/dev/pci/pci_private.h projects/arm64/sys/dev/pcn/if_pcn.c projects/arm64/sys/dev/pdq/pdq_ifsubr.c projects/arm64/sys/dev/ppbus/if_plip.c projects/arm64/sys/dev/puc/pucdata.c projects/arm64/sys/dev/qlxgb/qla_os.c projects/arm64/sys/dev/qlxgbe/ql_hw.c projects/arm64/sys/dev/qlxgbe/ql_isr.c projects/arm64/sys/dev/qlxgbe/ql_os.c projects/arm64/sys/dev/qlxge/qls_isr.c projects/arm64/sys/dev/ral/rt2560.c projects/arm64/sys/dev/ral/rt2661.c projects/arm64/sys/dev/ral/rt2860.c projects/arm64/sys/dev/random/dummy_rng.c projects/arm64/sys/dev/random/hash.c projects/arm64/sys/dev/random/hash.h projects/arm64/sys/dev/random/ivy.c projects/arm64/sys/dev/random/live_entropy_sources.c projects/arm64/sys/dev/random/live_entropy_sources.h projects/arm64/sys/dev/random/nehemiah.c projects/arm64/sys/dev/random/random_adaptors.c projects/arm64/sys/dev/random/random_adaptors.h projects/arm64/sys/dev/random/random_harvestq.c projects/arm64/sys/dev/random/random_harvestq.h projects/arm64/sys/dev/random/randomdev.c projects/arm64/sys/dev/random/randomdev.h projects/arm64/sys/dev/random/randomdev_soft.c projects/arm64/sys/dev/random/randomdev_soft.h projects/arm64/sys/dev/random/yarrow.c projects/arm64/sys/dev/random/yarrow.h projects/arm64/sys/dev/re/if_re.c projects/arm64/sys/dev/rp/rp.c projects/arm64/sys/dev/rp/rp_pci.c projects/arm64/sys/dev/rp/rpreg.h projects/arm64/sys/dev/rp/rpvar.h projects/arm64/sys/dev/rt/if_rt.c projects/arm64/sys/dev/safe/safe.c projects/arm64/sys/dev/sbni/if_sbni.c projects/arm64/sys/dev/sdhci/sdhci_pci.c projects/arm64/sys/dev/sf/if_sf.c projects/arm64/sys/dev/sfxge/common/efsys.h projects/arm64/sys/dev/sfxge/sfxge.c projects/arm64/sys/dev/sfxge/sfxge.h projects/arm64/sys/dev/sfxge/sfxge_dma.c projects/arm64/sys/dev/sfxge/sfxge_ev.c projects/arm64/sys/dev/sfxge/sfxge_intr.c projects/arm64/sys/dev/sfxge/sfxge_port.c projects/arm64/sys/dev/sfxge/sfxge_rx.c projects/arm64/sys/dev/sfxge/sfxge_rx.h projects/arm64/sys/dev/sfxge/sfxge_tx.c projects/arm64/sys/dev/sfxge/sfxge_tx.h projects/arm64/sys/dev/sge/if_sge.c projects/arm64/sys/dev/siis/siis.c projects/arm64/sys/dev/sis/if_sis.c projects/arm64/sys/dev/sk/if_sk.c projects/arm64/sys/dev/smc/if_smc.c projects/arm64/sys/dev/sn/if_sn.c projects/arm64/sys/dev/snc/dp83932.c projects/arm64/sys/dev/sound/isa/gusc.c projects/arm64/sys/dev/sound/isa/sb16.c projects/arm64/sys/dev/sound/isa/sbc.c projects/arm64/sys/dev/sound/midi/sequencer.c projects/arm64/sys/dev/sound/pci/als4000.c projects/arm64/sys/dev/sound/pci/cs4281.c projects/arm64/sys/dev/sound/pci/csa.c projects/arm64/sys/dev/sound/pci/emu10kx.c projects/arm64/sys/dev/sound/pci/envy24.c projects/arm64/sys/dev/sound/pci/envy24ht.c projects/arm64/sys/dev/sound/pci/hda/hdaa.c projects/arm64/sys/dev/sound/pci/maestro.c projects/arm64/sys/dev/sound/pci/spicds.c projects/arm64/sys/dev/sound/pci/vibes.c projects/arm64/sys/dev/sound/pcm/dsp.c projects/arm64/sys/dev/sound/pcm/mixer.c projects/arm64/sys/dev/sound/pcm/sound.c projects/arm64/sys/dev/sound/pcm/sound.h projects/arm64/sys/dev/sound/usb/uaudio.c projects/arm64/sys/dev/sound/usb/uaudioreg.h projects/arm64/sys/dev/ste/if_ste.c projects/arm64/sys/dev/stge/if_stge.c projects/arm64/sys/dev/ti/if_ti.c projects/arm64/sys/dev/tl/if_tl.c projects/arm64/sys/dev/tsec/if_tsec.c projects/arm64/sys/dev/tws/tws.c projects/arm64/sys/dev/tws/tws.h projects/arm64/sys/dev/tws/tws_cam.c projects/arm64/sys/dev/tws/tws_hdm.c projects/arm64/sys/dev/tws/tws_hdm.h projects/arm64/sys/dev/tws/tws_services.c projects/arm64/sys/dev/tx/if_tx.c projects/arm64/sys/dev/txp/if_txp.c projects/arm64/sys/dev/uart/uart.h projects/arm64/sys/dev/uart/uart_bus_fdt.c projects/arm64/sys/dev/uart/uart_dev_imx.c projects/arm64/sys/dev/uart/uart_subr.c projects/arm64/sys/dev/usb/controller/ehci_pci.c projects/arm64/sys/dev/usb/controller/ohci_s3c24x0.c projects/arm64/sys/dev/usb/controller/xhci.c projects/arm64/sys/dev/usb/controller/xhci.h projects/arm64/sys/dev/usb/controller/xhci_pci.c projects/arm64/sys/dev/usb/misc/uled.c projects/arm64/sys/dev/usb/net/if_aue.c projects/arm64/sys/dev/usb/net/if_axe.c projects/arm64/sys/dev/usb/net/if_axge.c projects/arm64/sys/dev/usb/net/if_cdce.c projects/arm64/sys/dev/usb/net/if_cue.c projects/arm64/sys/dev/usb/net/if_ipheth.c projects/arm64/sys/dev/usb/net/if_kue.c projects/arm64/sys/dev/usb/net/if_mos.c projects/arm64/sys/dev/usb/net/if_rue.c projects/arm64/sys/dev/usb/net/if_smsc.c projects/arm64/sys/dev/usb/net/if_udav.c projects/arm64/sys/dev/usb/net/if_urndis.c projects/arm64/sys/dev/usb/net/if_usie.c projects/arm64/sys/dev/usb/net/uhso.c projects/arm64/sys/dev/usb/net/usb_ethernet.c projects/arm64/sys/dev/usb/serial/u3g.c projects/arm64/sys/dev/usb/serial/uftdi.c projects/arm64/sys/dev/usb/usb.h projects/arm64/sys/dev/usb/usb_dev.c projects/arm64/sys/dev/usb/usb_freebsd.h projects/arm64/sys/dev/usb/usb_freebsd_loader.h projects/arm64/sys/dev/usb/usb_hub.c projects/arm64/sys/dev/usb/usbdevs projects/arm64/sys/dev/usb/wlan/if_rsu.c projects/arm64/sys/dev/usb/wlan/if_rum.c projects/arm64/sys/dev/usb/wlan/if_run.c projects/arm64/sys/dev/usb/wlan/if_uath.c projects/arm64/sys/dev/usb/wlan/if_upgt.c projects/arm64/sys/dev/usb/wlan/if_ural.c projects/arm64/sys/dev/usb/wlan/if_urtw.c projects/arm64/sys/dev/usb/wlan/if_urtwn.c projects/arm64/sys/dev/usb/wlan/if_zyd.c projects/arm64/sys/dev/vge/if_vge.c projects/arm64/sys/dev/virtio/network/if_vtnet.c projects/arm64/sys/dev/vmware/vmxnet3/if_vmx.c projects/arm64/sys/dev/vmware/vmxnet3/if_vmxvar.h projects/arm64/sys/dev/vr/if_vr.c projects/arm64/sys/dev/vt/hw/efifb/efifb.c projects/arm64/sys/dev/vt/hw/fb/vt_early_fb.c projects/arm64/sys/dev/vt/hw/fb/vt_fb.c projects/arm64/sys/dev/vt/hw/fb/vt_fb.h projects/arm64/sys/dev/vt/hw/ofwfb/ofwfb.c projects/arm64/sys/dev/vt/logo/logo_freebsd.c projects/arm64/sys/dev/vt/vt.h projects/arm64/sys/dev/vt/vt_buf.c projects/arm64/sys/dev/vt/vt_consolectl.c projects/arm64/sys/dev/vt/vt_core.c projects/arm64/sys/dev/vte/if_vte.c projects/arm64/sys/dev/vx/if_vx.c projects/arm64/sys/dev/vxge/vxge.c projects/arm64/sys/dev/wb/if_wb.c projects/arm64/sys/dev/wi/if_wi.c projects/arm64/sys/dev/wl/if_wl.c projects/arm64/sys/dev/wpi/if_wpi.c projects/arm64/sys/dev/wtap/if_wtap.c projects/arm64/sys/dev/xe/if_xe.c projects/arm64/sys/dev/xen/balloon/balloon.c projects/arm64/sys/dev/xen/blkback/blkback.c projects/arm64/sys/dev/xen/netback/netback.c projects/arm64/sys/dev/xen/netfront/netfront.c projects/arm64/sys/dev/xl/if_xl.c projects/arm64/sys/fs/autofs/autofs.c projects/arm64/sys/fs/autofs/autofs.h projects/arm64/sys/fs/autofs/autofs_ioctl.h projects/arm64/sys/fs/autofs/autofs_vfsops.c projects/arm64/sys/fs/autofs/autofs_vnops.c projects/arm64/sys/fs/deadfs/dead_vnops.c projects/arm64/sys/fs/devfs/devfs_devs.c projects/arm64/sys/fs/devfs/devfs_vnops.c projects/arm64/sys/fs/ext2fs/ext2_vnops.c projects/arm64/sys/fs/fuse/fuse_main.c projects/arm64/sys/fs/fuse/fuse_vfsops.c projects/arm64/sys/fs/fuse/fuse_vnops.c projects/arm64/sys/fs/msdosfs/msdosfs_vnops.c projects/arm64/sys/fs/nfs/nfs_commonsubs.c projects/arm64/sys/fs/nfs/nfs_var.h projects/arm64/sys/fs/nfs/nfsproto.h projects/arm64/sys/fs/nfsclient/nfs_clbio.c projects/arm64/sys/fs/nfsclient/nfs_clvfsops.c projects/arm64/sys/fs/nfsserver/nfs_nfsdkrpc.c projects/arm64/sys/fs/nfsserver/nfs_nfsdport.c projects/arm64/sys/fs/nfsserver/nfs_nfsdserv.c projects/arm64/sys/fs/nfsserver/nfs_nfsdstate.c projects/arm64/sys/fs/nfsserver/nfs_nfsdsubs.c projects/arm64/sys/fs/nullfs/null_vfsops.c projects/arm64/sys/fs/smbfs/smbfs_io.c projects/arm64/sys/fs/tmpfs/tmpfs_vfsops.c projects/arm64/sys/fs/unionfs/union_vfsops.c projects/arm64/sys/geom/bde/g_bde.c projects/arm64/sys/geom/bde/g_bde.h projects/arm64/sys/geom/eli/g_eli.c projects/arm64/sys/geom/geom_dev.c projects/arm64/sys/geom/geom_disk.c projects/arm64/sys/geom/geom_dump.c projects/arm64/sys/geom/geom_kern.c projects/arm64/sys/geom/geom_map.c projects/arm64/sys/geom/raid/g_raid.c projects/arm64/sys/geom/sched/g_sched.c projects/arm64/sys/gnu/fs/reiserfs/reiserfs_fs_i.h projects/arm64/sys/i386/conf/GENERIC projects/arm64/sys/i386/conf/NOTES projects/arm64/sys/i386/conf/XBOX projects/arm64/sys/i386/conf/XEN projects/arm64/sys/i386/i386/bios.c projects/arm64/sys/i386/i386/genassym.c projects/arm64/sys/i386/i386/initcpu.c projects/arm64/sys/i386/i386/locore.s projects/arm64/sys/i386/i386/machdep.c projects/arm64/sys/i386/i386/minidump_machdep.c projects/arm64/sys/i386/i386/mp_machdep.c projects/arm64/sys/i386/i386/pmap.c projects/arm64/sys/i386/i386/ptrace_machdep.c projects/arm64/sys/i386/i386/support.s projects/arm64/sys/i386/i386/sys_machdep.c projects/arm64/sys/i386/i386/trap.c projects/arm64/sys/i386/i386/vm86bios.s projects/arm64/sys/i386/i386/vm_machdep.c projects/arm64/sys/i386/ibcs2/ibcs2_misc.c projects/arm64/sys/i386/include/cpufunc.h projects/arm64/sys/i386/include/md_var.h projects/arm64/sys/i386/include/npx.h projects/arm64/sys/i386/include/pcb.h projects/arm64/sys/i386/include/pmap.h projects/arm64/sys/i386/include/xen/hypercall.h projects/arm64/sys/i386/isa/npx.c projects/arm64/sys/i386/linux/linux.h projects/arm64/sys/i386/linux/linux_machdep.c projects/arm64/sys/i386/linux/linux_proto.h projects/arm64/sys/i386/linux/linux_ptrace.c projects/arm64/sys/i386/linux/linux_syscall.h projects/arm64/sys/i386/linux/linux_syscalls.c projects/arm64/sys/i386/linux/linux_sysent.c projects/arm64/sys/i386/linux/linux_systrace_args.c projects/arm64/sys/i386/linux/linux_sysvec.c projects/arm64/sys/i386/linux/syscalls.master projects/arm64/sys/i386/svr4/svr4_machdep.c projects/arm64/sys/i386/xen/mp_machdep.c projects/arm64/sys/i386/xen/pmap.c projects/arm64/sys/i386/xen/xen_machdep.c projects/arm64/sys/kern/bus_if.m projects/arm64/sys/kern/imgact_elf.c projects/arm64/sys/kern/init_main.c projects/arm64/sys/kern/init_sysent.c projects/arm64/sys/kern/kern_clock.c projects/arm64/sys/kern/kern_cons.c projects/arm64/sys/kern/kern_cpuset.c projects/arm64/sys/kern/kern_descrip.c projects/arm64/sys/kern/kern_environment.c projects/arm64/sys/kern/kern_event.c projects/arm64/sys/kern/kern_exec.c projects/arm64/sys/kern/kern_exit.c projects/arm64/sys/kern/kern_ffclock.c projects/arm64/sys/kern/kern_intr.c projects/arm64/sys/kern/kern_jail.c projects/arm64/sys/kern/kern_linker.c projects/arm64/sys/kern/kern_lock.c projects/arm64/sys/kern/kern_loginclass.c projects/arm64/sys/kern/kern_malloc.c projects/arm64/sys/kern/kern_mbuf.c projects/arm64/sys/kern/kern_mib.c projects/arm64/sys/kern/kern_mutex.c projects/arm64/sys/kern/kern_poll.c projects/arm64/sys/kern/kern_proc.c projects/arm64/sys/kern/kern_prot.c projects/arm64/sys/kern/kern_racct.c projects/arm64/sys/kern/kern_resource.c projects/arm64/sys/kern/kern_rwlock.c projects/arm64/sys/kern/kern_shutdown.c projects/arm64/sys/kern/kern_sig.c projects/arm64/sys/kern/kern_sx.c projects/arm64/sys/kern/kern_synch.c projects/arm64/sys/kern/kern_syscalls.c projects/arm64/sys/kern/kern_sysctl.c projects/arm64/sys/kern/kern_thr.c projects/arm64/sys/kern/kern_timeout.c projects/arm64/sys/kern/kern_umtx.c projects/arm64/sys/kern/link_elf.c projects/arm64/sys/kern/link_elf_obj.c projects/arm64/sys/kern/sched_ule.c projects/arm64/sys/kern/subr_bus.c projects/arm64/sys/kern/subr_devstat.c projects/arm64/sys/kern/subr_hints.c projects/arm64/sys/kern/subr_kdb.c projects/arm64/sys/kern/subr_param.c projects/arm64/sys/kern/subr_prof.c projects/arm64/sys/kern/subr_terminal.c projects/arm64/sys/kern/subr_uio.c projects/arm64/sys/kern/subr_witness.c projects/arm64/sys/kern/sys_generic.c projects/arm64/sys/kern/sys_pipe.c projects/arm64/sys/kern/sys_procdesc.c projects/arm64/sys/kern/sys_process.c projects/arm64/sys/kern/sys_socket.c projects/arm64/sys/kern/syscalls.c projects/arm64/sys/kern/syscalls.master projects/arm64/sys/kern/sysv_msg.c projects/arm64/sys/kern/sysv_sem.c projects/arm64/sys/kern/sysv_shm.c projects/arm64/sys/kern/tty.c projects/arm64/sys/kern/tty_pts.c projects/arm64/sys/kern/uipc_debug.c projects/arm64/sys/kern/uipc_mqueue.c projects/arm64/sys/kern/uipc_sem.c projects/arm64/sys/kern/uipc_shm.c projects/arm64/sys/kern/uipc_sockbuf.c projects/arm64/sys/kern/uipc_socket.c projects/arm64/sys/kern/uipc_syscalls.c projects/arm64/sys/kern/uipc_usrreq.c projects/arm64/sys/kern/vfs_acl.c projects/arm64/sys/kern/vfs_aio.c projects/arm64/sys/kern/vfs_bio.c projects/arm64/sys/kern/vfs_cache.c projects/arm64/sys/kern/vfs_default.c projects/arm64/sys/kern/vfs_export.c projects/arm64/sys/kern/vfs_init.c projects/arm64/sys/kern/vfs_lookup.c projects/arm64/sys/kern/vfs_mountroot.c projects/arm64/sys/kern/vfs_subr.c projects/arm64/sys/kern/vfs_syscalls.c projects/arm64/sys/kern/vfs_vnops.c projects/arm64/sys/kern/vnode_if.src projects/arm64/sys/kgssapi/gss_impl.c projects/arm64/sys/libkern/memmem.c projects/arm64/sys/mips/adm5120/if_admsw.c projects/arm64/sys/mips/atheros/ar71xx_gpio.c projects/arm64/sys/mips/atheros/ar71xx_machdep.c projects/arm64/sys/mips/atheros/ar724x_pci.c projects/arm64/sys/mips/atheros/if_arge.c projects/arm64/sys/mips/beri/beri_machdep.c projects/arm64/sys/mips/beri/beri_simplebus.c projects/arm64/sys/mips/cavium/ciu.c projects/arm64/sys/mips/cavium/if_octm.c projects/arm64/sys/mips/cavium/octe/ethernet-mdio.c projects/arm64/sys/mips/cavium/octe/ethernet-rx.c projects/arm64/sys/mips/cavium/octe/ethernet-tx.c projects/arm64/sys/mips/cavium/octeon_ds1337.c projects/arm64/sys/mips/cavium/octeon_gpio.c projects/arm64/sys/mips/conf/GXEMUL projects/arm64/sys/mips/conf/GXEMUL32 projects/arm64/sys/mips/conf/OCTEON1 projects/arm64/sys/mips/conf/PICOSTATION_M2HP.hints projects/arm64/sys/mips/conf/WZR-300HP projects/arm64/sys/mips/conf/WZR-300HP.hints projects/arm64/sys/mips/idt/if_kr.c projects/arm64/sys/mips/include/md_var.h projects/arm64/sys/mips/include/param.h projects/arm64/sys/mips/include/sf_buf.h projects/arm64/sys/mips/include/vmparam.h projects/arm64/sys/mips/mips/busdma_machdep.c projects/arm64/sys/mips/mips/dump_machdep.c projects/arm64/sys/mips/mips/machdep.c projects/arm64/sys/mips/mips/minidump_machdep.c projects/arm64/sys/mips/nlm/dev/net/xlpge.c projects/arm64/sys/mips/nlm/xlp_machdep.c projects/arm64/sys/mips/rmi/dev/nlge/if_nlge.c projects/arm64/sys/mips/rmi/dev/xlr/rge.c projects/arm64/sys/mips/rmi/rootfs_list.txt projects/arm64/sys/mips/rmi/xlr_machdep.c projects/arm64/sys/mips/rt305x/rt305x_gpio.c projects/arm64/sys/mips/rt305x/rt305x_machdep.c projects/arm64/sys/modules/Makefile projects/arm64/sys/modules/bce/Makefile projects/arm64/sys/modules/bxe/Makefile projects/arm64/sys/modules/drm2/drm2/Makefile projects/arm64/sys/modules/drm2/i915kms/Makefile projects/arm64/sys/modules/dtrace/dtraceall/dtraceall.c projects/arm64/sys/modules/fdc/Makefile projects/arm64/sys/modules/hyperv/utilities/Makefile projects/arm64/sys/modules/i2c/controllers/alpm/Makefile projects/arm64/sys/modules/i2c/controllers/amdpm/Makefile projects/arm64/sys/modules/i2c/controllers/amdsmb/Makefile projects/arm64/sys/modules/i2c/controllers/intpm/Makefile projects/arm64/sys/modules/i2c/controllers/nfsmb/Makefile projects/arm64/sys/modules/i2c/controllers/viapm/Makefile projects/arm64/sys/modules/if_gif/Makefile projects/arm64/sys/modules/if_gre/Makefile projects/arm64/sys/modules/ipfw/Makefile projects/arm64/sys/modules/ixgbe/Makefile projects/arm64/sys/modules/ixlv/Makefile projects/arm64/sys/modules/linux/Makefile projects/arm64/sys/modules/mlx4/Makefile projects/arm64/sys/modules/mlxen/Makefile projects/arm64/sys/modules/mrsas/Makefile projects/arm64/sys/modules/netmap/Makefile projects/arm64/sys/modules/qlxgb/Makefile projects/arm64/sys/modules/qlxgbe/Makefile projects/arm64/sys/modules/qlxge/Makefile projects/arm64/sys/modules/random/Makefile projects/arm64/sys/modules/rl/Makefile projects/arm64/sys/modules/sound/sound/Makefile projects/arm64/sys/modules/svr4/Makefile projects/arm64/sys/modules/virtio/Makefile projects/arm64/sys/modules/vmm/Makefile projects/arm64/sys/modules/zfs/Makefile projects/arm64/sys/net/bpf.c projects/arm64/sys/net/ethernet.h projects/arm64/sys/net/flowtable.c projects/arm64/sys/net/ieee8023ad_lacp.c projects/arm64/sys/net/ieee8023ad_lacp.h projects/arm64/sys/net/if.c projects/arm64/sys/net/if_arcsubr.c projects/arm64/sys/net/if_arp.h projects/arm64/sys/net/if_atmsubr.c projects/arm64/sys/net/if_bridge.c projects/arm64/sys/net/if_clone.c projects/arm64/sys/net/if_clone.h projects/arm64/sys/net/if_debug.c projects/arm64/sys/net/if_disc.c projects/arm64/sys/net/if_edsc.c projects/arm64/sys/net/if_enc.c projects/arm64/sys/net/if_epair.c projects/arm64/sys/net/if_ethersubr.c projects/arm64/sys/net/if_fddisubr.c projects/arm64/sys/net/if_fwsubr.c projects/arm64/sys/net/if_gif.c projects/arm64/sys/net/if_gif.h projects/arm64/sys/net/if_gre.c projects/arm64/sys/net/if_gre.h projects/arm64/sys/net/if_iso88025subr.c projects/arm64/sys/net/if_lagg.c projects/arm64/sys/net/if_lagg.h projects/arm64/sys/net/if_loop.c projects/arm64/sys/net/if_mib.c projects/arm64/sys/net/if_spppfr.c projects/arm64/sys/net/if_spppsubr.c projects/arm64/sys/net/if_stf.c projects/arm64/sys/net/if_tap.c projects/arm64/sys/net/if_tun.c projects/arm64/sys/net/if_types.h projects/arm64/sys/net/if_var.h projects/arm64/sys/net/if_vlan.c projects/arm64/sys/net/if_vlan_var.h projects/arm64/sys/net/ifq.h projects/arm64/sys/net/netisr.h projects/arm64/sys/net/netmap_user.h projects/arm64/sys/net/radix.c projects/arm64/sys/net/route.c projects/arm64/sys/net/route.h projects/arm64/sys/net/rtsock.c projects/arm64/sys/net/vnet.h projects/arm64/sys/net80211/ieee80211.c projects/arm64/sys/net80211/ieee80211_adhoc.c projects/arm64/sys/net80211/ieee80211_hostap.c projects/arm64/sys/net80211/ieee80211_ht.c projects/arm64/sys/net80211/ieee80211_hwmp.c projects/arm64/sys/net80211/ieee80211_input.c projects/arm64/sys/net80211/ieee80211_mesh.c projects/arm64/sys/net80211/ieee80211_monitor.c projects/arm64/sys/net80211/ieee80211_output.c projects/arm64/sys/net80211/ieee80211_sta.c projects/arm64/sys/net80211/ieee80211_superg.c projects/arm64/sys/net80211/ieee80211_wds.c projects/arm64/sys/netgraph/bluetooth/common/ng_bluetooth.c projects/arm64/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c projects/arm64/sys/netgraph/bluetooth/drivers/h4/ng_h4.c projects/arm64/sys/netgraph/bluetooth/include/ng_btsocket_l2cap.h projects/arm64/sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h projects/arm64/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c projects/arm64/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c projects/arm64/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c projects/arm64/sys/netgraph/ng_base.c projects/arm64/sys/netgraph/ng_bridge.c projects/arm64/sys/netgraph/ng_device.c projects/arm64/sys/netgraph/ng_eiface.c projects/arm64/sys/netgraph/ng_ether.c projects/arm64/sys/netgraph/ng_frame_relay.c projects/arm64/sys/netgraph/ng_iface.c projects/arm64/sys/netgraph/ng_ipfw.c projects/arm64/sys/netgraph/ng_ppp.c projects/arm64/sys/netgraph/ng_socket.c projects/arm64/sys/netgraph/ng_sppp.c projects/arm64/sys/netgraph/ng_tty.c projects/arm64/sys/netinet/accf_dns.c projects/arm64/sys/netinet/accf_http.c projects/arm64/sys/netinet/cc/cc.c projects/arm64/sys/netinet/cc/cc_cdg.c projects/arm64/sys/netinet/cc/cc_chd.c projects/arm64/sys/netinet/cc/cc_hd.c projects/arm64/sys/netinet/cc/cc_htcp.c projects/arm64/sys/netinet/cc/cc_vegas.c projects/arm64/sys/netinet/if_ether.c projects/arm64/sys/netinet/igmp.c projects/arm64/sys/netinet/in.c projects/arm64/sys/netinet/in.h projects/arm64/sys/netinet/in_gif.c projects/arm64/sys/netinet/in_gif.h projects/arm64/sys/netinet/in_mcast.c projects/arm64/sys/netinet/in_pcb.c projects/arm64/sys/netinet/in_pcb.h projects/arm64/sys/netinet/in_pcbgroup.c projects/arm64/sys/netinet/in_proto.c projects/arm64/sys/netinet/in_rmx.c projects/arm64/sys/netinet/in_rss.c projects/arm64/sys/netinet/in_rss.h projects/arm64/sys/netinet/in_var.h projects/arm64/sys/netinet/ip6.h projects/arm64/sys/netinet/ip_carp.c projects/arm64/sys/netinet/ip_divert.c projects/arm64/sys/netinet/ip_fastfwd.c projects/arm64/sys/netinet/ip_fw.h projects/arm64/sys/netinet/ip_gre.c projects/arm64/sys/netinet/ip_icmp.c projects/arm64/sys/netinet/ip_input.c projects/arm64/sys/netinet/ip_ipsec.c projects/arm64/sys/netinet/ip_mroute.c projects/arm64/sys/netinet/ip_options.c projects/arm64/sys/netinet/ip_options.h projects/arm64/sys/netinet/ip_output.c projects/arm64/sys/netinet/ip_var.h projects/arm64/sys/netinet/raw_ip.c projects/arm64/sys/netinet/sctp_asconf.c projects/arm64/sys/netinet/sctp_auth.c projects/arm64/sys/netinet/sctp_auth.h projects/arm64/sys/netinet/sctp_cc_functions.c projects/arm64/sys/netinet/sctp_constants.h projects/arm64/sys/netinet/sctp_header.h projects/arm64/sys/netinet/sctp_input.c projects/arm64/sys/netinet/sctp_input.h projects/arm64/sys/netinet/sctp_os_bsd.h projects/arm64/sys/netinet/sctp_output.c projects/arm64/sys/netinet/sctp_output.h projects/arm64/sys/netinet/sctp_pcb.c projects/arm64/sys/netinet/sctp_structs.h projects/arm64/sys/netinet/sctp_sysctl.c projects/arm64/sys/netinet/sctp_sysctl.h projects/arm64/sys/netinet/sctp_usrreq.c projects/arm64/sys/netinet/sctputil.c projects/arm64/sys/netinet/siftr.c projects/arm64/sys/netinet/tcp_hostcache.c projects/arm64/sys/netinet/tcp_hostcache.h projects/arm64/sys/netinet/tcp_input.c projects/arm64/sys/netinet/tcp_output.c projects/arm64/sys/netinet/tcp_sack.c projects/arm64/sys/netinet/tcp_subr.c projects/arm64/sys/netinet/tcp_syncache.c projects/arm64/sys/netinet/tcp_timer.c projects/arm64/sys/netinet/tcp_timer.h projects/arm64/sys/netinet/tcp_timewait.c projects/arm64/sys/netinet/tcp_usrreq.c projects/arm64/sys/netinet/tcp_var.h projects/arm64/sys/netinet/toecore.c projects/arm64/sys/netinet/udp_usrreq.c projects/arm64/sys/netinet/udp_var.h projects/arm64/sys/netinet6/frag6.c projects/arm64/sys/netinet6/icmp6.c projects/arm64/sys/netinet6/in6.c projects/arm64/sys/netinet6/in6.h projects/arm64/sys/netinet6/in6_cksum.c projects/arm64/sys/netinet6/in6_gif.c projects/arm64/sys/netinet6/in6_gif.h projects/arm64/sys/netinet6/in6_ifattach.c projects/arm64/sys/netinet6/in6_mcast.c projects/arm64/sys/netinet6/in6_pcb.c projects/arm64/sys/netinet6/in6_pcb.h projects/arm64/sys/netinet6/in6_proto.c projects/arm64/sys/netinet6/in6_rmx.c projects/arm64/sys/netinet6/in6_src.c projects/arm64/sys/netinet6/in6_var.h projects/arm64/sys/netinet6/ip6_forward.c projects/arm64/sys/netinet6/ip6_input.c projects/arm64/sys/netinet6/ip6_ipsec.c projects/arm64/sys/netinet6/ip6_mroute.c projects/arm64/sys/netinet6/ip6_output.c projects/arm64/sys/netinet6/ip6_var.h projects/arm64/sys/netinet6/mld6.c projects/arm64/sys/netinet6/nd6.c projects/arm64/sys/netinet6/nd6.h projects/arm64/sys/netinet6/nd6_nbr.c projects/arm64/sys/netinet6/raw_ip6.c projects/arm64/sys/netinet6/scope6.c projects/arm64/sys/netinet6/scope6_var.h projects/arm64/sys/netinet6/sctp6_usrreq.c projects/arm64/sys/netinet6/udp6_usrreq.c projects/arm64/sys/netipsec/ipsec.c projects/arm64/sys/netipsec/ipsec.h projects/arm64/sys/netipsec/ipsec_input.c projects/arm64/sys/netipsec/ipsec_output.c projects/arm64/sys/netipsec/key.c projects/arm64/sys/netipsec/key.h projects/arm64/sys/netipsec/xform_ah.c projects/arm64/sys/netipsec/xform_esp.c projects/arm64/sys/netipsec/xform_ipcomp.c projects/arm64/sys/netipsec/xform_ipip.c projects/arm64/sys/netpfil/ipfw/ip_dn_io.c projects/arm64/sys/netpfil/ipfw/ip_dummynet.c projects/arm64/sys/netpfil/ipfw/ip_fw2.c projects/arm64/sys/netpfil/ipfw/ip_fw_dynamic.c projects/arm64/sys/netpfil/ipfw/ip_fw_log.c projects/arm64/sys/netpfil/ipfw/ip_fw_nat.c projects/arm64/sys/netpfil/ipfw/ip_fw_pfil.c projects/arm64/sys/netpfil/ipfw/ip_fw_private.h projects/arm64/sys/netpfil/ipfw/ip_fw_sockopt.c projects/arm64/sys/netpfil/ipfw/ip_fw_table.c projects/arm64/sys/netpfil/pf/if_pflog.c projects/arm64/sys/netpfil/pf/if_pfsync.c projects/arm64/sys/netpfil/pf/pf.c projects/arm64/sys/netpfil/pf/pf_ioctl.c projects/arm64/sys/netpfil/pf/pf_table.c projects/arm64/sys/nfs/bootp_subr.c projects/arm64/sys/nfs/nfs_diskless.c projects/arm64/sys/nfs/nfs_nfssvc.c projects/arm64/sys/nfsclient/nfs_bio.c projects/arm64/sys/nfsclient/nfs_vfsops.c projects/arm64/sys/nlm/nlm_prot_impl.c projects/arm64/sys/ofed/drivers/infiniband/core/addr.c projects/arm64/sys/ofed/drivers/infiniband/core/agent.c projects/arm64/sys/ofed/drivers/infiniband/core/ucm.c projects/arm64/sys/ofed/drivers/infiniband/core/uverbs_main.c projects/arm64/sys/ofed/drivers/infiniband/hw/mlx4/ah.c projects/arm64/sys/ofed/drivers/infiniband/hw/mlx4/mad.c projects/arm64/sys/ofed/drivers/infiniband/hw/mlx4/main.c projects/arm64/sys/ofed/drivers/infiniband/hw/mlx4/qp.c projects/arm64/sys/ofed/drivers/infiniband/hw/mthca/mthca_config_reg.h projects/arm64/sys/ofed/drivers/infiniband/hw/mthca/mthca_memfree.c projects/arm64/sys/ofed/drivers/infiniband/hw/mthca/mthca_uar.c projects/arm64/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c projects/arm64/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c projects/arm64/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c projects/arm64/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c projects/arm64/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c projects/arm64/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_verbs.c projects/arm64/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c projects/arm64/sys/ofed/drivers/infiniband/ulp/sdp/sdp_rx.c projects/arm64/sys/ofed/drivers/net/mlx4/Makefile projects/arm64/sys/ofed/drivers/net/mlx4/alloc.c projects/arm64/sys/ofed/drivers/net/mlx4/catas.c projects/arm64/sys/ofed/drivers/net/mlx4/cmd.c projects/arm64/sys/ofed/drivers/net/mlx4/cq.c projects/arm64/sys/ofed/drivers/net/mlx4/en_cq.c projects/arm64/sys/ofed/drivers/net/mlx4/en_ethtool.c projects/arm64/sys/ofed/drivers/net/mlx4/en_main.c projects/arm64/sys/ofed/drivers/net/mlx4/en_netdev.c projects/arm64/sys/ofed/drivers/net/mlx4/en_port.c projects/arm64/sys/ofed/drivers/net/mlx4/en_port.h projects/arm64/sys/ofed/drivers/net/mlx4/en_resources.c projects/arm64/sys/ofed/drivers/net/mlx4/en_rx.c projects/arm64/sys/ofed/drivers/net/mlx4/en_selftest.c projects/arm64/sys/ofed/drivers/net/mlx4/en_tx.c projects/arm64/sys/ofed/drivers/net/mlx4/eq.c projects/arm64/sys/ofed/drivers/net/mlx4/fw.c projects/arm64/sys/ofed/drivers/net/mlx4/fw.h projects/arm64/sys/ofed/drivers/net/mlx4/icm.c projects/arm64/sys/ofed/drivers/net/mlx4/icm.h projects/arm64/sys/ofed/drivers/net/mlx4/intf.c projects/arm64/sys/ofed/drivers/net/mlx4/main.c projects/arm64/sys/ofed/drivers/net/mlx4/mcg.c projects/arm64/sys/ofed/drivers/net/mlx4/mlx4.h projects/arm64/sys/ofed/drivers/net/mlx4/mlx4_en.h projects/arm64/sys/ofed/drivers/net/mlx4/mr.c projects/arm64/sys/ofed/drivers/net/mlx4/pd.c projects/arm64/sys/ofed/drivers/net/mlx4/port.c projects/arm64/sys/ofed/drivers/net/mlx4/profile.c projects/arm64/sys/ofed/drivers/net/mlx4/qp.c projects/arm64/sys/ofed/drivers/net/mlx4/reset.c projects/arm64/sys/ofed/drivers/net/mlx4/resource_tracker.c projects/arm64/sys/ofed/drivers/net/mlx4/sense.c projects/arm64/sys/ofed/drivers/net/mlx4/srq.c projects/arm64/sys/ofed/drivers/net/mlx4/sys_tune.c projects/arm64/sys/ofed/include/linux/completion.h projects/arm64/sys/ofed/include/linux/etherdevice.h projects/arm64/sys/ofed/include/linux/linux_compat.c projects/arm64/sys/ofed/include/linux/mlx4/cmd.h projects/arm64/sys/ofed/include/linux/mlx4/cq.h projects/arm64/sys/ofed/include/linux/mlx4/device.h projects/arm64/sys/ofed/include/linux/mlx4/driver.h projects/arm64/sys/ofed/include/linux/mlx4/qp.h projects/arm64/sys/ofed/include/linux/mlx4/srq.h projects/arm64/sys/ofed/include/linux/netdevice.h projects/arm64/sys/ofed/include/linux/scatterlist.h projects/arm64/sys/ofed/include/linux/vmalloc.h projects/arm64/sys/ofed/include/rdma/ib_addr.h projects/arm64/sys/ofed/include/rdma/ib_smi.h projects/arm64/sys/ofed/include/rdma/ib_user_cm.h projects/arm64/sys/opencrypto/cryptodev.c projects/arm64/sys/pc98/cbus/olpt.c projects/arm64/sys/pc98/cbus/pckbd.c projects/arm64/sys/pc98/conf/GENERIC projects/arm64/sys/powerpc/aim/locore64.S projects/arm64/sys/powerpc/aim/machdep.c projects/arm64/sys/powerpc/booke/machdep.c projects/arm64/sys/powerpc/conf/GENERIC projects/arm64/sys/powerpc/conf/GENERIC64 projects/arm64/sys/powerpc/conf/NOTES projects/arm64/sys/powerpc/conf/WII projects/arm64/sys/powerpc/ofw/ofw_pcibus.c projects/arm64/sys/powerpc/powermac/fcu.c projects/arm64/sys/powerpc/powermac/pmu.c projects/arm64/sys/powerpc/powermac/smu.c projects/arm64/sys/powerpc/powerpc/busdma_machdep.c projects/arm64/sys/powerpc/powerpc/copyinout.c projects/arm64/sys/powerpc/powerpc/cpu.c projects/arm64/sys/powerpc/powerpc/intr_machdep.c projects/arm64/sys/powerpc/ps3/if_glc.c projects/arm64/sys/powerpc/ps3/ps3_syscons.c projects/arm64/sys/powerpc/pseries/phyp_llan.c projects/arm64/sys/powerpc/pseries/vdevice.c projects/arm64/sys/powerpc/wii/wii_gpio.c projects/arm64/sys/rpc/clnt_vc.c projects/arm64/sys/rpc/svc_vc.c projects/arm64/sys/sparc64/conf/GENERIC projects/arm64/sys/sparc64/include/param.h projects/arm64/sys/sparc64/sparc64/intr_machdep.c projects/arm64/sys/sparc64/sparc64/machdep.c projects/arm64/sys/sparc64/sparc64/mem.c projects/arm64/sys/sparc64/sparc64/support.S projects/arm64/sys/sys/_umtx.h projects/arm64/sys/sys/ata.h projects/arm64/sys/sys/bitset.h projects/arm64/sys/sys/buf_ring.h projects/arm64/sys/sys/bus.h projects/arm64/sys/sys/cdefs.h projects/arm64/sys/sys/conf.h projects/arm64/sys/sys/consio.h projects/arm64/sys/sys/cpuset.h projects/arm64/sys/sys/disk.h projects/arm64/sys/sys/domain.h projects/arm64/sys/sys/elf_common.h projects/arm64/sys/sys/event.h projects/arm64/sys/sys/fdcio.h projects/arm64/sys/sys/file.h projects/arm64/sys/sys/filedesc.h projects/arm64/sys/sys/hash.h projects/arm64/sys/sys/interrupt.h projects/arm64/sys/sys/ksem.h projects/arm64/sys/sys/linker.h projects/arm64/sys/sys/lockmgr.h projects/arm64/sys/sys/mbuf.h projects/arm64/sys/sys/mman.h projects/arm64/sys/sys/mount.h projects/arm64/sys/sys/param.h projects/arm64/sys/sys/priv.h projects/arm64/sys/sys/proc.h projects/arm64/sys/sys/protosw.h projects/arm64/sys/sys/racct.h projects/arm64/sys/sys/random.h projects/arm64/sys/sys/sleepqueue.h projects/arm64/sys/sys/sockbuf.h projects/arm64/sys/sys/socket.h projects/arm64/sys/sys/socketvar.h projects/arm64/sys/sys/syscall.h projects/arm64/sys/sys/syscall.mk projects/arm64/sys/sys/syscallsubr.h projects/arm64/sys/sys/sysctl.h projects/arm64/sys/sys/sysent.h projects/arm64/sys/sys/sysproto.h projects/arm64/sys/sys/systm.h projects/arm64/sys/sys/terminal.h projects/arm64/sys/sys/timex.h projects/arm64/sys/sys/ucred.h projects/arm64/sys/sys/umtx.h projects/arm64/sys/sys/user.h projects/arm64/sys/sys/vnode.h projects/arm64/sys/ufs/ffs/ffs_softdep.c projects/arm64/sys/ufs/ffs/ffs_vfsops.c projects/arm64/sys/ufs/ffs/ffs_vnops.c projects/arm64/sys/ufs/ufs/dir.h projects/arm64/sys/ufs/ufs/ufs_quota.c projects/arm64/sys/vm/default_pager.c projects/arm64/sys/vm/memguard.c projects/arm64/sys/vm/swap_pager.c projects/arm64/sys/vm/uma_core.c projects/arm64/sys/vm/vm_fault.c projects/arm64/sys/vm/vm_glue.c projects/arm64/sys/vm/vm_kern.c projects/arm64/sys/vm/vm_map.c projects/arm64/sys/vm/vm_map.h projects/arm64/sys/vm/vm_mmap.c projects/arm64/sys/vm/vm_object.h projects/arm64/sys/vm/vm_page.c projects/arm64/sys/vm/vm_pageout.c projects/arm64/sys/vm/vm_pager.c projects/arm64/sys/vm/vm_pager.h projects/arm64/sys/vm/vm_reserv.c projects/arm64/sys/vm/vnode_pager.c projects/arm64/sys/vm/vnode_pager.h projects/arm64/sys/x86/acpica/acpi_wakeup.c projects/arm64/sys/x86/acpica/srat.c projects/arm64/sys/x86/include/fpu.h projects/arm64/sys/x86/include/init.h projects/arm64/sys/x86/include/specialreg.h projects/arm64/sys/x86/iommu/busdma_dmar.c projects/arm64/sys/x86/isa/orm.c projects/arm64/sys/x86/x86/busdma_bounce.c projects/arm64/sys/x86/x86/dump_machdep.c projects/arm64/sys/x86/x86/identcpu.c projects/arm64/sys/x86/x86/intr_machdep.c projects/arm64/sys/x86/x86/local_apic.c projects/arm64/sys/x86/x86/tsc.c projects/arm64/sys/x86/xen/hvm.c projects/arm64/sys/x86/xen/pv.c projects/arm64/sys/x86/xen/xen_intr.c projects/arm64/sys/x86/xen/xen_nexus.c projects/arm64/sys/xen/interface/memory.h projects/arm64/sys/xen/interface/physdev.h projects/arm64/sys/xen/interface/xen.h projects/arm64/sys/xen/xen_intr.h projects/arm64/sys/xen/xenstore/xenstore_internal.h projects/arm64/tests/sys/Makefile projects/arm64/tests/sys/kern/unix_seqpacket_test.c projects/arm64/tests/sys/netinet/Makefile projects/arm64/tests/sys/netinet/fibs_test.sh projects/arm64/tools/build/mk/OptionalObsoleteFiles.inc projects/arm64/tools/build/options/WITHOUT_CLANG_BOOTSTRAP projects/arm64/tools/build/options/WITHOUT_GCC_BOOTSTRAP projects/arm64/tools/build/options/WITHOUT_GNU_GREP_COMPAT projects/arm64/tools/build/options/WITHOUT_RCS projects/arm64/tools/build/options/WITHOUT_TOOLCHAIN projects/arm64/tools/make_libdeps.sh projects/arm64/tools/regression/acltools/01.t projects/arm64/tools/regression/acltools/03.t projects/arm64/tools/regression/acltools/04.t projects/arm64/tools/regression/lib/libc/nss/test-gethostby.c projects/arm64/tools/regression/lib/msun/test-cexp.c projects/arm64/tools/regression/lib/msun/test-conj.c projects/arm64/tools/regression/lib/msun/test-csqrt.c projects/arm64/tools/regression/lib/msun/test-invctrig.c projects/arm64/tools/regression/zfs/misc.sh projects/arm64/tools/regression/zfs/zpool/add/files.t projects/arm64/tools/regression/zfs/zpool/add/option-f_size_mismatch.t projects/arm64/tools/regression/zfs/zpool/add/option-f_type_mismatch.t projects/arm64/tools/regression/zfs/zpool/create/files.t projects/arm64/tools/sched/schedgraph.py projects/arm64/tools/test/dtrace/Makefile projects/arm64/tools/tools/ath/athalq/ar9300_ds.c projects/arm64/tools/tools/bootparttest/Makefile projects/arm64/tools/tools/bootparttest/bootparttest.c projects/arm64/tools/tools/cxgbetool/cxgbetool.c projects/arm64/tools/tools/nanobsd/pcengines/ALIX_DSK projects/arm64/tools/tools/nanobsd/pcengines/ALIX_NFS projects/arm64/tools/tools/netmap/pkt-gen.c projects/arm64/tools/tools/sysbuild/sysbuild.sh projects/arm64/tools/tools/sysdoc/tunables.mdoc projects/arm64/tools/tools/tinybsd/conf/default/TINYBSD projects/arm64/tools/tools/tinybsd/conf/vpn/TINYBSD projects/arm64/tools/tools/tinybsd/conf/wrap/TINYBSD projects/arm64/usr.bin/Makefile projects/arm64/usr.bin/at/at.c projects/arm64/usr.bin/basename/Makefile projects/arm64/usr.bin/bluetooth/rfcomm_sppd/Makefile projects/arm64/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.1 projects/arm64/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.c projects/arm64/usr.bin/calendar/calendars/calendar.freebsd projects/arm64/usr.bin/cmp/Makefile projects/arm64/usr.bin/col/col.c projects/arm64/usr.bin/cut/Makefile projects/arm64/usr.bin/dirname/Makefile projects/arm64/usr.bin/elfdump/elfdump.1 projects/arm64/usr.bin/find/function.c projects/arm64/usr.bin/ftp/Makefile projects/arm64/usr.bin/grep/Makefile projects/arm64/usr.bin/grep/regex/tre-fastmatch.c projects/arm64/usr.bin/gzip/Makefile projects/arm64/usr.bin/gzip/gzip.1 projects/arm64/usr.bin/gzip/gzip.c projects/arm64/usr.bin/gzip/zmore projects/arm64/usr.bin/gzip/zmore.1 projects/arm64/usr.bin/hexdump/hexdump.1 projects/arm64/usr.bin/iconv/Makefile projects/arm64/usr.bin/id/Makefile projects/arm64/usr.bin/iscsictl/Makefile projects/arm64/usr.bin/iscsictl/iscsictl.8 projects/arm64/usr.bin/iscsictl/iscsictl.c projects/arm64/usr.bin/iscsictl/token.l projects/arm64/usr.bin/kdump/kdump.c projects/arm64/usr.bin/kdump/mksubr projects/arm64/usr.bin/man/man.1 projects/arm64/usr.bin/mkimg/Makefile projects/arm64/usr.bin/mkimg/apm.c projects/arm64/usr.bin/mkimg/bsd.c projects/arm64/usr.bin/mkimg/ebr.c projects/arm64/usr.bin/mkimg/gpt.c projects/arm64/usr.bin/mkimg/image.c projects/arm64/usr.bin/mkimg/mbr.c projects/arm64/usr.bin/mkimg/mkimg.1 projects/arm64/usr.bin/mkimg/mkimg.c projects/arm64/usr.bin/mkimg/mkimg.h projects/arm64/usr.bin/mkimg/pc98.c projects/arm64/usr.bin/mkimg/scheme.c projects/arm64/usr.bin/mkimg/scheme.h projects/arm64/usr.bin/mkimg/vhd.c projects/arm64/usr.bin/mkimg/vtoc8.c projects/arm64/usr.bin/netstat/inet6.c projects/arm64/usr.bin/rctl/rctl.8 projects/arm64/usr.bin/sort/sort.c projects/arm64/usr.bin/systat/ifstat.c projects/arm64/usr.bin/timeout/Makefile projects/arm64/usr.bin/timeout/timeout.1 projects/arm64/usr.bin/timeout/timeout.c projects/arm64/usr.bin/top/machine.c projects/arm64/usr.bin/truss/arm-fbsd.c projects/arm64/usr.bin/truss/syscall.h projects/arm64/usr.bin/truss/syscalls.c projects/arm64/usr.bin/vmstat/vmstat.c projects/arm64/usr.bin/w/Makefile projects/arm64/usr.bin/w/pr_time.c projects/arm64/usr.bin/w/w.1 projects/arm64/usr.bin/w/w.c projects/arm64/usr.bin/wc/Makefile projects/arm64/usr.bin/wc/wc.1 projects/arm64/usr.bin/wc/wc.c projects/arm64/usr.bin/xinstall/xinstall.c projects/arm64/usr.sbin/Makefile projects/arm64/usr.sbin/Makefile.amd64 projects/arm64/usr.sbin/Makefile.i386 projects/arm64/usr.sbin/acpi/acpiconf/Makefile projects/arm64/usr.sbin/acpi/acpidb/Makefile projects/arm64/usr.sbin/acpi/acpidb/acpidb.c projects/arm64/usr.sbin/acpi/acpidump/Makefile projects/arm64/usr.sbin/acpi/acpidump/acpi.c projects/arm64/usr.sbin/acpi/iasl/Makefile projects/arm64/usr.sbin/autofs/automountd.c projects/arm64/usr.sbin/autofs/common.c projects/arm64/usr.sbin/autofs/common.h projects/arm64/usr.sbin/autofs/token.l projects/arm64/usr.sbin/bhyve/Makefile projects/arm64/usr.sbin/bhyve/acpi.c projects/arm64/usr.sbin/bhyve/bhyve.8 projects/arm64/usr.sbin/bhyve/bhyverun.c projects/arm64/usr.sbin/bhyve/block_if.c projects/arm64/usr.sbin/bhyve/pci_ahci.c projects/arm64/usr.sbin/bhyve/pci_virtio_block.c projects/arm64/usr.sbin/bhyve/pci_virtio_net.c projects/arm64/usr.sbin/bhyve/pci_virtio_rnd.c projects/arm64/usr.sbin/bhyve/rtc.c projects/arm64/usr.sbin/bhyve/smbiostbl.c projects/arm64/usr.sbin/bhyve/virtio.c projects/arm64/usr.sbin/bhyve/virtio.h projects/arm64/usr.sbin/bhyve/xmsr.c projects/arm64/usr.sbin/bhyve/xmsr.h projects/arm64/usr.sbin/bhyvectl/bhyvectl.c projects/arm64/usr.sbin/bsdconfig/Makefile projects/arm64/usr.sbin/bsdconfig/console/Makefile projects/arm64/usr.sbin/bsdconfig/console/include/Makefile projects/arm64/usr.sbin/bsdconfig/diskmgmt/Makefile projects/arm64/usr.sbin/bsdconfig/diskmgmt/include/Makefile projects/arm64/usr.sbin/bsdconfig/docsinstall/Makefile projects/arm64/usr.sbin/bsdconfig/docsinstall/include/Makefile projects/arm64/usr.sbin/bsdconfig/dot/Makefile projects/arm64/usr.sbin/bsdconfig/dot/include/Makefile projects/arm64/usr.sbin/bsdconfig/examples/Makefile projects/arm64/usr.sbin/bsdconfig/include/Makefile projects/arm64/usr.sbin/bsdconfig/includes/Makefile projects/arm64/usr.sbin/bsdconfig/includes/include/Makefile projects/arm64/usr.sbin/bsdconfig/includes/includes projects/arm64/usr.sbin/bsdconfig/mouse/Makefile projects/arm64/usr.sbin/bsdconfig/mouse/include/Makefile projects/arm64/usr.sbin/bsdconfig/networking/Makefile projects/arm64/usr.sbin/bsdconfig/networking/include/Makefile projects/arm64/usr.sbin/bsdconfig/networking/share/Makefile projects/arm64/usr.sbin/bsdconfig/networking/share/device.subr projects/arm64/usr.sbin/bsdconfig/packages/Makefile projects/arm64/usr.sbin/bsdconfig/packages/include/Makefile projects/arm64/usr.sbin/bsdconfig/password/Makefile projects/arm64/usr.sbin/bsdconfig/password/include/Makefile projects/arm64/usr.sbin/bsdconfig/password/share/Makefile projects/arm64/usr.sbin/bsdconfig/security/Makefile projects/arm64/usr.sbin/bsdconfig/security/include/Makefile projects/arm64/usr.sbin/bsdconfig/share/Makefile projects/arm64/usr.sbin/bsdconfig/share/device.subr projects/arm64/usr.sbin/bsdconfig/share/media/Makefile projects/arm64/usr.sbin/bsdconfig/share/packages/Makefile projects/arm64/usr.sbin/bsdconfig/share/packages/index.subr projects/arm64/usr.sbin/bsdconfig/startup/Makefile projects/arm64/usr.sbin/bsdconfig/startup/include/Makefile projects/arm64/usr.sbin/bsdconfig/startup/share/Makefile projects/arm64/usr.sbin/bsdconfig/timezone/Makefile projects/arm64/usr.sbin/bsdconfig/timezone/include/Makefile projects/arm64/usr.sbin/bsdconfig/timezone/share/Makefile projects/arm64/usr.sbin/bsdconfig/timezone/timezone projects/arm64/usr.sbin/bsdconfig/ttys/Makefile projects/arm64/usr.sbin/bsdconfig/ttys/include/Makefile projects/arm64/usr.sbin/bsdconfig/usermgmt/Makefile projects/arm64/usr.sbin/bsdconfig/usermgmt/include/Makefile projects/arm64/usr.sbin/bsdconfig/usermgmt/share/Makefile projects/arm64/usr.sbin/bsdinstall/bsdinstall.8 projects/arm64/usr.sbin/bsdinstall/distextract/distextract.c projects/arm64/usr.sbin/bsdinstall/distfetch/distfetch.c projects/arm64/usr.sbin/bsdinstall/partedit/gpart_ops.c projects/arm64/usr.sbin/bsdinstall/partedit/part_wizard.c projects/arm64/usr.sbin/bsdinstall/partedit/partedit.c projects/arm64/usr.sbin/bsdinstall/partedit/partedit.h projects/arm64/usr.sbin/bsdinstall/partedit/partedit_generic.c projects/arm64/usr.sbin/bsdinstall/partedit/partedit_pc98.c projects/arm64/usr.sbin/bsdinstall/partedit/partedit_powerpc.c projects/arm64/usr.sbin/bsdinstall/partedit/partedit_sparc64.c projects/arm64/usr.sbin/bsdinstall/partedit/partedit_x86.c projects/arm64/usr.sbin/bsdinstall/partedit/sade.8 projects/arm64/usr.sbin/bsdinstall/partedit/scripted.c projects/arm64/usr.sbin/bsdinstall/scripts/auto projects/arm64/usr.sbin/bsdinstall/scripts/config projects/arm64/usr.sbin/bsdinstall/scripts/services projects/arm64/usr.sbin/bsdinstall/scripts/zfsboot projects/arm64/usr.sbin/ctladm/Makefile projects/arm64/usr.sbin/ctladm/ctladm.8 projects/arm64/usr.sbin/ctladm/ctladm.c projects/arm64/usr.sbin/ctld/Makefile projects/arm64/usr.sbin/ctld/ctl.conf.5 projects/arm64/usr.sbin/ctld/ctld.8 projects/arm64/usr.sbin/ctld/ctld.c projects/arm64/usr.sbin/ctld/ctld.h projects/arm64/usr.sbin/ctld/discovery.c projects/arm64/usr.sbin/ctld/kernel.c projects/arm64/usr.sbin/ctld/keys.c projects/arm64/usr.sbin/ctld/login.c projects/arm64/usr.sbin/ctld/parse.y projects/arm64/usr.sbin/ctld/token.l projects/arm64/usr.sbin/etcupdate/etcupdate.8 projects/arm64/usr.sbin/fdread/fdutil.c projects/arm64/usr.sbin/fifolog/fifolog_reader/Makefile projects/arm64/usr.sbin/fifolog/fifolog_writer/Makefile projects/arm64/usr.sbin/ftp-proxy/Makefile projects/arm64/usr.sbin/i2c/i2c.c projects/arm64/usr.sbin/inetd/inetd.c projects/arm64/usr.sbin/iscsid/Makefile projects/arm64/usr.sbin/iscsid/iscsid.8 projects/arm64/usr.sbin/iscsid/iscsid.h projects/arm64/usr.sbin/iscsid/keys.c projects/arm64/usr.sbin/iscsid/login.c projects/arm64/usr.sbin/lpr/lpd/printjob.c projects/arm64/usr.sbin/makefs/ffs.c projects/arm64/usr.sbin/mfiutil/mfi_properties.c projects/arm64/usr.sbin/mtree/Makefile projects/arm64/usr.sbin/newsyslog/newsyslog.8 projects/arm64/usr.sbin/newsyslog/newsyslog.c projects/arm64/usr.sbin/nmtree/Makefile projects/arm64/usr.sbin/nscd/query.c projects/arm64/usr.sbin/pciconf/pciconf.c projects/arm64/usr.sbin/pkg/Makefile projects/arm64/usr.sbin/pkg/config.c projects/arm64/usr.sbin/pmcstat/pmcstat.8 projects/arm64/usr.sbin/pstat/pstat.8 projects/arm64/usr.sbin/pw/Makefile projects/arm64/usr.sbin/pw/pw_group.c projects/arm64/usr.sbin/pw/pw_user.c projects/arm64/usr.sbin/rpcbind/Makefile projects/arm64/usr.sbin/rtadvd/advcap.c projects/arm64/usr.sbin/rtadvd/config.c projects/arm64/usr.sbin/rtsold/rtsol.c projects/arm64/usr.sbin/sysrc/sysrc projects/arm64/usr.sbin/sysrc/sysrc.8 projects/arm64/usr.sbin/tzsetup/tzsetup.c projects/arm64/usr.sbin/unbound/local-setup/local-unbound-setup.sh projects/arm64/usr.sbin/vidcontrol/vidcontrol.1 projects/arm64/usr.sbin/vidcontrol/vidcontrol.c projects/arm64/usr.sbin/watchdogd/watchdog.8 projects/arm64/usr.sbin/watchdogd/watchdogd.8 Directory Properties: projects/arm64/ (props changed) projects/arm64/cddl/ (props changed) projects/arm64/cddl/contrib/opensolaris/ (props changed) projects/arm64/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/arm64/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/arm64/contrib/apr-util/ (props changed) projects/arm64/contrib/atf/ (props changed) projects/arm64/contrib/binutils/ (props changed) projects/arm64/contrib/byacc/ (props changed) projects/arm64/contrib/file/ (props changed) projects/arm64/contrib/ipfilter/ (props changed) projects/arm64/contrib/libc++/ (props changed) projects/arm64/contrib/libc-vis/ (props changed) projects/arm64/contrib/libcxxrt/ (props changed) projects/arm64/contrib/libpcap/ (props changed) projects/arm64/contrib/llvm/ (props changed) projects/arm64/contrib/llvm/tools/clang/ (props changed) projects/arm64/contrib/mtree/ (props changed) projects/arm64/contrib/netcat/ (props changed) projects/arm64/contrib/one-true-awk/ (props changed) projects/arm64/contrib/openbsm/ (props changed) projects/arm64/contrib/openpam/ (props changed) projects/arm64/contrib/openpam/bin/Makefile.am (props changed) projects/arm64/contrib/openpam/bin/su/Makefile.am (props changed) projects/arm64/contrib/openpam/bin/su/su.c (props changed) projects/arm64/contrib/openpam/compile (props changed) projects/arm64/contrib/openpam/config.guess (props changed) projects/arm64/contrib/openpam/config.sub (props changed) projects/arm64/contrib/openpam/depcomp (props changed) projects/arm64/contrib/openpam/doc/Makefile.am (props changed) projects/arm64/contrib/openpam/doc/man/Makefile.am (props changed) projects/arm64/contrib/openpam/doc/man/openpam.man (props changed) projects/arm64/contrib/openpam/doc/man/pam.man (props changed) projects/arm64/contrib/openpam/include/Makefile.am (props changed) projects/arm64/contrib/openpam/include/security/Makefile.am (props changed) projects/arm64/contrib/openpam/include/security/openpam.h (props changed) projects/arm64/contrib/openpam/include/security/openpam_attr.h (props changed) projects/arm64/contrib/openpam/include/security/pam_appl.h (props changed) projects/arm64/contrib/openpam/include/security/pam_constants.h (props changed) projects/arm64/contrib/openpam/include/security/pam_modules.h (props changed) projects/arm64/contrib/openpam/include/security/pam_types.h (props changed) projects/arm64/contrib/openpam/install-sh (props changed) projects/arm64/contrib/openpam/misc/gendoc.pl (props changed) projects/arm64/contrib/openpam/missing (props changed) projects/arm64/contrib/openpam/modules/Makefile.am (props changed) projects/arm64/contrib/openpam/modules/pam_deny/Makefile.am (props changed) projects/arm64/contrib/openpam/modules/pam_deny/pam_deny.c (props changed) projects/arm64/contrib/openpam/modules/pam_permit/Makefile.am (props changed) projects/arm64/contrib/openpam/modules/pam_permit/pam_permit.c (props changed) projects/arm64/contrib/openpam/modules/pam_unix/Makefile.am (props changed) projects/arm64/contrib/openpam/modules/pam_unix/pam_unix.c (props changed) projects/arm64/contrib/tcpdump/ (props changed) projects/arm64/contrib/tnftp/ (props changed) projects/arm64/contrib/tzdata/ (props changed) projects/arm64/contrib/xz/ (props changed) projects/arm64/crypto/heimdal/ (props changed) projects/arm64/crypto/openssl/ (props changed) projects/arm64/etc/ (props changed) projects/arm64/gnu/lib/ (props changed) projects/arm64/gnu/usr.bin/cc/cc_tools/ (props changed) projects/arm64/gnu/usr.bin/gdb/ (props changed) projects/arm64/include/ (props changed) projects/arm64/lib/libc/ (props changed) projects/arm64/lib/libc/stdtime/ (props changed) projects/arm64/lib/libutil/ (props changed) projects/arm64/lib/libz/ (props changed) projects/arm64/sbin/ (props changed) projects/arm64/sbin/dumpon/ (props changed) projects/arm64/sbin/ipfw/ (props changed) projects/arm64/share/ (props changed) projects/arm64/share/man/man4/ (props changed) projects/arm64/sys/ (props changed) projects/arm64/sys/amd64/include/xen/ (props changed) projects/arm64/sys/amd64/vmm/ (props changed) projects/arm64/sys/boot/ (props changed) projects/arm64/sys/boot/powerpc/ofw/ (props changed) projects/arm64/sys/cddl/contrib/opensolaris/ (props changed) projects/arm64/sys/conf/ (props changed) projects/arm64/sys/contrib/dev/acpica/ (props changed) projects/arm64/sys/contrib/dev/acpica/common/ (props changed) projects/arm64/sys/contrib/dev/acpica/compiler/ (props changed) projects/arm64/sys/contrib/dev/acpica/components/debugger/ (props changed) projects/arm64/sys/contrib/dev/acpica/components/disassembler/ (props changed) projects/arm64/sys/contrib/dev/acpica/components/dispatcher/ (props changed) projects/arm64/sys/contrib/dev/acpica/components/events/ (props changed) projects/arm64/sys/contrib/dev/acpica/components/executer/ (props changed) projects/arm64/sys/contrib/dev/acpica/components/hardware/ (props changed) projects/arm64/sys/contrib/dev/acpica/components/namespace/ (props changed) projects/arm64/sys/contrib/dev/acpica/components/parser/ (props changed) projects/arm64/sys/contrib/dev/acpica/components/resources/ (props changed) projects/arm64/sys/contrib/dev/acpica/components/tables/ (props changed) projects/arm64/sys/contrib/dev/acpica/components/utilities/ (props changed) projects/arm64/sys/contrib/dev/acpica/include/ (props changed) projects/arm64/sys/contrib/dev/acpica/os_specific/ (props changed) projects/arm64/sys/contrib/ipfilter/ (props changed) projects/arm64/sys/dev/hyperv/ (props changed) projects/arm64/sys/modules/hyperv/ (props changed) projects/arm64/sys/modules/vmm/ (props changed) projects/arm64/usr.bin/calendar/ (props changed) projects/arm64/usr.bin/mkimg/ (props changed) projects/arm64/usr.sbin/bhyve/ (props changed) projects/arm64/usr.sbin/bhyvectl/ (props changed) projects/arm64/usr.sbin/rtadvd/ (props changed) projects/arm64/usr.sbin/rtsold/ (props changed) Modified: projects/arm64/MAINTAINERS ============================================================================== --- projects/arm64/MAINTAINERS Wed Nov 12 11:34:27 2014 (r274426) +++ projects/arm64/MAINTAINERS Wed Nov 12 12:46:57 2014 (r274427) @@ -48,7 +48,6 @@ cd(4) ken Pre-commit review requested. pass(4) ken Pre-commit review requested. ch(4) ken Pre-commit review requested. em(4) jfv Pre-commit review requested. -bxe(4) davidch Pre-commit review requested. tdfx(4) cokane Just keep me informed of changes, try not to break it. sendmail gshapiro Pre-commit review requested. etc/mail gshapiro Pre-commit review requested. @@ -78,7 +77,6 @@ inetd dwmalone Recommends pre-commit re contrib/smbfs bp Open for in-tree committs. In case of functional changes pre-commit review requested. contrib/pf glebius Pre-commit review recommended. -binutils obrien Insists on BU blocked from unapproved commits file obrien Insists to keep file blocked from other's unapproved commits contrib/bzip2 obrien Pre-commit review required. Modified: projects/arm64/Makefile.inc1 ============================================================================== --- projects/arm64/Makefile.inc1 Wed Nov 12 11:34:27 2014 (r274426) +++ projects/arm64/Makefile.inc1 Wed Nov 12 12:46:57 2014 (r274427) @@ -299,6 +299,10 @@ HMAKE+= PATH=${TMPPATH} METALOG=${METAL WMAKEENV+= MK_CTF=no .endif +.if defined(CROSS_TOOLCHAIN) +LOCALBASE?= /usr/local +.include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk" +.endif .if defined(CROSS_TOOLCHAIN_PREFIX) CROSS_COMPILER_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} @@ -311,7 +315,7 @@ X${COMPILER}?= ${CROSS_COMPILER_PREFIX}$ X${COMPILER}?= ${${COMPILER}} .endif .endfor -XBINUTILS= AS AR LD NM OBJDUMP RANLIB STRINGS +XBINUTILS= AS AR LD NM OBJCOPY OBJDUMP RANLIB SIZE STRINGS .for BINUTIL in ${XBINUTILS} .if defined(CROSS_BINUTILS_PREFIX) X${BINUTIL}?= ${CROSS_BINUTILS_PREFIX}${${BINUTIL}} @@ -319,10 +323,13 @@ X${BINUTIL}?= ${CROSS_BINUTILS_PREFIX}${ X${BINUTIL}?= ${${BINUTIL}} .endif .endfor -WMAKEENV+= CC="${XCC} ${XFLAGS}" CXX="${XCXX} ${XFLAGS}" \ - CPP="${XCPP} ${XFLAGS}" \ +WMAKEENV+= CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCFLAGS} ${XCXXFLAGS}" \ + DEPFLAGS="${DEPFLAGS}" \ + CPP="${XCPP} ${XCFLAGS}" \ AS="${XAS}" AR="${XAR}" LD="${XLD}" NM=${XNM} \ - OBJDUMP=${XOBJDUMP} RANLIB=${XRANLIB} STRINGS=${XSTRINGS} + OBJDUMP=${XOBJDUMP} OBJCOPY="${XOBJCOPY}" \ + RANLIB=${XRANLIB} STRINGS=${XSTRINGS} \ + SIZE="${XSIZE}" .if ${XCC:M/*} XFLAGS= --sysroot=${WORLDTMP} @@ -336,22 +343,29 @@ XFLAGS+= -B${CROSS_BINUTILS_PREFIX} .else XFLAGS+= -B${WORLDTMP}/usr/bin .endif -.if ${TARGET} == "arm" && ${MK_ARM_EABI} != "no" -.if ${TARGET_ARCH:M*eb*} == "" -TARGET_ABI= gnueabi -.elif ${TARGET_ARCH} == "armv6hf" +.if ${TARGET} == "arm" +.if ${TARGET_ARCH:M*hf*} != "" TARGET_ABI= gnueabihf +.else +TARGET_ABI= gnueabi .endif .endif +.if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc +XCFLAGS+= -isystem ${WORLDTMP}/usr/include -L${WORLDTMP}/usr/lib +XCXXFLAGS+= -I${WORLDTMP}/usr/include/c++/v1 -std=gnu++11 -L${WORLDTMP}/../lib/libc++ +DEPFLAGS+= -I${WORLDTMP}/usr/include/c++/v1 +.else TARGET_ABI?= unknown TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0 -XFLAGS+= -target ${TARGET_TRIPLE} +XCFLAGS+= -target ${TARGET_TRIPLE} +.endif .endif WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} .if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" # 32 bit world +LIB32_OBJTREE= ${OBJTREE}${.CURDIR}/world32 LIB32TMP= ${OBJTREE}${.CURDIR}/lib32 .if ${TARGET_ARCH} == "amd64" @@ -387,7 +401,7 @@ LIB32FLAGS+= --sysroot=${WORLDTMP} .endif # Yes, the flags are redundant. -LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \ +LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${LIB32_OBJTREE} \ _SHLIBDIRPREFIX=${LIB32TMP} \ _LDSCRIPTROOT=${LIB32TMP} \ VERSION="${VERSION}" \ @@ -560,7 +574,7 @@ _libraries: @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; \ ${WMAKE} -DNO_FSCHG MK_HTML=no MK_INFO=no -DNO_LINT MK_MAN=no \ - MK_PROFILE=no MK_TESTS=no libraries + MK_PROFILE=no MK_TESTS=no MK_TESTS_SUPPORT=${MK_TESTS} libraries _depend: @echo @echo "--------------------------------------------------------------" @@ -611,7 +625,7 @@ build32: cd ${.CURDIR}/${_dir}; \ WORLDTMP=${WORLDTMP} \ MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \ - MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} SSP_CFLAGS= DESTDIR= \ + MAKEOBJDIRPREFIX=${LIB32_OBJTREE} ${MAKE} SSP_CFLAGS= DESTDIR= \ DIRPRFX=${_dir}/ -DNO_LINT -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ build-tools .endfor @@ -910,7 +924,7 @@ packageworld: # and do a 'make reinstall' on the *client* to install new binaries from the # most recent server build. # -reinstall: +reinstall: .MAKE @echo "--------------------------------------------------------------" @echo ">>> Making hierarchy" @echo "--------------------------------------------------------------" @@ -925,7 +939,7 @@ reinstall: ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install32 .endif -redistribute: +redistribute: .MAKE @echo "--------------------------------------------------------------" @echo ">>> Distributing everything" @echo "--------------------------------------------------------------" @@ -935,7 +949,7 @@ redistribute: DISTRIBUTION=lib32 .endif -distrib-dirs distribution: +distrib-dirs distribution: .MAKE cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \ ${IMAKE_INSTALL} ${IMAKE_MTREE} METALOG=${METALOG} ${.TARGET} @@ -1463,7 +1477,7 @@ native-xtools: .MAKE # # hierarchy - ensure that all the needed directories are present # -hierarchy hier: +hierarchy hier: .MAKE cd ${.CURDIR}/etc && ${HMAKE} distrib-dirs # @@ -1521,35 +1535,32 @@ _prebuild_libs= ${_kerberos5_lib_libasn1 ${_kerberos5_lib_libhx509} ${_kerberos5_lib_libkrb5} \ ${_kerberos5_lib_libroken} \ ${_kerberos5_lib_libwind} \ - ${_lib_atf} \ lib/libbz2 ${_libcom_err} lib/libcrypt \ lib/libelf lib/libexpat \ + lib/libfigpar \ ${_lib_libgssapi} \ lib/libkiconv lib/libkvm lib/liblzma lib/libmd lib/libnv \ ${_lib_libcapsicum} \ lib/ncurses/ncurses lib/ncurses/ncursesw \ lib/libopie lib/libpam ${_lib_libthr} \ lib/libradius lib/libsbuf lib/libtacplus \ + lib/libgeom \ ${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \ + ${_cddl_lib_libuutil} \ ${_cddl_lib_libavl} \ ${_cddl_lib_libzfs_core} \ + ${_cddl_lib_libctf} \ lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \ ${_secure_lib_libcrypto} ${_lib_libldns} \ - ${_secure_lib_libssh} ${_secure_lib_libssl} + ${_secure_lib_libssh} ${_secure_lib_libssl} \ + gnu/lib/libdialog .if ${MK_GNUCXX} != "no" _prebuild_libs+= gnu/lib/libstdc++ gnu/lib/libsupc++ gnu/lib/libstdc++__L: lib/msun__L gnu/lib/libsupc++__L: gnu/lib/libstdc++__L .endif -.if defined(WITH_ATF) || ${MK_TESTS} != "no" -.if !defined(WITH_ATF) -# Ensure that the ATF libraries will be built during make libraries, even -# though they will have WITHOUT_TESTS -MAKE+= -DWITH_ATF -.endif -_lib_atf= lib/atf -.endif +lib/libgeom__L: lib/libexpat__L .if ${MK_LIBTHR} != "no" _lib_libthr= lib/libthr @@ -1579,9 +1590,13 @@ lib/libopie__L lib/libtacplus__L: lib/li _cddl_lib_libumem= cddl/lib/libumem _cddl_lib_libnvpair= cddl/lib/libnvpair _cddl_lib_libavl= cddl/lib/libavl +_cddl_lib_libuutil= cddl/lib/libuutil _cddl_lib_libzfs_core= cddl/lib/libzfs_core +_cddl_lib_libctf= cddl/lib/libctf _cddl_lib= cddl/lib cddl/lib/libzfs_core__L: cddl/lib/libnvpair__L +cddl/lib/libzfs__L: lib/libgeom__L +cddl/lib/libctf__L: lib/libz__L .endif .if ${MK_CRYPT} != "no" @@ -1656,6 +1671,8 @@ _lib_libypclnt= lib/libypclnt lib/libradius__L: lib/libmd__L .endif +gnu/lib/libdialog__L: lib/msun__L lib/ncurses/ncursesw__L + .for _lib in ${_prereq_libs} ${_lib}__PL: .PHONY .MAKE .if exists(${.CURDIR}/${_lib}) @@ -1868,7 +1885,8 @@ check-old: check-old-files check-old-lib # showconfig - show build configuration. # showconfig: - @${MAKE} -n -f src.opts.mk -V dummy -dg1 2>&1 | grep ^MK_ | sort + @(${MAKE} -n -f ${.CURDIR}/sys/conf/kern.opts.mk -V dummy -dg1; \ + ${MAKE} -n -f ${.CURDIR}/share/mk/src.opts.mk -V dummy -dg1) 2>&1 | grep ^MK_ | sort -u .if !empty(KRNLOBJDIR) && !empty(KERNCONF) DTBOUTPUTPATH= ${KRNLOBJDIR}/${KERNCONF}/ Modified: projects/arm64/ObsoleteFiles.inc ============================================================================== --- projects/arm64/ObsoleteFiles.inc Wed Nov 12 11:34:27 2014 (r274426) +++ projects/arm64/ObsoleteFiles.inc Wed Nov 12 12:46:57 2014 (r274427) @@ -38,6 +38,32 @@ # xargs -n1 | sort | uniq -d; # done +# 20141109: faith/faithd removal +OLD_FILES+=etc/rc.d/faith +OLD_FILES+=usr/share/man/man4/faith.4.gz +OLD_FILES+=usr/share/man/man4/if_faith.4.gz +OLD_FILES+=usr/sbin/faithd +OLD_FILES+=usr/share/man/man8/faithd.8.gz +# 20141102: postrandom obsoleted by new /dev/random code +OLD_FILES+=etc/rc.d/postrandom +# 20141031: initrandom obsoleted by new /dev/random code +OLD_FILES+=etc/rc.d/initrandom +# 20141028: debug files accidentally installed as directory name +OLD_FILES+=usr/lib/debug/usr/lib/i18n +OLD_FILES+=usr/lib/debug/usr/lib/private +OLD_FILES+=usr/lib/debug/usr/lib32/i18n +OLD_FILES+=usr/lib/debug/usr/lib32/private +# 20141015: OpenSSL 1.0.1j import +OLD_FILES+=usr/share/openssl/man/man3/CMS_sign_add1_signer.3.gz +# 20140922: sleepq_calc_signal_retval.9 and sleepq_catch_signals.9 removed +OLD_FILES+=usr/share/man/man9/sleepq_calc_signal_retval.9.gz +OLD_FILES+=usr/share/man/man9/sleepq_catch_signals.9.gz +# 20140917: hv_kvpd rc.d script removed in favor of devd configuration +OLD_FILES+=etc/rc.d/hv_kvpd +# 20140917: libnv was accidentally being installed to /usr/lib instead of /lib +OLD_LIBS+=usr/lib/libnv.so.0 +# 20140829: rc.d/kerberos removed +OLD_FILES+=etc/rc.d/kerberos # 20140814: libopie version bump OLD_LIBS+=usr/lib/libopie.so.7 OLD_LIBS+=usr/lib32/libopie.so.7 @@ -356,7 +382,6 @@ OLD_FILES+=usr/share/man/man1/atf-report OLD_FILES+=usr/share/man/man1/atf-run.1.gz OLD_FILES+=usr/share/man/man1/atf-version.1.gz OLD_FILES+=usr/share/man/man5/atf-formats.5.gz -OLD_FILES+=usr/share/man/man7/atf.7.gz OLD_FILES+=usr/share/xml/atf/tests-results.dtd OLD_FILES+=usr/share/xsl/atf/tests-results.xsl # 20131009: freebsd-version moved from /libexec to /bin @@ -1488,6 +1513,7 @@ OLD_LIBS+=usr/lib/libpanel.so.4 OLD_LIBS+=usr/lib/libpanelw.so.4 OLD_LIBS+=usr/lib/libpmc.so.4 OLD_LIBS+=usr/lib/libproc.so.1 +OLD_LIBS+=usr/lib/libproc.so.2 OLD_LIBS+=usr/lib/libradius.so.3 OLD_LIBS+=usr/lib/librpcsvc.so.4 OLD_LIBS+=usr/lib/libsdp.so.3 Modified: projects/arm64/UPDATING ============================================================================== --- projects/arm64/UPDATING Wed Nov 12 11:34:27 2014 (r274426) +++ projects/arm64/UPDATING Wed Nov 12 12:46:57 2014 (r274427) @@ -31,6 +31,50 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20141109: + faith(4) and faithd(8) has been removed from base system. It + has been obsolete for a very long time. + +20141104: + vt(4), the new console driver, is enabled by default. It brings + support for Unicode and double-width characters, as well as + support for UEFI and integration with the KMS kernel video + drivers. + + You may need to update your console settings in /etc/rc.conf, + most probably the keymap. During boot, /etc/rc.d/syscons will + indicate what you need to do. + + vt(4) still has issues and lacks some features compared to + syscons(4). See the wiki for up-to-date information: + https://wiki.freebsd.org/Newcons + + If you want to keep using syscons(4), you can do so by adding + the following line to /boot/loader.conf: + kern.vty=sc + +20141102: + pjdfstest has been integrated into kyua as an opt-in test suite. + Please see share/doc/pjdfstest/README for a more details on how to + execute it. + +20141009: + gperf has been removed from the base system for architectures + that use clang. Ports that require gperf will obtain it from the + devel/gperf port. + +20140923: + pjdfstest has been moved from tools/regression/pjdfstest to + contrib/pjdfstest . + +20140922: + At svn r271982, The default linux compat kernel ABI has been adjusted + to 2.6.18 in support of the linux-c6 compat ports infrastructure + update. If you wish to continue using the linux-f10 compat ports, + add compat.linux.osrelease=2.6.16 to your local sysctl.conf. Users are + encouraged to update their linux-compat packages to linux-c6 during + their next update cycle. + 20140729: The ofwfb driver, used to provide a graphics console on PowerPC when using vt(4), no longer allows mmap() of all of physical memory. This @@ -793,8 +837,8 @@ COMMON ITEMS: 2.) update the ZFS boot block on your boot drive The following example updates the ZFS boot block on the first - partition (freebsd-boot) of a GPT partitioned drive ad0: - "gpart bootcode -p /boot/gptzfsboot -i 1 ad0" + partition (freebsd-boot) of a GPT partitioned drive ada0: + "gpart bootcode -p /boot/gptzfsboot -i 1 ada0" Non-boot pools do not need these updates. Modified: projects/arm64/bin/csh/Makefile ============================================================================== --- projects/arm64/bin/csh/Makefile Wed Nov 12 11:34:27 2014 (r274426) +++ projects/arm64/bin/csh/Makefile Wed Nov 12 12:46:57 2014 (r274427) @@ -94,7 +94,7 @@ GENHDRS+= iconv.h SRCS+= iconv_stub.c iconv.h: ${.CURDIR}/iconv_stub.h - cp ${.CURDIR}/iconv_stub.h ${.TARGET} + cp -f ${.CURDIR}/iconv_stub.h ${.TARGET} .endif .endif Modified: projects/arm64/bin/df/Makefile ============================================================================== --- projects/arm64/bin/df/Makefile Wed Nov 12 11:34:27 2014 (r274426) +++ projects/arm64/bin/df/Makefile Wed Nov 12 12:46:57 2014 (r274427) @@ -9,7 +9,7 @@ SRCS= df.c vfslist.c CFLAGS+= -I${MOUNT} -DPADD= ${LIBUTIL} -LDADD= -lutil +DPADD= ${LIBUTIL} ${LIBXO} +LDADD= -lutil -lxo .include Modified: projects/arm64/bin/df/df.1 ============================================================================== --- projects/arm64/bin/df/df.1 Wed Nov 12 11:34:27 2014 (r274426) +++ projects/arm64/bin/df/df.1 Wed Nov 12 12:46:57 2014 (r274427) @@ -29,7 +29,7 @@ .\" @(#)df.1 8.3 (Berkeley) 5/8/95 .\" $FreeBSD$ .\" -.Dd January 16, 2014 +.Dd November 6, 2014 .Dt DF 1 .Os .Sh NAME @@ -37,6 +37,7 @@ .Nd display free disk space .Sh SYNOPSIS .Nm +.Op Fl -libxo .Op Fl b | g | H | h | k | m | P .Op Fl acilnT .Op Fl \&, @@ -193,7 +194,9 @@ If the value is outside, it will be set .Xr statfs 2 , .Xr getbsize 3 , .Xr getmntinfo 3 , +.Xr libxo 3 , .Xr localeconv 3 , +.Xr xo_parse_args 3 , .Xr fstab 5 , .Xr mount 8 , .Xr pstat 8 , Modified: projects/arm64/bin/df/df.c ============================================================================== --- projects/arm64/bin/df/df.c Wed Nov 12 11:34:27 2014 (r274426) +++ projects/arm64/bin/df/df.c Wed Nov 12 12:46:57 2014 (r274427) @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "extern.h" @@ -82,7 +83,7 @@ static char *getmntpt(const char *); static int int64width(int64_t); static char *makenetvfslist(void); static void prthuman(const struct statfs *, int64_t); -static void prthumanval(int64_t); +static void prthumanval(const char *, int64_t); static intmax_t fsbtoblk(int64_t, uint64_t, u_long); static void prtstat(struct statfs *, struct maxwidths *); static size_t regetmntinfo(struct statfs **, long, const char **); @@ -119,6 +120,11 @@ main(int argc, char *argv[]) totalbuf.f_bsize = DEV_BSIZE; strlcpy(totalbuf.f_mntfromname, "total", MNAMELEN); vfslist = NULL; + + argc = xo_parse_args(argc, argv); + if (argc < 0) + exit(1); + while ((ch = getopt(argc, argv, "abcgHhiklmnPt:T,")) != -1) switch (ch) { case 'a': @@ -161,7 +167,7 @@ main(int argc, char *argv[]) break; case 'l': if (vfslist != NULL) - errx(1, "-l and -t are mutually exclusive."); + xo_errx(1, "-l and -t are mutually exclusive."); vfslist = makevfslist(makenetvfslist()); lflag = 1; break; @@ -174,9 +180,9 @@ main(int argc, char *argv[]) break; case 't': if (lflag) - errx(1, "-l and -t are mutually exclusive."); + xo_errx(1, "-l and -t are mutually exclusive."); if (vfslist != NULL) - errx(1, "only one -t option may be specified"); + xo_errx(1, "only one -t option may be specified"); fstype = optarg; vfslist = makevfslist(optarg); break; @@ -202,16 +208,19 @@ main(int argc, char *argv[]) /* just the filesystems specified on the command line */ mntbuf = malloc(argc * sizeof(*mntbuf)); if (mntbuf == NULL) - err(1, "malloc()"); + xo_err(1, "malloc()"); mntsize = 0; /* continued in for loop below */ } + xo_open_container("storage-system-information"); + xo_open_list("filesystem"); + /* iterate through specified filesystems */ for (; *argv; argv++) { if (stat(*argv, &stbuf) < 0) { if ((mntpt = getmntpt(*argv)) == NULL) { - warn("%s", *argv); + xo_warn("%s", *argv); rv = 1; continue; } @@ -220,20 +229,20 @@ main(int argc, char *argv[]) mdev.fspec = *argv; mntpath = strdup("/tmp/df.XXXXXX"); if (mntpath == NULL) { - warn("strdup failed"); + xo_warn("strdup failed"); rv = 1; continue; } mntpt = mkdtemp(mntpath); if (mntpt == NULL) { - warn("mkdtemp(\"%s\") failed", mntpath); + xo_warn("mkdtemp(\"%s\") failed", mntpath); rv = 1; free(mntpath); continue; } if (mount(fstype, mntpt, MNT_RDONLY, &mdev) != 0) { - warn("%s", *argv); + xo_warn("%s", *argv); rv = 1; (void)rmdir(mntpt); free(mntpath); @@ -244,7 +253,7 @@ main(int argc, char *argv[]) if (cflag) addstat(&totalbuf, &statfsbuf); } else { - warn("%s", *argv); + xo_warn("%s", *argv); rv = 1; } (void)unmount(mntpt, 0); @@ -260,7 +269,7 @@ main(int argc, char *argv[]) * implement nflag here. */ if (statfs(mntpt, &statfsbuf) < 0) { - warn("%s", mntpt); + xo_warn("%s", mntpt); rv = 1; continue; } @@ -294,8 +303,14 @@ main(int argc, char *argv[]) for (i = 0; i < mntsize; i++) if (aflag || (mntbuf[i].f_flags & MNT_IGNORE) == 0) prtstat(&mntbuf[i], &maxwidths); + + xo_close_list("filesystem"); + if (cflag) prtstat(&totalbuf, &maxwidths); + + xo_close_container("storage-system-information"); + xo_finish(); return (rv); } @@ -341,7 +356,7 @@ regetmntinfo(struct statfs **mntbufp, lo if (nflag || error < 0) if (i != j) { if (error < 0) - warnx("%s stats possibly stale", + xo_warnx("%s stats possibly stale", mntbuf[i].f_mntonname); mntbuf[j] = mntbuf[i]; } @@ -354,13 +369,13 @@ static void prthuman(const struct statfs *sfsp, int64_t used) { - prthumanval(sfsp->f_blocks * sfsp->f_bsize); - prthumanval(used * sfsp->f_bsize); - prthumanval(sfsp->f_bavail * sfsp->f_bsize); + prthumanval(" {:blocks/%6s}", sfsp->f_blocks * sfsp->f_bsize); + prthumanval(" {:used/%6s}", used * sfsp->f_bsize); + prthumanval(" {:available/%6s}", sfsp->f_bavail * sfsp->f_bsize); } static void -prthumanval(int64_t bytes) +prthumanval(const char *fmt, int64_t bytes) { char buf[6]; int flags; @@ -372,14 +387,15 @@ prthumanval(int64_t bytes) humanize_number(buf, sizeof(buf) - (bytes < 0 ? 0 : 1), bytes, "", HN_AUTOSCALE, flags); - (void)printf(" %6s", buf); + xo_attr("value", "%lld", (long long) bytes); + xo_emit(fmt, buf); } /* * Print an inode count in "human-readable" format. */ static void -prthumanvalinode(int64_t bytes) +prthumanvalinode(const char *fmt, int64_t bytes) { char buf[6]; int flags; @@ -389,7 +405,8 @@ prthumanvalinode(int64_t bytes) humanize_number(buf, sizeof(buf) - (bytes < 0 ? 0 : 1), bytes, "", HN_AUTOSCALE, flags); - (void)printf(" %5s", buf); + xo_attr("value", "%lld", (long long) bytes); + xo_emit(fmt, buf); } /* @@ -434,70 +451,77 @@ prtstat(struct statfs *sfsp, struct maxw mwp->used = imax(mwp->used, (int)strlen("Used")); mwp->avail = imax(mwp->avail, (int)strlen("Avail")); - (void)printf("%-*s", mwp->mntfrom, "Filesystem"); + xo_emit("{T:/%-*s}", mwp->mntfrom, "Filesystem"); if (Tflag) - (void)printf(" %-*s", mwp->fstype, "Type"); - (void)printf(" %*s %*s %*s Capacity", mwp->total, header, - mwp->used, "Used", mwp->avail, "Avail"); + xo_emit(" {T:/%-*s}", mwp->fstype, "Type"); + xo_emit(" {T:/%*s} {T:/%*s} {T:/%*s} Capacity", + mwp->total, header, + mwp->used, "Used", mwp->avail, "Avail"); if (iflag) { mwp->iused = imax(hflag ? 0 : mwp->iused, (int)strlen(" iused")); mwp->ifree = imax(hflag ? 0 : mwp->ifree, (int)strlen("ifree")); - (void)printf(" %*s %*s %%iused", + xo_emit(" {T:/%*s} {T:/%*s} {T:\%iused}", mwp->iused - 2, "iused", mwp->ifree, "ifree"); } - (void)printf(" Mounted on\n"); + xo_emit(" {T:Mounted on}\n"); } + + xo_open_instance("filesystem"); /* Check for 0 block size. Can this happen? */ if (sfsp->f_bsize == 0) { - warnx ("File system %s does not have a block size, assuming 512.", + xo_warnx ("File system %s does not have a block size, assuming 512.", sfsp->f_mntonname); sfsp->f_bsize = 512; } - (void)printf("%-*s", mwp->mntfrom, sfsp->f_mntfromname); + xo_emit("{tk:name/%-*s}", mwp->mntfrom, sfsp->f_mntfromname); if (Tflag) - (void)printf(" %-*s", mwp->fstype, sfsp->f_fstypename); + xo_emit(" {:type/%-*s}", mwp->fstype, sfsp->f_fstypename); used = sfsp->f_blocks - sfsp->f_bfree; availblks = sfsp->f_bavail + used; if (hflag) { prthuman(sfsp, used); } else { if (thousands) - format = " %*j'd %*j'd %*j'd"; + format = " {t:total-blocks/%*j'd} {t:used-blocks/%*j'd} " + "{t:available-blocks/%*j'd}"; else - format = " %*jd %*jd %*jd"; - (void)printf(format, + format = " {t:total-blocks/%*jd} {t:used-blocks/%*jd} " + "{t:available-blocks/%*jd}"; + xo_emit(format, mwp->total, fsbtoblk(sfsp->f_blocks, sfsp->f_bsize, blocksize), mwp->used, fsbtoblk(used, sfsp->f_bsize, blocksize), mwp->avail, fsbtoblk(sfsp->f_bavail, sfsp->f_bsize, blocksize)); } - (void)printf(" %5.0f%%", + xo_emit(" {:used-percent/%5.0f}{U:%%}", availblks == 0 ? 100.0 : (double)used / (double)availblks * 100.0); if (iflag) { inodes = sfsp->f_files; used = inodes - sfsp->f_ffree; if (hflag) { - (void)printf(" "); - prthumanvalinode(used); - prthumanvalinode(sfsp->f_ffree); + xo_emit(" "); + prthumanvalinode(" {:inodes-used/%5s}", used); + prthumanvalinode(" {:inodes-free/%5s}", sfsp->f_ffree); } else { if (thousands) - format = " %*j'd %*j'd"; + format = " {:inodes-used/%*j'd} {:inodes-free/%*j'd}"; else - format = " %*jd %*jd"; - (void)printf(format, mwp->iused, (intmax_t)used, + format = " {:inodes-used/%*jd} {:inodes-free/%*jd}"; + xo_emit(format, mwp->iused, (intmax_t)used, mwp->ifree, (intmax_t)sfsp->f_ffree); } - (void)printf(" %4.0f%% ", inodes == 0 ? 100.0 : - (double)used / (double)inodes * 100.0); + xo_emit(" {:inodes-used-percent/%4.0f}{U:%%} ", + inodes == 0 ? 100.0 : + (double)used / (double)inodes * 100.0); } else - (void)printf(" "); + xo_emit(" "); if (strncmp(sfsp->f_mntfromname, "total", MNAMELEN) != 0) - (void)printf(" %s", sfsp->f_mntonname); - (void)printf("\n"); + xo_emit(" {:mounted-on}", sfsp->f_mntonname); + xo_emit("\n"); + xo_close_instance("filesystem"); } static void @@ -564,7 +588,7 @@ static void usage(void) { - (void)fprintf(stderr, + xo_error( "usage: df [-b | -g | -H | -h | -k | -m | -P] [-acilnT] [-t type] [-,]\n" " [file | filesystem ...]\n"); exit(EX_USAGE); @@ -579,24 +603,24 @@ makenetvfslist(void) int cnt, i, maxvfsconf; if (sysctlbyname("vfs.conflist", NULL, &buflen, NULL, 0) < 0) { - warn("sysctl(vfs.conflist)"); + xo_warn("sysctl(vfs.conflist)"); return (NULL); } xvfsp = malloc(buflen); if (xvfsp == NULL) { - warnx("malloc failed"); + xo_warnx("malloc failed"); return (NULL); } keep_xvfsp = xvfsp; if (sysctlbyname("vfs.conflist", xvfsp, &buflen, NULL, 0) < 0) { - warn("sysctl(vfs.conflist)"); + xo_warn("sysctl(vfs.conflist)"); free(keep_xvfsp); return (NULL); } maxvfsconf = buflen / sizeof(struct xvfsconf); if ((listptr = malloc(sizeof(char*) * maxvfsconf)) == NULL) { - warnx("malloc failed"); + xo_warnx("malloc failed"); free(keep_xvfsp); return (NULL); } @@ -605,7 +629,7 @@ makenetvfslist(void) if (xvfsp->vfc_flags & VFCF_NETWORK) { listptr[cnt++] = strdup(xvfsp->vfc_name); if (listptr[cnt-1] == NULL) { - warnx("malloc failed"); + xo_warnx("malloc failed"); free(listptr); free(keep_xvfsp); return (NULL); @@ -617,7 +641,7 @@ makenetvfslist(void) if (cnt == 0 || (str = malloc(sizeof(char) * (32 * cnt + cnt + 2))) == NULL) { if (cnt > 0) - warnx("malloc failed"); + xo_warnx("malloc failed"); free(listptr); free(keep_xvfsp); return (NULL); Modified: projects/arm64/bin/pkill/tests/pgrep-j_test.sh ============================================================================== --- projects/arm64/bin/pkill/tests/pgrep-j_test.sh Wed Nov 12 11:34:27 2014 (r274426) +++ projects/arm64/bin/pkill/tests/pgrep-j_test.sh Wed Nov 12 12:46:57 2014 (r274427) @@ -1,7 +1,23 @@ #!/bin/sh # $FreeBSD$ -base=`basename $0` +jail_name_to_jid() +{ + local check_name="$1" + ( + line="$(jls -n 2> /dev/null | grep name=$check_name )" + for nv in $line; do + local name="${nv%=*}" + if [ "${name}" = "jid" ]; then + eval $nv + echo $jid + break + fi + done + ) +} + +base=pgrep_j_test echo "1..3" @@ -9,21 +25,25 @@ name="pgrep -j " if [ `id -u` -eq 0 ]; then sleep=$(pwd)/sleep.txt ln -sf /bin/sleep $sleep - jail / $base-1 127.0.0.1 $sleep 5 & - chpid=$! - jail / $base-2 127.0.0.1 $sleep 5 & - chpid2=$! - $sleep 5 & - chpid3=$! - sleep 0.5 - jid=`jls | awk "/127\\.0\\.0\\.1.*${base}-1/ {print \$1}"` - pid=`pgrep -f -j $jid $sleep` - if [ "$pid" = "$chpid" ]; then + jail -c path=/ name=${base}_1_1 ip4.addr=127.0.0.1 \ + command=daemon -p ${PWD}/${base}_1_1.pid $sleep 5 & + + jail -c path=/ name=${base}_1_2 ip4.addr=127.0.0.1 \ + command=daemon -p ${PWD}/${base}_1_2.pid $sleep 5 & + + jid1=$(jail_name_to_jid ${base}_1_1) + jid2=$(jail_name_to_jid ${base}_1_2) + jid="${jid1},${jid2}" + pid1="$(pgrep -f -x -j $jid "$sleep 5" | sort)" + pid2=$(printf "%s\n%s" "$(cat ${PWD}/${base}_1_1.pid)" \ + $(cat ${PWD}/${base}_1_2.pid) | sort) + if [ "$pid1" = "$pid2" ]; then echo "ok 1 - $name" else echo "not ok 1 - $name" fi - kill $chpid $chpid2 $chpid3 + [ -f ${PWD}/${base}_1_1.pid ] && kill $(cat ${PWD}/${base}_1_1.pid) + [ -f ${PWD}/${base}_1_2.pid ] && kill $(cat ${PWD}/${base}_1_2.pid) rm -f $sleep else echo "ok 1 - $name # skip Test needs uid 0." @@ -33,21 +53,23 @@ name="pgrep -j any" if [ `id -u` -eq 0 ]; then sleep=$(pwd)/sleep.txt ln -sf /bin/sleep $sleep - jail / $base-1 127.0.0.1 $sleep 5 & - chpid=$! - jail / $base-2 127.0.0.1 $sleep 5 & - chpid2=$! - $sleep 5 & - chpid3=$! - sleep 0.5 - pids=`pgrep -f -j any $sleep | sort` - refpids=`{ echo $chpid; echo $chpid2; } | sort` - if [ "$pids" = "$refpids" ]; then + jail -c path=/ name=${base}_2_1 ip4.addr=127.0.0.1 \ + command=daemon -p ${PWD}/${base}_2_1.pid $sleep 5 & + + jail -c path=/ name=${base}_2_2 ip4.addr=127.0.0.1 \ + command=daemon -p ${PWD}/${base}_2_2.pid $sleep 5 & + + sleep 2 + pid1="$(pgrep -f -x -j any "$sleep 5" | sort)" + pid2=$(printf "%s\n%s" "$(cat ${PWD}/${base}_2_1.pid)" \ + $(cat ${PWD}/${base}_2_2.pid) | sort) + if [ "$pid1" = "$pid2" ]; then echo "ok 2 - $name" else echo "not ok 2 - $name" fi - kill $chpid $chpid2 $chpid3 + [ -f ${PWD}/${base}_2_1.pid ] && kill $(cat ${PWD}/${base}_2_1.pid) + [ -f ${PWD}/${base}_2_2.pid ] && kill $(cat ${PWD}/${base}_2_2.pid) rm -f $sleep else echo "ok 2 - $name # skip Test needs uid 0." @@ -57,19 +79,19 @@ name="pgrep -j none" if [ `id -u` -eq 0 ]; then sleep=$(pwd)/sleep.txt ln -sf /bin/sleep $sleep - $sleep 5 & - chpid=$! - jail / $base 127.0.0.1 $sleep 5 & - chpid2=$! - sleep 0.5 - pid=`pgrep -f -j none $sleep` - if [ "$pid" = "$chpid" ]; then + daemon -p ${PWD}/${base}_3_1.pid $sleep 5 & + jail -c path=/ name=${base}_3_2 ip4.addr=127.0.0.1 \ + command=daemon -p ${PWD}/${base}_3_2.pid $sleep 5 & + sleep 2 + pid="$(pgrep -f -x -j none "$sleep 5")" + if [ "$pid" = "$(cat ${PWD}/${base}_3_1.pid)" ]; then echo "ok 3 - $name" else echo "not ok 3 - $name" fi - kill $chpid $chpid2 rm -f $sleep + [ -f ${PWD}/${base}_3_1.pid ] && kill $(cat $PWD/${base}_3_1.pid) + [ -f ${PWD}/${base}_3_2.pid ] && kill $(cat $PWD/${base}_3_2.pid) else echo "ok 3 - $name # skip Test needs uid 0." fi Modified: projects/arm64/bin/pkill/tests/pkill-j_test.sh ============================================================================== --- projects/arm64/bin/pkill/tests/pkill-j_test.sh Wed Nov 12 11:34:27 2014 (r274426) +++ projects/arm64/bin/pkill/tests/pkill-j_test.sh Wed Nov 12 12:46:57 2014 (r274427) @@ -1,7 +1,23 @@ #!/bin/sh # $FreeBSD$ -base=`basename $0` +jail_name_to_jid() +{ + local check_name="$1" + ( + line="$(jls -n 2> /dev/null | grep name=$check_name )" + for nv in $line; do + local name="${nv%=*}" + if [ "${name}" = "jid" ]; then + eval $nv + echo $jid + break + fi + done + ) +} + +base=pkill_j_test echo "1..3" @@ -9,21 +25,28 @@ name="pkill -j " if [ `id -u` -eq 0 ]; then sleep=$(pwd)/sleep.txt ln -sf /bin/sleep $sleep - jail / $base-1 127.0.0.1 $sleep 5 & - chpid=$! - jail / $base-2 127.0.0.1 $sleep 5 & - chpid2=$! + jail -c path=/ name=${base}_1_1 ip4.addr=127.0.0.1 \ + command=daemon -p ${PWD}/${base}_1_1.pid $sleep 5 & + + jail -c path=/ name=${base}_1_2 ip4.addr=127.0.0.1 \ + command=daemon -p ${PWD}/${base}_1_2.pid $sleep 5 & + $sleep 5 & - chpid3=$! sleep 0.5 - jid=`jls | awk "/127\\.0\\.0\\.1.*${base}-1/ {print \$1}"` - if pkill -f -j $jid $sleep && sleep 0.5 && - ! kill $chpid && kill $chpid2 $chpid3; then + jid1=$(jail_name_to_jid ${base}_1_1) + jid2=$(jail_name_to_jid ${base}_1_2) + jid="${jid1},${jid2}" + if pkill -f -j "$jid" $sleep && sleep 0.5 && + ! -f ${PWD}/${base}_1_1.pid && + ! -f ${PWD}/${base}_1_2.pid ; then echo "ok 1 - $name" else echo "not ok 1 - $name" fi 2>/dev/null rm -f $sleep + [ -f ${PWD}/${base}_1_1.pid ] && kill $(cat ${PWD}/${base}_1_1.pid) + [ -f ${PWD}/${base}_1_2.pid ] && kill $(cat ${PWD}/${base}_1_2.pid) + wait else echo "ok 1 - $name # skip Test needs uid 0." fi @@ -32,20 +55,26 @@ name="pkill -j any" if [ `id -u` -eq 0 ]; then sleep=$(pwd)/sleep.txt ln -sf /bin/sleep $sleep - jail / $base-1 127.0.0.1 $sleep 5 & - chpid=$! - jail / $base-2 127.0.0.1 $sleep 5 & - chpid2=$! + jail -c path=/ name=${base}_2_1 ip4.addr=127.0.0.1 \ + command=daemon -p ${PWD}/${base}_2_1.pid $sleep 5 & + + jail -c path=/ name=${base}_2_2 ip4.addr=127.0.0.1 \ + command=daemon -p ${PWD}/${base}_2_2.pid $sleep 5 & + $sleep 5 & - chpid3=$! sleep 0.5 + chpid3=$! if pkill -f -j any $sleep && sleep 0.5 && - ! kill $chpid && ! kill $chpid2 && kill $chpid3; then + [ ! -f ${PWD}/${base}_2_1.pid -a + ! -f ${PWD}/${base}_2_2.pid ] && kill $chpid3; then echo "ok 2 - $name" else echo "not ok 2 - $name" fi 2>/dev/null rm -f $sleep + [ -f ${PWD}/${base}_2_1.pid ] && kill $(cat ${PWD}/${base}_2_1.pid) + [ -f ${PWD}/${base}_2_2.pid ] && kill $(cat ${PWD}/${base}_2_2.pid) + wait else echo "ok 2 - $name # skip Test needs uid 0." fi @@ -54,18 +83,20 @@ name="pkill -j none" if [ `id -u` -eq 0 ]; then sleep=$(pwd)/sleep.txt ln -sf /bin/sleep $sleep - $sleep 5 & - chpid=$! - jail / $base 127.0.0.1 $sleep 5 & - chpid2=$! - sleep 0.5 - if pkill -f -j none $sleep && sleep 0.5 && - ! kill $chpid && kill $chpid2; then + daemon -p ${PWD}/${base}_3_1.pid $sleep 5 + jail -c path=/ name=${base}_3_2 ip4.addr=127.0.0.1 \ + command=daemon -p ${PWD}/${base}_3_2.pid $sleep 5 & + sleep 1 + if pkill -f -j none "$sleep 5" && sleep 1 && + [ ! -f ${PWD}/${base}_3_1.pid -a -f ${PWD}/${base}_3_2.pid ] ; then echo "ok 3 - $name" else + ls ${PWD}/*.pid echo "not ok 3 - $name" fi 2>/dev/null rm -f $sleep + [ -f ${PWD}/${base}_3_1.pid ] && kill $(cat ${base}_3_1.pid) + [ -f ${PWD}/${base}_3_2.pid ] && kill $(cat ${base}_3_2.pid) else echo "ok 3 - $name # skip Test needs uid 0." fi Modified: projects/arm64/bin/sh/eval.c ============================================================================== --- projects/arm64/bin/sh/eval.c Wed Nov 12 11:34:27 2014 (r274426) +++ projects/arm64/bin/sh/eval.c Wed Nov 12 12:46:57 2014 (r274427) @@ -168,6 +168,8 @@ evalstring(char *s, int flags) else evaltree(n, flags); any = 1; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Nov 12 13:19:19 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BFD96C8B; Wed, 12 Nov 2014 13:19:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ACDD2E5C; Wed, 12 Nov 2014 13:19:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sACDJJjH070309; Wed, 12 Nov 2014 13:19:19 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sACDJJhI070308; Wed, 12 Nov 2014 13:19:19 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201411121319.sACDJJhI070308@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Wed, 12 Nov 2014 13:19:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274428 - projects/arm64/sys/arm64/include X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2014 13:19:19 -0000 Author: andrew Date: Wed Nov 12 13:19:18 2014 New Revision: 274428 URL: https://svnweb.freebsd.org/changeset/base/274428 Log: Fix the values for __WCHAR_{MIN,MAX} Modified: projects/arm64/sys/arm64/include/_types.h Modified: projects/arm64/sys/arm64/include/_types.h ============================================================================== --- projects/arm64/sys/arm64/include/_types.h Wed Nov 12 12:46:57 2014 (r274427) +++ projects/arm64/sys/arm64/include/_types.h Wed Nov 12 13:19:18 2014 (r274428) @@ -94,8 +94,8 @@ typedef __uint64_t __vm_pindex_t; typedef __uint64_t __vm_size_t; typedef unsigned int ___wchar_t; -#define __WCHAR_MIN __INT_MIN /* min value for a wchar_t */ -#define __WCHAR_MAX __INT_MAX /* max value for a wchar_t */ +#define __WCHAR_MIN __UINT_MIN /* min value for a wchar_t */ +#define __WCHAR_MAX __UINT_MAX /* max value for a wchar_t */ /* * Unusual type definitions. From owner-svn-src-projects@FreeBSD.ORG Wed Nov 12 13:19:23 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 299BAD6C; Wed, 12 Nov 2014 13:19:23 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 167AFE5E; Wed, 12 Nov 2014 13:19:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sACDJMlo070356; Wed, 12 Nov 2014 13:19:22 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sACDJMZK070355; Wed, 12 Nov 2014 13:19:22 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201411121319.sACDJMZK070355@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Wed, 12 Nov 2014 13:19:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274429 - projects/arm64/sys/arm64/arm64 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2014 13:19:23 -0000 Author: andrew Date: Wed Nov 12 13:19:22 2014 New Revision: 274429 URL: https://svnweb.freebsd.org/changeset/base/274429 Log: Remove the panic from pmap_advise, we don't need to implement it Modified: projects/arm64/sys/arm64/arm64/pmap.c Modified: projects/arm64/sys/arm64/arm64/pmap.c ============================================================================== --- projects/arm64/sys/arm64/arm64/pmap.c Wed Nov 12 13:19:18 2014 (r274428) +++ projects/arm64/sys/arm64/arm64/pmap.c Wed Nov 12 13:19:22 2014 (r274429) @@ -5642,7 +5642,6 @@ out: void pmap_advise(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, int advice) { - panic("pmap_advise"); #if 0 struct rwlock *lock; pml4_entry_t *pml4e; From owner-svn-src-projects@FreeBSD.ORG Wed Nov 12 13:19:26 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8B4F2E4D; Wed, 12 Nov 2014 13:19:26 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 78415E60; Wed, 12 Nov 2014 13:19:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sACDJQYF070406; Wed, 12 Nov 2014 13:19:26 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sACDJQEJ070405; Wed, 12 Nov 2014 13:19:26 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201411121319.sACDJQEJ070405@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Wed, 12 Nov 2014 13:19:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274430 - projects/arm64/sys/arm64/arm64 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2014 13:19:26 -0000 Author: andrew Date: Wed Nov 12 13:19:25 2014 New Revision: 274430 URL: https://svnweb.freebsd.org/changeset/base/274430 Log: Implement pmap_remove_pages Modified: projects/arm64/sys/arm64/arm64/pmap.c Modified: projects/arm64/sys/arm64/arm64/pmap.c ============================================================================== --- projects/arm64/sys/arm64/arm64/pmap.c Wed Nov 12 13:19:22 2014 (r274429) +++ projects/arm64/sys/arm64/arm64/pmap.c Wed Nov 12 13:19:25 2014 (r274430) @@ -2416,9 +2416,9 @@ pv_to_chunk(pv_entry_t pv) #define PC_FREE1 0xfffffffffffffffful #define PC_FREE2 0x000000fffffffffful -#if 0 static const uint64_t pc_freemask[_NPCM] = { PC_FREE0, PC_FREE1, PC_FREE2 }; +#if 0 #ifdef PV_STATS static int pc_chunk_count, pc_chunk_allocs, pc_chunk_frees, pc_chunk_tryfail; @@ -4968,23 +4968,26 @@ pmap_page_is_mapped(vm_page_t m) void pmap_remove_pages(pmap_t pmap) { - panic("pmap_remove_pages"); + pd_entry_t ptepde, *l2; + pt_entry_t *l3, tl3; #if 0 - pd_entry_t ptepde; - pt_entry_t *pte, tpte; pt_entry_t PG_M, PG_RW, PG_V; +#endif struct spglist free; - vm_page_t m, mpte, mt; + vm_page_t m; //, mpte, mt; pv_entry_t pv; +#if 0 struct md_page *pvh; +#endif struct pv_chunk *pc, *npc; struct rwlock *lock; int64_t bit; uint64_t inuse, bitmask; int allfree, field, freed, idx; - boolean_t superpage; + //boolean_t superpage; vm_paddr_t pa; +#if 0 /* * Assert that the given pmap is only active on the current * CPU. Unfortunately, we cannot block another CPU from @@ -5003,11 +5006,9 @@ pmap_remove_pages(pmap_t pmap) KASSERT(CPU_EMPTY(&other_cpus), ("pmap active %p", pmap)); } #endif +#endif lock = NULL; - PG_M = pmap_modified_bit(pmap); - PG_V = pmap_valid_bit(pmap); - PG_RW = pmap_rw_bit(pmap); SLIST_INIT(&free); rw_rlock(&pvh_global_lock); @@ -5018,16 +5019,17 @@ pmap_remove_pages(pmap_t pmap) for (field = 0; field < _NPCM; field++) { inuse = ~pc->pc_map[field] & pc_freemask[field]; while (inuse != 0) { - bit = bsfq(inuse); + bit = ffsl(inuse) - 1; bitmask = 1UL << bit; idx = field * 64 + bit; pv = &pc->pc_pventry[idx]; inuse &= ~bitmask; - pte = pmap_pdpe(pmap, pv->pv_va); - ptepde = *pte; - pte = pmap_pdpe_to_pde(pte, pv->pv_va); - tpte = *pte; + l2 = pmap_l2(pmap, pv->pv_va); + ptepde = *l2; + l3 = pmap_l2_to_l3(l2, pv->pv_va); + tl3 = *l3; +#if 0 if ((tpte & (PG_PS | PG_V)) == PG_V) { superpage = FALSE; ptepde = tpte; @@ -5053,19 +5055,22 @@ pmap_remove_pages(pmap_t pmap) panic("bad pte va %lx pte %lx", pv->pv_va, tpte); } +#endif /* * We cannot remove wired pages from a process' mapping at this time */ - if (tpte & PG_W) { + if (tl3 & ATTR_SW_W) { allfree = 0; continue; } +#if 0 if (superpage) pa = tpte & PG_PS_FRAME; else - pa = tpte & PG_FRAME; +#endif + pa = tl3 & ~ATTR_MASK; m = PHYS_TO_VM_PAGE(pa); KASSERT(m->phys_addr == pa, @@ -5078,16 +5083,18 @@ pmap_remove_pages(pmap_t pmap) ("pmap_remove_pages: bad tpte %#jx", (uintmax_t)tpte)); - pte_clear(pte); + *l3 = 0; /* * Update the vm_page_t clean/reference bits. */ - if ((tpte & (PG_M | PG_RW)) == (PG_M | PG_RW)) { + if ((tl3 & (1 << 7)) == ATTR_AP(ATTR_AP_RW)) { +#if 0 if (superpage) { for (mt = m; mt < &m[NBPDR / PAGE_SIZE]; mt++) vm_page_dirty(mt); } else +#endif vm_page_dirty(m); } @@ -5095,6 +5102,7 @@ pmap_remove_pages(pmap_t pmap) /* Mark free */ pc->pc_map[field] |= bitmask; +#if 0 if (superpage) { pmap_resident_count_dec(pmap, NBPDR / PAGE_SIZE); pvh = pa_to_pvh(tpte & PG_PS_FRAME); @@ -5117,9 +5125,11 @@ pmap_remove_pages(pmap_t pmap) atomic_subtract_int(&vm_cnt.v_wire_count, 1); } } else { +#endif pmap_resident_count_dec(pmap, 1); TAILQ_REMOVE(&m->md.pv_list, pv, pv_next); m->md.pv_gen++; +#if 0 if ((m->aflags & PGA_WRITEABLE) != 0 && TAILQ_EMPTY(&m->md.pv_list) && (m->flags & PG_FICTITIOUS) == 0) { @@ -5127,8 +5137,9 @@ pmap_remove_pages(pmap_t pmap) if (TAILQ_EMPTY(&pvh->pv_list)) vm_page_aflag_clear(m, PGA_WRITEABLE); } - } - pmap_unuse_pt(pmap, pv->pv_va, ptepde, &free); +#endif + //} + pmap_unuse_l3(pmap, pv->pv_va, ptepde, &free); freed++; } } @@ -5146,7 +5157,6 @@ pmap_remove_pages(pmap_t pmap) rw_runlock(&pvh_global_lock); PMAP_UNLOCK(pmap); pmap_free_zero_pages(&free); -#endif } #if 0 From owner-svn-src-projects@FreeBSD.ORG Wed Nov 12 13:19:32 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B5900F37; Wed, 12 Nov 2014 13:19:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A1676E66; Wed, 12 Nov 2014 13:19:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sACDJWQS070465; Wed, 12 Nov 2014 13:19:32 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sACDJVs3070455; Wed, 12 Nov 2014 13:19:31 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201411121319.sACDJVs3070455@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Wed, 12 Nov 2014 13:19:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274431 - in projects/arm64: lib/libc/arm64 lib/libc/arm64/sys sys/arm64/arm64 sys/arm64/include X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2014 13:19:32 -0000 Author: andrew Date: Wed Nov 12 13:19:30 2014 New Revision: 274431 URL: https://svnweb.freebsd.org/changeset/base/274431 Log: Set the C bit in spsr to indicate when syscalls fail, and use it to set errno on failure. Added: projects/arm64/lib/libc/arm64/sys/cerror.S - copied, changed from r274430, projects/arm64/sys/arm64/include/asm.h Modified: projects/arm64/lib/libc/arm64/SYS.h projects/arm64/lib/libc/arm64/sys/Makefile.inc projects/arm64/sys/arm64/arm64/vm_machdep.c projects/arm64/sys/arm64/include/asm.h Modified: projects/arm64/lib/libc/arm64/SYS.h ============================================================================== --- projects/arm64/lib/libc/arm64/SYS.h Wed Nov 12 13:19:25 2014 (r274430) +++ projects/arm64/lib/libc/arm64/SYS.h Wed Nov 12 13:19:30 2014 (r274431) @@ -48,6 +48,7 @@ END(__sys_##name) ENTRY(__sys_##name); \ WEAK_REFERENCE(__sys_##name, _##name); \ _SYSCALL(name); \ + b.cs PIC_SYM(cerror, PLT); \ ret; \ END(__sys_##name) @@ -56,6 +57,7 @@ ENTRY(__sys_##name); \ WEAK_REFERENCE(__sys_##name, name); \ WEAK_REFERENCE(__sys_##name, _##name); \ _SYSCALL(name); \ + b.cs PIC_SYM(cerror, PLT); \ ret; \ END(__sys_##name) Modified: projects/arm64/lib/libc/arm64/sys/Makefile.inc ============================================================================== --- projects/arm64/lib/libc/arm64/sys/Makefile.inc Wed Nov 12 13:19:25 2014 (r274430) +++ projects/arm64/lib/libc/arm64/sys/Makefile.inc Wed Nov 12 13:19:30 2014 (r274431) @@ -2,7 +2,8 @@ SRCS+= __vdso_gettc.c -#MDASM= Ovfork.S brk.S cerror.S pipe.S ptrace.S sbrk.S shmat.S sigreturn.S syscall.S +#MDASM= Ovfork.S brk.S pipe.S ptrace.S sbrk.S shmat.S sigreturn.S syscall.S +MDASM= cerror.S # Don't generate default code for these syscalls: NOASM= break.o exit.o getlogin.o openbsd_poll.o sstk.o vfork.o yield.o Copied and modified: projects/arm64/lib/libc/arm64/sys/cerror.S (from r274430, projects/arm64/sys/arm64/include/asm.h) ============================================================================== --- projects/arm64/sys/arm64/include/asm.h Wed Nov 12 13:19:25 2014 (r274430, copy source) +++ projects/arm64/lib/libc/arm64/sys/cerror.S Wed Nov 12 13:19:30 2014 (r274431) @@ -25,26 +25,17 @@ * */ -#ifndef _MACHINE_ASM_H_ -#define _MACHINE_ASM_H_ +#include +__FBSDID("$FreeBSD$"); -#undef __FBSDID -#if !defined(lint) && !defined(STRIP_FBSDID) -#define __FBSDID(s) .ident s -#else -#define __FBSDID(s) /* nothing */ -#endif - -#define _C_LABEL(x) x - -#define ENTRY(sym) \ - .text; .globl sym; .align 2; sym: -#define END(sym) .size sym, . - sym - -#define WEAK_REFERENCE(sym, alias) \ - .weak alias; \ - .set alias,sym - -#define UINT64_C(x) (x) - -#endif /* _MACHINE_ASM_H_ */ +ENTRY(cerror) + sub sp, sp, #16 + stp x0, lr, [sp] + bl PIC_SYM(_C_LABEL(__error), PLT) + ldp x1, lr, [sp] + str x1, [x0] + movn x0, #0 + movn x1, #0 + add sp, sp, #16 + ret +END(cerror) Modified: projects/arm64/sys/arm64/arm64/vm_machdep.c ============================================================================== --- projects/arm64/sys/arm64/arm64/vm_machdep.c Wed Nov 12 13:19:25 2014 (r274430) +++ projects/arm64/sys/arm64/arm64/vm_machdep.c Wed Nov 12 13:19:30 2014 (r274431) @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -115,6 +116,7 @@ cpu_set_syscall_retval(struct thread *td case 0: frame->tf_x[0] = td->td_retval[0]; frame->tf_x[1] = td->td_retval[1]; + frame->tf_spsr &= ~PSR_C; /* carry bit */ break; case ERESTART: frame->tf_elr -= 4; @@ -122,6 +124,7 @@ cpu_set_syscall_retval(struct thread *td case EJUSTRETURN: break; default: + frame->tf_spsr |= PSR_C; /* carry bit */ frame->tf_x[0] = error; break; } Modified: projects/arm64/sys/arm64/include/asm.h ============================================================================== --- projects/arm64/sys/arm64/include/asm.h Wed Nov 12 13:19:25 2014 (r274430) +++ projects/arm64/sys/arm64/include/asm.h Wed Nov 12 13:19:30 2014 (r274431) @@ -47,4 +47,10 @@ #define UINT64_C(x) (x) +#if defined(PIC) +#define PIC_SYM(x,y) x ## @ ## y +#else +#define PIC_SYM(x,y) x +#endif + #endif /* _MACHINE_ASM_H_ */ From owner-svn-src-projects@FreeBSD.ORG Wed Nov 12 13:19:36 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7894CF3E; Wed, 12 Nov 2014 13:19:36 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4B698E67; Wed, 12 Nov 2014 13:19:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sACDJaru070509; Wed, 12 Nov 2014 13:19:36 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sACDJaYR070508; Wed, 12 Nov 2014 13:19:36 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201411121319.sACDJaYR070508@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Wed, 12 Nov 2014 13:19:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274432 - projects/arm64/sys/arm64/arm64 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2014 13:19:36 -0000 Author: andrew Date: Wed Nov 12 13:19:35 2014 New Revision: 274432 URL: https://svnweb.freebsd.org/changeset/base/274432 Log: Merge the common code to print registers. While here quieten the handlers to only print on interesting exceptions. Modified: projects/arm64/sys/arm64/arm64/trap.c Modified: projects/arm64/sys/arm64/arm64/trap.c ============================================================================== --- projects/arm64/sys/arm64/arm64/trap.c Wed Nov 12 13:19:30 2014 (r274431) +++ projects/arm64/sys/arm64/arm64/trap.c Wed Nov 12 13:19:35 2014 (r274432) @@ -158,12 +158,25 @@ data_abort(struct trapframe *frame, uint panic("vm_fault failed"); } +static void +print_registers(struct trapframe *frame) +{ + u_int reg; + + for (reg = 0; reg < 31; reg++) { + printf(" %sx%d: %llx\n", (reg < 10) ? " " : "", reg, frame->tf_x[reg]); + } + printf(" sp: %llx\n", frame->tf_sp); + printf(" lr: %llx\n", frame->tf_lr); + printf(" elr: %llx\n", frame->tf_elr); + printf("spsr: %llx\n", frame->tf_spsr); +} + void do_el1h_sync(struct trapframe *frame) { uint32_t exception; uint64_t esr; - u_int reg; /* Read the esr register to get the exception details */ __asm __volatile("mrs %x0, esr_el1" : "=&r"(esr)); @@ -172,15 +185,13 @@ do_el1h_sync(struct trapframe *frame) exception = (esr >> 26) & 0x3f; - printf("In do_el1h_sync %llx %llx %x\n", frame->tf_elr, esr, exception); - - for (reg = 0; reg < 31; reg++) { - printf(" %sx%d: %llx\n", (reg < 10) ? " " : "", reg, frame->tf_x[reg]); + if (0) { + printf("In do_el1h_sync\n"); + printf(" esr: %llx\n", esr); + printf("excp: %x\n", exception); + print_registers(frame); } - printf(" sp: %llx\n", frame->tf_sp); - printf(" lr: %llx\n", frame->tf_lr); - printf(" elr: %llx\n", frame->tf_elr); - printf("spsr: %llx\n", frame->tf_spsr); + switch(exception) { case 0x25: data_abort(frame, esr, 0); @@ -192,7 +203,6 @@ do_el1h_sync(struct trapframe *frame) default: panic("Unknown exception %x\n", exception); } - printf("Done do_el1h_sync\n"); } void @@ -200,19 +210,17 @@ do_el0_sync(struct trapframe *frame) { uint32_t exception; uint64_t esr; - u_int reg; __asm __volatile("mrs %x0, esr_el1" : "=&r"(esr)); exception = (esr >> 26) & 0x3f; - printf("In do_el0_sync %llx %llx %x\n", frame->tf_elr, esr, exception); - for (reg = 0; reg < 31; reg++) { - printf(" %sx%d: %llx\n", (reg < 10) ? " " : "", reg, frame->tf_x[reg]); + if (0) + { + printf("In do_el0_sync\n"); + printf(" esr: %llx\n", esr); + printf("excp: %x\n", exception); + print_registers(frame); } - printf(" sp: %llx\n", frame->tf_sp); - printf(" lr: %llx\n", frame->tf_lr); - printf(" elr: %llx\n", frame->tf_elr); - printf("spsr: %llx\n", frame->tf_spsr); switch(exception) { case 0x15: From owner-svn-src-projects@FreeBSD.ORG Wed Nov 12 13:19:41 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B092CA9; Wed, 12 Nov 2014 13:19:41 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 847F8E69; Wed, 12 Nov 2014 13:19:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sACDJfQW070577; Wed, 12 Nov 2014 13:19:41 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sACDJfol070575; Wed, 12 Nov 2014 13:19:41 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201411121319.sACDJfol070575@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Wed, 12 Nov 2014 13:19:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274433 - in projects/arm64: lib/libc/arm64/gen sys/arm64/include X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2014 13:19:41 -0000 Author: andrew Date: Wed Nov 12 13:19:40 2014 New Revision: 274433 URL: https://svnweb.freebsd.org/changeset/base/274433 Log: Start to support _setjmp/_longjmp on arm64 Modified: projects/arm64/lib/libc/arm64/gen/_setjmp.S projects/arm64/sys/arm64/include/setjmp.h Modified: projects/arm64/lib/libc/arm64/gen/_setjmp.S ============================================================================== --- projects/arm64/lib/libc/arm64/gen/_setjmp.S Wed Nov 12 13:19:35 2014 (r274432) +++ projects/arm64/lib/libc/arm64/gen/_setjmp.S Wed Nov 12 13:19:40 2014 (r274433) @@ -25,13 +25,48 @@ * */ - .globl _setjmp -_setjmp: - b _setjmp +#include +__FBSDID("$FreeBSD$"); + +ENTRY(_setjmp) + /* Store the general purpose registers and lr */ + stp x19, x20, [x0], #16 + stp x21, x22, [x0], #16 + stp x23, x24, [x0], #16 + stp x25, x26, [x0], #16 + stp x27, x28, [x0], #16 + stp x29, x29, [x0], #16 + + /* Reserve space for the floating point register */ + add x0, x0, #(8 * 8) + + /* Store the stack pointer */ + mov x8, sp + str x8, [x0] + + /* Return value */ + mov x0, #0 ret +END(_setjmp) + +ENTRY(_longjmp) + /* restore the general purpose registers and lr */ + ldp x19, x20, [x0], #16 + ldp x21, x22, [x0], #16 + ldp x23, x24, [x0], #16 + ldp x25, x26, [x0], #16 + ldp x27, x28, [x0], #16 + ldp x29, x29, [x0], #16 + + /* Reserve space for the floating point register */ + add x0, x0, #(8 * 8) + + /* Store the stack pointer */ + ldr x8, [x0] + mov sp, x8 - .globl _longjmp -_longjmp: - b _longjmp + /* Load the return value */ + mov x0, x1 ret +END(_longjmp) Modified: projects/arm64/sys/arm64/include/setjmp.h ============================================================================== --- projects/arm64/sys/arm64/include/setjmp.h Wed Nov 12 13:19:35 2014 (r274432) +++ projects/arm64/sys/arm64/include/setjmp.h Wed Nov 12 13:19:40 2014 (r274433) @@ -35,8 +35,15 @@ #include -/* TODO: Add the registers */ -#define _JBLEN 1 +/* + * We nned to sore: the sp + lr + 11 gp registers + 8 fp registers, + * i.e. 21 values, this can be rounded up to 32 to give us some space to + * expand into without affecting the ABI. + * XXX: Is this enough spacce for expansion? + * + * The registers to save are: r19 to r29, and v8 to v15. + */ +#define _JBLEN 32 /* * jmp_buf and sigjmp_buf are encapsulated in different structs to force From owner-svn-src-projects@FreeBSD.ORG Wed Nov 12 15:58:48 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 22DDB4B5; Wed, 12 Nov 2014 15:58:48 +0000 (UTC) Received: from bigwig.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 F14D623E; Wed, 12 Nov 2014 15:58:47 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 02B36B968; Wed, 12 Nov 2014 10:58:47 -0500 (EST) From: John Baldwin To: Gleb Smirnoff Subject: Re: svn commit: r274395 - projects/sendfile/sys/sys Date: Wed, 12 Nov 2014 10:20:12 -0500 User-Agent: KMail/1.13.5 (FreeBSD/8.4-CBSD-20140415; KDE/4.5.5; amd64; ; ) References: <201411111939.sABJdbsq068199@svn.freebsd.org> In-Reply-To: <201411111939.sABJdbsq068199@svn.freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201411121020.12567.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Wed, 12 Nov 2014 10:58:47 -0500 (EST) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Nov 2014 15:58:48 -0000 On Tuesday, November 11, 2014 2:39:37 pm Gleb Smirnoff wrote: > Author: glebius > Date: Tue Nov 11 19:39:36 2014 > New Revision: 274395 > URL: https://svnweb.freebsd.org/changeset/base/274395 > > Log: > Undefine SF_NODISKIO and SF_MNOWAIT. > > Modified: > projects/sendfile/sys/sys/socket.h > > Modified: projects/sendfile/sys/sys/socket.h > ============================================================================== > --- projects/sendfile/sys/sys/socket.h Tue Nov 11 19:37:17 2014 (r274394) > +++ projects/sendfile/sys/sys/socket.h Tue Nov 11 19:39:36 2014 (r274395) > @@ -600,9 +600,13 @@ struct sf_hdtr_all { > > /* > * Sendfile-specific flag(s) > + * > + * SF_NODISKIO and SF_MNOWAIT are unused since 11.0, but we keep > + * them in header to keep applications compilable. We will try to > + * avoid to reuse their bits as long as possible. > */ > -#define SF_NODISKIO 0x00000001 > -#define SF_MNOWAIT 0x00000002 /* unused since 11.0 */ > +#define SF_NODISKIO 0x00000000 /* was 0x00000001 */ > +#define SF_MNOWAIT 0x00000000 /* was 0x00000002 */ > #define SF_SYNC 0x00000004 > #define SF_KQUEUE 0x00000008 > #define SF_NOCACHE 0x00000010 What we've done for mmap() flags is something like: #define SF_UNUSED0001 0x0000001 /* was SF_NODISKIO */ -- John Baldwin From owner-svn-src-projects@FreeBSD.ORG Thu Nov 13 00:37:25 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CE985BF0; Thu, 13 Nov 2014 00:37:25 +0000 (UTC) Received: from mail106.syd.optusnet.com.au (mail106.syd.optusnet.com.au [211.29.132.42]) by mx1.freebsd.org (Postfix) with ESMTP id 92039154; Thu, 13 Nov 2014 00:37:25 +0000 (UTC) Received: from c122-106-147-133.carlnfd1.nsw.optusnet.com.au (c122-106-147-133.carlnfd1.nsw.optusnet.com.au [122.106.147.133]) by mail106.syd.optusnet.com.au (Postfix) with ESMTPS id 803883D4306; Thu, 13 Nov 2014 11:37:16 +1100 (AEDT) Date: Thu, 13 Nov 2014 11:37:15 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Andrew Turner Subject: Re: svn commit: r274428 - projects/arm64/sys/arm64/include In-Reply-To: <201411121319.sACDJJhI070308@svn.freebsd.org> Message-ID: <20141113111122.O1052@besplex.bde.org> References: <201411121319.sACDJJhI070308@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.1 cv=dMCfxopb c=1 sm=1 tr=0 a=7NqvjVvQucbO2RlWB8PEog==:117 a=PO7r1zJSAAAA:8 a=kj9zAlcOel0A:10 a=JzwRw_2MAAAA:8 a=5MRF5YCavSwMJl3hpNwA:9 a=CjuIK1q_8ugA:10 Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2014 00:37:25 -0000 On Wed, 12 Nov 2014, Andrew Turner wrote: > Log: > Fix the values for __WCHAR_{MIN,MAX} > > Modified: > projects/arm64/sys/arm64/include/_types.h > > Modified: projects/arm64/sys/arm64/include/_types.h > ============================================================================== > --- projects/arm64/sys/arm64/include/_types.h Wed Nov 12 12:46:57 2014 (r274427) > +++ projects/arm64/sys/arm64/include/_types.h Wed Nov 12 13:19:18 2014 (r274428) > @@ -94,8 +94,8 @@ typedef __uint64_t __vm_pindex_t; > typedef __uint64_t __vm_size_t; > typedef unsigned int ___wchar_t; > > -#define __WCHAR_MIN __INT_MIN /* min value for a wchar_t */ > -#define __WCHAR_MAX __INT_MAX /* max value for a wchar_t */ > +#define __WCHAR_MIN __UINT_MIN /* min value for a wchar_t */ > +#define __WCHAR_MAX __UINT_MAX /* max value for a wchar_t */ > > /* > * Unusual type definitions. This looks bad. 3 underscores for ___wchar_t is execessive. All arches have this bug. It is not even needed to give an extra level of obfuscation below __wchar_t, since the usual spelling __wchar_t is never used. UINT_MIN doesn't exist. The minimum for any unsigned type is 0, so there is no need for a macro giving it. __UINT_MIN shouldn't exist either. It doesn't exist for any other arch. The comments on the limits are duplicated ad nauseum, except in the one place where they might be useful -- they are duplicated for each arch in the implementation-detail header , but not in the application header . (The application header has no comments useful to users at all. All of its comments are for implementation details: - First coptright comment - Second copyright comment (not properly merged) - 2 LONGLONG comments (markup for lint) - One comment on an #endif.) In , the spam is a little more uniform. Most definitions at the top level have no comments. However, most definitions aren't at the top level. Most of the STDC definitions are in the included file . This has the duplicated comments, except of course it has no comments for nonstandard macros that need comments most (LONG_BIT, WORD_BIT and MQ_PRIO_MAX; the placement of MQ_PRIO_MAX there is just a bug -- all other POSIX limits are in either or , depending on whether they are implemented used in the kernel; MQ_PRIO_MAX is also under a broken visibility ifdef that makes it visible to all versions of POSIX). Bruce From owner-svn-src-projects@FreeBSD.ORG Thu Nov 13 07:16:41 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 44221919 for ; Thu, 13 Nov 2014 07:16:41 +0000 (UTC) Received: from nk11p20im-asmtp001.me.com (nk11p20im-asmtp001.me.com [17.158.216.160]) (using TLSv1 with cipher DES-CBC3-SHA (112/168 bits)) (Client CN "smtp.me.com", Issuer "VeriSign Class 3 Extended Validation SSL SGC CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2C755B78 for ; Thu, 13 Nov 2014 07:16:40 +0000 (UTC) Received: from [192.168.1.74] (189.223.184.2.dsl.dyn.telnor.net [189.223.184.2]) by nk11p20im-asmtp001.me.com (Oracle Communications Messaging Server 7u4-27.10(7.0.4.27.9) 64bit (built Jun 6 2014)) with ESMTPSA id <0NEY00L1KS3JJ380@nk11p20im-asmtp001.me.com> for svn-src-projects@freebsd.org; Thu, 13 Nov 2014 06:16:34 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.13.68,1.0.28,0.0.0000 definitions=2014-11-13_04:2014-11-12,2014-11-13,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=1 spamscore=1 suspectscore=5 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1408290000 definitions=main-1411130054 From: Alex Fraude malandro Content-type: text/plain Content-transfer-encoding: 7bit Subject: Message-id: Date: Wed, 12 Nov 2014 22:16:30 -0800 To: svn-src-projects@freebsd.org MIME-version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) X-Mailer: Apple Mail (2.1878.6) X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2014 07:16:41 -0000 From owner-svn-src-projects@FreeBSD.ORG Thu Nov 13 08:39:39 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 46F1DAF6; Thu, 13 Nov 2014 08:39:39 +0000 (UTC) Received: from mailrelay006.isp.belgacom.be (mailrelay006.isp.belgacom.be [195.238.6.172]) by mx1.freebsd.org (Postfix) with ESMTP id 8B7C860B; Thu, 13 Nov 2014 08:39:38 +0000 (UTC) X-Belgacom-Dynamic: yes X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Am4GAA1tZFRbsIQk/2dsb2JhbABVBoMOgS3UNgKBHBcBAQEBAX2EAwEBBDocIxALDgoJJQ8qHgYTiEUBz0QBAQEBAQEEAQEBAQEdkFEQMweESwEEnjCWaIN9PDCCSwEBAQ Received: from 36.132-176-91.adsl-dyn.isp.belgacom.be (HELO kalimero.tijl.coosemans.org) ([91.176.132.36]) by relay.skynet.be with ESMTP; 13 Nov 2014 09:38:27 +0100 Received: from kalimero.tijl.coosemans.org (kalimero.tijl.coosemans.org [127.0.0.1]) by kalimero.tijl.coosemans.org (8.14.9/8.14.9) with ESMTP id sAD8cPwX001047; Thu, 13 Nov 2014 09:38:26 +0100 (CET) (envelope-from tijl@FreeBSD.org) Date: Thu, 13 Nov 2014 09:38:25 +0100 From: Tijl Coosemans To: Bruce Evans Subject: Re: svn commit: r274428 - projects/arm64/sys/arm64/include Message-ID: <20141113093825.09afe65f@kalimero.tijl.coosemans.org> In-Reply-To: <20141113111122.O1052@besplex.bde.org> References: <201411121319.sACDJJhI070308@svn.freebsd.org> <20141113111122.O1052@besplex.bde.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Andrew Turner , svn-src-projects@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2014 08:39:39 -0000 On Thu, 13 Nov 2014 11:37:15 +1100 (EST) Bruce Evans wrote: > On Wed, 12 Nov 2014, Andrew Turner wrote: > > > Log: > > Fix the values for __WCHAR_{MIN,MAX} > > > > Modified: > > projects/arm64/sys/arm64/include/_types.h > > > > Modified: projects/arm64/sys/arm64/include/_types.h > > ============================================================================== > > --- projects/arm64/sys/arm64/include/_types.h Wed Nov 12 12:46:57 2014 (r274427) > > +++ projects/arm64/sys/arm64/include/_types.h Wed Nov 12 13:19:18 2014 (r274428) > > @@ -94,8 +94,8 @@ typedef __uint64_t __vm_pindex_t; > > typedef __uint64_t __vm_size_t; > > typedef unsigned int ___wchar_t; > > > > -#define __WCHAR_MIN __INT_MIN /* min value for a wchar_t */ > > -#define __WCHAR_MAX __INT_MAX /* max value for a wchar_t */ > > +#define __WCHAR_MIN __UINT_MIN /* min value for a wchar_t */ > > +#define __WCHAR_MAX __UINT_MAX /* max value for a wchar_t */ > > > > /* > > * Unusual type definitions. > > This looks bad. > > 3 underscores for ___wchar_t is execessive. All arches have this bug. It > is not even needed to give an extra level of obfuscation below __wchar_t, > since the usual spelling __wchar_t is never used. __wchar_t is used by clang with -fms-extensions. From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 15:34:54 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 590E5A8E; Fri, 14 Nov 2014 15:34:54 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2BD88783; Fri, 14 Nov 2014 15:34:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEFYsfs096476; Fri, 14 Nov 2014 15:34:54 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEFYrKO096472; Fri, 14 Nov 2014 15:34:53 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141534.sAEFYrKO096472@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 15:34:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274505 - in projects/sendfile/sys: kern sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 15:34:54 -0000 Author: glebius Date: Fri Nov 14 15:34:52 2014 New Revision: 274505 URL: https://svnweb.freebsd.org/changeset/base/274505 Log: Remove sbmtrim(). Modified: projects/sendfile/sys/kern/uipc_sockbuf.c projects/sendfile/sys/kern/uipc_socket.c projects/sendfile/sys/sys/sockbuf.h Modified: projects/sendfile/sys/kern/uipc_sockbuf.c ============================================================================== --- projects/sendfile/sys/kern/uipc_sockbuf.c Fri Nov 14 15:33:40 2014 (r274504) +++ projects/sendfile/sys/kern/uipc_sockbuf.c Fri Nov 14 15:34:52 2014 (r274505) @@ -184,22 +184,6 @@ sbfree(struct sockbuf *sb, struct mbuf * } /* - * Trim some amount of data from (first?) mbuf in buffer. - */ -void -sbmtrim(struct sockbuf *sb, struct mbuf *m, int len) -{ - - SOCKBUF_LOCK_ASSERT(sb); - KASSERT(len < m->m_len, ("%s: m %p len %d", __func__, m, len)); - - m->m_data += len; - m->m_len -= len; - sb->sb_acc -= len; - sb->sb_ccc -= len; -} - -/* * Socantsendmore indicates that no more data will be sent on the socket; it * would normally be applied to a socket when the user informs the system * that no more data is to be sent, by the protocol code (in case Modified: projects/sendfile/sys/kern/uipc_socket.c ============================================================================== --- projects/sendfile/sys/kern/uipc_socket.c Fri Nov 14 15:33:40 2014 (r274504) +++ projects/sendfile/sys/kern/uipc_socket.c Fri Nov 14 15:34:52 2014 (r274505) @@ -1810,7 +1810,7 @@ dontblock: SOCKBUF_LOCK(&so->so_rcv); } } - sbmtrim(&so->so_rcv, m, len); + sbcut_locked(&so->so_rcv, len); } } SOCKBUF_LOCK_ASSERT(&so->so_rcv); Modified: projects/sendfile/sys/sys/sockbuf.h ============================================================================== --- projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 15:33:40 2014 (r274504) +++ projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 15:34:52 2014 (r274505) @@ -174,7 +174,6 @@ int sblock(struct sockbuf *sb, int flags void sbunlock(struct sockbuf *sb); void sballoc(struct sockbuf *, struct mbuf *); void sbfree(struct sockbuf *, struct mbuf *); -void sbmtrim(struct sockbuf *, struct mbuf *, int); int sbready(struct sockbuf *, struct mbuf *, int); /* From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 15:36:49 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 33701BAC; Fri, 14 Nov 2014 15:36:49 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2064179A; Fri, 14 Nov 2014 15:36:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEFanNW096763; Fri, 14 Nov 2014 15:36:49 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEFamR6096762; Fri, 14 Nov 2014 15:36:48 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141536.sAEFamR6096762@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 15:36:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274506 - projects/sendfile/sys/kern X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 15:36:49 -0000 Author: glebius Date: Fri Nov 14 15:36:48 2014 New Revision: 274506 URL: https://svnweb.freebsd.org/changeset/base/274506 Log: Avoid coalescing if new mbuf is normal, but previous one is M_NOTREADY. Sponsored by: Nginx, Inc. Modified: projects/sendfile/sys/kern/uipc_sockbuf.c Modified: projects/sendfile/sys/kern/uipc_sockbuf.c ============================================================================== --- projects/sendfile/sys/kern/uipc_sockbuf.c Fri Nov 14 15:34:52 2014 (r274505) +++ projects/sendfile/sys/kern/uipc_sockbuf.c Fri Nov 14 15:36:48 2014 (r274506) @@ -906,8 +906,8 @@ sbappendcontrol(struct sockbuf *sb, stru * * (2) The mbuf may be coalesced -- i.e., data in the mbuf may be copied into * an mbuf already in the socket buffer. This can occur if an - * appropriate mbuf exists, there is room, and no merging of data types - * will occur. + * appropriate mbuf exists, there is room, both mbufs are not marked as + * not ready, and no merging of data types will occur. * * (3) The mbuf may be appended to the end of the existing mbuf chain. * @@ -937,6 +937,7 @@ sbcompress(struct sockbuf *sb, struct mb M_WRITABLE(n) && ((sb->sb_flags & SB_NOCOALESCE) == 0) && !(m->m_flags & M_NOTREADY) && + !(n->m_flags & M_NOTREADY) && m->m_len <= MCLBYTES / 4 && /* XXX: Don't copy too much */ m->m_len <= M_TRAILINGSPACE(n) && n->m_type == m->m_type) { From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 15:38:04 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 946F7C97; Fri, 14 Nov 2014 15:38:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 81B9E7A4; Fri, 14 Nov 2014 15:38:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEFc4HQ096949; Fri, 14 Nov 2014 15:38:04 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEFc4vF096948; Fri, 14 Nov 2014 15:38:04 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141538.sAEFc4vF096948@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 15:38:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274507 - projects/sendfile/sys/kern X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 15:38:04 -0000 Author: glebius Date: Fri Nov 14 15:38:03 2014 New Revision: 274507 URL: https://svnweb.freebsd.org/changeset/base/274507 Log: Assert that we are never asked to sbcut() an M_NOTREADY mbuf partially. Sponsored by: Nginx, Inc. Modified: projects/sendfile/sys/kern/uipc_sockbuf.c Modified: projects/sendfile/sys/kern/uipc_sockbuf.c ============================================================================== --- projects/sendfile/sys/kern/uipc_sockbuf.c Fri Nov 14 15:36:48 2014 (r274506) +++ projects/sendfile/sys/kern/uipc_sockbuf.c Fri Nov 14 15:38:03 2014 (r274507) @@ -1029,11 +1029,12 @@ sbcut_internal(struct sockbuf *sb, int l continue; } if (m->m_len > len) { + KASSERT(!(m->m_flags & M_NOTAVAIL), + ("%s: m %p M_NOTAVAIL", __func__, m)); m->m_len -= len; m->m_data += len; sb->sb_ccc -= len; - if (!(m->m_flags & M_NOTAVAIL)) - sb->sb_acc -= len; + sb->sb_acc -= len; if (sb->sb_sndptroff != 0) sb->sb_sndptroff -= len; if (m->m_type != MT_DATA && m->m_type != MT_OOBDATA) From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 15:39:12 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2B427EB7; Fri, 14 Nov 2014 15:39:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1850F7B7; Fri, 14 Nov 2014 15:39:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEFdBF2097717; Fri, 14 Nov 2014 15:39:11 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEFdBVw097716; Fri, 14 Nov 2014 15:39:11 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141539.sAEFdBVw097716@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 15:39:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274508 - projects/sendfile/sys/kern X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 15:39:12 -0000 Author: glebius Date: Fri Nov 14 15:39:11 2014 New Revision: 274508 URL: https://svnweb.freebsd.org/changeset/base/274508 Log: Rename sf_io_done() to sf_iodone(), to better match VOP_GETPAGES_ASYNC() argument name. Modified: projects/sendfile/sys/kern/uipc_syscalls.c Modified: projects/sendfile/sys/kern/uipc_syscalls.c ============================================================================== --- projects/sendfile/sys/kern/uipc_syscalls.c Fri Nov 14 15:38:03 2014 (r274507) +++ projects/sendfile/sys/kern/uipc_syscalls.c Fri Nov 14 15:39:11 2014 (r274508) @@ -2078,7 +2078,7 @@ struct sf_io { }; static void -sf_io_done(void *arg) +sf_iodone(void *arg) { struct sf_io *sfio = arg; struct socket *so; @@ -2151,7 +2151,7 @@ sendfile_swapin(vm_object_t obj, struct refcount_acquire(&sfio->nios); rv = vm_pager_get_pages_async(obj, pa + i, count, 0, - &sf_io_done, sfio); + &sf_iodone, sfio); KASSERT(rv == VM_PAGER_OK, ("%s: pager fail obj %p page %p", __func__, obj, pa[i])); @@ -2578,7 +2578,7 @@ retry_space: fhold(sock_fp); error = (*so->so_proto->pr_usrreqs->pru_send) (so, PRUS_NOTREADY, m, NULL, NULL, td); - sf_io_done(sfio); + sf_iodone(sfio); } CURVNET_RESTORE(); From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 15:45:17 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A39363C1; Fri, 14 Nov 2014 15:45:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 90ADC8A2; Fri, 14 Nov 2014 15:45:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEFjHLq002327; Fri, 14 Nov 2014 15:45:17 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEFjHd3002326; Fri, 14 Nov 2014 15:45:17 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141545.sAEFjHd3002326@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 15:45:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274510 - projects/sendfile/sys/kern X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 15:45:17 -0000 Author: glebius Date: Fri Nov 14 15:45:16 2014 New Revision: 274510 URL: https://svnweb.freebsd.org/changeset/base/274510 Log: Document sbready(). Modified: projects/sendfile/sys/kern/uipc_sockbuf.c Modified: projects/sendfile/sys/kern/uipc_sockbuf.c ============================================================================== --- projects/sendfile/sys/kern/uipc_sockbuf.c Fri Nov 14 15:44:19 2014 (r274509) +++ projects/sendfile/sys/kern/uipc_sockbuf.c Fri Nov 14 15:45:16 2014 (r274510) @@ -68,6 +68,9 @@ static u_long sb_efficiency = 8; /* para static struct mbuf *sbcut_internal(struct sockbuf *sb, int len); static void sbflush_internal(struct sockbuf *sb); +/* + * Mark ready "count" mbufs starting with "m". + */ int sbready(struct sockbuf *sb, struct mbuf *m, int count) { From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 15:46:24 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BF5804F7; Fri, 14 Nov 2014 15:46:24 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AC8C68AD; Fri, 14 Nov 2014 15:46:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEFkOAs002522; Fri, 14 Nov 2014 15:46:24 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEFkOml002521; Fri, 14 Nov 2014 15:46:24 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141546.sAEFkOml002521@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 15:46:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274511 - projects/sendfile/sys/kern X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 15:46:24 -0000 Author: glebius Date: Fri Nov 14 15:46:23 2014 New Revision: 274511 URL: https://svnweb.freebsd.org/changeset/base/274511 Log: Make XXX mimic better same comment above vop_stdgetpages(). Modified: projects/sendfile/sys/kern/vfs_default.c Modified: projects/sendfile/sys/kern/vfs_default.c ============================================================================== --- projects/sendfile/sys/kern/vfs_default.c Fri Nov 14 15:45:16 2014 (r274510) +++ projects/sendfile/sys/kern/vfs_default.c Fri Nov 14 15:46:23 2014 (r274511) @@ -730,7 +730,7 @@ vop_stdgetpages(ap) ap->a_count, ap->a_reqpage, NULL, NULL); } -/* XXX Needs good comment and a manpage. */ +/* XXX Needs good comment and a manpage (VOP_GETPAGES_ASYNC(9). */ int vop_stdgetpages_async(struct vop_getpages_async_args *ap) { From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 15:50:29 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4E6D9621; Fri, 14 Nov 2014 15:50:29 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3791D8DB; Fri, 14 Nov 2014 15:50:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEFoTca003757; Fri, 14 Nov 2014 15:50:29 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEFoHj6003694; Fri, 14 Nov 2014 15:50:17 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141550.sAEFoHj6003694@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 15:50:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274512 - in projects/sendfile: . contrib/byacc/test/yacc contrib/llvm/include/llvm/CodeGen contrib/llvm/lib/CodeGen/SelectionDAG contrib/llvm/patches contrib/ofed/librdmacm/examples li... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 15:50:29 -0000 Author: glebius Date: Fri Nov 14 15:50:16 2014 New Revision: 274512 URL: https://svnweb.freebsd.org/changeset/base/274512 Log: Merge head r258543 through r274511. Added: projects/sendfile/contrib/llvm/patches/patch-r274442-llvm-r221709-debug-oom.diff - copied unchanged from r274511, head/contrib/llvm/patches/patch-r274442-llvm-r221709-debug-oom.diff projects/sendfile/usr.sbin/pw/tests/pw_etcdir.sh - copied unchanged from r274511, head/usr.sbin/pw/tests/pw_etcdir.sh Deleted: projects/sendfile/sys/dev/dpt/dpt_isa.c Modified: projects/sendfile/Makefile.inc1 projects/sendfile/contrib/byacc/test/yacc/calc.tab.c projects/sendfile/contrib/byacc/test/yacc/calc1.tab.c projects/sendfile/contrib/byacc/test/yacc/calc2.tab.c projects/sendfile/contrib/byacc/test/yacc/calc3.tab.c projects/sendfile/contrib/byacc/test/yacc/code_calc.code.c projects/sendfile/contrib/byacc/test/yacc/code_calc.tab.c projects/sendfile/contrib/byacc/test/yacc/code_error.code.c projects/sendfile/contrib/byacc/test/yacc/code_error.tab.c projects/sendfile/contrib/byacc/test/yacc/empty.tab.c projects/sendfile/contrib/byacc/test/yacc/err_syntax10.tab.c projects/sendfile/contrib/byacc/test/yacc/err_syntax11.tab.c projects/sendfile/contrib/byacc/test/yacc/err_syntax12.tab.c projects/sendfile/contrib/byacc/test/yacc/err_syntax18.tab.c projects/sendfile/contrib/byacc/test/yacc/err_syntax20.tab.c projects/sendfile/contrib/byacc/test/yacc/error.tab.c projects/sendfile/contrib/byacc/test/yacc/grammar.tab.c projects/sendfile/contrib/byacc/test/yacc/ok_syntax1.tab.c projects/sendfile/contrib/byacc/test/yacc/pure_calc.tab.c projects/sendfile/contrib/byacc/test/yacc/pure_error.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc-s.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc2-s.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc2.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc3-s.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc3.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc4-s.tab.c projects/sendfile/contrib/byacc/test/yacc/quote_calc4.tab.c projects/sendfile/contrib/byacc/test/yacc/rename_debug.c projects/sendfile/contrib/byacc/test/yacc/varsyntax_calc1.tab.c projects/sendfile/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h projects/sendfile/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/sendfile/contrib/ofed/librdmacm/examples/rping.c projects/sendfile/lib/libc/sys/Makefile.inc projects/sendfile/lib/libc/sys/Symbol.map projects/sendfile/lib/libc/sys/poll.2 projects/sendfile/lib/libexpat/Makefile projects/sendfile/share/man/man4/dpt.4 projects/sendfile/share/man/man4/ipheth.4 projects/sendfile/share/man/man4/iscsi_initiator.4 projects/sendfile/share/man/man4/virtio_console.4 projects/sendfile/share/mk/sys.mk projects/sendfile/sys/amd64/amd64/support.S projects/sendfile/sys/amd64/include/asmacros.h projects/sendfile/sys/arm/arm/gic.c projects/sendfile/sys/boot/efi/include/efiapi.h projects/sendfile/sys/cam/scsi/scsi_all.h projects/sendfile/sys/cddl/compat/opensolaris/sys/vnode.h projects/sendfile/sys/compat/freebsd32/freebsd32_misc.c projects/sendfile/sys/compat/freebsd32/freebsd32_proto.h projects/sendfile/sys/compat/freebsd32/freebsd32_syscall.h projects/sendfile/sys/compat/freebsd32/freebsd32_syscalls.c projects/sendfile/sys/compat/freebsd32/freebsd32_sysent.c projects/sendfile/sys/compat/freebsd32/freebsd32_systrace_args.c projects/sendfile/sys/compat/freebsd32/syscalls.master projects/sendfile/sys/compat/linux/linux_file.c projects/sendfile/sys/compat/linux/linux_misc.c projects/sendfile/sys/compat/linux/linux_socket.c projects/sendfile/sys/compat/linux/linux_stats.c projects/sendfile/sys/compat/linux/linux_uid16.c projects/sendfile/sys/compat/svr4/svr4_fcntl.c projects/sendfile/sys/compat/svr4/svr4_misc.c projects/sendfile/sys/compat/svr4/svr4_stat.c projects/sendfile/sys/compat/svr4/svr4_stream.c projects/sendfile/sys/conf/files projects/sendfile/sys/conf/newvers.sh projects/sendfile/sys/dev/ath/if_ath.c projects/sendfile/sys/dev/cxgbe/common/t4_hw.c projects/sendfile/sys/dev/cxgbe/iw_cxgbe/cm.c projects/sendfile/sys/dev/cxgbe/t4_main.c projects/sendfile/sys/dev/iir/iir.c projects/sendfile/sys/dev/iir/iir.h projects/sendfile/sys/dev/iir/iir_ctrl.c projects/sendfile/sys/dev/iir/iir_pci.c projects/sendfile/sys/dev/ips/ips.c projects/sendfile/sys/dev/ips/ips.h projects/sendfile/sys/dev/ips/ips_pci.c projects/sendfile/sys/dev/netmap/netmap.c projects/sendfile/sys/dev/netmap/netmap_freebsd.c projects/sendfile/sys/dev/netmap/netmap_kern.h projects/sendfile/sys/dev/netmap/netmap_monitor.c projects/sendfile/sys/dev/netmap/netmap_pipe.c projects/sendfile/sys/dev/streams/streams.c projects/sendfile/sys/dev/uart/uart_bus_fdt.c projects/sendfile/sys/dev/uart/uart_dev_pl011.c projects/sendfile/sys/fs/ext2fs/ext2_extern.h projects/sendfile/sys/fs/ext2fs/ext2_inode_cnv.c projects/sendfile/sys/fs/ext2fs/ext2_vfsops.c projects/sendfile/sys/i386/ibcs2/ibcs2_fcntl.c projects/sendfile/sys/i386/ibcs2/ibcs2_misc.c projects/sendfile/sys/i386/ibcs2/ibcs2_other.c projects/sendfile/sys/i386/ibcs2/ibcs2_stat.c projects/sendfile/sys/i386/ibcs2/ibcs2_xenix.c projects/sendfile/sys/kern/init_main.c projects/sendfile/sys/kern/init_sysent.c projects/sendfile/sys/kern/kern_descrip.c projects/sendfile/sys/kern/kern_fork.c projects/sendfile/sys/kern/kern_lock.c projects/sendfile/sys/kern/kern_umtx.c projects/sendfile/sys/kern/sys_generic.c projects/sendfile/sys/kern/syscalls.c projects/sendfile/sys/kern/syscalls.master projects/sendfile/sys/kern/systrace_args.c projects/sendfile/sys/kern/uipc_sockbuf.c projects/sendfile/sys/kern/uipc_syscalls.c projects/sendfile/sys/kern/vfs_mountroot.c projects/sendfile/sys/kern/vfs_syscalls.c projects/sendfile/sys/kern/vfs_vnops.c projects/sendfile/sys/modules/dpt/Makefile projects/sendfile/sys/netinet6/ip6_ipsec.c projects/sendfile/sys/netipsec/ipsec_input.c projects/sendfile/sys/netipsec/ipsec_output.c projects/sendfile/sys/netipsec/xform_ipip.c projects/sendfile/sys/sys/filedesc.h projects/sendfile/sys/sys/param.h projects/sendfile/sys/sys/poll.h projects/sendfile/sys/sys/syscall.h projects/sendfile/sys/sys/syscall.mk projects/sendfile/sys/sys/syscallsubr.h projects/sendfile/sys/sys/sysproto.h projects/sendfile/usr.bin/mkimg/mkimg.1 projects/sendfile/usr.bin/yacc/Makefile projects/sendfile/usr.sbin/pw/pw.c projects/sendfile/usr.sbin/pw/tests/Makefile projects/sendfile/usr.sbin/usbconfig/dump.c Directory Properties: projects/sendfile/ (props changed) projects/sendfile/contrib/byacc/ (props changed) projects/sendfile/contrib/llvm/ (props changed) projects/sendfile/lib/libc/ (props changed) projects/sendfile/share/ (props changed) projects/sendfile/share/man/man4/ (props changed) projects/sendfile/sys/ (props changed) projects/sendfile/sys/boot/ (props changed) projects/sendfile/sys/conf/ (props changed) projects/sendfile/usr.bin/mkimg/ (props changed) Modified: projects/sendfile/Makefile.inc1 ============================================================================== --- projects/sendfile/Makefile.inc1 Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/Makefile.inc1 Fri Nov 14 15:50:16 2014 (r274512) @@ -1447,12 +1447,16 @@ NXBMAKE= ${NXBENV} ${MAKE} \ MK_CLANG_FULL=no MK_LLDB=no native-xtools: .MAKE + mkdir -p ${OBJTREE}/nxb-bin/bin + mkdir -p ${OBJTREE}/nxb-bin/sbin mkdir -p ${OBJTREE}/nxb-bin/usr mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ -p ${OBJTREE}/nxb-bin/usr >/dev/null mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${OBJTREE}/nxb-bin/usr/include >/dev/null .for _tool in \ + bin/csh \ + bin/sh \ ${_clang_tblgen} \ usr.bin/ar \ ${_binutils} \ @@ -1460,11 +1464,18 @@ native-xtools: .MAKE ${_gcc_tools} \ ${_clang_libs} \ ${_clang} \ + sbin/md5 \ usr.bin/awk \ usr.bin/bmake \ + usr.bin/bzip2 \ + usr.bin/fetch \ + usr.bin/gzip \ usr.bin/lex \ usr.bin/lorder \ usr.bin/sed \ + usr.bin/tar \ + usr.bin/unzip \ + usr.bin/xz \ usr.bin/yacc ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_tool} && \ Modified: projects/sendfile/contrib/byacc/test/yacc/calc.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/calc.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/calc.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -150,7 +150,7 @@ extern int YYPARSE_DECL(); #define LETTER 258 #define UMINUS 259 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT calc_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/calc1.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/calc1.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/calc1.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -175,7 +175,7 @@ extern int YYPARSE_DECL(); #define CONST 259 #define UMINUS 260 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT calc1_lhs[] = { -1, 3, 3, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, Modified: projects/sendfile/contrib/byacc/test/yacc/calc2.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/calc2.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/calc2.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -152,7 +152,7 @@ extern int YYPARSE_DECL(); #define LETTER 258 #define UMINUS 259 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT calc2_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/calc3.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/calc3.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/calc3.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -157,7 +157,7 @@ extern int YYPARSE_DECL(); #define LETTER 258 #define UMINUS 259 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT calc3_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/code_calc.code.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/code_calc.code.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/code_calc.code.c Fri Nov 14 15:50:16 2014 (r274512) @@ -160,7 +160,7 @@ typedef int YYSTYPE; #define YYTRANSLATE(a) ((a) > YYMAXTOKEN ? YYUNDFTOKEN : (a)) extern int YYPARSE_DECL(); -typedef short YYINT; +typedef int YYINT; extern YYINT yylhs[]; extern YYINT yylen[]; extern YYINT yydefred[]; Modified: projects/sendfile/contrib/byacc/test/yacc/code_calc.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/code_calc.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/code_calc.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -1,4 +1,4 @@ -typedef short YYINT; +typedef int YYINT; const YYINT calc_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/code_error.code.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/code_error.code.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/code_error.code.c Fri Nov 14 15:50:16 2014 (r274512) @@ -152,7 +152,7 @@ typedef int YYSTYPE; #define YYTRANSLATE(a) ((a) > YYMAXTOKEN ? YYUNDFTOKEN : (a)) extern int YYPARSE_DECL(); -typedef short YYINT; +typedef int YYINT; extern YYINT yylhs[]; extern YYINT yylen[]; extern YYINT yydefred[]; Modified: projects/sendfile/contrib/byacc/test/yacc/code_error.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/code_error.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/code_error.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -1,4 +1,4 @@ -typedef short YYINT; +typedef int YYINT; const YYINT error_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/empty.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/empty.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/empty.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -144,7 +144,7 @@ typedef int YYSTYPE; extern int YYPARSE_DECL(); #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT empty_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/err_syntax10.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/err_syntax10.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/err_syntax10.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -134,7 +134,7 @@ static void yyerror(const char *); extern int YYPARSE_DECL(); #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT err_syntax10_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/err_syntax11.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/err_syntax11.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/err_syntax11.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -140,7 +140,7 @@ typedef int YYSTYPE; extern int YYPARSE_DECL(); #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT err_syntax11_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/err_syntax12.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/err_syntax12.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/err_syntax12.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -141,7 +141,7 @@ extern int YYPARSE_DECL(); #define text 456 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT err_syntax12_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/err_syntax18.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/err_syntax18.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/err_syntax18.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -140,7 +140,7 @@ typedef int YYSTYPE; extern int YYPARSE_DECL(); #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT err_syntax18_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/err_syntax20.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/err_syntax20.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/err_syntax20.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -135,7 +135,7 @@ extern int YYPARSE_DECL(); #define recur 257 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT err_syntax20_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/error.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/error.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/error.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -140,7 +140,7 @@ typedef int YYSTYPE; extern int YYPARSE_DECL(); #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT error_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/grammar.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/grammar.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/grammar.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -453,7 +453,7 @@ extern int YYPARSE_DECL(); #define T_ASMARG 290 #define T_VA_DCL 291 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT grammar_lhs[] = { -1, 0, 0, 26, 26, 27, 27, 27, 27, 27, 27, 27, 31, 30, 30, 28, 28, 34, 28, 32, 32, Modified: projects/sendfile/contrib/byacc/test/yacc/ok_syntax1.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/ok_syntax1.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/ok_syntax1.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -178,7 +178,7 @@ extern int YYPARSE_DECL(); #define VT 272 #define UMINUS 273 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT ok_syntax1_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/pure_calc.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/pure_calc.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/pure_calc.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -160,7 +160,7 @@ extern int YYPARSE_DECL(); #define LETTER 258 #define UMINUS 259 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT calc_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/pure_error.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/pure_error.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/pure_error.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -152,7 +152,7 @@ typedef int YYSTYPE; extern int YYPARSE_DECL(); #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT error_lhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc-s.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc-s.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc-s.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -156,7 +156,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -162,7 +162,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc2-s.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc2-s.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc2-s.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -156,7 +156,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc2_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc2.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc2.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc2.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -162,7 +162,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc2_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc3-s.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc3-s.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc3-s.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -156,7 +156,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc3_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc3.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc3.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc3.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -156,7 +156,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc3_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc4-s.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc4-s.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc4-s.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -156,7 +156,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc4_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/quote_calc4.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/quote_calc4.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/quote_calc4.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -156,7 +156,7 @@ extern int YYPARSE_DECL(); #define LETTER 270 #define UMINUS 271 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT quote_calc4_lhs[] = { -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, Modified: projects/sendfile/contrib/byacc/test/yacc/rename_debug.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/rename_debug.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/rename_debug.c Fri Nov 14 15:50:16 2014 (r274512) @@ -16,7 +16,7 @@ #line 17 "rename_debug.c" #include "rename_debug.i" #include "rename_debug.h" -typedef short YYINT; +typedef int YYINT; static const YYINT yylhs[] = { -1, 0, }; Modified: projects/sendfile/contrib/byacc/test/yacc/varsyntax_calc1.tab.c ============================================================================== --- projects/sendfile/contrib/byacc/test/yacc/varsyntax_calc1.tab.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/byacc/test/yacc/varsyntax_calc1.tab.c Fri Nov 14 15:50:16 2014 (r274512) @@ -176,7 +176,7 @@ extern int YYPARSE_DECL(); #define CONST 259 #define UMINUS 260 #define YYERRCODE 256 -typedef short YYINT; +typedef int YYINT; static const YYINT varsyntax_calc1_lhs[] = { -1, 3, 3, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, Modified: projects/sendfile/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h ============================================================================== --- projects/sendfile/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h Fri Nov 14 15:50:16 2014 (r274512) @@ -127,6 +127,10 @@ public: DbgValMap[Node].push_back(V); } + /// \brief Invalidate all DbgValues attached to the node and remove + /// it from the Node-to-DbgValues map. + void erase(const SDNode *Node); + void clear() { DbgValMap.clear(); DbgValues.clear(); Modified: projects/sendfile/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp ============================================================================== --- projects/sendfile/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Fri Nov 14 15:50:16 2014 (r274512) @@ -625,6 +625,15 @@ void SelectionDAG::DeleteNodeNotInCSEMap DeallocateNode(N); } +void SDDbgInfo::erase(const SDNode *Node) { + DbgValMapType::iterator I = DbgValMap.find(Node); + if (I == DbgValMap.end()) + return; + for (unsigned J = 0, N = I->second.size(); J != N; ++J) + I->second[J]->setIsInvalidated(); + DbgValMap.erase(I); +} + void SelectionDAG::DeallocateNode(SDNode *N) { if (N->OperandsNeedDelete) delete[] N->OperandList; @@ -635,10 +644,9 @@ void SelectionDAG::DeallocateNode(SDNode NodeAllocator.Deallocate(AllNodes.remove(N)); - // If any of the SDDbgValue nodes refer to this SDNode, invalidate them. - ArrayRef DbgVals = DbgInfo->getSDDbgValues(N); - for (unsigned i = 0, e = DbgVals.size(); i != e; ++i) - DbgVals[i]->setIsInvalidated(); + // If any of the SDDbgValue nodes refer to this SDNode, invalidate + // them and forget about that node. + DbgInfo->erase(N); } /// RemoveNodeFromCSEMaps - Take the specified node out of the CSE map that Copied: projects/sendfile/contrib/llvm/patches/patch-r274442-llvm-r221709-debug-oom.diff (from r274511, head/contrib/llvm/patches/patch-r274442-llvm-r221709-debug-oom.diff) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/sendfile/contrib/llvm/patches/patch-r274442-llvm-r221709-debug-oom.diff Fri Nov 14 15:50:16 2014 (r274512, copy of r274511, head/contrib/llvm/patches/patch-r274442-llvm-r221709-debug-oom.diff) @@ -0,0 +1,73 @@ +Pull in r221709 from upstream llvm trunk (by FrĆ©dĆ©ric Riss): + + Totally forget deallocated SDNodes in SDDbgInfo. + + What would happen before that commit is that the SDDbgValues associated with + a deallocated SDNode would be marked Invalidated, but SDDbgInfo would keep + a map entry keyed by the SDNode pointer pointing to this list of invalidated + SDDbgNodes. As the memory gets reused, the list might get wrongly associated + with another new SDNode. As the SDDbgValues are cloned when they are transfered, + this can lead to an exponential number of SDDbgValues being produced during + DAGCombine like in http://llvm.org/bugs/show_bug.cgi?id=20893 + + Note that the previous behavior wasn't really buggy as the invalidation made + sure that the SDDbgValues won't be used. This commit can be considered a + memory optimization and as such is really hard to validate in a unit-test. + +This should fix abnormally large memory usage and resulting OOM crashes +when compiling certain ports with debug information. + +Reported by: Dmitry Marakasov +Upstream PRs: http://llvm.org/PR19031 http://llvm.org/PR20893 + +Introduced here: http://svnweb.freebsd.org/changeset/base/274442 + +Index: include/llvm/CodeGen/SelectionDAG.h +=================================================================== +--- include/llvm/CodeGen/SelectionDAG.h ++++ include/llvm/CodeGen/SelectionDAG.h +@@ -127,6 +127,10 @@ class SDDbgInfo { + DbgValMap[Node].push_back(V); + } + ++ /// \brief Invalidate all DbgValues attached to the node and remove ++ /// it from the Node-to-DbgValues map. ++ void erase(const SDNode *Node); ++ + void clear() { + DbgValMap.clear(); + DbgValues.clear(); +Index: lib/CodeGen/SelectionDAG/SelectionDAG.cpp +=================================================================== +--- lib/CodeGen/SelectionDAG/SelectionDAG.cpp ++++ lib/CodeGen/SelectionDAG/SelectionDAG.cpp +@@ -625,6 +625,15 @@ void SelectionDAG::DeleteNodeNotInCSEMaps(SDNode * + DeallocateNode(N); + } + ++void SDDbgInfo::erase(const SDNode *Node) { ++ DbgValMapType::iterator I = DbgValMap.find(Node); ++ if (I == DbgValMap.end()) ++ return; ++ for (unsigned J = 0, N = I->second.size(); J != N; ++J) ++ I->second[J]->setIsInvalidated(); ++ DbgValMap.erase(I); ++} ++ + void SelectionDAG::DeallocateNode(SDNode *N) { + if (N->OperandsNeedDelete) + delete[] N->OperandList; +@@ -635,10 +644,9 @@ void SelectionDAG::DeallocateNode(SDNode *N) { + + NodeAllocator.Deallocate(AllNodes.remove(N)); + +- // If any of the SDDbgValue nodes refer to this SDNode, invalidate them. +- ArrayRef DbgVals = DbgInfo->getSDDbgValues(N); +- for (unsigned i = 0, e = DbgVals.size(); i != e; ++i) +- DbgVals[i]->setIsInvalidated(); ++ // If any of the SDDbgValue nodes refer to this SDNode, invalidate ++ // them and forget about that node. ++ DbgInfo->erase(N); + } + + /// RemoveNodeFromCSEMaps - Take the specified node out of the CSE map that Modified: projects/sendfile/contrib/ofed/librdmacm/examples/rping.c ============================================================================== --- projects/sendfile/contrib/ofed/librdmacm/examples/rping.c Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/contrib/ofed/librdmacm/examples/rping.c Fri Nov 14 15:50:16 2014 (r274512) @@ -1049,19 +1049,20 @@ static int rping_run_client(struct rping ret = rping_connect_client(cb); if (ret) { fprintf(stderr, "connect error %d\n", ret); - goto err2; + goto err3; } ret = rping_test_client(cb); if (ret) { fprintf(stderr, "rping client failed: %d\n", ret); - goto err3; + goto err4; } ret = 0; -err3: +err4: rdma_disconnect(cb->cm_id); -err2: +err3: pthread_join(cb->cqthread, NULL); +err2: rping_free_buffers(cb); err1: rping_free_qp(cb); Modified: projects/sendfile/lib/libc/sys/Makefile.inc ============================================================================== --- projects/sendfile/lib/libc/sys/Makefile.inc Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/lib/libc/sys/Makefile.inc Fri Nov 14 15:50:16 2014 (r274512) @@ -356,6 +356,7 @@ MLINKS+=pdfork.2 pdgetpid.2\ pdfork.2 pdkill.2 \ pdfork.2 pdwait4.2 MLINKS+=pipe.2 pipe2.2 +MLINKS+=poll.2 ppoll.2 MLINKS+=read.2 pread.2 \ read.2 preadv.2 \ read.2 readv.2 Modified: projects/sendfile/lib/libc/sys/Symbol.map ============================================================================== --- projects/sendfile/lib/libc/sys/Symbol.map Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/lib/libc/sys/Symbol.map Fri Nov 14 15:50:16 2014 (r274512) @@ -399,6 +399,10 @@ FBSD_1.3 { wait6; }; +FBSD_1.4 { + ppoll; +}; + FBSDprivate_1.0 { ___acl_aclcheck_fd; __sys___acl_aclcheck_fd; @@ -821,6 +825,8 @@ FBSDprivate_1.0 { __sys_pipe; _poll; __sys_poll; + _ppoll; + __sys_ppoll; _preadv; __sys_preadv; _procctl; Modified: projects/sendfile/lib/libc/sys/poll.2 ============================================================================== --- projects/sendfile/lib/libc/sys/poll.2 Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/lib/libc/sys/poll.2 Fri Nov 14 15:50:16 2014 (r274512) @@ -28,7 +28,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. .\" -.Dd July 8, 2002 +.Dd November 13, 2014 .Dt POLL 2 .Os .Sh NAME @@ -40,6 +40,13 @@ .In poll.h .Ft int .Fn poll "struct pollfd fds[]" "nfds_t nfds" "int timeout" +.Ft int +.Fo ppoll +.Fa "struct pollfd fds[]" +.Fa "nfds_t nfds" +.Fa "const struct timespec * restrict timeout" +.Fa "const sigset_t * restrict newsigmask" +.Fc .Sh DESCRIPTION The .Fn poll @@ -139,6 +146,47 @@ If is zero, then .Fn poll will return without blocking. +.Pp +The +.Fn ppoll +system call, unlike +.Fn poll , +is used to safely wait until either a set of file descriptors becomes +ready or until a signal is caught. +The +.Fa fds +and +.Fa nfds +arguments are identical to the analogous arguments of +.Fn poll . +The +.Fa timeout +argument in +.Fn ppoll +points to a +.Vt "const struct timespec" +which is defined in +.In sys/timespec.h +(shown below) rather than the +.Vt "int timeout" +used by +.Fn poll . +A null pointer may be passed to indicate that +.Fn ppoll +should wait indefinitely. +Finally, +.Fa newsigmask +specifies a signal mask which is set while waiting for input. +When +.Fn ppoll +returns, the original signal mask is restored. +.Pp +.Bd -literal +struct timespec { + time_t tv_sec; /* seconds */ + long tv_nsec; /* and nanoseconds */ +}; +.Ed .Sh RETURN VALUES The .Fn poll @@ -185,17 +233,26 @@ points outside the process's allocated a A signal was delivered before the time limit expired and before any of the selected events occurred. .It Bq Er EINVAL -The specified time limit is negative. +The specified time limit is invalid. One of its components is negative or too large. .El .Sh SEE ALSO .Xr accept 2 , .Xr connect 2 , .Xr kqueue 2 , +.Xr pselect 2 , .Xr read 2 , .Xr recv 2 , .Xr select 2 , .Xr send 2 , .Xr write 2 +.Sh STANDARDS +The +.Fn poll +function conforms to +.St -p1003.1-2001 . +The +.Fn ppoll +is not specified by POSIX. .Sh HISTORY The .Fn poll @@ -203,6 +260,10 @@ function appeared in .At V . This manual page and the core of the implementation was taken from .Nx . +The +.Fn ppoll +function first appeared in +.Fx 11.0 .Sh BUGS The distinction between some of the fields in the .Fa events Modified: projects/sendfile/lib/libexpat/Makefile ============================================================================== --- projects/sendfile/lib/libexpat/Makefile Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/lib/libexpat/Makefile Fri Nov 14 15:50:16 2014 (r274512) @@ -16,12 +16,10 @@ CLEANFILES= bsdxml.h bsdxml_external.h WARNS?= 2 -# OK, so it is not entirely unadultered: we ammend the COPYING -# to point people to the right place, get rid of some VMS stuff -# and use FreeBSD style indempotency #ifndefs. We also want to -# point it at the new bsdxml_external.h rather than the old -# expat_external.h file. -# +# OK, so it is not entirely unadulterated: we amend the COPYING to +# point people to the right place, get rid of some VMS stuff and use +# FreeBSD-style include guards. We also want to point it at the new +# bsdxml_external.h rather than the old expat_external.h file. bsdxml.h: expat.h unifdef -U__VMS < ${.ALLSRC} | \ sed -e 's/XmlParse_INCLUDED/_BSD_XML_H_/' \ Modified: projects/sendfile/share/man/man4/dpt.4 ============================================================================== --- projects/sendfile/share/man/man4/dpt.4 Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/share/man/man4/dpt.4 Fri Nov 14 15:50:16 2014 (r274512) @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 18, 2006 +.Dd November 13, 2014 .Dt DPT 4 .Os .Sh NAME @@ -40,9 +40,6 @@ kernel configuration file: For one or more EISA cards: .Cd "device eisa" .Pp -For one or more ISA cards: -.Cd "device isa" -.Pp For one or more PCI cards: .Cd "device pci" .Pp Modified: projects/sendfile/share/man/man4/ipheth.4 ============================================================================== --- projects/sendfile/share/man/man4/ipheth.4 Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/share/man/man4/ipheth.4 Fri Nov 14 15:50:16 2014 (r274512) @@ -103,4 +103,3 @@ A command similar to may be required if the device is not recognised automatically by .Nm after it is connected. - Modified: projects/sendfile/share/man/man4/iscsi_initiator.4 ============================================================================== --- projects/sendfile/share/man/man4/iscsi_initiator.4 Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/share/man/man4/iscsi_initiator.4 Fri Nov 14 15:50:16 2014 (r274512) @@ -54,7 +54,6 @@ Users are advised to use instead. .Ef .Pp - The .Nm implements the kernel side of the Internet SCSI (iSCSI) network Modified: projects/sendfile/share/man/man4/virtio_console.4 ============================================================================== --- projects/sendfile/share/man/man4/virtio_console.4 Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/share/man/man4/virtio_console.4 Fri Nov 14 15:50:16 2014 (r274512) @@ -56,6 +56,7 @@ each port is accessible through .Sh FILES .Bl -tag -width ".Pa /dev/ttyV?.??" -compact .It Pa /dev/ttyV?.?? +.El .Sh SEE ALSO .Xr tty 4 .Xr virtio 4 Modified: projects/sendfile/share/mk/sys.mk ============================================================================== --- projects/sendfile/share/mk/sys.mk Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/share/mk/sys.mk Fri Nov 14 15:50:16 2014 (r274512) @@ -137,6 +137,8 @@ OBJCFLAGS ?= ${OBJCINCLUDES} ${CFLAGS} - OBJCOPY ?= objcopy +OBJDUMP ?= objdump + PC ?= pc PFLAGS ?= Modified: projects/sendfile/sys/amd64/amd64/support.S ============================================================================== --- projects/sendfile/sys/amd64/amd64/support.S Fri Nov 14 15:46:23 2014 (r274511) +++ projects/sendfile/sys/amd64/amd64/support.S Fri Nov 14 15:50:16 2014 (r274512) @@ -47,6 +47,7 @@ /* done */ ENTRY(bzero) + PUSH_FRAME_POINTER movq %rsi,%rcx xorl %eax,%eax shrq $3,%rcx @@ -57,11 +58,13 @@ ENTRY(bzero) andq $7,%rcx rep stosb + POP_FRAME_POINTER ret END(bzero) /* Address: %rdi */ ENTRY(pagezero) + PUSH_FRAME_POINTER movq $-PAGE_SIZE,%rdx subq %rdx,%rdi xorl %eax,%eax @@ -73,10 +76,12 @@ ENTRY(pagezero) addq $32,%rdx jne 1b sfence + POP_FRAME_POINTER ret END(pagezero) ENTRY(bcmp) + PUSH_FRAME_POINTER movq %rdx,%rcx shrq $3,%rcx cld /* compare forwards */ @@ -91,6 +96,7 @@ ENTRY(bcmp) 1: setne %al movsbl %al,%eax + POP_FRAME_POINTER ret END(bcmp) @@ -100,8 +106,7 @@ END(bcmp) * ws@tools.de (Wolfgang Solfrank, TooLs GmbH) +49-228-985800 */ ENTRY(bcopy) - pushq %rbp - movq %rsp,%rbp + PUSH_FRAME_POINTER xchgq %rsi,%rdi movq %rdx,%rcx @@ -118,7 +123,7 @@ ENTRY(bcopy) andq $7,%rcx /* any bytes left? */ rep movsb - popq %rbp + POP_FRAME_POINTER ret /* ALIGN_TEXT */ @@ -138,7 +143,7 @@ ENTRY(bcopy) rep movsq cld - popq %rbp + POP_FRAME_POINTER ret END(bcopy) @@ -146,6 +151,7 @@ END(bcopy) * Note: memcpy does not support overlapping copies */ ENTRY(memcpy) + PUSH_FRAME_POINTER movq %rdx,%rcx shrq $3,%rcx /* copy by 64-bit words */ cld /* copy forwards */ @@ -155,6 +161,7 @@ ENTRY(memcpy) andq $7,%rcx /* any bytes left? */ rep movsb + POP_FRAME_POINTER ret END(memcpy) @@ -162,6 +169,7 @@ END(memcpy) * pagecopy(%rdi=from, %rsi=to) */ ENTRY(pagecopy) + PUSH_FRAME_POINTER movq $-PAGE_SIZE,%rax movq %rax,%rdx subq %rax,%rdi @@ -182,18 +190,21 @@ ENTRY(pagecopy) addq $32,%rdx jne 2b sfence + POP_FRAME_POINTER ret END(pagecopy) /* fillw(pat, base, cnt) */ /* %rdi,%rsi, %rdx */ ENTRY(fillw) + PUSH_FRAME_POINTER movq %rdi,%rax movq %rsi,%rdi movq %rdx,%rcx cld rep stosw + POP_FRAME_POINTER ret END(fillw) @@ -214,6 +225,7 @@ END(fillw) * %rdi, %rsi, %rdx */ ENTRY(copyout) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%rax movq $copyout_fault,PCB_ONFAULT(%rax) testq %rdx,%rdx /* anything to do? */ @@ -259,6 +271,7 @@ done_copyout: xorl %eax,%eax movq PCPU(CURPCB),%rdx movq %rax,PCB_ONFAULT(%rdx) + POP_FRAME_POINTER ret ALIGN_TEXT @@ -266,6 +279,7 @@ copyout_fault: movq PCPU(CURPCB),%rdx movq $0,PCB_ONFAULT(%rdx) movq $EFAULT,%rax + POP_FRAME_POINTER ret END(copyout) @@ -274,6 +288,7 @@ END(copyout) * %rdi, %rsi, %rdx */ ENTRY(copyin) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%rax movq $copyin_fault,PCB_ONFAULT(%rax) testq %rdx,%rdx /* anything to do? */ @@ -305,6 +320,7 @@ done_copyin: xorl %eax,%eax movq PCPU(CURPCB),%rdx movq %rax,PCB_ONFAULT(%rdx) + POP_FRAME_POINTER ret ALIGN_TEXT @@ -312,6 +328,7 @@ copyin_fault: movq PCPU(CURPCB),%rdx movq $0,PCB_ONFAULT(%rdx) movq $EFAULT,%rax + POP_FRAME_POINTER ret END(copyin) @@ -321,6 +338,7 @@ END(copyin) * dst = %rdi, old = %esi, oldp = %rdx, new = %ecx */ ENTRY(casueword32) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%r8 movq $fusufault,PCB_ONFAULT(%r8) @@ -349,6 +367,7 @@ ENTRY(casueword32) * catch corrupted pointer. */ movl %esi,(%rdx) /* oldp = %rdx */ + POP_FRAME_POINTER ret END(casueword32) @@ -358,6 +377,7 @@ END(casueword32) * dst = %rdi, old = %rsi, oldp = %rdx, new = %rcx */ ENTRY(casueword) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%r8 movq $fusufault,PCB_ONFAULT(%r8) @@ -380,6 +400,7 @@ ENTRY(casueword) xorl %eax,%eax movq %rax,PCB_ONFAULT(%r8) movq %rsi,(%rdx) + POP_FRAME_POINTER ret END(casueword) @@ -391,6 +412,7 @@ END(casueword) ALTENTRY(fueword64) ENTRY(fueword) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%rcx movq $fusufault,PCB_ONFAULT(%rcx) @@ -402,11 +424,13 @@ ENTRY(fueword) movq (%rdi),%r11 movq %rax,PCB_ONFAULT(%rcx) movq %r11,(%rsi) + POP_FRAME_POINTER ret END(fuword64) END(fuword) ENTRY(fueword32) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%rcx movq $fusufault,PCB_ONFAULT(%rcx) @@ -418,6 +442,7 @@ ENTRY(fueword32) movl (%rdi),%r11d movq %rax,PCB_ONFAULT(%rcx) movl %r11d,(%rsi) + POP_FRAME_POINTER ret END(fueword32) @@ -436,6 +461,7 @@ END(suswintr) END(fuswintr) ENTRY(fuword16) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%rcx movq $fusufault,PCB_ONFAULT(%rcx) @@ -445,10 +471,12 @@ ENTRY(fuword16) movzwl (%rdi),%eax movq $0,PCB_ONFAULT(%rcx) + POP_FRAME_POINTER ret END(fuword16) ENTRY(fubyte) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%rcx movq $fusufault,PCB_ONFAULT(%rcx) @@ -458,6 +486,7 @@ ENTRY(fubyte) movzbl (%rdi),%eax movq $0,PCB_ONFAULT(%rcx) + POP_FRAME_POINTER ret END(fubyte) @@ -467,6 +496,7 @@ fusufault: xorl %eax,%eax movq %rax,PCB_ONFAULT(%rcx) decq %rax + POP_FRAME_POINTER ret /* @@ -476,6 +506,7 @@ fusufault: */ ALTENTRY(suword64) ENTRY(suword) + PUSH_FRAME_POINTER movq PCPU(CURPCB),%rcx movq $fusufault,PCB_ONFAULT(%rcx) @@ -487,11 +518,13 @@ ENTRY(suword) xorl %eax,%eax movq PCPU(CURPCB),%rcx movq %rax,PCB_ONFAULT(%rcx) + POP_FRAME_POINTER *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 15:55:58 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 395B482F; Fri, 14 Nov 2014 15:55:58 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0CB7299B; Fri, 14 Nov 2014 15:55:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEFtvlH007243; Fri, 14 Nov 2014 15:55:57 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEFtvur007240; Fri, 14 Nov 2014 15:55:57 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141555.sAEFtvur007240@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 15:55:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274513 - in projects/sendfile/sys: kern sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 15:55:58 -0000 Author: glebius Date: Fri Nov 14 15:55:56 2014 New Revision: 274513 URL: https://svnweb.freebsd.org/changeset/base/274513 Log: When sbcut() works on M_NOTREADY mbufs, it shouldn't free them, since they a referenced by some outside entity. Instead, sbcut() would mark them with a new flag and forget them. Later, if sbready() encounters such mbufs, it frees them. Sponsored by: Nginx, Inc. Modified: projects/sendfile/sys/kern/uipc_sockbuf.c projects/sendfile/sys/sys/sockbuf.h Modified: projects/sendfile/sys/kern/uipc_sockbuf.c ============================================================================== --- projects/sendfile/sys/kern/uipc_sockbuf.c Fri Nov 14 15:50:16 2014 (r274512) +++ projects/sendfile/sys/kern/uipc_sockbuf.c Fri Nov 14 15:55:56 2014 (r274513) @@ -78,6 +78,20 @@ sbready(struct sockbuf *sb, struct mbuf SOCKBUF_LOCK_ASSERT(sb); + if (m->m_flags & M_SBCUTTED) { + /* + * Oops, something bad happened to the socket buffer while + * we were working on the data. Our mbufs are detached from + * the sockbuf, and all what we can do is free them. + */ + for (int i = 0; i < count; i++) { + KASSERT(m->m_flags & M_SBCUTTED, + ("%s: m %p !M_SBCUTTED", __func__, m)); + m = m_free(m); + } + return (EPIPE); + } + KASSERT(sb->sb_fnrdy != NULL, ("%s: sb %p NULL fnrdy", __func__, sb)); blocker = (sb->sb_fnrdy == m) ? M_BLOCKED : 0; @@ -1045,8 +1059,12 @@ sbcut_internal(struct sockbuf *sb, int l len -= m->m_len; sbfree(sb, m); n = m->m_next; - m->m_next = mfree; - mfree = m; + if (m->m_flags & M_NOTREADY) + m->m_flags |= M_SBCUTTED; + else { + m->m_next = mfree; + mfree = m; + } m = n; } if (m) { Modified: projects/sendfile/sys/sys/sockbuf.h ============================================================================== --- projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 15:50:16 2014 (r274512) +++ projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 15:55:56 2014 (r274513) @@ -128,6 +128,7 @@ struct sockbuf { #define M_NOTREADY M_PROTO1 /* m_data not populated yet */ #define M_BLOCKED M_PROTO2 /* M_NOTREADY in front of m */ #define M_NOTAVAIL (M_NOTREADY | M_BLOCKED) +#define M_SBCUTTED M_PROTO3 /* mbuf was sbcutted out */ void sbappend(struct sockbuf *sb, struct mbuf *m); void sbappend_locked(struct sockbuf *sb, struct mbuf *m); From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 16:00:55 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4EFAE9B0; Fri, 14 Nov 2014 16:00:55 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3AE35A60; Fri, 14 Nov 2014 16:00:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEG0txH009068; Fri, 14 Nov 2014 16:00:55 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEG0rYD009060; Fri, 14 Nov 2014 16:00:53 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141600.sAEG0rYD009060@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 16:00:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274514 - in projects/sendfile/sys: kern vm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 16:00:55 -0000 Author: glebius Date: Fri Nov 14 16:00:53 2014 New Revision: 274514 URL: https://svnweb.freebsd.org/changeset/base/274514 Log: - Provide additonal "int error" argument to the callback function of VOP_GETPAGES_ASYNC(). It will be non-zero if vnode_pager_getpages() fails. - In sf_iodone() watch for errors. In case of I/O error, tear down the socket buffer, mark socket with error and available for write operation. Sponsored by: Nginx, Inc. Modified: projects/sendfile/sys/kern/uipc_syscalls.c projects/sendfile/sys/kern/vfs_default.c projects/sendfile/sys/kern/vnode_if.src projects/sendfile/sys/vm/vm_pager.h projects/sendfile/sys/vm/vnode_pager.c projects/sendfile/sys/vm/vnode_pager.h Modified: projects/sendfile/sys/kern/uipc_syscalls.c ============================================================================== --- projects/sendfile/sys/kern/uipc_syscalls.c Fri Nov 14 15:55:56 2014 (r274513) +++ projects/sendfile/sys/kern/uipc_syscalls.c Fri Nov 14 16:00:53 2014 (r274514) @@ -2057,6 +2057,7 @@ fixspace(int old, int new, off_t off, in struct sf_io { u_int nios; + u_int error; int npages; struct file *sock_fp; struct mbuf *m; @@ -2064,17 +2065,44 @@ struct sf_io { }; static void -sf_iodone(void *arg) +sf_iodone(void *arg, int error) { struct sf_io *sfio = arg; struct socket *so; + if (error) + sfio->error = error; + if (!refcount_release(&sfio->nios)) return; so = sfio->sock_fp->f_data; - (void)(so->so_proto->pr_usrreqs->pru_ready)(so, sfio->m, sfio->npages); + if (sfio->error) { + struct mbuf *m; + + /* + * I/O operation failed. The state of data in the socket + * is now inconsistent, and all what we can do is to tear + * it down. sbflush() would free all ready mbufs and detach + * not ready. We will free the mbufs corresponding to this + * I/O manually. + * + * The socket would be marked with EIO and made available + * for read, so that application receives EIO on next + * syscall and eventually closes the socket. + */ + SOCKBUF_LOCK(&(so)->so_snd); + sbflush_locked(&so->so_snd); + so->so_error = EIO; + sowakeup((so), &(so)->so_snd); + + m = sfio->m; + for (int i = 0; i < sfio->npages; i++) + m = m_free(m); + } else + (void )(so->so_proto->pr_usrreqs->pru_ready)(so, sfio->m, + sfio->npages); /* XXXGL: curthread */ fdrop(sfio->sock_fp, curthread); @@ -2445,6 +2473,7 @@ retry_space: sfio = malloc(sizeof(struct sf_io) + (rhpages + npages) * sizeof(vm_page_t), M_TEMP, M_WAITOK); refcount_init(&sfio->nios, 1); + sfio->error = 0; nios = sendfile_swapin(obj, sfio, off, space, npages, rhpages); @@ -2564,7 +2593,7 @@ retry_space: fhold(sock_fp); error = (*so->so_proto->pr_usrreqs->pru_send) (so, PRUS_NOTREADY, m, NULL, NULL, td); - sf_iodone(sfio); + sf_iodone(sfio, 0); } CURVNET_RESTORE(); Modified: projects/sendfile/sys/kern/vfs_default.c ============================================================================== --- projects/sendfile/sys/kern/vfs_default.c Fri Nov 14 15:55:56 2014 (r274513) +++ projects/sendfile/sys/kern/vfs_default.c Fri Nov 14 16:00:53 2014 (r274514) @@ -746,7 +746,7 @@ vop_stdgetpages_async_emulate(struct vop error = VOP_GETPAGES(ap->a_vp, ap->a_m, ap->a_count, ap->a_reqpage); vm_page_xunbusy(ap->a_m[ap->a_reqpage]); - ap->a_vop_getpages_iodone(ap->a_arg); + ap->a_vop_getpages_iodone(ap->a_arg, error); return (error); } Modified: projects/sendfile/sys/kern/vnode_if.src ============================================================================== --- projects/sendfile/sys/kern/vnode_if.src Fri Nov 14 15:55:56 2014 (r274513) +++ projects/sendfile/sys/kern/vnode_if.src Fri Nov 14 16:00:53 2014 (r274514) @@ -484,7 +484,7 @@ vop_getpages_async { IN int count; IN int reqpage; IN vm_ooffset_t offset; - IN void (*vop_getpages_iodone)(void *); + IN void (*vop_getpages_iodone)(void *, int); IN void *arg; }; Modified: projects/sendfile/sys/vm/vm_pager.h ============================================================================== --- projects/sendfile/sys/vm/vm_pager.h Fri Nov 14 15:55:56 2014 (r274513) +++ projects/sendfile/sys/vm/vm_pager.h Fri Nov 14 16:00:53 2014 (r274514) @@ -52,7 +52,7 @@ typedef vm_object_t pgo_alloc_t(void *, typedef void pgo_dealloc_t(vm_object_t); typedef int pgo_getpages_t(vm_object_t, vm_page_t *, int, int); typedef int pgo_getpages_async_t(vm_object_t, vm_page_t *, int, int, - void(*)(void *), void *); + void(*)(void *, int), void *); typedef void pgo_putpages_t(vm_object_t, vm_page_t *, int, int, int *); typedef boolean_t pgo_haspage_t(vm_object_t, vm_pindex_t, int *, int *); typedef void pgo_pageunswapped_t(vm_page_t); @@ -107,7 +107,7 @@ void vm_pager_bufferinit(void); void vm_pager_deallocate(vm_object_t); static __inline int vm_pager_get_pages(vm_object_t, vm_page_t *, int, int); static __inline int vm_pager_get_pages_async(vm_object_t, vm_page_t *, int, - int, void(*)(void *), void *); + int, void(*)(void *, int), void *); static __inline boolean_t vm_pager_has_page(vm_object_t, vm_pindex_t, int *, int *); void vm_pager_init(void); vm_object_t vm_pager_object_lookup(struct pagerlst *, void *); @@ -140,7 +140,7 @@ vm_pager_get_pages( static __inline int vm_pager_get_pages_async(vm_object_t object, vm_page_t *m, int count, - int reqpage, void (*iodone)(void *), void *arg) + int reqpage, void (*iodone)(void *, int), void *arg) { int r; @@ -150,7 +150,7 @@ vm_pager_get_pages_async(vm_object_t obj /* Emulate async operation. */ r = vm_pager_get_pages(object, m, count, reqpage); VM_OBJECT_WUNLOCK(object); - (iodone)(arg); + (iodone)(arg, r); VM_OBJECT_WLOCK(object); } else r = (*pagertab[object->type]->pgo_getpages_async)(object, m, Modified: projects/sendfile/sys/vm/vnode_pager.c ============================================================================== --- projects/sendfile/sys/vm/vnode_pager.c Fri Nov 14 15:55:56 2014 (r274513) +++ projects/sendfile/sys/vm/vnode_pager.c Fri Nov 14 16:00:53 2014 (r274514) @@ -83,10 +83,10 @@ static int vnode_pager_input_smlfs(vm_ob static int vnode_pager_input_old(vm_object_t object, vm_page_t m); static void vnode_pager_dealloc(vm_object_t); static int vnode_pager_local_getpages0(struct vnode *, vm_page_t *, int, int, - void (*)(void *), void *); + void (*)(void *, int), void *); static int vnode_pager_getpages(vm_object_t, vm_page_t *, int, int); static int vnode_pager_getpages_async(vm_object_t, vm_page_t *, int, int, - void(*)(void *), void *); + void(*)(void *, int), void *); static void vnode_pager_putpages(vm_object_t, vm_page_t *, int, int, int *); static boolean_t vnode_pager_haspage(vm_object_t, vm_pindex_t, int *, int *); static vm_object_t vnode_pager_alloc(void *, vm_ooffset_t, vm_prot_t, @@ -671,7 +671,7 @@ vnode_pager_getpages(vm_object_t object, static int vnode_pager_getpages_async(vm_object_t object, vm_page_t *m, int count, - int reqpage, void (*iodone)(void *), void *arg) + int reqpage, void (*iodone)(void *, int), void *arg) { int rtval; struct vnode *vp; @@ -696,7 +696,7 @@ struct getpages_softc { int count; int unmapped; int reqpage; - void (*iodone)(void *); + void (*iodone)(void *, int); void *arg; }; @@ -726,7 +726,7 @@ vnode_pager_local_getpages_async(struct static int vnode_pager_local_getpages0(struct vnode *vp, vm_page_t *m, int bytecount, - int reqpage, void (*iodone)(void *), void *arg) + int reqpage, void (*iodone)(void *, int), void *arg) { vm_page_t mreq; @@ -748,7 +748,7 @@ vnode_pager_local_getpages0(struct vnode vm_pager_free_nonreq(mreq->object, m, reqpage, round_page(bytecount) / PAGE_SIZE); if (iodone != NULL) - iodone(arg); + iodone(arg, 0); return (VM_PAGER_OK); } @@ -762,7 +762,7 @@ vnode_pager_local_getpages0(struct vnode */ int vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, int bytecount, - int reqpage, void (*iodone)(void *), void *arg) + int reqpage, void (*iodone)(void *, int), void *arg) { vm_object_t object; vm_offset_t kva; @@ -1059,7 +1059,7 @@ vnode_pager_generic_getpages_done_async( vm_page_xunbusy(sc->m[sc->reqpage]); - sc->iodone(sc->arg); + sc->iodone(sc->arg, error); free(sc, M_TEMP); } Modified: projects/sendfile/sys/vm/vnode_pager.h ============================================================================== --- projects/sendfile/sys/vm/vnode_pager.h Fri Nov 14 15:55:56 2014 (r274513) +++ projects/sendfile/sys/vm/vnode_pager.h Fri Nov 14 16:00:53 2014 (r274514) @@ -41,7 +41,7 @@ #ifdef _KERNEL int vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, - int count, int reqpage, void (*iodone)(void *), void *arg); + int count, int reqpage, void (*iodone)(void *, int), void *arg); int vnode_pager_generic_putpages(struct vnode *vp, vm_page_t *m, int count, boolean_t sync, int *rtvals); From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 18:01:19 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 33559207; Fri, 14 Nov 2014 18:01:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 202D2A40; Fri, 14 Nov 2014 18:01:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEI1JOo066726; Fri, 14 Nov 2014 18:01:19 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEI1IWo066725; Fri, 14 Nov 2014 18:01:18 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141801.sAEI1IWo066725@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 18:01:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274517 - projects/sendfile/sys/vm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 18:01:19 -0000 Author: glebius Date: Fri Nov 14 18:01:18 2014 New Revision: 274517 URL: https://svnweb.freebsd.org/changeset/base/274517 Log: Use C99 "inline" keyword. Modified: projects/sendfile/sys/vm/vm_pager.h Modified: projects/sendfile/sys/vm/vm_pager.h ============================================================================== --- projects/sendfile/sys/vm/vm_pager.h Fri Nov 14 18:00:00 2014 (r274516) +++ projects/sendfile/sys/vm/vm_pager.h Fri Nov 14 18:01:18 2014 (r274517) @@ -106,7 +106,7 @@ vm_object_t vm_pager_allocate(objtype_t, void vm_pager_bufferinit(void); void vm_pager_deallocate(vm_object_t); static __inline int vm_pager_get_pages(vm_object_t, vm_page_t *, int, int); -static __inline int vm_pager_get_pages_async(vm_object_t, vm_page_t *, int, +static inline int vm_pager_get_pages_async(vm_object_t, vm_page_t *, int, int, void(*)(void *, int), void *); static __inline boolean_t vm_pager_has_page(vm_object_t, vm_pindex_t, int *, int *); void vm_pager_init(void); @@ -138,7 +138,7 @@ vm_pager_get_pages( return (r); } -static __inline int +static inline int vm_pager_get_pages_async(vm_object_t object, vm_page_t *m, int count, int reqpage, void (*iodone)(void *, int), void *arg) { From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 18:06:21 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 23A1E500; Fri, 14 Nov 2014 18:06:21 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EC015B07; Fri, 14 Nov 2014 18:06:20 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEI6KnB068528; Fri, 14 Nov 2014 18:06:20 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEI6KWB068527; Fri, 14 Nov 2014 18:06:20 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141806.sAEI6KWB068527@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 18:06:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274518 - projects/sendfile/sys/vm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 18:06:21 -0000 Author: glebius Date: Fri Nov 14 18:06:20 2014 New Revision: 274518 URL: https://svnweb.freebsd.org/changeset/base/274518 Log: - Move declaration of struct getpages_softc to beginning of file and document it. - Make static vnode_pager_generic_getpages_done() and vnode_pager_generic_getpages_done_async(). Modified: projects/sendfile/sys/vm/vnode_pager.c Modified: projects/sendfile/sys/vm/vnode_pager.c ============================================================================== --- projects/sendfile/sys/vm/vnode_pager.c Fri Nov 14 18:01:18 2014 (r274517) +++ projects/sendfile/sys/vm/vnode_pager.c Fri Nov 14 18:06:20 2014 (r274518) @@ -77,6 +77,25 @@ __FBSDID("$FreeBSD$"); #include #include +/* + * Structure to communicate to pass state from vnode_pager_generic_getpages() + * to vnode_pager_generic_getpages_done() either to + * vnode_pager_generic_getpages_done_async(). + */ +struct getpages_softc { + vm_page_t *m; + struct buf *bp; + vm_object_t object; + vm_offset_t kva; + off_t foff; + int size; + int count; + int unmapped; + int reqpage; + void (*iodone)(void *, int); + void *arg; +}; + static int vnode_pager_addr(struct vnode *vp, vm_ooffset_t address, daddr_t *rtaddress, int *run); static int vnode_pager_input_smlfs(vm_object_t object, vm_page_t m); @@ -91,6 +110,8 @@ static void vnode_pager_putpages(vm_obje static boolean_t vnode_pager_haspage(vm_object_t, vm_pindex_t, int *, int *); static vm_object_t vnode_pager_alloc(void *, vm_ooffset_t, vm_prot_t, vm_ooffset_t, struct ucred *cred); +static int vnode_pager_generic_getpages_done(struct getpages_softc *); +static void vnode_pager_generic_getpages_done_async(struct buf *); struct pagerops vnodepagerops = { .pgo_alloc = vnode_pager_alloc, @@ -686,23 +707,6 @@ vnode_pager_getpages_async(vm_object_t o return rtval; } -struct getpages_softc { - vm_page_t *m; - struct buf *bp; - vm_object_t object; - vm_offset_t kva; - off_t foff; - int size; - int count; - int unmapped; - int reqpage; - void (*iodone)(void *, int); - void *arg; -}; - -int vnode_pager_generic_getpages_done(struct getpages_softc *); -void vnode_pager_generic_getpages_done_async(struct buf *); - /* * The implementation of VOP_GETPAGES() and VOP_GETPAGES_ASYNC() for * local filesystems, where partially valid pages can only occur at @@ -1049,7 +1053,7 @@ vnode_pager_generic_getpages(struct vnod return (error ? VM_PAGER_ERROR : VM_PAGER_OK); } -void +static void vnode_pager_generic_getpages_done_async(struct buf *bp) { struct getpages_softc *sc = bp->b_caller1; @@ -1064,7 +1068,7 @@ vnode_pager_generic_getpages_done_async( free(sc, M_TEMP); } -int +static int vnode_pager_generic_getpages_done(struct getpages_softc *sc) { vm_object_t object; From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 18:17:38 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7D609C14; Fri, 14 Nov 2014 18:17:38 +0000 (UTC) Received: from mail-pa0-x236.google.com (mail-pa0-x236.google.com [IPv6:2607:f8b0:400e:c03::236]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4F2D7C57; Fri, 14 Nov 2014 18:17:38 +0000 (UTC) Received: by mail-pa0-f54.google.com with SMTP id hz1so6873757pad.27 for ; Fri, 14 Nov 2014 10:17:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=M18F5aGQcsan6SA0uXR9vHPoH9u+BN1fjH78i2Fz/+0=; b=H2FdA6jGYT5w9xmwCDk9+T2+jK2QUnHV5qJoOk4FHCMjwAzDTESoKUiscxsdz5kw7x QW3qShgF/fd9QETD+AIGYtVNzcq3/5NLbRuq33XLMSDAsW3FRVJjBNWDUxzVx8TsDS/L VrdLGLFE2Xey3jBkC3RUwctHF2iVq4uBo4SDBUAebeT+XM6mW9RYRdAYUxGABrjk3hj3 CnT8mlHgJLDISiYr1zKlgRoA5vTBCqXjN85q3tAW8YYqk+ZHwUzKe/B9TjLVWbjRJJ1a wq8NT8gyYgNp5vNl4Siif2qoGu43qnqebVHpkMa+DKdRctHG9+APlg59Ggr63pgDKDLw LgDA== X-Received: by 10.66.252.193 with SMTP id zu1mr3437267pac.153.1415989057679; Fri, 14 Nov 2014 10:17:37 -0800 (PST) Received: from ?IPv6:2601:8:ab80:7d6:d98b:3fe8:a14f:943? ([2601:8:ab80:7d6:d98b:3fe8:a14f:943]) by mx.google.com with ESMTPSA id fl2sm13159170pab.0.2014.11.14.10.17.36 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 14 Nov 2014 10:17:37 -0800 (PST) Content-Type: multipart/signed; boundary="Apple-Mail=_E34CF5B8-E0D6-4D6A-8250-B049FC8B27A4"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: svn commit: r274517 - projects/sendfile/sys/vm From: Garrett Cooper In-Reply-To: <201411141801.sAEI1IWo066725@svn.freebsd.org> Date: Fri, 14 Nov 2014 10:17:35 -0800 Message-Id: References: <201411141801.sAEI1IWo066725@svn.freebsd.org> To: Gleb Smirnoff X-Mailer: Apple Mail (2.1878.6) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 18:17:38 -0000 --Apple-Mail=_E34CF5B8-E0D6-4D6A-8250-B049FC8B27A4 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On Nov 14, 2014, at 10:01, Gleb Smirnoff wrote: > Author: glebius > Date: Fri Nov 14 18:01:18 2014 > New Revision: 274517 > URL: https://svnweb.freebsd.org/changeset/base/274517 >=20 > Log: > Use C99 "inline" keyword. >=20 > Modified: > projects/sendfile/sys/vm/vm_pager.h >=20 > Modified: projects/sendfile/sys/vm/vm_pager.h > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- projects/sendfile/sys/vm/vm_pager.h Fri Nov 14 18:00:00 2014 = (r274516) > +++ projects/sendfile/sys/vm/vm_pager.h Fri Nov 14 18:01:18 2014 = (r274517) > @@ -106,7 +106,7 @@ vm_object_t vm_pager_allocate(objtype_t, > void vm_pager_bufferinit(void); > void vm_pager_deallocate(vm_object_t); > static __inline int vm_pager_get_pages(vm_object_t, vm_page_t *, int, = int); > -static __inline int vm_pager_get_pages_async(vm_object_t, vm_page_t = *, int, > +static inline int vm_pager_get_pages_async(vm_object_t, vm_page_t *, = int, > int, void(*)(void *, int), void *); > static __inline boolean_t vm_pager_has_page(vm_object_t, vm_pindex_t, = int *, int *); > void vm_pager_init(void); > @@ -138,7 +138,7 @@ vm_pager_get_pages( > return (r); > } - What was wrong with using the "non-C99" constant? - Why not the other cases above that, e.g. vm_pager_get_pages? --Apple-Mail=_E34CF5B8-E0D6-4D6A-8250-B049FC8B27A4 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 iQEcBAEBCgAGBQJUZkc/AAoJEMZr5QU6S73eKtIH+wY7E247wiLCQ4tde1EVbh0Y zn+Xr18YFpm47YxQOYSkZ1cvBAtyBtPbD+QGKJQ2rPu5r3sgGYG8sqMXF+8l89U/ ADtkZ69KrFDBcPobbe5hqGET7PcOA8/b/gJmVPJpzkthtdkjiH6F5p79VQ3xKOJp 17cHjYk18b4+OvcYT5GHZyd4xWMXhsrIahV8aJmS/Uyk6fgG4XjNWbVvqh2642P9 +mgMNW1exh3kGws8A+Edk1B+tbOyFlMR1KSUjkwRROIgtoKqnyC3YEGC7qUT/dDV SXl28F5hKw4wWTcpU6olQrRXkX42Cge43yvI6ZJ/gIHl3EgABlxMRov7rRG9Zzc= =HcJY -----END PGP SIGNATURE----- --Apple-Mail=_E34CF5B8-E0D6-4D6A-8250-B049FC8B27A4-- From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 18:21:02 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6EB6FEFA; Fri, 14 Nov 2014 18:21:02 +0000 (UTC) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "cell.glebius.int.ru", Issuer "cell.glebius.int.ru" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id E848AC80; Fri, 14 Nov 2014 18:21:00 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.9/8.14.9) with ESMTP id sAEIKvx9012435 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 14 Nov 2014 21:20:57 +0300 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.9/8.14.9/Submit) id sAEIKvgm012434; Fri, 14 Nov 2014 21:20:57 +0300 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Fri, 14 Nov 2014 21:20:57 +0300 From: Gleb Smirnoff To: Garrett Cooper Subject: Re: svn commit: r274517 - projects/sendfile/sys/vm Message-ID: <20141114182057.GD1031@FreeBSD.org> References: <201411141801.sAEI1IWo066725@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 18:21:02 -0000 On Fri, Nov 14, 2014 at 10:17:35AM -0800, Garrett Cooper wrote: G> > Log: G> > Use C99 "inline" keyword. G> > G> > Modified: G> > projects/sendfile/sys/vm/vm_pager.h G> > G> > Modified: projects/sendfile/sys/vm/vm_pager.h G> > ============================================================================== G> > --- projects/sendfile/sys/vm/vm_pager.h Fri Nov 14 18:00:00 2014 (r274516) G> > +++ projects/sendfile/sys/vm/vm_pager.h Fri Nov 14 18:01:18 2014 (r274517) G> > @@ -106,7 +106,7 @@ vm_object_t vm_pager_allocate(objtype_t, G> > void vm_pager_bufferinit(void); G> > void vm_pager_deallocate(vm_object_t); G> > static __inline int vm_pager_get_pages(vm_object_t, vm_page_t *, int, int); G> > -static __inline int vm_pager_get_pages_async(vm_object_t, vm_page_t *, int, G> > +static inline int vm_pager_get_pages_async(vm_object_t, vm_page_t *, int, G> > int, void(*)(void *, int), void *); G> > static __inline boolean_t vm_pager_has_page(vm_object_t, vm_pindex_t, int *, int *); G> > void vm_pager_init(void); G> > @@ -138,7 +138,7 @@ vm_pager_get_pages( G> > return (r); G> > } G> G> - What was wrong with using the "non-C99" constant? It was compiler keyword from XX century. G> - Why not the other cases above that, e.g. vm_pager_get_pages? Alan asks to avoid any style(9) changes to sys/vm, so that svn annotate works. However, new code should be styled properly. -- Totus tuus, Glebius. From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 18:21:54 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D1C70FE0; Fri, 14 Nov 2014 18:21:54 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B2F37D10; Fri, 14 Nov 2014 18:21:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEILsCD077855; Fri, 14 Nov 2014 18:21:54 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEILsYS077854; Fri, 14 Nov 2014 18:21:54 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141821.sAEILsYS077854@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 18:21:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274520 - projects/sendfile/bin/sh X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 18:21:55 -0000 Author: glebius Date: Fri Nov 14 18:21:54 2014 New Revision: 274520 URL: https://svnweb.freebsd.org/changeset/base/274520 Log: Merge head up to r274519. Modified: projects/sendfile/bin/sh/sh.1 Directory Properties: projects/sendfile/ (props changed) projects/sendfile/sys/ (props changed) Modified: projects/sendfile/bin/sh/sh.1 ============================================================================== --- projects/sendfile/bin/sh/sh.1 Fri Nov 14 18:15:35 2014 (r274519) +++ projects/sendfile/bin/sh/sh.1 Fri Nov 14 18:21:54 2014 (r274520) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd November 7, 2014 +.Dd November 14, 2014 .Dt SH 1 .Os .Sh NAME @@ -795,10 +795,13 @@ should indicate the various exit codes a Additionally, the built-in commands return exit codes, as does an executed shell function. .Pp -If a command is terminated by a signal, its exit status is 128 plus -the signal number. -Signal numbers are defined in the header file -.In sys/signal.h . +If a command is terminated by a signal, its exit status is greater than 128. +The signal name can be found by passing the exit status to +.Li kill -l . +.Pp +If there is no command word, +the exit status is the exit status of the last command substitution executed, +or zero if the command does not contain any command substitutions. .Ss Complex Commands Complex commands are combinations of simple commands with control operators or keywords, together creating a larger complex @@ -818,7 +821,8 @@ function definition .El .Pp Unless otherwise stated, the exit status of a command is -that of the last simple command executed by the command. +that of the last simple command executed by the command, +or zero if no simple command was executed. .Ss Pipelines A pipeline is a sequence of one or more commands separated by the control operator @@ -902,6 +906,8 @@ The format for running a command in back If the shell is not interactive, the standard input of an asynchronous command is set to .Pa /dev/null . +.Pp +The exit status is zero. .Ss Lists (Generally Speaking) A list is a sequence of zero or more commands separated by newlines, semicolons, or ampersands, @@ -940,6 +946,13 @@ command is: .Ic fi .Ed .Pp +The exit status is that of selected +.Ic then +or +.Ic else +list, +or zero if no list was selected. +.Pp The syntax of the .Ic while command is: @@ -960,6 +973,9 @@ in place of which causes it to repeat until the exit status of the first list is zero. .Pp +The exit status is that of the last execution of the second list, +or zero if it was never executed. +.Pp The syntax of the .Ic for command is: @@ -1040,10 +1056,6 @@ continuing until a list terminated with or the end of the .Ic case command. -The exit code of the -.Ic case -command is the exit code of the last command executed in the list or -zero if no patterns were matched. .Ss Grouping Commands Together Commands may be grouped by writing either .Pp @@ -1131,6 +1143,8 @@ and the syntax is: The .Ic local command is implemented as a built-in command. +The exit status is zero +unless the command is not in a function or a variable name is invalid. .Pp When a variable is made local, it inherits the initial value and exported and readonly flags from the variable From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 18:23:54 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8832F15C; Fri, 14 Nov 2014 18:23:54 +0000 (UTC) Received: from mail-wg0-x229.google.com (mail-wg0-x229.google.com [IPv6:2a00:1450:400c:c00::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1A351D1F; Fri, 14 Nov 2014 18:23:54 +0000 (UTC) Received: by mail-wg0-f41.google.com with SMTP id y19so813401wgg.14 for ; Fri, 14 Nov 2014 10:23:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=ijWIEM3sdrEAM9dSrO35+0BiYHH3y0m8/iXG6tRdKk8=; b=TrphAvRKssjVKHHrsqnJ1TSeQTnCqJzHjvueQ2pSwoPjK39b4ac0ye4Y/wL8CeGOX3 nQE3DaSiVBjx5Wcv1X7IKH1Bbc448KwNTAedHo9g0eXCwcM3Qhvt0+syP9g2kK0p5YoL ktO3yZY801sW+5167DRTU7UkY0ti7ssEqqOQaDHihcrgVfe/q/CjG731rH6H4C0RGA2k KPEQfhJlNALuMC/Kp9IA6b89eXWsWrJFE6qXgHLYerXUchyjLXgF0KkkEv0HnGMutbhf S7Yd3L9zkuThwy+gHzjFyTBIDtDpfAEFRTJB1vXNsCCUQLAynWi9rkyB8x0QtUFNEVDa S/Og== MIME-Version: 1.0 X-Received: by 10.180.9.103 with SMTP id y7mr10161315wia.5.1415989431905; Fri, 14 Nov 2014 10:23:51 -0800 (PST) Sender: pluknet@gmail.com Received: by 10.216.53.68 with HTTP; Fri, 14 Nov 2014 10:23:51 -0800 (PST) In-Reply-To: <201411141555.sAEFtvur007240@svn.freebsd.org> References: <201411141555.sAEFtvur007240@svn.freebsd.org> Date: Fri, 14 Nov 2014 22:23:51 +0400 X-Google-Sender-Auth: vCvWzMkZrKw9fFUT59hZNW5JhWw Message-ID: Subject: Re: svn commit: r274513 - in projects/sendfile/sys: kern sys From: Sergey Kandaurov To: Gleb Smirnoff Content-Type: text/plain; charset=ISO-8859-1 Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 18:23:54 -0000 On 14 November 2014 18:55, Gleb Smirnoff wrote: > Author: glebius > Date: Fri Nov 14 15:55:56 2014 > New Revision: 274513 > URL: https://svnweb.freebsd.org/changeset/base/274513 > [...] > Modified: projects/sendfile/sys/sys/sockbuf.h > ============================================================================== > --- projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 15:50:16 2014 (r274512) > +++ projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 15:55:56 2014 (r274513) > @@ -128,6 +128,7 @@ struct sockbuf { > #define M_NOTREADY M_PROTO1 /* m_data not populated yet */ > #define M_BLOCKED M_PROTO2 /* M_NOTREADY in front of m */ > #define M_NOTAVAIL (M_NOTREADY | M_BLOCKED) > +#define M_SBCUTTED M_PROTO3 /* mbuf was sbcutted out */ Seriously? There's no such word in (modern) English :). -- wbr, pluknet From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 18:25:07 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 448B0266; Fri, 14 Nov 2014 18:25:07 +0000 (UTC) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "cell.glebius.int.ru", Issuer "cell.glebius.int.ru" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id B7BB1D2B; Fri, 14 Nov 2014 18:25:06 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.9/8.14.9) with ESMTP id sAEIP4Am012472 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 14 Nov 2014 21:25:04 +0300 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.9/8.14.9/Submit) id sAEIP4MR012471; Fri, 14 Nov 2014 21:25:04 +0300 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Fri, 14 Nov 2014 21:25:04 +0300 From: Gleb Smirnoff To: Sergey Kandaurov Subject: Re: svn commit: r274513 - in projects/sendfile/sys: kern sys Message-ID: <20141114182504.GE1031@FreeBSD.org> References: <201411141555.sAEFtvur007240@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 18:25:07 -0000 On Fri, Nov 14, 2014 at 10:23:51PM +0400, Sergey Kandaurov wrote: S> On 14 November 2014 18:55, Gleb Smirnoff wrote: S> > Author: glebius S> > Date: Fri Nov 14 15:55:56 2014 S> > New Revision: 274513 S> > URL: https://svnweb.freebsd.org/changeset/base/274513 S> > S> [...] S> > Modified: projects/sendfile/sys/sys/sockbuf.h S> > ============================================================================== S> > --- projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 15:50:16 2014 (r274512) S> > +++ projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 15:55:56 2014 (r274513) S> > @@ -128,6 +128,7 @@ struct sockbuf { S> > #define M_NOTREADY M_PROTO1 /* m_data not populated yet */ S> > #define M_BLOCKED M_PROTO2 /* M_NOTREADY in front of m */ S> > #define M_NOTAVAIL (M_NOTREADY | M_BLOCKED) S> > +#define M_SBCUTTED M_PROTO3 /* mbuf was sbcutted out */ S> S> Seriously? There's no such word in (modern) English :). I also had such feeling, but translate.google.com convinced me wrong :) -- Totus tuus, Glebius. From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 18:29:19 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8ED9F49E; Fri, 14 Nov 2014 18:29:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7B882D60; Fri, 14 Nov 2014 18:29:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEITJtJ078818; Fri, 14 Nov 2014 18:29:19 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEITJKP078817; Fri, 14 Nov 2014 18:29:19 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141829.sAEITJKP078817@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 18:29:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274521 - projects/sendfile/sys/vm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 18:29:19 -0000 Author: glebius Date: Fri Nov 14 18:29:18 2014 New Revision: 274521 URL: https://svnweb.freebsd.org/changeset/base/274521 Log: Fix wording. Modified: projects/sendfile/sys/vm/vnode_pager.c Modified: projects/sendfile/sys/vm/vnode_pager.c ============================================================================== --- projects/sendfile/sys/vm/vnode_pager.c Fri Nov 14 18:21:54 2014 (r274520) +++ projects/sendfile/sys/vm/vnode_pager.c Fri Nov 14 18:29:18 2014 (r274521) @@ -78,7 +78,7 @@ __FBSDID("$FreeBSD$"); #include /* - * Structure to communicate to pass state from vnode_pager_generic_getpages() + * Structure to pass state from vnode_pager_generic_getpages() * to vnode_pager_generic_getpages_done() either to * vnode_pager_generic_getpages_done_async(). */ From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 18:51:45 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 691373FC; Fri, 14 Nov 2014 18:51:45 +0000 (UTC) Received: from mho-01-ewr.mailhop.org (mho-03-ewr.mailhop.org [204.13.248.66]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3A19B9D; Fri, 14 Nov 2014 18:51:44 +0000 (UTC) Received: from [73.34.117.227] (helo=ilsoft.org) by mho-01-ewr.mailhop.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from ) id 1XpLyB-00016i-8E; Fri, 14 Nov 2014 18:51:43 +0000 Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by ilsoft.org (8.14.9/8.14.9) with ESMTP id sAEIpgQs003989; Fri, 14 Nov 2014 11:51:42 -0700 (MST) (envelope-from ian@FreeBSD.org) X-Mail-Handler: Dyn Standard SMTP by Dyn X-Originating-IP: 73.34.117.227 X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/sendlabs/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX1+QGFxZ9wAGnlMQnPg9G/9Z X-Authentication-Warning: paranoia.hippie.lan: Host revolution.hippie.lan [172.22.42.240] claimed to be [172.22.42.240] Subject: Re: svn commit: r274513 - in projects/sendfile/sys: kern sys From: Ian Lepore To: Gleb Smirnoff In-Reply-To: <20141114182504.GE1031@FreeBSD.org> References: <201411141555.sAEFtvur007240@svn.freebsd.org> <20141114182504.GE1031@FreeBSD.org> Content-Type: text/plain; charset="us-ascii" Date: Fri, 14 Nov 2014 11:51:41 -0700 Message-ID: <1415991101.4781.110.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: svn-src-projects@freebsd.org, Sergey Kandaurov , src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 18:51:45 -0000 On Fri, 2014-11-14 at 21:25 +0300, Gleb Smirnoff wrote: > On Fri, Nov 14, 2014 at 10:23:51PM +0400, Sergey Kandaurov wrote: > S> On 14 November 2014 18:55, Gleb Smirnoff wrote: > S> > Author: glebius > S> > Date: Fri Nov 14 15:55:56 2014 > S> > New Revision: 274513 > S> > URL: https://svnweb.freebsd.org/changeset/base/274513 > S> > > S> [...] > S> > Modified: projects/sendfile/sys/sys/sockbuf.h > S> > ============================================================================== > S> > --- projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 15:50:16 2014 (r274512) > S> > +++ projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 15:55:56 2014 (r274513) > S> > @@ -128,6 +128,7 @@ struct sockbuf { > S> > #define M_NOTREADY M_PROTO1 /* m_data not populated yet */ > S> > #define M_BLOCKED M_PROTO2 /* M_NOTREADY in front of m */ > S> > #define M_NOTAVAIL (M_NOTREADY | M_BLOCKED) > S> > +#define M_SBCUTTED M_PROTO3 /* mbuf was sbcutted out */ > S> > S> Seriously? There's no such word in (modern) English :). > > I also had such feeling, but translate.google.com convinced me wrong :) > Cutted is not proper modern English. It is listed by some dictionaries as dialectical and nonstandard. I've been speaking English for a bit less than 55 years and I've never once heard anyone say cutted, or seen it in writing. -- Ian From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 19:06:09 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 45921C1D; Fri, 14 Nov 2014 19:06:09 +0000 (UTC) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "cell.glebius.int.ru", Issuer "cell.glebius.int.ru" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 9F6981DD; Fri, 14 Nov 2014 19:06:07 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.9/8.14.9) with ESMTP id sAEJ65DD012675 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 14 Nov 2014 22:06:05 +0300 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.9/8.14.9/Submit) id sAEJ65rG012674; Fri, 14 Nov 2014 22:06:05 +0300 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Fri, 14 Nov 2014 22:06:05 +0300 From: Gleb Smirnoff To: Ian Lepore Subject: Re: svn commit: r274513 - in projects/sendfile/sys: kern sys Message-ID: <20141114190605.GG1031@FreeBSD.org> References: <201411141555.sAEFtvur007240@svn.freebsd.org> <20141114182504.GE1031@FreeBSD.org> <1415991101.4781.110.camel@revolution.hippie.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1415991101.4781.110.camel@revolution.hippie.lan> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: svn-src-projects@freebsd.org, Sergey Kandaurov , src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 19:06:09 -0000 On Fri, Nov 14, 2014 at 11:51:41AM -0700, Ian Lepore wrote: I> On Fri, 2014-11-14 at 21:25 +0300, Gleb Smirnoff wrote: I> > On Fri, Nov 14, 2014 at 10:23:51PM +0400, Sergey Kandaurov wrote: I> > S> On 14 November 2014 18:55, Gleb Smirnoff wrote: I> > S> > Author: glebius I> > S> > Date: Fri Nov 14 15:55:56 2014 I> > S> > New Revision: 274513 I> > S> > URL: https://svnweb.freebsd.org/changeset/base/274513 I> > S> > I> > S> [...] I> > S> > Modified: projects/sendfile/sys/sys/sockbuf.h I> > S> > ============================================================================== I> > S> > --- projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 15:50:16 2014 (r274512) I> > S> > +++ projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 15:55:56 2014 (r274513) I> > S> > @@ -128,6 +128,7 @@ struct sockbuf { I> > S> > #define M_NOTREADY M_PROTO1 /* m_data not populated yet */ I> > S> > #define M_BLOCKED M_PROTO2 /* M_NOTREADY in front of m */ I> > S> > #define M_NOTAVAIL (M_NOTREADY | M_BLOCKED) I> > S> > +#define M_SBCUTTED M_PROTO3 /* mbuf was sbcutted out */ I> > S> I> > S> Seriously? There's no such word in (modern) English :). I> > I> > I also had such feeling, but translate.google.com convinced me wrong :) I> > I> I> Cutted is not proper modern English. It is listed by some dictionaries I> as dialectical and nonstandard. I've been speaking English for a bit I> less than 55 years and I've never once heard anyone say cutted, or seen I> it in writing. Thanks. Will fix it to M_SBCUT. -- Totus tuus, Glebius. From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 19:08:20 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C3769D6D; Fri, 14 Nov 2014 19:08:20 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 95EE31FA; Fri, 14 Nov 2014 19:08:20 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEJ8K0c097948; Fri, 14 Nov 2014 19:08:20 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEJ8KNI097946; Fri, 14 Nov 2014 19:08:20 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141908.sAEJ8KNI097946@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 19:08:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274524 - in projects/sendfile/sys: kern sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 19:08:20 -0000 Author: glebius Date: Fri Nov 14 19:08:19 2014 New Revision: 274524 URL: https://svnweb.freebsd.org/changeset/base/274524 Log: A better English name for the new mbuf flag. Modified: projects/sendfile/sys/kern/uipc_sockbuf.c projects/sendfile/sys/sys/sockbuf.h Modified: projects/sendfile/sys/kern/uipc_sockbuf.c ============================================================================== --- projects/sendfile/sys/kern/uipc_sockbuf.c Fri Nov 14 18:44:13 2014 (r274523) +++ projects/sendfile/sys/kern/uipc_sockbuf.c Fri Nov 14 19:08:19 2014 (r274524) @@ -78,15 +78,15 @@ sbready(struct sockbuf *sb, struct mbuf SOCKBUF_LOCK_ASSERT(sb); - if (m->m_flags & M_SBCUTTED) { + if (m->m_flags & M_SBCUT) { /* * Oops, something bad happened to the socket buffer while * we were working on the data. Our mbufs are detached from * the sockbuf, and all what we can do is free them. */ for (int i = 0; i < count; i++) { - KASSERT(m->m_flags & M_SBCUTTED, - ("%s: m %p !M_SBCUTTED", __func__, m)); + KASSERT(m->m_flags & M_SBCUT, + ("%s: m %p !M_SBCUT", __func__, m)); m = m_free(m); } return (EPIPE); @@ -1060,7 +1060,7 @@ sbcut_internal(struct sockbuf *sb, int l sbfree(sb, m); n = m->m_next; if (m->m_flags & M_NOTREADY) - m->m_flags |= M_SBCUTTED; + m->m_flags |= M_SBCUT; else { m->m_next = mfree; mfree = m; Modified: projects/sendfile/sys/sys/sockbuf.h ============================================================================== --- projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 18:44:13 2014 (r274523) +++ projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 19:08:19 2014 (r274524) @@ -128,7 +128,7 @@ struct sockbuf { #define M_NOTREADY M_PROTO1 /* m_data not populated yet */ #define M_BLOCKED M_PROTO2 /* M_NOTREADY in front of m */ #define M_NOTAVAIL (M_NOTREADY | M_BLOCKED) -#define M_SBCUTTED M_PROTO3 /* mbuf was sbcutted out */ +#define M_SBCUT M_PROTO3 /* mbuf was sbcutted out */ void sbappend(struct sockbuf *sb, struct mbuf *m); void sbappend_locked(struct sockbuf *sb, struct mbuf *m); From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 19:21:20 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6F4893DB; Fri, 14 Nov 2014 19:21:20 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5BE2661D; Fri, 14 Nov 2014 19:21:20 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEJLK55005719; Fri, 14 Nov 2014 19:21:20 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEJLK7W005718; Fri, 14 Nov 2014 19:21:20 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201411141921.sAEJLK7W005718@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 14 Nov 2014 19:21:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274525 - projects/sendfile/sys/netinet X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 19:21:20 -0000 Author: glebius Date: Fri Nov 14 19:21:19 2014 New Revision: 274525 URL: https://svnweb.freebsd.org/changeset/base/274525 Log: Now that sbcut() avoid to free M_NOTREADY mbufs, in case of socket going down we are responsible to free the mbufs. Modified: projects/sendfile/sys/netinet/tcp_usrreq.c Modified: projects/sendfile/sys/netinet/tcp_usrreq.c ============================================================================== --- projects/sendfile/sys/netinet/tcp_usrreq.c Fri Nov 14 19:08:19 2014 (r274524) +++ projects/sendfile/sys/netinet/tcp_usrreq.c Fri Nov 14 19:21:19 2014 (r274525) @@ -953,6 +953,8 @@ tcp_usr_ready(struct socket *so, struct INP_WLOCK(inp); if (inp->inp_flags & (INP_TIMEWAIT | INP_DROPPED)) { INP_WUNLOCK(inp); + for (int i = 0; i < count; i++) + m = m_free(m); return (ECONNRESET); } tp = intotcpcb(inp); From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 19:41:38 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7DDE4DE8; Fri, 14 Nov 2014 19:41:38 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6AB7C840; Fri, 14 Nov 2014 19:41:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEJfc1n016184; Fri, 14 Nov 2014 19:41:38 GMT (envelope-from pluknet@FreeBSD.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEJfcom016183; Fri, 14 Nov 2014 19:41:38 GMT (envelope-from pluknet@FreeBSD.org) Message-Id: <201411141941.sAEJfcom016183@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pluknet set sender to pluknet@FreeBSD.org using -f From: Sergey Kandaurov Date: Fri, 14 Nov 2014 19:41:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274526 - projects/sendfile/sys/sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 19:41:38 -0000 Author: pluknet Date: Fri Nov 14 19:41:37 2014 New Revision: 274526 URL: https://svnweb.freebsd.org/changeset/base/274526 Log: Follow r274524 and fix language in comment. No functional changes. Modified: projects/sendfile/sys/sys/sockbuf.h Modified: projects/sendfile/sys/sys/sockbuf.h ============================================================================== --- projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 19:21:19 2014 (r274525) +++ projects/sendfile/sys/sys/sockbuf.h Fri Nov 14 19:41:37 2014 (r274526) @@ -128,7 +128,7 @@ struct sockbuf { #define M_NOTREADY M_PROTO1 /* m_data not populated yet */ #define M_BLOCKED M_PROTO2 /* M_NOTREADY in front of m */ #define M_NOTAVAIL (M_NOTREADY | M_BLOCKED) -#define M_SBCUT M_PROTO3 /* mbuf was sbcutted out */ +#define M_SBCUT M_PROTO3 /* mbuf was sbcut out */ void sbappend(struct sockbuf *sb, struct mbuf *m); void sbappend_locked(struct sockbuf *sb, struct mbuf *m); From owner-svn-src-projects@FreeBSD.ORG Fri Nov 14 22:29:34 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 573AAC8; Fri, 14 Nov 2014 22:29:34 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 44183BE4; Fri, 14 Nov 2014 22:29:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAEMTYvB094013; Fri, 14 Nov 2014 22:29:34 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAEMTY49094012; Fri, 14 Nov 2014 22:29:34 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201411142229.sAEMTY49094012@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Fri, 14 Nov 2014 22:29:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274533 - projects/release-vmimage/release/tools X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Nov 2014 22:29:34 -0000 Author: gjb Date: Fri Nov 14 22:29:33 2014 New Revision: 274533 URL: https://svnweb.freebsd.org/changeset/base/274533 Log: Set the boot partition type to 'apple-boot' for powerpc. Submitted by: jhibbits Sponsored by: The FreeBSD Foundation Modified: projects/release-vmimage/release/tools/vmimage.subr Modified: projects/release-vmimage/release/tools/vmimage.subr ============================================================================== --- projects/release-vmimage/release/tools/vmimage.subr Fri Nov 14 22:01:14 2014 (r274532) +++ projects/release-vmimage/release/tools/vmimage.subr Fri Nov 14 22:29:33 2014 (r274533) @@ -21,7 +21,7 @@ write_partition_layout() { ;; powerpc:powerpc*) mkimg -s apm \ - -p freebsd-boot/bootfs:=/boot/boot1.hfs \ + -p apple-boot/bootfs:=/boot/boot1.hfs \ -p freebsd-swap/swapfs::1G \ -p freebsd-ufs/rootfs:=${VMBASE} \ -o ${VMIMAGE} From owner-svn-src-projects@FreeBSD.ORG Sat Nov 15 02:35:11 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1DFA3423; Sat, 15 Nov 2014 02:35:11 +0000 (UTC) Received: from mail105.syd.optusnet.com.au (mail105.syd.optusnet.com.au [211.29.132.249]) by mx1.freebsd.org (Postfix) with ESMTP id CF2923F0; Sat, 15 Nov 2014 02:35:10 +0000 (UTC) Received: from c122-106-147-133.carlnfd1.nsw.optusnet.com.au (c122-106-147-133.carlnfd1.nsw.optusnet.com.au [122.106.147.133]) by mail105.syd.optusnet.com.au (Postfix) with ESMTPS id BE10A10423C8; Sat, 15 Nov 2014 13:35:07 +1100 (AEDT) Date: Sat, 15 Nov 2014 13:35:06 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Ian Lepore Subject: Re: svn commit: r274513 - in projects/sendfile/sys: kern sys In-Reply-To: <1415991101.4781.110.camel@revolution.hippie.lan> Message-ID: <20141115125642.J1288@besplex.bde.org> References: <201411141555.sAEFtvur007240@svn.freebsd.org> <20141114182504.GE1031@FreeBSD.org> <1415991101.4781.110.camel@revolution.hippie.lan> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.1 cv=BdjhjNd2 c=1 sm=1 tr=0 a=7NqvjVvQucbO2RlWB8PEog==:117 a=PO7r1zJSAAAA:8 a=kj9zAlcOel0A:10 a=JzwRw_2MAAAA:8 a=6I5d2MoRAAAA:8 a=1XWaLZrsAAAA:8 a=DYe5F3tMMLQD5HBOBsYA:9 a=CjuIK1q_8ugA:10 Cc: svn-src-projects@freebsd.org, Gleb Smirnoff , Sergey Kandaurov , src-committers@freebsd.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2014 02:35:11 -0000 On Fri, 14 Nov 2014, Ian Lepore wrote: > On Fri, 2014-11-14 at 21:25 +0300, Gleb Smirnoff wrote: >> On Fri, Nov 14, 2014 at 10:23:51PM +0400, Sergey Kandaurov wrote: >> S> On 14 November 2014 18:55, Gleb Smirnoff wrote: >> ... >> S> > #define M_NOTREADY M_PROTO1 /* m_data not populated yet */ >> S> > #define M_BLOCKED M_PROTO2 /* M_NOTREADY in front of m */ >> S> > #define M_NOTAVAIL (M_NOTREADY | M_BLOCKED) >> S> > +#define M_SBCUTTED M_PROTO3 /* mbuf was sbcutted out */ >> S> >> S> Seriously? There's no such word in (modern) English :). >> >> I also had such feeling, but translate.google.com convinced me wrong :) > > Cutted is not proper modern English. It is listed by some dictionaries > as dialectical and nonstandard. I've been speaking English for a bit > less than 55 years and I've never once heard anyone say cutted, or seen > it in writing. That's "cutted". Doesn't everyone say "sbcutted"? :-) It is still not useful to echo an identifier's name in a comment when describing what the identifer means. You should also consider using an English word in the identifer. That is done for "BLOCKED". "block" is a less irregular verb than "cut", so it can express delicate tenses more clearly. However, this is not usually done for "block". Blocking flags used to be consistently spelled without the "ED". Now in , there is 1 spelled with an "ED" and about 18 without. Many of the "BLOCK" flags are initially for the action of creating a block, and "BLOCKED" is a wrong tense for that. But when a "BLOCK" flag is tested and found to be set, it means that something is blocked, and "BLOCKED" has a better tense for that. More complicated tenses might be more correct but are usually avoided in identifiers; EWOULDBLOCK is an exception. Bruce From owner-svn-src-projects@FreeBSD.ORG Sat Nov 15 18:54:10 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F24C247D; Sat, 15 Nov 2014 18:54:09 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DDDE6A40; Sat, 15 Nov 2014 18:54:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAFIs9XZ069053; Sat, 15 Nov 2014 18:54:09 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAFIs7AG069042; Sat, 15 Nov 2014 18:54:07 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201411151854.sAFIs7AG069042@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sat, 15 Nov 2014 18:54:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274553 - in projects/routing/sys: net netinet netinet6 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2014 18:54:10 -0000 Author: melifaro Date: Sat Nov 15 18:54:07 2014 New Revision: 274553 URL: https://svnweb.freebsd.org/changeset/base/274553 Log: * Move lle creation/deletion from lla_lookup to separate functions: lla_lookup(LLE_CREATE) -> lla_create lla_lookup(LLE_DELETE) -> lla_delete Assume lla_create to return LLE_EXCLUSIVE lock for lle. * Rework lla_rt_output to perform all lle changes under afdata WLOCK. * change arp_ifscrub() ackquire afdata WLOCK, the same as arp_ifinit(). Modified: projects/routing/sys/net/if_llatbl.c projects/routing/sys/net/if_llatbl.h projects/routing/sys/netinet/if_ether.c projects/routing/sys/netinet/in.c projects/routing/sys/netinet/toecore.c projects/routing/sys/netinet6/in6.c projects/routing/sys/netinet6/nd6.c projects/routing/sys/netinet6/nd6.h Modified: projects/routing/sys/net/if_llatbl.c ============================================================================== --- projects/routing/sys/net/if_llatbl.c Sat Nov 15 18:03:38 2014 (r274552) +++ projects/routing/sys/net/if_llatbl.c Sat Nov 15 18:54:07 2014 (r274553) @@ -147,8 +147,7 @@ llentry_alloc(struct ifnet *ifp, struct if ((la == NULL) && (ifp->if_flags & (IFF_NOARP | IFF_STATICARP)) == 0) { IF_AFDATA_WLOCK(ifp); - la = lla_lookup(lt, (LLE_CREATE | LLE_EXCLUSIVE), - (struct sockaddr *)dst); + la = lla_create(lt, 0, (struct sockaddr *)dst); IF_AFDATA_WUNLOCK(ifp); } @@ -259,7 +258,7 @@ lltable_init(struct ifnet *ifp, int af) } /* - * Called in route_output when adding/deleting a route to an interface. + * Called in route_output when rtm_flags contains RTF_LLDATA. */ int lla_rt_output(struct rt_msghdr *rtm, struct rt_addrinfo *info) @@ -270,8 +269,8 @@ lla_rt_output(struct rt_msghdr *rtm, str struct ifnet *ifp; struct lltable *llt; struct llentry *lle; - u_int laflags = 0, flags = 0; - int error = 0; + u_int laflags = 0; + int error; KASSERT(dl != NULL && dl->sdl_family == AF_LINK, ("%s: invalid dl\n", __func__)); @@ -283,24 +282,6 @@ lla_rt_output(struct rt_msghdr *rtm, str return EINVAL; } - switch (rtm->rtm_type) { - case RTM_ADD: - if (rtm->rtm_flags & RTF_ANNOUNCE) - flags |= LLE_PUB; - flags |= LLE_CREATE; - break; - - case RTM_DELETE: - flags |= LLE_DELETE; - break; - - case RTM_CHANGE: - break; - - default: - return EINVAL; /* XXX not implemented yet */ - } - /* XXX linked list may be too expensive */ LLTABLE_RLOCK(); SLIST_FOREACH(llt, &V_lltables, llt_link) { @@ -311,58 +292,62 @@ lla_rt_output(struct rt_msghdr *rtm, str LLTABLE_RUNLOCK(); KASSERT(llt != NULL, ("Yep, ugly hacks are bad\n")); - if (flags & LLE_CREATE) - flags |= LLE_EXCLUSIVE; + error = 0; - IF_AFDATA_LOCK(ifp); - lle = lla_lookup(llt, flags, dst); - IF_AFDATA_UNLOCK(ifp); - if (LLE_IS_VALID(lle)) { - if (flags & LLE_CREATE) { - /* - * If we delay the delete, then a subsequent - * "arp add" should look up this entry, reset the - * LLE_DELETED flag, and reset the expiration timer - */ - bcopy(LLADDR(dl), &lle->ll_addr, ifp->if_addrlen); - lle->la_flags |= (flags & LLE_PUB); - lle->la_flags |= LLE_VALID; - lle->la_flags &= ~LLE_DELETED; + switch (rtm->rtm_type) { + case RTM_ADD: + /* Add static LLE */ + IF_AFDATA_WLOCK(ifp); + lle = lla_create(llt, 0, dst); + if (lle == NULL) { + IF_AFDATA_WUNLOCK(ifp); + return (ENOMEM); + } + + + bcopy(LLADDR(dl), &lle->ll_addr, ifp->if_addrlen); + if ((rtm->rtm_flags & RTF_ANNOUNCE)) + lle->la_flags |= LLE_PUB; + lle->la_flags |= LLE_VALID; #ifdef INET6 - /* - * ND6 - */ - if (dst->sa_family == AF_INET6) - lle->ln_state = ND6_LLINFO_REACHABLE; + /* + * ND6 + */ + if (dst->sa_family == AF_INET6) + lle->ln_state = ND6_LLINFO_REACHABLE; #endif - /* - * NB: arp and ndp always set (RTF_STATIC | RTF_HOST) - */ - - if (rtm->rtm_rmx.rmx_expire == 0) { - lle->la_flags |= LLE_STATIC; - lle->la_expire = 0; - } else - lle->la_expire = rtm->rtm_rmx.rmx_expire; - laflags = lle->la_flags; - LLE_WUNLOCK(lle); + /* + * NB: arp and ndp always set (RTF_STATIC | RTF_HOST) + */ + + if (rtm->rtm_rmx.rmx_expire == 0) { + lle->la_flags |= LLE_STATIC; + lle->la_expire = 0; + } else + lle->la_expire = rtm->rtm_rmx.rmx_expire; + laflags = lle->la_flags; + LLE_WUNLOCK(lle); + IF_AFDATA_WUNLOCK(ifp); #ifdef INET - /* gratuitous ARP */ - if ((laflags & LLE_PUB) && dst->sa_family == AF_INET) - arprequest(ifp, - &((struct sockaddr_in *)dst)->sin_addr, - &((struct sockaddr_in *)dst)->sin_addr, - (u_char *)LLADDR(dl)); + /* gratuitous ARP */ + if ((laflags & LLE_PUB) && dst->sa_family == AF_INET) + arprequest(ifp, + &((struct sockaddr_in *)dst)->sin_addr, + &((struct sockaddr_in *)dst)->sin_addr, + (u_char *)LLADDR(dl)); #endif - } else { - if (flags & LLE_EXCLUSIVE) - LLE_WUNLOCK(lle); - else - LLE_RUNLOCK(lle); - } - } else if ((lle == NULL) && (flags & LLE_DELETE)) - error = EINVAL; + break; + + case RTM_DELETE: + IF_AFDATA_WLOCK(ifp); + error = lla_delete(llt, 0, dst); + IF_AFDATA_WUNLOCK(ifp); + return (error == 0 ? 0 : ENOENT); + + default: + error = EINVAL; + } return (error); } Modified: projects/routing/sys/net/if_llatbl.h ============================================================================== --- projects/routing/sys/net/if_llatbl.h Sat Nov 15 18:03:38 2014 (r274552) +++ projects/routing/sys/net/if_llatbl.h Sat Nov 15 18:54:07 2014 (r274553) @@ -144,25 +144,33 @@ struct llentry { #define LLTBL_HASHMASK (LLTBL_HASHTBL_SIZE - 1) #endif +typedef struct llentry *(llt_lookup_t)(struct lltable *, u_int flags, + const struct sockaddr *l3addr); +typedef struct llentry *(llt_create_t)(struct lltable *, u_int flags, + const struct sockaddr *l3addr); +typedef int (llt_delete_t)(struct lltable *, u_int flags, + const struct sockaddr *l3addr); +typedef void (llt_prefix_free_t)(struct lltable *, + const struct sockaddr *prefix, const struct sockaddr *mask, u_int flags); +typedef int (llt_dump_t)(struct lltable *, struct sysctl_req *); + struct lltable { SLIST_ENTRY(lltable) llt_link; struct llentries lle_head[LLTBL_HASHTBL_SIZE]; int llt_af; struct ifnet *llt_ifp; - void (*llt_prefix_free)(struct lltable *, - const struct sockaddr *prefix, - const struct sockaddr *mask, - u_int flags); - struct llentry * (*llt_lookup)(struct lltable *, u_int flags, - const struct sockaddr *l3addr); - int (*llt_dump)(struct lltable *, - struct sysctl_req *); + llt_lookup_t *llt_lookup; + llt_create_t *llt_create; + llt_delete_t *llt_delete; + llt_prefix_free_t *llt_prefix_free; + llt_dump_t *llt_dump; }; + MALLOC_DECLARE(M_LLTABLE); /* - * flags to be passed to arplookup. + * Various LLE flags */ #define LLE_DELETED 0x0001 /* entry must be deleted */ #define LLE_STATIC 0x0002 /* entry is static */ @@ -170,9 +178,8 @@ MALLOC_DECLARE(M_LLTABLE); #define LLE_VALID 0x0008 /* ll_addr is valid */ #define LLE_PUB 0x0020 /* publish entry ??? */ #define LLE_LINKED 0x0040 /* linked to lookup structure */ +/* LLE request flags */ #define LLE_EXCLUSIVE 0x2000 /* return lle xlocked */ -#define LLE_DELETE 0x4000 /* delete on a lookup - match LLE_IFADDR */ -#define LLE_CREATE 0x8000 /* create on a lookup miss */ #define LLATBL_HASH(key, mask) \ (((((((key >> 8) ^ key) >> 8) ^ key) >> 8) ^ key) & mask) @@ -196,9 +203,25 @@ struct llentry *llentry_alloc(struct if static __inline struct llentry * lla_lookup(struct lltable *llt, u_int flags, const struct sockaddr *l3addr) { + return llt->llt_lookup(llt, flags, l3addr); } +static __inline struct llentry * +lla_create(struct lltable *llt, u_int flags, const struct sockaddr *l3addr) +{ + + return llt->llt_create(llt, flags, l3addr); +} + +static __inline int +lla_delete(struct lltable *llt, u_int flags, const struct sockaddr *l3addr) +{ + + return llt->llt_delete(llt, flags, l3addr); +} + + int lla_rt_output(struct rt_msghdr *, struct rt_addrinfo *); #include Modified: projects/routing/sys/netinet/if_ether.c ============================================================================== --- projects/routing/sys/netinet/if_ether.c Sat Nov 15 18:03:38 2014 (r274552) +++ projects/routing/sys/netinet/if_ether.c Sat Nov 15 18:54:07 2014 (r274553) @@ -152,10 +152,9 @@ arp_ifscrub(struct ifnet *ifp, uint32_t addr4.sin_len = sizeof(addr4); addr4.sin_family = AF_INET; addr4.sin_addr.s_addr = addr; - IF_AFDATA_RLOCK(ifp); - lla_lookup(LLTABLE(ifp), (LLE_DELETE | LLE_IFADDR), - (struct sockaddr *)&addr4); - IF_AFDATA_RUNLOCK(ifp); + IF_AFDATA_WLOCK(ifp); + lla_delete(LLTABLE(ifp), LLE_IFADDR, (struct sockaddr *)&addr4); + IF_AFDATA_WUNLOCK(ifp); } #endif @@ -373,8 +372,9 @@ arpresolve(struct ifnet *ifp, struct rte u_int flags = 0; struct mbuf *curr = NULL; struct mbuf *next = NULL; - int error, renew; + int create, error, renew; + create = 0; *lle = NULL; if (m != NULL) { if (m->m_flags & M_BCAST) { @@ -395,13 +395,14 @@ retry: IF_AFDATA_RUNLOCK(ifp); if ((la == NULL) && ((flags & LLE_EXCLUSIVE) == 0) && ((ifp->if_flags & (IFF_NOARP | IFF_STATICARP)) == 0)) { - flags |= (LLE_CREATE | LLE_EXCLUSIVE); + create = 1; + flags |= LLE_EXCLUSIVE; IF_AFDATA_WLOCK(ifp); - la = lla_lookup(LLTABLE(ifp), flags, dst); + la = lla_create(LLTABLE(ifp), flags, dst); IF_AFDATA_WUNLOCK(ifp); } if (la == NULL) { - if (flags & LLE_CREATE) + if (create != 0) log(LOG_DEBUG, "arpresolve: can't allocate llinfo for %s on %s\n", inet_ntoa(SIN(dst)->sin_addr), ifp->if_xname); @@ -613,7 +614,7 @@ in_arpinput(struct mbuf *m) int op, flags; int req_len; int bridged = 0, is_bridge = 0; - int carped; + int carped, create; struct nhop4_extended nh_ext; struct sockaddr_in sin; sin.sin_len = sizeof(struct sockaddr_in); @@ -765,10 +766,13 @@ match: sin.sin_len = sizeof(struct sockaddr_in); sin.sin_family = AF_INET; sin.sin_addr = isaddr; - flags = (itaddr.s_addr == myaddr.s_addr) ? LLE_CREATE : 0; - flags |= LLE_EXCLUSIVE; + create = (itaddr.s_addr == myaddr.s_addr) ? 1 : 0; + flags = LLE_EXCLUSIVE; IF_AFDATA_LOCK(ifp); - la = lla_lookup(LLTABLE(ifp), flags, (struct sockaddr *)&sin); + if (create != 0) + la = lla_create(LLTABLE(ifp), 0, (struct sockaddr *)&sin); + else + la = lla_lookup(LLTABLE(ifp), flags, (struct sockaddr *)&sin); IF_AFDATA_UNLOCK(ifp); if (la != NULL) { /* the following is not an error when doing bridging */ @@ -975,14 +979,14 @@ arp_ifinit(struct ifnet *ifp, struct ifa * that L2 entry as permanent */ IF_AFDATA_LOCK(ifp); - lle = lla_lookup(LLTABLE(ifp), (LLE_CREATE | LLE_IFADDR | LLE_STATIC), + lle = lla_create(LLTABLE(ifp), LLE_IFADDR | LLE_STATIC, (struct sockaddr *)IA_SIN(ifa)); IF_AFDATA_UNLOCK(ifp); if (lle == NULL) log(LOG_INFO, "arp_ifinit: cannot create arp " "entry for interface address\n"); else - LLE_RUNLOCK(lle); + LLE_WUNLOCK(lle); } ifa->ifa_rtrequest = NULL; } Modified: projects/routing/sys/netinet/in.c ============================================================================== --- projects/routing/sys/netinet/in.c Sat Nov 15 18:03:38 2014 (r274552) +++ projects/routing/sys/netinet/in.c Sat Nov 15 18:54:07 2014 (r274553) @@ -1046,6 +1046,117 @@ in_lltable_rtcheck(struct ifnet *ifp, u_ return (0); } +static inline struct llentry * +in_lltable_find_dst(struct lltable *llt, struct in_addr dst) +{ + struct llentry *lle; + struct llentries *lleh; + struct sockaddr_in *sa2; + u_int hashkey; + + hashkey = dst.s_addr; + lleh = &llt->lle_head[LLATBL_HASH(hashkey, LLTBL_HASHMASK)]; + LIST_FOREACH(lle, lleh, lle_next) { + sa2 = satosin(L3_ADDR(lle)); /* XXX: Change to proper L3 */ + if (lle->la_flags & LLE_DELETED) + continue; + if (sa2->sin_addr.s_addr == dst.s_addr) + break; + } + + return (lle); +} + +static int +in_lltable_delete(struct lltable *llt, u_int flags, + const struct sockaddr *l3addr) +{ + const struct sockaddr_in *sin = (const struct sockaddr_in *)l3addr; + struct ifnet *ifp = llt->llt_ifp; + struct llentry *lle; + + IF_AFDATA_WLOCK_ASSERT(ifp); + KASSERT(l3addr->sa_family == AF_INET, + ("sin_family %d", l3addr->sa_family)); + + lle = in_lltable_find_dst(llt, sin->sin_addr); + if (lle == NULL) { +#ifdef DIAGNOSTIC + log(LOG_INFO, "interface address is missing from cache = %p in delete\n", lle); +#endif + return (ENOENT); + } + + if (!(lle->la_flags & LLE_IFADDR) || (flags & LLE_IFADDR)) { + LLE_WLOCK(lle); + lle->la_flags |= LLE_DELETED; + EVENTHANDLER_INVOKE(lle_event, lle, LLENTRY_DELETED); +#ifdef DIAGNOSTIC + log(LOG_INFO, "ifaddr cache = %p is deleted\n", lle); +#endif + if ((lle->la_flags & (LLE_STATIC | LLE_IFADDR)) == LLE_STATIC) + llentry_free(lle); + else + LLE_WUNLOCK(lle); + } + + return (0); +} + +static struct llentry * +in_lltable_create(struct lltable *llt, u_int flags, const struct sockaddr *l3addr) +{ + const struct sockaddr_in *sin = (const struct sockaddr_in *)l3addr; + struct ifnet *ifp = llt->llt_ifp; + struct llentry *lle; + struct llentries *lleh; + u_int hashkey; + + IF_AFDATA_WLOCK_ASSERT(ifp); + KASSERT(l3addr->sa_family == AF_INET, + ("sin_family %d", l3addr->sa_family)); + + lle = in_lltable_find_dst(llt, sin->sin_addr); + + if (lle != NULL) { + LLE_WLOCK(lle); + return (lle); + } + + /* no existing record, we need to create new one */ + + /* + * A route that covers the given address must have + * been installed 1st because we are doing a resolution, + * verify this. + */ + if (!(flags & LLE_IFADDR) && + in_lltable_rtcheck(ifp, flags, l3addr) != 0) + return (NULL); + + lle = in_lltable_new(l3addr, flags); + if (lle == NULL) { + log(LOG_INFO, "lla_lookup: new lle malloc failed\n"); + return (NULL); + } + lle->la_flags = flags; + if ((flags & LLE_IFADDR) == LLE_IFADDR) { + bcopy(IF_LLADDR(ifp), &lle->ll_addr, ifp->if_addrlen); + lle->la_flags |= (LLE_VALID | LLE_STATIC); + } + + hashkey = sin->sin_addr.s_addr; + lleh = &llt->lle_head[LLATBL_HASH(hashkey, LLTBL_HASHMASK)]; + + lle->lle_tbl = llt; + lle->lle_head = lleh; + lle->la_flags |= LLE_LINKED; + LIST_INSERT_HEAD(lleh, lle, lle_next); + LLE_WLOCK(lle); + + return (lle); +} + /* * Return NULL if not found or marked for deletion. * If found return lle read locked. @@ -1072,62 +1183,15 @@ in_lltable_lookup(struct lltable *llt, u if (sa2->sin_addr.s_addr == sin->sin_addr.s_addr) break; } - if (lle == NULL) { -#ifdef DIAGNOSTIC - if (flags & LLE_DELETE) - log(LOG_INFO, "interface address is missing from cache = %p in delete\n", lle); -#endif - if (!(flags & LLE_CREATE)) - return (NULL); - IF_AFDATA_WLOCK_ASSERT(ifp); - /* - * A route that covers the given address must have - * been installed 1st because we are doing a resolution, - * verify this. - */ - if (!(flags & LLE_IFADDR) && - in_lltable_rtcheck(ifp, flags, l3addr) != 0) - goto done; - - lle = in_lltable_new(l3addr, flags); - if (lle == NULL) { - log(LOG_INFO, "lla_lookup: new lle malloc failed\n"); - goto done; - } - lle->la_flags = flags & ~LLE_CREATE; - if ((flags & (LLE_CREATE | LLE_IFADDR)) == (LLE_CREATE | LLE_IFADDR)) { - bcopy(IF_LLADDR(ifp), &lle->ll_addr, ifp->if_addrlen); - lle->la_flags |= (LLE_VALID | LLE_STATIC); - } - lle->lle_tbl = llt; - lle->lle_head = lleh; - lle->la_flags |= LLE_LINKED; - LIST_INSERT_HEAD(lleh, lle, lle_next); - } else if (flags & LLE_DELETE) { - if (!(lle->la_flags & LLE_IFADDR) || (flags & LLE_IFADDR)) { - LLE_WLOCK(lle); - lle->la_flags |= LLE_DELETED; - EVENTHANDLER_INVOKE(lle_event, lle, LLENTRY_DELETED); -#ifdef DIAGNOSTIC - log(LOG_INFO, "ifaddr cache = %p is deleted\n", lle); -#endif - if ((lle->la_flags & - (LLE_STATIC | LLE_IFADDR)) == LLE_STATIC) - llentry_free(lle); - else - LLE_WUNLOCK(lle); - } - lle = (void *)-1; + if (lle == NULL) + return (NULL); + + if (flags & LLE_EXCLUSIVE) + LLE_WLOCK(lle); + else + LLE_RLOCK(lle); - } - if (LLE_IS_VALID(lle)) { - if (flags & LLE_EXCLUSIVE) - LLE_WLOCK(lle); - else - LLE_RLOCK(lle); - } -done: return (lle); } @@ -1218,6 +1282,8 @@ in_domifattach(struct ifnet *ifp) if (llt != NULL) { llt->llt_prefix_free = in_lltable_prefix_free; llt->llt_lookup = in_lltable_lookup; + llt->llt_create = in_lltable_create; + llt->llt_delete = in_lltable_delete; llt->llt_dump = in_lltable_dump; } ii->ii_llt = llt; Modified: projects/routing/sys/netinet/toecore.c ============================================================================== --- projects/routing/sys/netinet/toecore.c Sat Nov 15 18:03:38 2014 (r274552) +++ projects/routing/sys/netinet/toecore.c Sat Nov 15 18:54:07 2014 (r274553) @@ -463,8 +463,7 @@ restart: IF_AFDATA_RUNLOCK(ifp); if (lle == NULL) { IF_AFDATA_LOCK(ifp); - lle = nd6_lookup(&sin6->sin6_addr, ND6_CREATE | ND6_EXCLUSIVE, - ifp); + lle = nd6_create(&sin6->sin6_addr, 0, ifp); IF_AFDATA_UNLOCK(ifp); if (lle == NULL) return (ENOMEM); /* Couldn't create entry in cache. */ Modified: projects/routing/sys/netinet6/in6.c ============================================================================== --- projects/routing/sys/netinet6/in6.c Sat Nov 15 18:03:38 2014 (r274552) +++ projects/routing/sys/netinet6/in6.c Sat Nov 15 18:54:07 2014 (r274553) @@ -2200,80 +2200,132 @@ in6_lltable_rtcheck(struct ifnet *ifp, return 0; } -static struct llentry * -in6_lltable_lookup(struct lltable *llt, u_int flags, - const struct sockaddr *l3addr) +static inline struct llentry * +in6_lltable_find_dst(struct lltable *llt, const struct in6_addr *dst) { - const struct sockaddr_in6 *sin6 = (const struct sockaddr_in6 *)l3addr; - struct ifnet *ifp = llt->llt_ifp; struct llentry *lle; struct llentries *lleh; u_int hashkey; - IF_AFDATA_LOCK_ASSERT(ifp); - KASSERT(l3addr->sa_family == AF_INET6, - ("sin_family %d", l3addr->sa_family)); - - hashkey = sin6->sin6_addr.s6_addr32[3]; + hashkey = dst->s6_addr32[3]; lleh = &llt->lle_head[LLATBL_HASH(hashkey, LLTBL_HASHMASK)]; LIST_FOREACH(lle, lleh, lle_next) { struct sockaddr_in6 *sa6 = (struct sockaddr_in6 *)L3_ADDR(lle); if (lle->la_flags & LLE_DELETED) continue; - if (bcmp(&sa6->sin6_addr, &sin6->sin6_addr, - sizeof(struct in6_addr)) == 0) + if (bcmp(&sa6->sin6_addr, dst, sizeof(struct in6_addr)) == 0) break; } - if (lle == NULL) { - if (!(flags & LLE_CREATE)) - return (NULL); - IF_AFDATA_WLOCK_ASSERT(ifp); - /* - * A route that covers the given address must have - * been installed 1st because we are doing a resolution, - * verify this. - */ - if (!(flags & LLE_IFADDR) && - in6_lltable_rtcheck(ifp, flags, l3addr) != 0) - return NULL; - - lle = in6_lltable_new(l3addr, flags); - if (lle == NULL) { - log(LOG_INFO, "lla_lookup: new lle malloc failed\n"); - return NULL; - } - lle->la_flags = flags & ~LLE_CREATE; - if ((flags & (LLE_CREATE | LLE_IFADDR)) == (LLE_CREATE | LLE_IFADDR)) { - bcopy(IF_LLADDR(ifp), &lle->ll_addr, ifp->if_addrlen); - lle->la_flags |= (LLE_VALID | LLE_STATIC); - } + return (lle); +} - lle->lle_tbl = llt; - lle->lle_head = lleh; - lle->la_flags |= LLE_LINKED; - LIST_INSERT_HEAD(lleh, lle, lle_next); - } else if (flags & LLE_DELETE) { - if (!(lle->la_flags & LLE_IFADDR) || (flags & LLE_IFADDR)) { - LLE_WLOCK(lle); - lle->la_flags |= LLE_DELETED; +static int +in6_lltable_delete(struct lltable *llt, u_int flags, + const struct sockaddr *l3addr) +{ + const struct sockaddr_in6 *sin6 = (const struct sockaddr_in6 *)l3addr; + struct ifnet *ifp = llt->llt_ifp; + struct llentry *lle; + + IF_AFDATA_LOCK_ASSERT(ifp); + KASSERT(l3addr->sa_family == AF_INET6, + ("sin_family %d", l3addr->sa_family)); + + lle = in6_lltable_find_dst(llt, &sin6->sin6_addr); + + if (lle == NULL) + return (ENOENT); + + if (!(lle->la_flags & LLE_IFADDR) || (flags & LLE_IFADDR)) { + LLE_WLOCK(lle); + lle->la_flags |= LLE_DELETED; #ifdef DIAGNOSTIC - log(LOG_INFO, "ifaddr cache = %p is deleted\n", lle); + log(LOG_INFO, "ifaddr cache = %p is deleted\n", lle); #endif - if ((lle->la_flags & - (LLE_STATIC | LLE_IFADDR)) == LLE_STATIC) - llentry_free(lle); - else - LLE_WUNLOCK(lle); - } - lle = (void *)-1; - } - if (LLE_IS_VALID(lle)) { - if (flags & LLE_EXCLUSIVE) - LLE_WLOCK(lle); + if ((lle->la_flags & (LLE_STATIC | LLE_IFADDR)) == LLE_STATIC) + llentry_free(lle); else - LLE_RLOCK(lle); + LLE_WUNLOCK(lle); + } + + return (0); +} + +static struct llentry * +in6_lltable_create(struct lltable *llt, u_int flags, + const struct sockaddr *l3addr) +{ + const struct sockaddr_in6 *sin6 = (const struct sockaddr_in6 *)l3addr; + struct ifnet *ifp = llt->llt_ifp; + struct llentry *lle; + struct llentries *lleh; + u_int hashkey; + + IF_AFDATA_WLOCK_ASSERT(ifp); + KASSERT(l3addr->sa_family == AF_INET6, + ("sin_family %d", l3addr->sa_family)); + + lle = in6_lltable_find_dst(llt, &sin6->sin6_addr); + + if (lle != NULL) { + LLE_WLOCK(lle); + return (lle); + } + + /* + * A route that covers the given address must have + * been installed 1st because we are doing a resolution, + * verify this. + */ + if (!(flags & LLE_IFADDR) && + in6_lltable_rtcheck(ifp, flags, l3addr) != 0) + return NULL; + + lle = in6_lltable_new(l3addr, flags); + if (lle == NULL) { + log(LOG_INFO, "lla_lookup: new lle malloc failed\n"); + return NULL; } + lle->la_flags = flags; + if ((flags & LLE_IFADDR) == LLE_IFADDR) { + bcopy(IF_LLADDR(ifp), &lle->ll_addr, ifp->if_addrlen); + lle->la_flags |= (LLE_VALID | LLE_STATIC); + } + + hashkey = sin6->sin6_addr.s6_addr32[3]; + lleh = &llt->lle_head[LLATBL_HASH(hashkey, LLTBL_HASHMASK)]; + + lle->lle_tbl = llt; + lle->lle_head = lleh; + lle->la_flags |= LLE_LINKED; + LIST_INSERT_HEAD(lleh, lle, lle_next); + LLE_WLOCK(lle); + + return (lle); +} + +static struct llentry * +in6_lltable_lookup(struct lltable *llt, u_int flags, + const struct sockaddr *l3addr) +{ + const struct sockaddr_in6 *sin6 = (const struct sockaddr_in6 *)l3addr; + struct ifnet *ifp = llt->llt_ifp; + struct llentry *lle; + + IF_AFDATA_LOCK_ASSERT(ifp); + KASSERT(l3addr->sa_family == AF_INET6, + ("sin_family %d", l3addr->sa_family)); + + lle = in6_lltable_find_dst(llt, &sin6->sin6_addr); + + if (lle == NULL) + return (NULL); + + if (flags & LLE_EXCLUSIVE) + LLE_WLOCK(lle); + else + LLE_RLOCK(lle); return (lle); } @@ -2387,6 +2439,8 @@ in6_domifattach(struct ifnet *ifp) if (ext->lltable != NULL) { ext->lltable->llt_prefix_free = in6_lltable_prefix_free; ext->lltable->llt_lookup = in6_lltable_lookup; + ext->lltable->llt_create = in6_lltable_create; + ext->lltable->llt_delete = in6_lltable_delete; ext->lltable->llt_dump = in6_lltable_dump; } Modified: projects/routing/sys/netinet6/nd6.c ============================================================================== --- projects/routing/sys/netinet6/nd6.c Sat Nov 15 18:03:38 2014 (r274552) +++ projects/routing/sys/netinet6/nd6.c Sat Nov 15 18:54:07 2014 (r274553) @@ -854,14 +854,31 @@ nd6_lookup(struct in6_addr *addr6, int f IF_AFDATA_LOCK_ASSERT(ifp); - llflags = 0; - if (flags & ND6_CREATE) - llflags |= LLE_CREATE; - if (flags & ND6_EXCLUSIVE) - llflags |= LLE_EXCLUSIVE; - + llflags = (flags & ND6_EXCLUSIVE) ? LLE_EXCLUSIVE : 0; ln = lla_lookup(LLTABLE6(ifp), llflags, (struct sockaddr *)&sin6); - if ((ln != NULL) && (llflags & LLE_CREATE)) + + return (ln); +} + +/* + * the caller acquires and releases the lock on the lltbls + * Returns the llentry wlocked + */ +struct llentry * +nd6_create(struct in6_addr *addr6, int flags, struct ifnet *ifp) +{ + struct sockaddr_in6 sin6; + struct llentry *ln; + + bzero(&sin6, sizeof(sin6)); + sin6.sin6_len = sizeof(struct sockaddr_in6); + sin6.sin6_family = AF_INET6; + sin6.sin6_addr = *addr6; + + IF_AFDATA_WLOCK_ASSERT(ifp); + + ln = lla_create(LLTABLE6(ifp), 0, (struct sockaddr *)&sin6); + if (ln != NULL) ln->ln_state = ND6_LLINFO_NOSTATE; return (ln); @@ -1581,7 +1598,7 @@ nd6_cache_lladdr(struct ifnet *ifp, stru if (ln == NULL) { flags |= ND6_EXCLUSIVE; IF_AFDATA_LOCK(ifp); - ln = nd6_lookup(from, flags | ND6_CREATE, ifp); + ln = nd6_create(from, 0, ifp); IF_AFDATA_UNLOCK(ifp); is_newentry = 1; } else { @@ -1938,7 +1955,6 @@ nd6_output_lle(struct ifnet *ifp, struct struct m_tag *mtag; struct ip6_hdr *ip6; int error = 0; - int flags = 0; int has_lle = 0; int ip6len; @@ -1982,9 +1998,8 @@ nd6_output_lle(struct ifnet *ifp, struct * the condition below is not very efficient. But we believe * it is tolerable, because this should be a rare case. */ - flags = ND6_CREATE | ND6_EXCLUSIVE; IF_AFDATA_LOCK(ifp); - lle = nd6_lookup(&dst->sin6_addr, flags, ifp); + lle = nd6_create(&dst->sin6_addr, 0, ifp); IF_AFDATA_UNLOCK(ifp); } } @@ -2238,8 +2253,8 @@ nd6_add_ifa_lle(struct in6_ifaddr *ia) ifp = ia->ia_ifa.ifa_ifp; IF_AFDATA_LOCK(ifp); ia->ia_ifa.ifa_rtrequest = nd6_rtrequest; - ln = lla_lookup(LLTABLE6(ifp), (LLE_CREATE | LLE_IFADDR | - LLE_EXCLUSIVE), (struct sockaddr *)&ia->ia_addr); + ln = lla_create(LLTABLE6(ifp), LLE_IFADDR, + (struct sockaddr *)&ia->ia_addr); IF_AFDATA_UNLOCK(ifp); if (ln != NULL) { ln->la_expire = 0; /* for IPv6 this means permanent */ Modified: projects/routing/sys/netinet6/nd6.h ============================================================================== --- projects/routing/sys/netinet6/nd6.h Sat Nov 15 18:03:38 2014 (r274552) +++ projects/routing/sys/netinet6/nd6.h Sat Nov 15 18:54:07 2014 (r274553) @@ -88,7 +88,6 @@ struct nd_ifinfo { #define ND6_IFF_NO_RADR 0x40 #define ND6_IFF_NO_PREFER_IFACE 0x80 /* XXX: not related to ND. */ -#define ND6_CREATE LLE_CREATE #define ND6_EXCLUSIVE LLE_EXCLUSIVE #ifdef _KERNEL @@ -395,7 +394,8 @@ int nd6_is_addr_neighbor(struct sockaddr void nd6_option_init(void *, int, union nd_opts *); struct nd_opt_hdr *nd6_option(union nd_opts *); int nd6_options(union nd_opts *); -struct llentry *nd6_lookup(struct in6_addr *, int, struct ifnet *); +struct llentry *nd6_lookup(struct in6_addr *, int, struct ifnet *); +struct llentry *nd6_create(struct in6_addr *, int, struct ifnet *); void nd6_setmtu(struct ifnet *); void nd6_llinfo_settimer(struct llentry *, long); void nd6_llinfo_settimer_locked(struct llentry *, long); From owner-svn-src-projects@FreeBSD.ORG Sat Nov 15 20:02:23 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AE9E2846; Sat, 15 Nov 2014 20:02:23 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9B99D9D; Sat, 15 Nov 2014 20:02:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id sAFK2NSG002236; Sat, 15 Nov 2014 20:02:23 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id sAFK2NKR002235; Sat, 15 Nov 2014 20:02:23 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201411152002.sAFK2NKR002235@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sat, 15 Nov 2014 20:02:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r274554 - projects/routing/sys/netinet X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2014 20:02:23 -0000 Author: melifaro Date: Sat Nov 15 20:02:22 2014 New Revision: 274554 URL: https://svnweb.freebsd.org/changeset/base/274554 Log: Move "slow path" handling from arpresolve() to newly-created arpresolve_slow(). Modified: projects/routing/sys/netinet/if_ether.c Modified: projects/routing/sys/netinet/if_ether.c ============================================================================== --- projects/routing/sys/netinet/if_ether.c Sat Nov 15 18:54:07 2014 (r274553) +++ projects/routing/sys/netinet/if_ether.c Sat Nov 15 20:02:22 2014 (r274554) @@ -130,6 +130,8 @@ static void arptimer(void *); #ifdef INET static void in_arpinput(struct mbuf *); #endif +static int arpresolve_slow(struct ifnet *, int is_gw, struct mbuf *, + const struct sockaddr *, u_char *, struct llentry **); static const struct netisr_handler arp_nh = { .nh_name = "arp", @@ -368,13 +370,10 @@ int arpresolve(struct ifnet *ifp, struct rtentry *rt0, struct mbuf *m, const struct sockaddr *dst, u_char *desten, struct llentry **lle) { - struct llentry *la = 0; - u_int flags = 0; - struct mbuf *curr = NULL; - struct mbuf *next = NULL; - int create, error, renew; + struct llentry *la = NULL; + int is_gw; + uint16_t la_flags; - create = 0; *lle = NULL; if (m != NULL) { if (m->m_flags & M_BCAST) { @@ -389,16 +388,61 @@ arpresolve(struct ifnet *ifp, struct rte return (0); } } -retry: + + IF_AFDATA_RLOCK(ifp); + la = lla_lookup(LLTABLE(ifp), 0, dst); + IF_AFDATA_RUNLOCK(ifp); + la_flags = la != NULL ? la->la_flags : 0; + + /* Return to slow path if entry is not found or invalid/expired */ + if (la == NULL || (la_flags & LLE_VALID) == 0 || + ((la_flags & LLE_STATIC) == 0 && la->la_expire <= time_uptime)) { + is_gw = (rt0 != NULL && (rt0->rt_flags & RTF_GATEWAY)) ? 1 : 0; + if (la != NULL) + LLE_RUNLOCK(la); + return (arpresolve_slow(ifp, is_gw, m, dst, desten, lle)); + } + + + /* Entry found, let's copy lle info */ + bcopy(&la->ll_addr, desten, ifp->if_addrlen); + + /* + * If entry has an expiry time and it is approaching, + * see if we need to send an ARP request within this + * arpt_down interval. + */ + if (!(la->la_flags & LLE_STATIC) && + time_uptime + la->la_preempt > la->la_expire) { + arprequest(ifp, NULL, &SIN(dst)->sin_addr, NULL); + la->la_preempt--; + } + + /* XXX: Possible use-after-free */ + *lle = la; + LLE_RUNLOCK(la); + return (0); +} + +static int +arpresolve_slow(struct ifnet *ifp, int is_gw, struct mbuf *m, + const struct sockaddr *dst, u_char *desten, struct llentry **lle) +{ + struct llentry *la = 0; + struct mbuf *curr = NULL; + struct mbuf *next = NULL; + int create, error, renew; + + create = 0; + *lle = NULL; + IF_AFDATA_RLOCK(ifp); - la = lla_lookup(LLTABLE(ifp), flags, dst); + la = lla_lookup(LLTABLE(ifp), LLE_EXCLUSIVE, dst); IF_AFDATA_RUNLOCK(ifp); - if ((la == NULL) && ((flags & LLE_EXCLUSIVE) == 0) - && ((ifp->if_flags & (IFF_NOARP | IFF_STATICARP)) == 0)) { + if (la == NULL && (ifp->if_flags & (IFF_NOARP | IFF_STATICARP)) == 0) { create = 1; - flags |= LLE_EXCLUSIVE; IF_AFDATA_WLOCK(ifp); - la = lla_create(LLTABLE(ifp), flags, dst); + la = lla_create(LLTABLE(ifp), 0, dst); IF_AFDATA_WUNLOCK(ifp); } if (la == NULL) { @@ -438,11 +482,6 @@ retry: } renew = (la->la_asked == 0 || la->la_expire != time_uptime); - if ((renew || m != NULL) && (flags & LLE_EXCLUSIVE) == 0) { - flags |= LLE_EXCLUSIVE; - LLE_RUNLOCK(la); - goto retry; - } /* * There is an arptab entry, but no ethernet address * response yet. Add the mbuf to the list, dropping @@ -467,11 +506,6 @@ retry: } else la->la_hold = m; la->la_numheld++; - if (renew == 0 && (flags & LLE_EXCLUSIVE)) { - flags &= ~LLE_EXCLUSIVE; - LLE_DOWNGRADE(la); - } - } /* * Return EWOULDBLOCK if we have tried less than arp_maxtries. It @@ -482,8 +516,7 @@ retry: if (la->la_asked < V_arp_maxtries) error = EWOULDBLOCK; /* First request. */ else - error = rt0 != NULL && (rt0->rt_flags & RTF_GATEWAY) ? - EHOSTUNREACH : EHOSTDOWN; + error = (is_gw != 0) ? EHOSTUNREACH : EHOSTDOWN; if (renew) { int canceled; @@ -500,10 +533,7 @@ retry: return (error); } done: - if (flags & LLE_EXCLUSIVE) - LLE_WUNLOCK(la); - else - LLE_RUNLOCK(la); + LLE_WUNLOCK(la); return (error); }