svn commit: r360866 - head/sys/net

2020-05-10 Thread Alexander V. Chernikov
Author: melifaro
Date: Sun May 10 09:34:48 2020
New Revision: 360866
URL: https://svnweb.freebsd.org/changeset/base/360866

Log:
  Remove rtalloc1(_fib) KPI.
  
  Last user of rtalloc1() KPI has been eliminated in rS360631.
  As kernel is now fully switched to use new routing KPI defined in
  rS359823, remove old lookup functions.
  
  Differential Revision:https://reviews.freebsd.org/D24776

Modified:
  head/sys/net/route.c
  head/sys/net/route.h

Modified: head/sys/net/route.c
==
--- head/sys/net/route.cSun May 10 03:36:11 2020(r360865)
+++ head/sys/net/route.cSun May 10 09:34:48 2020(r360866)
@@ -420,76 +420,6 @@ sys_setfib(struct thread *td, struct setfib_args *uap)
 }
 
 /*
- * Look up the route that matches the address given
- * Or, at least try.. Create a cloned route if needed.
- *
- * The returned route, if any, is locked.
- */
-struct rtentry *
-rtalloc1(struct sockaddr *dst, int report, u_long ignflags)
-{
-
-   return (rtalloc1_fib(dst, report, ignflags, RT_DEFAULT_FIB));
-}
-
-struct rtentry *
-rtalloc1_fib(struct sockaddr *dst, int report, u_long ignflags,
-   u_int fibnum)
-{
-   RIB_RLOCK_TRACKER;
-   struct rib_head *rh;
-   struct radix_node *rn;
-   struct rtentry *newrt;
-   struct rt_addrinfo info;
-   int err = 0, msgtype = RTM_MISS;
-
-   KASSERT((fibnum < rt_numfibs), ("rtalloc1_fib: bad fibnum"));
-   rh = rt_tables_get_rnh(fibnum, dst->sa_family);
-   newrt = NULL;
-   if (rh == NULL)
-   goto miss;
-
-   /*
-* Look up the address in the table for that Address Family
-*/
-   if ((ignflags & RTF_RNH_LOCKED) == 0)
-   RIB_RLOCK(rh);
-#ifdef INVARIANTS
-   else
-   RIB_LOCK_ASSERT(rh);
-#endif
-   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 ((ignflags & RTF_RNH_LOCKED) == 0)
-   RIB_RUNLOCK(rh);
-   return (newrt);
-
-   } else if ((ignflags & RTF_RNH_LOCKED) == 0)
-   RIB_RUNLOCK(rh);
-   /*
-* Either we hit the root or could not find any match,
-* which basically means: "cannot get there from here".
-*/
-miss:
-   RTSTAT_INC(rts_unreach);
-
-   if (report) {
-   /*
-* If required, report the failure to the supervising
-* Authorities.
-* For a delete, this is not an error. (report == 0)
-*/
-   bzero(&info, sizeof(info));
-   info.rti_info[RTAX_DST] = dst;
-   rt_missmsg_fib(msgtype, &info, 0, err, fibnum);
-   }
-   return (newrt);
-}
-
-/*
  * Remove a reference count from an rtentry.
  * If the count gets low enough, take it out of the routing table
  */

Modified: head/sys/net/route.h
==
--- head/sys/net/route.hSun May 10 03:36:11 2020(r360865)
+++ head/sys/net/route.hSun May 10 09:34:48 2020(r360866)
@@ -392,8 +392,6 @@ struct sockaddr *rtsock_fix_netmask(const struct socka
 /*
  * Note the following locking behavior:
  *
- *rtalloc1() returns a locked rtentry
- *
  *rtfree() and RTFREE_LOCKED() require a locked rtentry
  *
  *RTFREE() uses an unlocked entry.
@@ -414,14 +412,12 @@ void  rt_flushifroutes(struct ifnet *ifp);
 
 /* XXX MRT COMPAT VERSIONS THAT SET UNIVERSE to 0 */
 /* Thes are used by old code not yet converted to use multiple FIBS */
-struct rtentry *rtalloc1(struct sockaddr *, int, u_long);
 int rtinit(struct ifaddr *, int, int);
 
 /* XXX MRT NEW VERSIONS THAT USE FIBs
  * For now the protocol indepedent versions are the same as the AF_INET ones
  * but this will change.. 
  */
-struct rtentry *rtalloc1_fib(struct sockaddr *, int, u_long, u_int);
 int rtioctl_fib(u_long, caddr_t, u_int);
 int rtrequest_fib(int, struct sockaddr *,
struct sockaddr *, struct sockaddr *, int, struct rtentry **, 
u_int);
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r360869 - head/sys/netinet

2020-05-10 Thread Michael Tuexen
Author: tuexen
Date: Sun May 10 10:03:10 2020
New Revision: 360869
URL: https://svnweb.freebsd.org/changeset/base/360869

Log:
  Only drop DATA chunk with lower priorities as specified in RFC 7496.
  This issue was found by looking at a reproducer generated by syzkaller.
  
  MFC after:3 days

Modified:
  head/sys/netinet/sctp_output.c

Modified: head/sys/netinet/sctp_output.c
==
--- head/sys/netinet/sctp_output.c  Sun May 10 09:50:44 2020
(r360868)
+++ head/sys/netinet/sctp_output.c  Sun May 10 10:03:10 2020
(r360869)
@@ -6199,11 +6199,11 @@ sctp_prune_prsctp(struct sctp_tcb *stcb,
 * This one is PR-SCTP AND buffer space
 * limited type
 */
-   if (chk->rec.data.timetodrop.tv_sec >= 
(long)srcv->sinfo_timetolive) {
+   if (chk->rec.data.timetodrop.tv_sec > 
(long)srcv->sinfo_timetolive) {
/*
 * Lower numbers equates to higher
 * priority so if the one we are
-* looking at has a larger or equal
+* looking at has a larger
 * priority we want to drop the data
 * and NOT retransmit it.
 */
@@ -6234,7 +6234,7 @@ sctp_prune_prsctp(struct sctp_tcb *stcb,
TAILQ_FOREACH_SAFE(chk, &asoc->send_queue, sctp_next, nchk) {
/* Here we must move to the sent queue and mark */
if (PR_SCTP_BUF_ENABLED(chk->flags)) {
-   if (chk->rec.data.timetodrop.tv_sec >= 
(long)srcv->sinfo_timetolive) {
+   if (chk->rec.data.timetodrop.tv_sec > 
(long)srcv->sinfo_timetolive) {
if (chk->data) {
/*
 * We release the book_size
@@ -12617,7 +12617,7 @@ sctp_lower_sosend(struct socket *so,
top = SCTP_HEADER_TO_CHAIN(i_pak);
sndlen = SCTP_HEADER_LEN(i_pak);
}
-   SCTPDBG(SCTP_DEBUG_OUTPUT1, "Send called addr:%p send length %zu\n",
+   SCTPDBG(SCTP_DEBUG_OUTPUT1, "Send called addr:%p send length %zd\n",
(void *)addr,
sndlen);
if ((inp->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) &&
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r360870 - head/sys/compat/linuxkpi/common/include/linux

2020-05-10 Thread Emmanuel Vadot
Author: manu
Date: Sun May 10 13:07:00 2020
New Revision: 360870
URL: https://svnweb.freebsd.org/changeset/base/360870

Log:
  linuxkpi: Add bitmap_alloc and bitmap_free
  
  This is a simple call to kmallock_array/kfree, therefore include linux/slab.h 
as
  this is where the kmalloc_array/kfree definition is.
  
  Sponsored-by: The FreeBSD Foundation
  Reviewed by:  hselsasky
  Differential Revision:https://reviews.freebsd.org/D24794

Modified:
  head/sys/compat/linuxkpi/common/include/linux/bitmap.h

Modified: head/sys/compat/linuxkpi/common/include/linux/bitmap.h
==
--- head/sys/compat/linuxkpi/common/include/linux/bitmap.h  Sun May 10 
10:03:10 2020(r360869)
+++ head/sys/compat/linuxkpi/common/include/linux/bitmap.h  Sun May 10 
13:07:00 2020(r360870)
@@ -30,6 +30,7 @@
 #define_LINUX_BITMAP_H_
 
 #include 
+#include 
 
 static inline void
 bitmap_zero(unsigned long *addr, const unsigned int size)
@@ -307,6 +308,12 @@ bitmap_xor(unsigned long *dst, const unsigned long *sr
 
for (i = 0; i != end; i++)
dst[i] = src1[i] ^ src2[i];
+}
+
+static inline void
+bitmap_free(const unsigned long *bitmap)
+{
+   kfree(bitmap);
 }
 
 #endif /* _LINUX_BITMAP_H_ */
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r360871 - head/sys/compat/linuxkpi/common/include/linux

2020-05-10 Thread Emmanuel Vadot
Author: manu
Date: Sun May 10 13:12:05 2020
New Revision: 360871
URL: https://svnweb.freebsd.org/changeset/base/360871

Log:
  linuxkpi: Really add bitmap_alloc and bitmap_zalloc
  
  This was missing in r360870
  
  Sponsored-by: The FreeBSD Foundation

Modified:
  head/sys/compat/linuxkpi/common/include/linux/bitmap.h

Modified: head/sys/compat/linuxkpi/common/include/linux/bitmap.h
==
--- head/sys/compat/linuxkpi/common/include/linux/bitmap.h  Sun May 10 
13:07:00 2020(r360870)
+++ head/sys/compat/linuxkpi/common/include/linux/bitmap.h  Sun May 10 
13:12:05 2020(r360871)
@@ -310,6 +310,19 @@ bitmap_xor(unsigned long *dst, const unsigned long *sr
dst[i] = src1[i] ^ src2[i];
 }
 
+static inline unsigned long *
+bitmap_alloc(unsigned int size, gfp_t flags)
+{
+   return (kmalloc_array(BITS_TO_LONGS(size),
+   sizeof(unsigned long), flags));
+}
+
+static inline unsigned long *
+bitmap_zalloc(unsigned int size, gfp_t flags)
+{
+   return (bitmap_alloc(size, flags | __GFP_ZERO));
+}
+
 static inline void
 bitmap_free(const unsigned long *bitmap)
 {
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r360872 - head/sys/dev/qlnx/qlnxe

2020-05-10 Thread Emmanuel Vadot
Author: manu
Date: Sun May 10 14:09:30 2020
New Revision: 360872
URL: https://svnweb.freebsd.org/changeset/base/360872

Log:
  qnlx: Do not redifines types.
  
  r360870 added linux/slab.h into liunx/bitmap.h and this include linux/types.h
  The qlnx driver is redefining some of those types so remove them and add an
  explicit linux/types.h include.
  
  Pointy hat: manu
  Reported by:  Austin Shafer 

Modified:
  head/sys/dev/qlnx/qlnxe/bcm_osal.h

Modified: head/sys/dev/qlnx/qlnxe/bcm_osal.h
==
--- head/sys/dev/qlnx/qlnxe/bcm_osal.h  Sun May 10 13:12:05 2020
(r360871)
+++ head/sys/dev/qlnx/qlnxe/bcm_osal.h  Sun May 10 14:09:30 2020
(r360872)
@@ -34,6 +34,8 @@
 #include "ecore_status.h"
 #include 
 
+#include 
+
 #if __FreeBSD_version >= 1200032
 #include 
 #else
@@ -112,11 +114,6 @@ extern void qlnx_vf_flr_update(void *p_hwfn);
 #define s32 uint32_t
 
 #ifndef QLNX_RDMA
-
-typedef uint16_t __le16;
-typedef uint32_t __le32;
-typedef uint16_t __be16;
-typedef uint32_t __be32;
 
 static __inline unsigned long
 roundup_pow_of_two(unsigned long x)
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r360877 - head/tools/pkgbase

2020-05-10 Thread Ed Maste
Author: emaste
Date: Sun May 10 16:11:19 2020
New Revision: 360877
URL: https://svnweb.freebsd.org/changeset/base/360877

Log:
  Add pkgbase METALOG parse/check tool
  
  `metalog.lua` is a script that reads METALOG file created by pkgbase
  (make packages) and generates reports about the installed system
  and issues.
  
  This was developed as part of Yang's W2020 University of Waterloo co-
  operative education term with the FreeBSD Foundation.  kevans provided
  some initial review; we will iterate on it in the tree.
  
  Submitted by: Yang Wang <2...@outlook.jp>
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D24563

Added:
  head/tools/pkgbase/
  head/tools/pkgbase/README.md   (contents, props changed)
  head/tools/pkgbase/metalog_reader.lua   (contents, props changed)

Added: head/tools/pkgbase/README.md
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/tools/pkgbase/README.mdSun May 10 16:11:19 2020
(r360877)
@@ -0,0 +1,61 @@
+`metalog.lua` is a script that reads METALOG file created by pkgbase
+(make packages) and generates reports about the installed system
+and issues
+
+the script accepts an mtree file in a format that's returned by
+`mtree -c | mtree -C`
+
+synopsis:
+```
+metalog_reader.lua [-h] [-a | -c | -p [-count] [-size] [-f...]] [-W...] [-v] 
metalog-path
+```
+
+options:
+
+* `-a` prints all scan results. this is the default option if no option is
+  provided.
+* `-c` lints the file and gives warnings/errors, including duplication and
+  conflicting metadata
+  *  `-Wcheck-notagdir` entries with dir type and no tags will be also included
+ the first time they appear (1)
+* `-p` list all package names found in the file as exactly specified by
+  `tags=package=...`
+  * `-count` display the number of files of the package
+  * `-size` display the size of the package
+  * `-fsetgid` only include packages with setgid files
+  * `-fsetuid` only include packages with setuid files
+  * `-fsetid` only include packages with setgid or setuid files
+* `-v` verbose mode
+* `-h` help page
+
+some examples:
+
+* `metalog_reader.lua -a METALOG`
+  prints all scan results described below. this is the default option
+* `metalog_reader.lua -c METALOG`
+  only prints errors and warnings found in the file
+* `metalog_reader.lua -c -Wcheck-notagdir METALOG`
+  prints errors and warnings found in the file, including directories with no
+  tags
+* `metalog_reader.lua -p METALOG`
+  only prints all the package names found in the file
+* `metalog_reader.lua -p -count -size METALOG`
+  prints all the package names, followed by number of files, followed by total
+  size
+* `metalog_reader.lua -p -size -fsetid METALOG`
+  prints packages that has either setuid/setgid files, followed by the total
+  size
+* `metalog_reader.lua -p -fsetuid -fsetgid METALOG`
+  prints packages that has both setuid and setgid files (if more than one
+  filters are specified, they are composed using logic and)
+* `metalog_reader.lua -p -count -size -fsetuid METALOG`
+  prints packages that has setuid files, followed by number of files and total
+  size
+
+(1) if we have two entries
+```
+./bin type=dir uname=root gname=wheel mode=0755
+./bin type=dir uname=root gname=wheel mode=0755 tags=...
+```
+by default, this is not warned. if the option is enabled, this will be warned
+as the second line sufficiently covers the first line.

Added: head/tools/pkgbase/metalog_reader.lua
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/tools/pkgbase/metalog_reader.lua   Sun May 10 16:11:19 2020
(r360877)
@@ -0,0 +1,521 @@
+#!/usr/libexec/flua
+
+-- SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+--
+-- Copyright(c) 2020 The FreeBSD Foundation.
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions
+-- are met:
+-- 1. Redistributions of source code must retain the above copyright
+--notice, this list of conditions and the following disclaimer.
+-- 2. Redistributions in binary form must reproduce the above copyright
+--notice, this list of conditions and the following disclaimer in the
+--documentation and/or other materials provided with the distribution.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+-- ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; O

svn commit: r360878 - head/sys/netinet

2020-05-10 Thread Michael Tuexen
Author: tuexen
Date: Sun May 10 17:19:19 2020
New Revision: 360878
URL: https://svnweb.freebsd.org/changeset/base/360878

Log:
  Ensure that we have a path when starting the T3 RXT timer.
  
  Reported by:  syzbot+f2321629047f89486...@syzkaller.appspotmail.com
  MFC after:3 days

Modified:
  head/sys/netinet/sctp_asconf.c
  head/sys/netinet/sctp_indata.c
  head/sys/netinet/sctp_input.c
  head/sys/netinet/sctp_timer.c
  head/sys/netinet/sctputil.c

Modified: head/sys/netinet/sctp_asconf.c
==
--- head/sys/netinet/sctp_asconf.c  Sun May 10 16:11:19 2020
(r360877)
+++ head/sys/netinet/sctp_asconf.c  Sun May 10 17:19:19 2020
(r360878)
@@ -1032,9 +1032,14 @@ sctp_assoc_immediate_retrans(struct sctp_tcb *stcb, st
(stcb->asoc.sent_queue_cnt > 0)) {
struct sctp_tmit_chunk *chk;
 
-   chk = TAILQ_FIRST(&stcb->asoc.sent_queue);
-   sctp_timer_start(SCTP_TIMER_TYPE_SEND, stcb->sctp_ep,
-   stcb, chk->whoTo);
+   TAILQ_FOREACH(chk, &stcb->asoc.sent_queue, sctp_next) {
+   if (chk->whoTo != NULL) {
+   break;
+   }
+   }
+   if (chk != NULL) {
+   sctp_timer_start(SCTP_TIMER_TYPE_SEND, 
stcb->sctp_ep, stcb, chk->whoTo);
+   }
}
}
return;

Modified: head/sys/netinet/sctp_indata.c
==
--- head/sys/netinet/sctp_indata.c  Sun May 10 16:11:19 2020
(r360877)
+++ head/sys/netinet/sctp_indata.c  Sun May 10 17:19:19 2020
(r360878)
@@ -4439,7 +4439,12 @@ again:
}
}
}
-   if (lchk) {
+   for (; lchk != NULL; lchk = TAILQ_NEXT(lchk, sctp_next)) {
+   if (lchk->whoTo != NULL) {
+   break;
+   }
+   }
+   if (lchk != NULL) {
/* Assure a timer is up */
sctp_timer_start(SCTP_TIMER_TYPE_SEND,
stcb->sctp_ep, stcb, lchk->whoTo);
@@ -5279,7 +5284,12 @@ again:
}
}
}
-   if (lchk) {
+   for (; lchk != NULL; lchk = TAILQ_NEXT(lchk, sctp_next)) {
+   if (lchk->whoTo != NULL) {
+   break;
+   }
+   }
+   if (lchk != NULL) {
/* Assure a timer is up */
sctp_timer_start(SCTP_TIMER_TYPE_SEND,
stcb->sctp_ep, stcb, lchk->whoTo);

Modified: head/sys/netinet/sctp_input.c
==
--- head/sys/netinet/sctp_input.c   Sun May 10 16:11:19 2020
(r360877)
+++ head/sys/netinet/sctp_input.c   Sun May 10 17:19:19 2020
(r360878)
@@ -2956,6 +2956,7 @@ sctp_handle_cookie_ack(struct sctp_cookie_ack_chunk *c
 {
/* cp must not be used, others call this without a c-ack :-) */
struct sctp_association *asoc;
+   struct sctp_tmit_chunk *chk;
 
SCTPDBG(SCTP_DEBUG_INPUT2,
"sctp_handle_cookie_ack: handling COOKIE-ACK\n");
@@ -3059,11 +3060,13 @@ sctp_handle_cookie_ack(struct sctp_cookie_ack_chunk *c
 closed_socket:
/* Toss the cookie if I can */
sctp_toss_old_cookies(stcb, asoc);
-   if (!TAILQ_EMPTY(&asoc->sent_queue)) {
-   /* Restart the timer if we have pending data */
-   struct sctp_tmit_chunk *chk;
-
-   chk = TAILQ_FIRST(&asoc->sent_queue);
+   /* Restart the timer if we have pending data */
+   TAILQ_FOREACH(chk, &asoc->sent_queue, sctp_next) {
+   if (chk->whoTo != NULL) {
+   break;
+   }
+   }
+   if (chk != NULL) {
sctp_timer_start(SCTP_TIMER_TYPE_SEND, stcb->sctp_ep, stcb, 
chk->whoTo);
}
 }
@@ -5159,6 +5162,7 @@ process_control_chunks:
} else {
struct mbuf *ret_buf;
struct sctp_inpcb *linp;
+   struct sctp_tmit_chunk *chk;
 
if (stcb) {
linp = NULL;
@@ -5220,14 +5224,13 @@ process_control_chunks:
got_auth = 1;
auth_skipped = 0;
}
-   if (!TAILQ_EMPTY(&stcb->asoc.sent_queue)) {
-   /*

svn commit: r360879 - head/sys/netinet

2020-05-10 Thread Michael Tuexen
Author: tuexen
Date: Sun May 10 17:43:42 2020
New Revision: 360879
URL: https://svnweb.freebsd.org/changeset/base/360879

Log:
  Remove trailing whitespace.

Modified:
  head/sys/netinet/tcp_usrreq.c

Modified: head/sys/netinet/tcp_usrreq.c
==
--- head/sys/netinet/tcp_usrreq.c   Sun May 10 17:19:19 2020
(r360878)
+++ head/sys/netinet/tcp_usrreq.c   Sun May 10 17:43:42 2020
(r360879)
@@ -1373,7 +1373,7 @@ tcp_usr_close(struct socket *so)
NET_EPOCH_EXIT(et);
 }
 
-static int 
+static int
 tcp_pru_options_support(struct tcpcb *tp, int flags)
 {
/*
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r360881 - in head/sys/powerpc: aim booke include powerpc

2020-05-10 Thread Justin Hibbits
Author: jhibbits
Date: Sun May 10 19:00:57 2020
New Revision: 360881
URL: https://svnweb.freebsd.org/changeset/base/360881

Log:
  powerpc: Add a CPU-custom machine check handler
  
  Summary:
  Some machine checks are process-recoverable, others are not.  Let a
  CPU-specific handler decide what to do.
  
  This works around a machine check error hit while building www/firefox
  and mail/thunderbird, which would otherwise cause the build to fail.
  
  More work is needed to handle all possible machine check conditions, but
  this is sufficient to unblock some ports building.
  
  Differential Revision: https://reviews.freebsd.org/D23731

Modified:
  head/sys/powerpc/aim/aim_machdep.c
  head/sys/powerpc/aim/trap_subr64.S
  head/sys/powerpc/booke/machdep_e500.c
  head/sys/powerpc/include/cpu.h
  head/sys/powerpc/include/spr.h
  head/sys/powerpc/powerpc/trap.c

Modified: head/sys/powerpc/aim/aim_machdep.c
==
--- head/sys/powerpc/aim/aim_machdep.c  Sun May 10 18:17:25 2020
(r360880)
+++ head/sys/powerpc/aim/aim_machdep.c  Sun May 10 19:00:57 2020
(r360881)
@@ -515,6 +515,32 @@ memcpy(pcpu->pc_aim.slb, PCPU_GET(aim.slb), sizeof(pcp
 #endif
 }
 
+/* Return 0 on handled success, otherwise signal number. */
+int
+cpu_machine_check(struct thread *td, struct trapframe *frame, int *ucode)
+{
+#ifdef __powerpc64__
+   /*
+* This block is 64-bit CPU specific currently.  Punt running in 32-bit
+* mode on 64-bit CPUs.
+*/
+   /* Check if the important information is in DSISR */
+   if ((frame->srr1 & SRR1_MCHK_DATA) != 0) {
+   printf("Machine check, DSISR: %016lx\n", frame->cpu.aim.dsisr);
+   /* SLB multi-hit is recoverable. */
+   if ((frame->cpu.aim.dsisr & DSISR_MC_SLB_MULTIHIT) != 0)
+   return (0);
+   /* TODO: Add other machine check recovery procedures. */
+   } else {
+   if ((frame->srr1 & SRR1_MCHK_IFETCH_M) == 
SRR1_MCHK_IFETCH_SLBMH)
+   return (0);
+   }
+#endif
+   *ucode = BUS_OBJERR;
+   return (SIGBUS);
+}
+
+
 #ifndef __powerpc64__
 uint64_t
 va_to_vsid(pmap_t pm, vm_offset_t va)

Modified: head/sys/powerpc/aim/trap_subr64.S
==
--- head/sys/powerpc/aim/trap_subr64.S  Sun May 10 18:17:25 2020
(r360880)
+++ head/sys/powerpc/aim/trap_subr64.S  Sun May 10 19:00:57 2020
(r360881)
@@ -797,6 +797,8 @@ generictrap:
std %r31,(PC_TEMPSAVE+CPUSAVE_R31)(%r1)
mfdar   %r30
std %r30,(PC_TEMPSAVE+CPUSAVE_AIM_DAR)(%r1)
+   mfdsisr %r30
+   std %r30,(PC_TEMPSAVE+CPUSAVE_AIM_DSISR)(%r1)
mfsprg1 %r1 /* restore SP, in case of branch */
mfsprg2 %r28/* save LR */
mfcr%r29/* save CR */

Modified: head/sys/powerpc/booke/machdep_e500.c
==
--- head/sys/powerpc/booke/machdep_e500.c   Sun May 10 18:17:25 2020
(r360880)
+++ head/sys/powerpc/booke/machdep_e500.c   Sun May 10 19:00:57 2020
(r360881)
@@ -119,3 +119,15 @@ void
 booke_disable_l2_cache(void)
 {
 }
+
+/* Return 0 on handled success, otherwise signal number. */
+int
+cpu_machine_check(struct thread *td, struct trapframe *frame, int *ucode)
+{
+   register_t mcsr;
+
+   mcsr = mfspr(SPR_MCSR);
+
+   *ucode = BUS_OBJERR;
+   return (SIGBUS);
+}

Modified: head/sys/powerpc/include/cpu.h
==
--- head/sys/powerpc/include/cpu.h  Sun May 10 18:17:25 2020
(r360880)
+++ head/sys/powerpc/include/cpu.h  Sun May 10 19:00:57 2020
(r360881)
@@ -134,6 +134,8 @@ get_cyclecount(void)
 extern char btext[];
 extern char etext[];
 
+struct thread;
+
 #ifdef __powerpc64__
 extern void enter_idle_powerx(void);
 extern uint64_t can_wakeup;
@@ -146,5 +148,6 @@ voidcpu_sleep(void);
 void   flush_disable_caches(void);
 void   fork_trampoline(void);
 void   swi_vm(void *);
+intcpu_machine_check(struct thread *, struct trapframe *, int *);
 
 #endif /* _MACHINE_CPU_H_ */

Modified: head/sys/powerpc/include/spr.h
==
--- head/sys/powerpc/include/spr.h  Sun May 10 18:17:25 2020
(r360880)
+++ head/sys/powerpc/include/spr.h  Sun May 10 19:00:57 2020
(r360881)
@@ -108,6 +108,15 @@
 #define  DSISR_DABR  0x0040 /* DABR match */
 #define  DSISR_SEGMENT   0x0020 /* XXX; not in 6xx PEM */
 #define  DSISR_EAR   0x0010 /* eciwx/ecowx && EAR[E] 
== 0 */
+#define  DSISR_MC_UE_DEFERRED0x8000 /* UE deferred error */
+#define  DSISR_MC_UE_TABLEWA

svn commit: r360882 - head

2020-05-10 Thread Kyle Evans
Author: kevans
Date: Sun May 10 20:28:38 2020
New Revision: 360882
URL: https://svnweb.freebsd.org/changeset/base/360882

Log:
  buildworld: add back in missing semicolon
  
  if foo; then blah else blah; fi has a drastically different meaning than
  if foo; then blah; else blah; fi. Fix it.
  
  Reported by:  0mp
  X-MFC-With:   r360833

Modified:
  head/Makefile.inc1

Modified: head/Makefile.inc1
==
--- head/Makefile.inc1  Sun May 10 19:00:57 2020(r360881)
+++ head/Makefile.inc1  Sun May 10 20:28:38 2020(r360882)
@@ -1409,7 +1409,7 @@ distributeworld installworld stageworld: _installcheck
# basis, otherwise we'll just mention that we're not doing it to raise
# awareness.
@if which certctl>/dev/null; then \
-   certctl rehash \
+   certctl rehash; \
else \
echo "No certctl on the host, not rehashing target -- /etc/ssl 
may not be populated."; \
fi
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r360885 - head/sys/netinet

2020-05-10 Thread Michael Tuexen
Author: tuexen
Date: Sun May 10 22:54:30 2020
New Revision: 360885
URL: https://svnweb.freebsd.org/changeset/base/360885

Log:
  Ensure that the SCTP iterator runs with an stcb and inp, which belong to
  each other.
  
  Reported by:  syzbot+82d39d14f2f765e38...@syzkaller.appspotmail.com
  MFC after:3 days

Modified:
  head/sys/netinet/sctputil.c

Modified: head/sys/netinet/sctputil.c
==
--- head/sys/netinet/sctputil.c Sun May 10 21:37:39 2020(r360884)
+++ head/sys/netinet/sctputil.c Sun May 10 22:54:30 2020(r360885)
@@ -1489,6 +1489,7 @@ select_a_new_ep:
}
tinp = it->inp;
it->inp = LIST_NEXT(it->inp, sctp_list);
+   it->stcb = NULL;
SCTP_INP_RUNLOCK(tinp);
if (it->inp == NULL) {
goto done_with_iterator;
@@ -1558,6 +1559,9 @@ select_a_new_ep:
atomic_add_int(&it->stcb->asoc.refcnt, -1);
iteration_count = 0;
}
+   KASSERT(it->inp == it->stcb->sctp_ep,
+   ("%s: stcb %p does not belong to inp %p, but inp %p",
+__func__, it->stcb, it->inp, it->stcb->sctp_ep));
 
/* run function on this one */
(*it->function_assoc) (it->inp, it->stcb, it->pointer, it->val);
@@ -1590,6 +1594,7 @@ no_stcb:
} else {
it->inp = LIST_NEXT(it->inp, sctp_list);
}
+   it->stcb = NULL;
if (it->inp == NULL) {
goto done_with_iterator;
}
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r360887 - in head/sys: conf powerpc/aim powerpc/booke powerpc/include powerpc/powerpc vm

2020-05-10 Thread Justin Hibbits
Author: jhibbits
Date: Mon May 11 02:33:37 2020
New Revision: 360887
URL: https://svnweb.freebsd.org/changeset/base/360887

Log:
  powerpc64: Implement Radix MMU for POWER9 CPUs
  
  Summary:
  POWER9 supports two MMU formats: traditional hashed page tables, and Radix
  page tables, similar to what's presesnt on most other architectures.  The
  PowerISA also specifies a process table -- a table of page table pointers--
  which on the POWER9 is only available with the Radix MMU, so we can take
  advantage of it with the Radix MMU driver.
  
  Written by Matt Macy.
  
  Differential Revision: https://reviews.freebsd.org/D19516

Added:
  head/sys/powerpc/aim/mmu_radix.c   (contents, props changed)
Modified:
  head/sys/conf/files.powerpc
  head/sys/powerpc/aim/aim_machdep.c
  head/sys/powerpc/aim/mmu_oea.c
  head/sys/powerpc/aim/mmu_oea64.c
  head/sys/powerpc/booke/pmap.c
  head/sys/powerpc/include/cpufunc.h
  head/sys/powerpc/include/mmuvar.h
  head/sys/powerpc/include/param.h
  head/sys/powerpc/include/pmap.h
  head/sys/powerpc/include/proc.h
  head/sys/powerpc/include/pte.h
  head/sys/powerpc/include/spr.h
  head/sys/powerpc/include/sr.h
  head/sys/powerpc/include/vmparam.h
  head/sys/powerpc/powerpc/machdep.c
  head/sys/powerpc/powerpc/mmu_if.m
  head/sys/powerpc/powerpc/pmap_dispatch.c
  head/sys/powerpc/powerpc/trap.c
  head/sys/vm/vm_fault.c

Modified: head/sys/conf/files.powerpc
==
--- head/sys/conf/files.powerpc Mon May 11 01:20:40 2020(r360886)
+++ head/sys/conf/files.powerpc Mon May 11 02:33:37 2020(r360887)
@@ -135,6 +135,7 @@ powerpc/aim/locore.Soptionalaim 
no-obj
 powerpc/aim/aim_machdep.c  optionalaim
 powerpc/aim/mmu_oea.c  optionalaim powerpc
 powerpc/aim/mmu_oea64.coptionalaim
+powerpc/aim/mmu_radix.coptionalaim powerpc64
 powerpc/aim/moea64_if.moptionalaim
 powerpc/aim/moea64_native.coptionalaim
 powerpc/aim/mp_cpudep.coptionalaim

Modified: head/sys/powerpc/aim/aim_machdep.c
==
--- head/sys/powerpc/aim/aim_machdep.c  Mon May 11 01:20:40 2020
(r360886)
+++ head/sys/powerpc/aim/aim_machdep.c  Mon May 11 02:33:37 2020
(r360887)
@@ -136,6 +136,8 @@ __FBSDID("$FreeBSD$");
 struct bat battable[16];
 #endif
 
+int radix_mmu = 0;
+
 #ifndef __powerpc64__
 /* Bits for running on 64-bit systems in 32-bit mode. */
 extern void*testppc64, *testppc64size;
@@ -451,7 +453,14 @@ aim_cpu_init(vm_offset_t toc)
 * in case the platform module had a better idea of what we
 * should do.
 */
-   if (cpu_features & PPC_FEATURE_64)
+   if (cpu_features2 & PPC_FEATURE2_ARCH_3_00) {
+   radix_mmu = 0;
+   TUNABLE_INT_FETCH("radix_mmu", &radix_mmu);
+   if (radix_mmu)
+   pmap_mmu_install(MMU_TYPE_RADIX, BUS_PROBE_GENERIC);
+   else
+   pmap_mmu_install(MMU_TYPE_G5, BUS_PROBE_GENERIC);
+   } else if (cpu_features & PPC_FEATURE_64)
pmap_mmu_install(MMU_TYPE_G5, BUS_PROBE_GENERIC);
else
pmap_mmu_install(MMU_TYPE_OEA, BUS_PROBE_GENERIC);

Modified: head/sys/powerpc/aim/mmu_oea.c
==
--- head/sys/powerpc/aim/mmu_oea.c  Mon May 11 01:20:40 2020
(r360886)
+++ head/sys/powerpc/aim/mmu_oea.c  Mon May 11 02:33:37 2020
(r360887)
@@ -322,6 +322,7 @@ void moea_dumpsys_map(mmu_t mmu, vm_paddr_t pa, size_t
 void moea_scan_init(mmu_t mmu);
 vm_offset_t moea_quick_enter_page(mmu_t mmu, vm_page_t m);
 void moea_quick_remove_page(mmu_t mmu, vm_offset_t addr);
+boolean_t moea_page_is_mapped(mmu_t mmu, vm_page_t m);
 static int moea_map_user_ptr(mmu_t mmu, pmap_t pm,
 volatile const void *uaddr, void **kaddr, size_t ulen, size_t *klen);
 static int moea_decode_kernel_ptr(mmu_t mmu, vm_offset_t addr,
@@ -364,6 +365,7 @@ static mmu_method_t moea_methods[] = {
MMUMETHOD(mmu_page_set_memattr, moea_page_set_memattr),
MMUMETHOD(mmu_quick_enter_page, moea_quick_enter_page),
MMUMETHOD(mmu_quick_remove_page, moea_quick_remove_page),
+   MMUMETHOD(mmu_page_is_mapped,   moea_page_is_mapped),
 
/* Internal interfaces */
MMUMETHOD(mmu_bootstrap,moea_bootstrap),
@@ -1102,6 +1104,12 @@ moea_quick_enter_page(mmu_t mmu, vm_page_t m)
 void
 moea_quick_remove_page(mmu_t mmu, vm_offset_t addr)
 {
+}
+
+boolean_t
+moea_page_is_mapped(mmu_t mmu, vm_page_t m)
+{
+   return (!LIST_EMPTY(&(m)->md.mdpg_pvoh));
 }
 
 /*

Modified: head/sys/powerpc/aim/mmu_oea64.c
==
--- head/sys/powerpc/aim/mmu_oea64.cMon May 11 01:20:40 2

Re: svn commit: r360233 - in head: contrib/jemalloc . . . : This partially breaks a 2-socket 32-bit powerpc (old PowerMac G4) based on head -r360311

2020-05-10 Thread Mark Millard via svn-src-head
[A new kind of experiment and partial results.]

Given the zero'ed memory page(s) that for some of
the example contexts include a page that should not
be changing after initialization in my context
(jemalloc global variables), I have attempted the
following for such examples:

A) Run gdb
B) Attach to one of the live example processes.
C) Check that the page is not zeroed yet.
   (print/x __je_sz_size2index_tab)
D) protect the page containing the start
   of __je_sz_size2index_tab, using 0x1
   as the PROT_READ mask.
   (print (int)mprotect(ADDRESS,1,0x1))
E) detach.

The hope was to discover which of the following
was involved:

A) user-space code trying to write the page should
   get a SIGSEGV. In this case I'd likely be able
   to see what code was attempting the write.

B) kernel-code doing something odd to the content
   or mapping of memory would not (or need not)
   lead to SIGSEGV. In this case I'd be unlikely
   to see what code lead to the zeros on the page.

So far I've gotten only one failure example, nfsd
during its handling of a SIGUSR1. Previous nfs
mounts and dismounts worked fine, not asserting,
indicating that at the time the page was not
zeroed.

I got no evidence of SIGSEGV from an attempted user
space write to the page. But the nfsd.core shows the
page as zeroed and the assert having caused abort().
That suggests the kernel side of things for what
leads to the zeros.

It turns out that just before the "unregsiteration()"
activity is "killchildren()" activity:

(gdb) list
971 
972 static void
973 nfsd_exit(int status)
974 {
975 killchildren();
976 unregistration();
977 exit(status);
978 }

(frame #12) used via:

(gdb) list cleanup
954 /*
955  * Cleanup master after SIGUSR1.
956  */
957 static void
958 cleanup(__unused int signo)
959 {
960 nfsd_exit(0);
961 }
. . .

and (for master):

(void)signal(SIGUSR1, cleanup);

This suggests the possibility that the zero'd
pages could be associated with killing the
child processes. (I've had a past aarch64
context where forking had problems with
pages that were initially common to parent
and child processes. In that context having
the processes swap out [not just mostly
paged out] and then swap back in was
involved in showing the problem. The issue
was fixed and was aarch64 specific. But it
leaves me willing to consider fork-related
memory management as possibly odd in some
way for 32-bit powerpc.)


Notes . . .

Another possible kind of evidence: I've gone far
longer with the machine doing just normal background
processing with nothing failing on its own. This
suggests that the (int)mprotect(ADDRESS,1,0x1) might
be changing the context --or just doing the attach
and detach in gdb does. I've nothing solid in this
area so I'll ignore it, other than this note.



===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r360888 - head/sys/contrib/dev/ath/ath_hal/ar9300

2020-05-10 Thread Adrian Chadd
Author: adrian
Date: Mon May 11 05:53:12 2020
New Revision: 360888
URL: https://svnweb.freebsd.org/changeset/base/360888

Log:
  [ar9300] Disable unconditionally reducing transmit power in the case of FCC.
  
  Ok, yeah, the commit title is a bit misleading.
  
  This has to do with CDD (cyclic delay diversity) - how this and later
  wifi hardware transmits lower rates over more antennas.  Eg, if you're
  transmitting legacy 11abg rates on 2 or 3 antennas, you COULD just
  send them all at the same time or you could delay each by tens/hundreds
  of nanoseconds to try and get some better diversity characteristics.
  
  However, this has a fun side effect - the antenna pattern is no longer
  a bunch of interacting dipoles, but are a bunch of interacting dipoles
  plus a bunch of changing phases.  And it's frequency dependent - 50-200nS
  is not exactly the same fraction of a wavelength across all of 2GHz or 5GHz!
  
  Thus the power spectral density and maximum directional gain that you're
  effectively getting is not .. well, as flat as it once was.
  
  For more information, look up FCC/OET 13TR1003 in the FCC technical report
  database.  It has pretty graphics and everything.
  
  Anyway, the problem lies thusly - the CDD code just subtracts another 3dB
  or 5dB for the lower rates based on transmit antenna configuration.
  However, it's not done based on operating configuration and it doesn't
  take into account how far from any regulatory limits the hardware is at.
  It also doesn't let us do things like transmit legacy rates and frames
  on a single antenna without losing up to 5dB when we absolutely don't
  need to in that case (there's no CDD used when one antenna is used!)
  
  This shows up as the hardware behaving even worse for longer distance links
  at 20MHz because, well, those are the exact rates losing a bunch more
  transmit power.
  
  * For lower power NICs (ie the majority of what is out there!) it's highly
unlikely we're going to hit anywhere near the PSD limits.
  * It's doing it based on the existing limits from the CTL table (conformance
testing limits) - this isn't the regulatory max!  It's what the NIC is
allowed to put out in each frequency and rate configuration!  So things like
band edges, power amplifier behaviour and maximum current draw apply here.
Blindly subtracting 3 to 5dB from /this/ value is /very/ conservative..
  * /and/ ath9k just plainly doesn't do any of this at all.
  
  So, for now disable it and get the TX power back, thus matching what ath9k
  in Linux is doing.  If/once I get some more cycles I'll look at making it
  a bit more adaptive and really only kick in if we're a few dB away from
  hard regulatory limits.
  
  Tested:
  
  * AR9344 (2GHz + SoC, 2x2 configuration) - AP and STA modes
  * QCA9580 (5GHz 2x2 and 3x3 configurations) - AP and STA modes

Modified:
  head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c
  head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_phy.c

Modified: head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c
==
--- head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c Mon May 11 
02:33:37 2020(r360887)
+++ head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c Mon May 11 
05:53:12 2020(r360888)
@@ -3040,6 +3040,33 @@ ar9300_eeprom_set_transmit_power(struct ath_hal *ah,
 ahp->reg_dmn = ath_hal_getctl(ah, chan);
 
 /*
+ * After reading FCC/OET 13TR1003 (Directional Gain of IEEE 802.11
+ * MIMO devices employing cyclic delay diversity) and looking at what
+ * ath9k does, let's disable the CDD check until it's clearer exactly
+ * how the maximum cap should be applied here.
+ *
+ * Right now the CDD check is simply unconditionally reducing the
+ * gain of legacy and 1/2 stream rates depending upon the chainmask.
+ * (CDD is used when transmitting rates that don't already use up the
+ * full set of streams - eg OFDM or MCS0-7 on a 2 or 3 chain TX path.)
+ *
+ * It's dropping the 2-chain TX by 3dB and 3-chain by 5dB to "meet"
+ * power spectral density requirements but it's not currently taking
+ * into account how close to the regulatory limit the hardware/antenna
+ * system is already at.  It doesn't help that the conductive testing
+ * limits have the array gain at 0dB for all AR9300/derivative
+ * configurations.
+ *
+ * It also doesn't let us do single chain transmit at the full allowed
+ * power for the regulatory/CTL limits as it subtracts it from what's
+ * programmed into the hardware.
+ *
+ * ath9k doesn't factor any of the CDD stuff into account, so I'm going
+ * to disable it here and in the TPC path until I get a better idea
+ * of what to really do here.
+ */
+#if 0
+/*
  * Always use CDD/direct per rate power table for register based approach.
  * For FCC, CDD calculations should 

svn commit: r360889 - in head/sys/net: . route

2020-05-10 Thread Alexander V. Chernikov
Author: melifaro
Date: Mon May 11 06:09:18 2020
New Revision: 360889
URL: https://svnweb.freebsd.org/changeset/base/360889

Log:
  Remove unused rnh_close callback from rtable & cleanup depends.
  
  rnh_close callbackes was used by the in[6]_clsroute() handlers,
   doing cleanup in the route cloning code. Route cloning was eliminated
   somewhere around r186119. Last callback user was eliminated in r186215,
   11 years ago.
  
  Differential Revision:https://reviews.freebsd.org/D24793

Modified:
  head/sys/net/route.c
  head/sys/net/route/route_var.h

Modified: head/sys/net/route.c
==
--- head/sys/net/route.cMon May 11 05:53:12 2020(r360888)
+++ head/sys/net/route.cMon May 11 06:09:18 2020(r360889)
@@ -426,11 +426,8 @@ sys_setfib(struct thread *td, struct setfib_args *uap)
 void
 rtfree(struct rtentry *rt)
 {
-   struct rib_head *rnh;
 
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__));
 
RT_LOCK_ASSERT(rt);
 
@@ -445,18 +442,6 @@ rtfree(struct rtentry *rt)
}
 
/*
-* On last reference give the "close method" a chance
-* to cleanup private state.  This also permits (for
-* IPv4 and IPv6) a chance to decide if the routing table
-* entry should be purged immediately or at a later time.
-* When an immediate purge is to happen the close routine
-* 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->head);
-
-   /*
 * If we are no longer "up" (and ref == 0)
 * then we can free the resources associated
 * with the route.
@@ -1501,7 +1486,6 @@ add_route(struct rib_head *rnh, struct rt_addrinfo *in
return (ENOBUFS);
}
rt->rt_flags = RTF_UP | flags;
-   rt->rt_fibnum = rnh->rib_fibnum;
rt->rt_nhop = nh;
 
/* Fill in dst */

Modified: head/sys/net/route/route_var.h
==
--- head/sys/net/route/route_var.h  Mon May 11 05:53:12 2020
(r360888)
+++ head/sys/net/route/route_var.h  Mon May 11 06:09:18 2020
(r360889)
@@ -50,7 +50,6 @@ struct rib_head {
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*/
rnh_preadd_entry_f_t*rnh_preadd;/* hook to alter record prior 
to insertion */
rt_gen_trnh_gen;/* generation counter */
int rnh_multipath;  /* multipath capable ? */
@@ -144,7 +143,6 @@ struct rtentry {
 
int rt_flags;   /* up/down?, host/net */
int rt_refcnt;  /* # held references */
-   u_int   rt_fibnum;  /* which FIB */
u_long  rt_weight;  /* absolute weight */ 
u_long  rt_expire;  /* lifetime for route, e.g. redirect */
 #definert_endzero  rt_mtx
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"