svn commit: r362569 - in head: libexec/ftpd usr.bin/localedef usr.sbin/rrenumd

2020-06-23 Thread Jung-uk Kim
Author: jkim
Date: Wed Jun 24 02:08:08 2020
New Revision: 362569
URL: https://svnweb.freebsd.org/changeset/base/362569

Log:
  Fix build with recent byacc.

Modified:
  head/libexec/ftpd/ftpcmd.y
  head/usr.bin/localedef/localedef.c
  head/usr.bin/localedef/localedef.h
  head/usr.sbin/rrenumd/parser.y

Modified: head/libexec/ftpd/ftpcmd.y
==
--- head/libexec/ftpd/ftpcmd.y  Wed Jun 24 01:51:05 2020(r362568)
+++ head/libexec/ftpd/ftpcmd.y  Wed Jun 24 02:08:08 2020(r362569)
@@ -74,6 +74,8 @@ __FBSDID("$FreeBSD$");
 #include "extern.h"
 #include "pathnames.h"
 
+#defineyylex   ftpcmd_yylex
+
 off_t  restart_point;
 
 static int cmd_type;

Modified: head/usr.bin/localedef/localedef.c
==
--- head/usr.bin/localedef/localedef.c  Wed Jun 24 01:51:05 2020
(r362568)
+++ head/usr.bin/localedef/localedef.c  Wed Jun 24 02:08:08 2020
(r362569)
@@ -273,7 +273,9 @@ main(int argc, char **argv)
init_numeric();
init_time();
 
+#if YYDEBUG
yydebug = 0;
+#endif
 
(void) setlocale(LC_ALL, "");
 

Modified: head/usr.bin/localedef/localedef.h
==
--- head/usr.bin/localedef/localedef.h  Wed Jun 24 01:51:05 2020
(r362568)
+++ head/usr.bin/localedef/localedef.h  Wed Jun 24 02:08:08 2020
(r362569)
@@ -47,7 +47,9 @@ extern int mb_cur_max;
 extern int mb_cur_min;
 extern int last_kw;
 extern int verbose;
+#if YYDEBUG
 extern int yydebug;
+#endif
 extern int lineno;
 extern int undefok;/* mostly ignore undefined symbols */
 extern int warnok;

Modified: head/usr.sbin/rrenumd/parser.y
==
--- head/usr.sbin/rrenumd/parser.y  Wed Jun 24 01:51:05 2020
(r362568)
+++ head/usr.sbin/rrenumd/parser.y  Wed Jun 24 02:08:08 2020
(r362569)
@@ -141,7 +141,7 @@ statement:
 debug_statement:
DEBUG_CMD flag EOS
{
-#ifdef YYDEBUG
+#if YYDEBUG
yydebug = $2;
 #endif /* YYDEBUG */
}
___
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: r362568 - in head: contrib/ntp contrib/ntp/html/drivers contrib/ntp/include contrib/ntp/lib/isc/win32/include/isc contrib/ntp/libntp contrib/ntp/ntpd contrib/ntp/ntpdate contrib/ntp/ntp...

2020-06-23 Thread Cy Schubert
Author: cy
Date: Wed Jun 24 01:51:05 2020
New Revision: 362568
URL: https://svnweb.freebsd.org/changeset/base/362568

Log:
  MFV r362565:
  
  Update 4.2.8p14 --> 4.2.8p15
  
  Summary: Systems that use a CMAC algorithm in ntp.keys will not release
  a bit of memory on each packet that uses a CMAC keyid, eventually causing
  ntpd to run out of memory and fail. The CMAC cleanup from
  https://bugs.ntp.org/3447, part of ntp-4.2.8p11, introduced a bug whereby
  the CMAC data structure was no longer completely removed.
  
  MFC after:3 days
  Security: NTP Bug 3661

Modified:
  head/contrib/ntp/ChangeLog
  head/contrib/ntp/CommitLog
  head/contrib/ntp/NEWS
  head/contrib/ntp/config.h.in
  head/contrib/ntp/configure
  head/contrib/ntp/configure.ac
  head/contrib/ntp/html/drivers/driver40-ja.html
  head/contrib/ntp/html/drivers/driver40.html
  head/contrib/ntp/include/l_stdlib.h
  head/contrib/ntp/include/ntp.h
  head/contrib/ntp/include/ntp_config.h
  head/contrib/ntp/include/recvbuff.h
  head/contrib/ntp/lib/isc/win32/include/isc/int.h
  head/contrib/ntp/libntp/a_md5encrypt.c
  head/contrib/ntp/libntp/decodenetnum.c
  head/contrib/ntp/libntp/recvbuff.c
  head/contrib/ntp/libntp/strdup.c
  head/contrib/ntp/libntp/timexsup.c
  head/contrib/ntp/ntpd/invoke-ntp.conf.texi
  head/contrib/ntp/ntpd/invoke-ntp.keys.texi
  head/contrib/ntp/ntpd/invoke-ntpd.texi
  head/contrib/ntp/ntpd/ntp.conf.5man
  head/contrib/ntp/ntpd/ntp.conf.5mdoc
  head/contrib/ntp/ntpd/ntp.conf.html
  head/contrib/ntp/ntpd/ntp.conf.man.in
  head/contrib/ntp/ntpd/ntp.conf.mdoc.in
  head/contrib/ntp/ntpd/ntp.keys.5man
  head/contrib/ntp/ntpd/ntp.keys.5mdoc
  head/contrib/ntp/ntpd/ntp.keys.html
  head/contrib/ntp/ntpd/ntp.keys.man.in
  head/contrib/ntp/ntpd/ntp.keys.mdoc.in
  head/contrib/ntp/ntpd/ntp_config.c
  head/contrib/ntp/ntpd/ntp_io.c
  head/contrib/ntp/ntpd/ntp_proto.c
  head/contrib/ntp/ntpd/ntp_refclock.c
  head/contrib/ntp/ntpd/ntp_request.c
  head/contrib/ntp/ntpd/ntp_timer.c
  head/contrib/ntp/ntpd/ntpd-opts.c
  head/contrib/ntp/ntpd/ntpd-opts.h
  head/contrib/ntp/ntpd/ntpd.1ntpdman
  head/contrib/ntp/ntpd/ntpd.1ntpdmdoc
  head/contrib/ntp/ntpd/ntpd.html
  head/contrib/ntp/ntpd/ntpd.man.in
  head/contrib/ntp/ntpd/ntpd.mdoc.in
  head/contrib/ntp/ntpd/refclock_jjy.c
  head/contrib/ntp/ntpd/refclock_nmea.c
  head/contrib/ntp/ntpd/refclock_palisade.c
  head/contrib/ntp/ntpd/refclock_parse.c
  head/contrib/ntp/ntpdate/ntpdate.c
  head/contrib/ntp/ntpdc/invoke-ntpdc.texi
  head/contrib/ntp/ntpdc/ntpdc-opts.c
  head/contrib/ntp/ntpdc/ntpdc-opts.h
  head/contrib/ntp/ntpdc/ntpdc.1ntpdcman
  head/contrib/ntp/ntpdc/ntpdc.1ntpdcmdoc
  head/contrib/ntp/ntpdc/ntpdc.html
  head/contrib/ntp/ntpdc/ntpdc.man.in
  head/contrib/ntp/ntpdc/ntpdc.mdoc.in
  head/contrib/ntp/ntpq/invoke-ntpq.texi
  head/contrib/ntp/ntpq/ntpq-opts.c
  head/contrib/ntp/ntpq/ntpq-opts.h
  head/contrib/ntp/ntpq/ntpq.1ntpqman
  head/contrib/ntp/ntpq/ntpq.1ntpqmdoc
  head/contrib/ntp/ntpq/ntpq.html
  head/contrib/ntp/ntpq/ntpq.man.in
  head/contrib/ntp/ntpq/ntpq.mdoc.in
  head/contrib/ntp/ntpsnmpd/invoke-ntpsnmpd.texi
  head/contrib/ntp/ntpsnmpd/ntpsnmpd-opts.c
  head/contrib/ntp/ntpsnmpd/ntpsnmpd-opts.h
  head/contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdman
  head/contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc
  head/contrib/ntp/ntpsnmpd/ntpsnmpd.html
  head/contrib/ntp/ntpsnmpd/ntpsnmpd.man.in
  head/contrib/ntp/ntpsnmpd/ntpsnmpd.mdoc.in
  head/contrib/ntp/packageinfo.sh
  head/contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjman
  head/contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc
  head/contrib/ntp/scripts/calc_tickadj/calc_tickadj.html
  head/contrib/ntp/scripts/calc_tickadj/calc_tickadj.man.in
  head/contrib/ntp/scripts/calc_tickadj/calc_tickadj.mdoc.in
  head/contrib/ntp/scripts/calc_tickadj/invoke-calc_tickadj.texi
  head/contrib/ntp/scripts/invoke-plot_summary.texi
  head/contrib/ntp/scripts/invoke-summary.texi
  head/contrib/ntp/scripts/ntp-wait/invoke-ntp-wait.texi
  head/contrib/ntp/scripts/ntp-wait/ntp-wait-opts
  head/contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitman
  head/contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc
  head/contrib/ntp/scripts/ntp-wait/ntp-wait.html
  head/contrib/ntp/scripts/ntp-wait/ntp-wait.man.in
  head/contrib/ntp/scripts/ntp-wait/ntp-wait.mdoc.in
  head/contrib/ntp/scripts/ntpsweep/invoke-ntpsweep.texi
  head/contrib/ntp/scripts/ntpsweep/ntpsweep-opts
  head/contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepman
  head/contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc
  head/contrib/ntp/scripts/ntpsweep/ntpsweep.html
  head/contrib/ntp/scripts/ntpsweep/ntpsweep.man.in
  head/contrib/ntp/scripts/ntpsweep/ntpsweep.mdoc.in
  head/contrib/ntp/scripts/ntptrace/invoke-ntptrace.texi
  head/contrib/ntp/scripts/ntptrace/ntptrace-opts
  head/contrib/ntp/scripts/ntptrace/ntptrace.1ntptraceman
  head/contrib/ntp/scripts/ntptrace/ntptrace.1ntptracemdoc
  head/contrib/ntp/scripts/ntptrace/ntptrace.html
  head/contrib/ntp/scr

Re: svn commit: r362333 - in head: contrib/flex contrib/flex/src usr.bin/lex usr.bin/lex/lib

2020-06-23 Thread Jung-uk Kim
On 20. 6. 23., Kyle Evans wrote:
> On Tue, Jun 23, 2020 at 8:07 PM Jung-uk Kim  wrote:
>>
>> On 20. 6. 23., Kyle Evans wrote:
>>> On Thu, Jun 18, 2020 at 1:09 PM Jung-uk Kim  wrote:

 Author: jkim
 Date: Thu Jun 18 18:09:16 2020
 New Revision: 362333
 URL: https://svnweb.freebsd.org/changeset/base/362333

 Log:
   MFV:  r362286

   Merge flex 2.6.4.

>>>
>>> Hi,
>>>
>>> I'm looking at getting amd64 world buildable again by gcc6; this seems
>>> to give it some gas:
>>>
>>> /usr/src/contrib/flex/src/main.c: In function 'check_options':
>>> /usr/src/contrib/flex/src/main.c:347:14: error: assignment discards
>>> 'const' qualifier from pointer target type
>>> [-Werror=discarded-qualifiers]
>>>if ((slash = strrchr(M4, '/')) != NULL) {
>>>
>>> The following trivial patch seems to make gcc6 happy again.
>>>
>>> diff --git a/contrib/flex/src/main.c b/contrib/flex/src/main.c
>>> index 711e387b1b5..97e043c6275 100644
>>> --- a/contrib/flex/src/main.c
>>> +++ b/contrib/flex/src/main.c
>>> @@ -342,7 +342,7 @@ void check_options (void)
>>>  /* Setup the filter chain. */
>>>  output_chain = filter_create_int(NULL, filter_tee_header, 
>>> headerfilename);
>>>  if ( !(m4 = getenv("M4"))) {
>>> -   char *slash;
>>> +   const char *slash;
>>> m4 = M4;
>>> if ((slash = strrchr(M4, '/')) != NULL) {
>>> m4 = slash+1;
>>
>> Hmm...  It looks like a false positive and I am little reluctant to
>> change the vendor code.
>>
>> Can you just add "-Wno-discarded-qualifiers" or something to
>> CWARNFLAGS.gcc in share/mk/bsd.sys.mk for some WARNS level?
>>
> 
> Do we not have a working relationship with an upstream on this one to
> sort it out?

Not really.  You may file an issue or a pull request but I don't see
much activity from the author recently.

https://github.com/westes/flex

Jung-uk Kim

> It's debatably correct; M4 is effectively a const string (string
> literal, as far as I can tell) and strrchr promises a little more than
> it should because we really shouldn't mutate the result in that kind
> of scenario. In this case, the result isn't mutated, but it certainly
> looks like it could be with the current declaration of slash.
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r362333 - in head: contrib/flex contrib/flex/src usr.bin/lex usr.bin/lex/lib

2020-06-23 Thread Kyle Evans
On Tue, Jun 23, 2020 at 8:07 PM Jung-uk Kim  wrote:
>
> On 20. 6. 23., Kyle Evans wrote:
> > On Thu, Jun 18, 2020 at 1:09 PM Jung-uk Kim  wrote:
> >>
> >> Author: jkim
> >> Date: Thu Jun 18 18:09:16 2020
> >> New Revision: 362333
> >> URL: https://svnweb.freebsd.org/changeset/base/362333
> >>
> >> Log:
> >>   MFV:  r362286
> >>
> >>   Merge flex 2.6.4.
> >>
> >
> > Hi,
> >
> > I'm looking at getting amd64 world buildable again by gcc6; this seems
> > to give it some gas:
> >
> > /usr/src/contrib/flex/src/main.c: In function 'check_options':
> > /usr/src/contrib/flex/src/main.c:347:14: error: assignment discards
> > 'const' qualifier from pointer target type
> > [-Werror=discarded-qualifiers]
> >if ((slash = strrchr(M4, '/')) != NULL) {
> >
> > The following trivial patch seems to make gcc6 happy again.
> >
> > diff --git a/contrib/flex/src/main.c b/contrib/flex/src/main.c
> > index 711e387b1b5..97e043c6275 100644
> > --- a/contrib/flex/src/main.c
> > +++ b/contrib/flex/src/main.c
> > @@ -342,7 +342,7 @@ void check_options (void)
> >  /* Setup the filter chain. */
> >  output_chain = filter_create_int(NULL, filter_tee_header, 
> > headerfilename);
> >  if ( !(m4 = getenv("M4"))) {
> > -   char *slash;
> > +   const char *slash;
> > m4 = M4;
> > if ((slash = strrchr(M4, '/')) != NULL) {
> > m4 = slash+1;
>
> Hmm...  It looks like a false positive and I am little reluctant to
> change the vendor code.
>
> Can you just add "-Wno-discarded-qualifiers" or something to
> CWARNFLAGS.gcc in share/mk/bsd.sys.mk for some WARNS level?
>

Do we not have a working relationship with an upstream on this one to
sort it out?

It's debatably correct; M4 is effectively a const string (string
literal, as far as I can tell) and strrchr promises a little more than
it should because we really shouldn't mutate the result in that kind
of scenario. In this case, the result isn't mutated, but it certainly
looks like it could be with the current declaration of slash.

Thanks,

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


Re: svn commit: r362333 - in head: contrib/flex contrib/flex/src usr.bin/lex usr.bin/lex/lib

2020-06-23 Thread Jung-uk Kim
On 20. 6. 23., Kyle Evans wrote:
> On Thu, Jun 18, 2020 at 1:09 PM Jung-uk Kim  wrote:
>>
>> Author: jkim
>> Date: Thu Jun 18 18:09:16 2020
>> New Revision: 362333
>> URL: https://svnweb.freebsd.org/changeset/base/362333
>>
>> Log:
>>   MFV:  r362286
>>
>>   Merge flex 2.6.4.
>>
> 
> Hi,
> 
> I'm looking at getting amd64 world buildable again by gcc6; this seems
> to give it some gas:
> 
> /usr/src/contrib/flex/src/main.c: In function 'check_options':
> /usr/src/contrib/flex/src/main.c:347:14: error: assignment discards
> 'const' qualifier from pointer target type
> [-Werror=discarded-qualifiers]
>if ((slash = strrchr(M4, '/')) != NULL) {
> 
> The following trivial patch seems to make gcc6 happy again.
> 
> diff --git a/contrib/flex/src/main.c b/contrib/flex/src/main.c
> index 711e387b1b5..97e043c6275 100644
> --- a/contrib/flex/src/main.c
> +++ b/contrib/flex/src/main.c
> @@ -342,7 +342,7 @@ void check_options (void)
>  /* Setup the filter chain. */
>  output_chain = filter_create_int(NULL, filter_tee_header, 
> headerfilename);
>  if ( !(m4 = getenv("M4"))) {
> -   char *slash;
> +   const char *slash;
> m4 = M4;
> if ((slash = strrchr(M4, '/')) != NULL) {
> m4 = slash+1;

Hmm...  It looks like a false positive and I am little reluctant to
change the vendor code.

Can you just add "-Wno-discarded-qualifiers" or something to
CWARNFLAGS.gcc in share/mk/bsd.sys.mk for some WARNS level?

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


Re: svn commit: r362333 - in head: contrib/flex contrib/flex/src usr.bin/lex usr.bin/lex/lib

2020-06-23 Thread Kyle Evans
On Thu, Jun 18, 2020 at 1:09 PM Jung-uk Kim  wrote:
>
> Author: jkim
> Date: Thu Jun 18 18:09:16 2020
> New Revision: 362333
> URL: https://svnweb.freebsd.org/changeset/base/362333
>
> Log:
>   MFV:  r362286
>
>   Merge flex 2.6.4.
>

Hi,

I'm looking at getting amd64 world buildable again by gcc6; this seems
to give it some gas:

/usr/src/contrib/flex/src/main.c: In function 'check_options':
/usr/src/contrib/flex/src/main.c:347:14: error: assignment discards
'const' qualifier from pointer target type
[-Werror=discarded-qualifiers]
   if ((slash = strrchr(M4, '/')) != NULL) {

The following trivial patch seems to make gcc6 happy again.

diff --git a/contrib/flex/src/main.c b/contrib/flex/src/main.c
index 711e387b1b5..97e043c6275 100644
--- a/contrib/flex/src/main.c
+++ b/contrib/flex/src/main.c
@@ -342,7 +342,7 @@ void check_options (void)
 /* Setup the filter chain. */
 output_chain = filter_create_int(NULL, filter_tee_header, headerfilename);
 if ( !(m4 = getenv("M4"))) {
-   char *slash;
+   const char *slash;
m4 = M4;
if ((slash = strrchr(M4, '/')) != NULL) {
m4 = slash+1;
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r362564 - in head/stand: common efi/include efi/libefi

2020-06-23 Thread Kyle Evans
Author: kevans
Date: Tue Jun 23 23:52:43 2020
New Revision: 362564
URL: https://svnweb.freebsd.org/changeset/base/362564

Log:
  stand: remove redundant declarations
  
  These are picked out by the amd64-gcc6 build; time() is declared in 
  and delay() is declared in . These are the correct places for
  these in stand/, so remove the duplicate declarations and make sure the
  delay() consumer in libefi that depended on the extra delay() declaration
  includes .
  
  MFC after:1 week

Modified:
  head/stand/common/bootstrap.h
  head/stand/efi/include/efilib.h
  head/stand/efi/libefi/efihttp.c

Modified: head/stand/common/bootstrap.h
==
--- head/stand/common/bootstrap.h   Tue Jun 23 23:05:05 2020
(r362563)
+++ head/stand/common/bootstrap.h   Tue Jun 23 23:52:43 2020
(r362564)
@@ -345,8 +345,6 @@ voiddelay(int delay);
 
 void   dev_cleanup(void);
 
-time_t time(time_t *tloc);
-
 #ifndef CTASSERT
 #defineCTASSERT(x) _Static_assert(x, "compile-time assertion 
failed")
 #endif

Modified: head/stand/efi/include/efilib.h
==
--- head/stand/efi/include/efilib.h Tue Jun 23 23:05:05 2020
(r362563)
+++ head/stand/efi/include/efilib.h Tue Jun 23 23:52:43 2020
(r362564)
@@ -113,7 +113,6 @@ EFI_STATUS efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABL
 
 EFI_STATUS main(int argc, CHAR16 *argv[]);
 void efi_exit(EFI_STATUS status) __dead2;
-void delay(int usecs);
 
 /* EFI environment initialization. */
 void efi_init_environment(void);

Modified: head/stand/efi/libefi/efihttp.c
==
--- head/stand/efi/libefi/efihttp.c Tue Jun 23 23:05:05 2020
(r362563)
+++ head/stand/efi/libefi/efihttp.c Tue Jun 23 23:52:43 2020
(r362564)
@@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$");
 #include 
 
 #include 
+#include 
 #include 
 
 #include 
___
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: r362563 - head/sys/netinet

2020-06-23 Thread Michael Tuexen
Author: tuexen
Date: Tue Jun 23 23:05:05 2020
New Revision: 362563
URL: https://svnweb.freebsd.org/changeset/base/362563

Log:
  Fix alignment issue manifesting in the userland stack.
  
  MFC after:1 wwek

Modified:
  head/sys/netinet/sctp_usrreq.c

Modified: head/sys/netinet/sctp_usrreq.c
==
--- head/sys/netinet/sctp_usrreq.c  Tue Jun 23 22:47:54 2020
(r362562)
+++ head/sys/netinet/sctp_usrreq.c  Tue Jun 23 23:05:05 2020
(r362563)
@@ -989,15 +989,15 @@ sctp_shutdown(struct socket *so)
  * returns 0 on success, 1 on error
  */
 static uint32_t
-sctp_fill_user_address(union sctp_sockstore *ss, struct sockaddr *sa)
+sctp_fill_user_address(struct sockaddr *dst, struct sockaddr *src)
 {
 #ifdef INET6
struct sockaddr_in6 lsa6;
 
-   sa = (struct sockaddr *)sctp_recover_scope((struct sockaddr_in6 *)sa,
+   src = (struct sockaddr *)sctp_recover_scope((struct sockaddr_in6 *)src,
&lsa6);
 #endif
-   memcpy(ss, sa, sa->sa_len);
+   memcpy(dst, src, src->sa_len);
return (0);
 }
 
@@ -1010,7 +1010,7 @@ static size_t
 sctp_fill_up_addresses_vrf(struct sctp_inpcb *inp,
 struct sctp_tcb *stcb,
 size_t limit,
-union sctp_sockstore *addr,
+struct sockaddr *addr,
 uint32_t vrf_id)
 {
struct sctp_ifn *sctp_ifn;
@@ -1125,9 +1125,9 @@ sctp_fill_up_addresses_vrf(struct sctp_inpcb *inp,
if (actual + 
sizeof(struct sockaddr_in6) > limit) {
return (actual);
}
-   
in6_sin_2_v4mapsin6(sin, &addr->sin6);
-   addr->sin6.sin6_port = 
inp->sctp_lport;
-   addr = (union 
sctp_sockstore *)((caddr_t)addr + sizeof(struct sockaddr_in6));
+   
in6_sin_2_v4mapsin6(sin, (struct sockaddr_in6 *)&addr);
+   ((struct sockaddr_in6 
*)addr)->sin6_port = inp->sctp_lport;
+   addr = (struct sockaddr 
*)((caddr_t)addr + sizeof(struct sockaddr_in6));
actual += sizeof(struct 
sockaddr_in6);
} else {
 #endif
@@ -1135,8 +1135,8 @@ sctp_fill_up_addresses_vrf(struct sctp_inpcb *inp,
return (actual);
}
memcpy(addr, sin, 
sizeof(struct sockaddr_in));
-   addr->sin.sin_port = 
inp->sctp_lport;
-   addr = (union 
sctp_sockstore *)((caddr_t)addr + sizeof(struct sockaddr_in));
+   ((struct sockaddr_in 
*)addr)->sin_port = inp->sctp_lport;
+   addr = (struct sockaddr 
*)((caddr_t)addr + sizeof(struct sockaddr_in));
actual += sizeof(struct 
sockaddr_in);
 #ifdef INET6
}
@@ -1189,8 +1189,8 @@ sctp_fill_up_addresses_vrf(struct sctp_inpcb *inp,
return (actual);
}
memcpy(addr, sin6, 
sizeof(struct sockaddr_in6));
-   addr->sin6.sin6_port = 
inp->sctp_lport;
-   addr = (union sctp_sockstore 
*)((caddr_t)addr + sizeof(struct sockaddr_in6));
+   ((struct sockaddr_in6 
*)addr)->sin6_port = inp->sctp_lport;
+   addr = (struct sockaddr 
*)((caddr_t)addr + sizeof(struct sockaddr_in6));
actual += sizeof(struct 
sockaddr_in6);
} else {
continue;
@@ -1222,19 +1222,19 @@ sctp_fill_up_addresses_vrf(struct sctp_inpcb *inp,
switch (laddr->ifa->address.sa.sa_family) {
 #ifdef INET
case AF_INET:
-   addr->sin.sin_port = inp->sctp_lport;
+   ((struct sockaddr_in *)addr)->sin_port = 
inp->sctp_lport;
break;
 #endif
 #ifdef INET6
case AF_INET6:
-   addr->sin6.sin6_port = inp->sctp_lport;
+

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

2020-06-23 Thread Doug Moore
Author: dougm
Date: Tue Jun 23 22:47:54 2020
New Revision: 362562
URL: https://svnweb.freebsd.org/changeset/base/362562

Log:
  In r362552, RB_SET_PARENT is defined, and use in parens in
  RB_CLEAR_NODE.  But it is not an expression, and ought not to be
  enclosed in parens.  Remove them.
  
  Approved by:  markj
  Differential Revision:https://reviews.freebsd.org/D25421

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

Modified: head/sys/compat/linuxkpi/common/include/linux/rbtree.h
==
--- head/sys/compat/linuxkpi/common/include/linux/rbtree.h  Tue Jun 23 
21:44:00 2020(r362561)
+++ head/sys/compat/linuxkpi/common/include/linux/rbtree.h  Tue Jun 23 
22:47:54 2020(r362562)
@@ -60,7 +60,7 @@ RB_PROTOTYPE(linux_root, rb_node, __entry, panic_cmp);
 
 #define RB_EMPTY_ROOT(root) RB_EMPTY((struct linux_root *)root)
 #define RB_EMPTY_NODE(node) (RB_PARENT(node, __entry) == node)
-#define RB_CLEAR_NODE(node) (RB_SET_PARENT(node, node, __entry))
+#define RB_CLEAR_NODE(node) RB_SET_PARENT(node, node, __entry)
 
 #definerb_insert_color(node, root) 
\
linux_root_RB_INSERT_COLOR((struct linux_root *)(root), (node))
___
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: r362561 - head/sys/geom/journal

2020-06-23 Thread Kirk McKusick
Author: mckusick
Date: Tue Jun 23 21:44:00 2020
New Revision: 362561
URL: https://svnweb.freebsd.org/changeset/base/362561

Log:
  Optimize g_journal's superblock update by noting that the summary
  information is neither read nor written so it need not be written
  out when updating the superblock.
  
  PR:   247425
  Sponsored by: Netflix

Modified:
  head/sys/geom/journal/g_journal_ufs.c

Modified: head/sys/geom/journal/g_journal_ufs.c
==
--- head/sys/geom/journal/g_journal_ufs.c   Tue Jun 23 21:37:12 2020
(r362560)
+++ head/sys/geom/journal/g_journal_ufs.c   Tue Jun 23 21:44:00 2020
(r362561)
@@ -68,7 +68,6 @@ g_journal_ufs_clean(struct mount *mp)
 static void
 g_journal_ufs_dirty(struct g_consumer *cp)
 {
-   struct fs_summary_info *fs_si;
struct fs *fs;
int error;
 
@@ -81,15 +80,18 @@ g_journal_ufs_dirty(struct g_consumer *cp)
("g_journal_ufs_dirty: non-NULL fs %p\n", fs));
return;
}
+   /*
+* Do not use or change summary information, so free it now
+* to avoid unnecessarily writing it back out in ffs_sbput().
+*/
+   g_free(fs->fs_csp);
+   g_free(fs->fs_si);
+   fs->fs_si = NULL;
+
GJ_DEBUG(0, "clean=%d flags=0x%x", fs->fs_clean, fs->fs_flags);
fs->fs_clean = 0;
fs->fs_flags |= FS_NEEDSFSCK | FS_UNCLEAN;
-   fs_si = fs->fs_si;
-   fs->fs_si = NULL;
error = ffs_sbput(cp, fs, fs->fs_sblockloc, g_use_g_write_data);
-   fs->fs_si = fs_si;
-   g_free(fs->fs_csp);
-   g_free(fs->fs_si);
g_free(fs);
if (error != 0) {
GJ_DEBUG(0, "Cannot mark file system %s as dirty "
___
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: r362560 - head/lib/libufs

2020-06-23 Thread Kirk McKusick
Author: mckusick
Date: Tue Jun 23 21:37:12 2020
New Revision: 362560
URL: https://svnweb.freebsd.org/changeset/base/362560

Log:
  Correctly describe the return values for the libufs library sbget()
  and sbput() functions that respectively read and write the superblock.
  
  PR:   247425
  Sponsored by: Netflix

Modified:
  head/lib/libufs/sbread.3

Modified: head/lib/libufs/sbread.3
==
--- head/lib/libufs/sbread.3Tue Jun 23 21:28:26 2020(r362559)
+++ head/lib/libufs/sbread.3Tue Jun 23 21:37:12 2020(r362560)
@@ -109,28 +109,30 @@ function will write to all the alternate superblock lo
 .Fa all
 value is non-zero.
 .Sh RETURN VALUES
-.Rv -std sbget sbput sbread sbwrite
-.Sh ERRORS
+.Rv -std sbread sbwrite
 The
 .Fn sbget
 and
+.Fn sbput
+functions return the value 0 if successful;
+otherwise they return one of the errors described below.
+.Sh ERRORS
+The errors returned by
+.Fn sbget
+and
 .Fn sbread
-functions may fail and set
-.Va errno
-for any of the errors specified for the library function
+include any of the errors specified for the library function
 .Xr bread 3 .
-Additionally, it may follow the
+Additionally, they may follow the
 .Xr libufs 3
 error methodologies in situations where no usable superblock could be
 found.
 .Pp
-The
+The errors returned by
 .Fn sbput
 and
 .Fn sbwrite
-functions may fail and set
-.Va errno
-for any of the errors specified for the library function
+include any of the errors specified for the library function
 .Xr bwrite 3 .
 .Sh SEE ALSO
 .Xr bread 3 ,
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r362559 - in head: lib/libufs sbin/fsck_ffs

2020-06-23 Thread Kirk McKusick
Author: mckusick
Date: Tue Jun 23 21:28:26 2020
New Revision: 362559
URL: https://svnweb.freebsd.org/changeset/base/362559

Log:
  The libufs library needs to track and free the new fs_si structure
  in addition to the fs_csp structure that it references.
  
  PR:   247425
  Sponsored by: Netflix

Modified:
  head/lib/libufs/libufs.h
  head/lib/libufs/sblock.c
  head/lib/libufs/type.c
  head/sbin/fsck_ffs/setup.c

Modified: head/lib/libufs/libufs.h
==
--- head/lib/libufs/libufs.hTue Jun 23 21:17:13 2020(r362558)
+++ head/lib/libufs/libufs.hTue Jun 23 21:28:26 2020(r362559)
@@ -49,7 +49,7 @@ struct uufsd {
int d_fd;   /* raw device file descriptor */
long d_bsize;   /* device bsize */
ufs2_daddr_t d_sblock;  /* superblock location */
-   struct csum *d_sbcsum;  /* Superblock summary info */
+   struct fs_summary_info *d_si;   /* Superblock summary info */
caddr_t d_inoblock; /* inode block */
uint32_t d_inomin;  /* low ino, not ino_t for ABI compat */
uint32_t d_inomax;  /* high ino, not ino_t for ABI compat */

Modified: head/lib/libufs/sblock.c
==
--- head/lib/libufs/sblock.cTue Jun 23 21:17:13 2020(r362558)
+++ head/lib/libufs/sblock.cTue Jun 23 21:28:26 2020(r362559)
@@ -88,7 +88,7 @@ sbread(struct uufsd *disk)
disk->d_ufs = 2;
disk->d_bsize = fs->fs_fsize / fsbtodb(fs, 1);
disk->d_sblock = fs->fs_sblockloc / disk->d_bsize;
-   disk->d_sbcsum = fs->fs_csp;
+   disk->d_si = fs->fs_si;
return (0);
 }
 

Modified: head/lib/libufs/type.c
==
--- head/lib/libufs/type.c  Tue Jun 23 21:17:13 2020(r362558)
+++ head/lib/libufs/type.c  Tue Jun 23 21:28:26 2020(r362559)
@@ -69,9 +69,10 @@ ufs_disk_close(struct uufsd *disk)
free((char *)(uintptr_t)disk->d_name);
disk->d_name = NULL;
}
-   if (disk->d_sbcsum != NULL) {
-   free(disk->d_sbcsum);
-   disk->d_sbcsum = NULL;
+   if (disk->d_si != NULL) {
+   free(disk->d_si->si_csp);
+   free(disk->d_si);
+   disk->d_si = NULL;
}
return (0);
 }
@@ -164,7 +165,7 @@ again:  if ((ret = stat(name, &st)) < 0) {
disk->d_mine = 0;
disk->d_ufs = 0;
disk->d_error = NULL;
-   disk->d_sbcsum = NULL;
+   disk->d_si = NULL;
 
if (oname != name) {
name = strdup(name);

Modified: head/sbin/fsck_ffs/setup.c
==
--- head/sbin/fsck_ffs/setup.c  Tue Jun 23 21:17:13 2020(r362558)
+++ head/sbin/fsck_ffs/setup.c  Tue Jun 23 21:28:26 2020(r362559)
@@ -216,7 +216,7 @@ setup(char *dev)
disk.d_ufs = (sblock.fs_magic == FS_UFS1_MAGIC) ? 1 : 2;
disk.d_bsize = sblock.fs_fsize / fsbtodb(&sblock, 1);
disk.d_sblock = sblock.fs_sblockloc / disk.d_bsize;
-   disk.d_sbcsum = sblock.fs_csp;
+   disk.d_si = sblock.fs_si;
 
if (skipclean && ckclean && sblock.fs_clean) {
pwarn("FILE SYSTEM CLEAN; SKIPPING CHECKS\n");
___
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: r362558 - head/lib/libufs

2020-06-23 Thread Kirk McKusick
Author: mckusick
Date: Tue Jun 23 21:17:13 2020
New Revision: 362558
URL: https://svnweb.freebsd.org/changeset/base/362558

Log:
  Align comments in struct uufsd structure. No semantic change.
  
  Sponsored by: Netflix

Modified:
  head/lib/libufs/libufs.h

Modified: head/lib/libufs/libufs.h
==
--- head/lib/libufs/libufs.hTue Jun 23 21:11:40 2020(r362557)
+++ head/lib/libufs/libufs.hTue Jun 23 21:17:13 2020(r362558)
@@ -44,30 +44,28 @@ union dinodep {
  * userland ufs disk.
  */
 struct uufsd {
-   const char *d_name; /* disk name */
-   int d_ufs;  /* decimal UFS version */
-   int d_fd;   /* raw device file descriptor */
-   long d_bsize;   /* device bsize */
-   ufs2_daddr_t d_sblock;  /* superblock location */
-   struct csum *d_sbcsum;  /* Superblock summary info */
-   caddr_t d_inoblock; /* inode block */
-   uint32_t d_inomin;  /* low inode (not ino_t for ABI compat) */
-   uint32_t d_inomax;  /* high inode (not ino_t for ABI compat) */
-   union dinodep d_dp; /* pointer to currently active inode */
+   const char *d_name; /* disk name */
+   int d_ufs;  /* decimal UFS version */
+   int d_fd;   /* raw device file descriptor */
+   long d_bsize;   /* device bsize */
+   ufs2_daddr_t d_sblock;  /* superblock location */
+   struct csum *d_sbcsum;  /* Superblock summary info */
+   caddr_t d_inoblock; /* inode block */
+   uint32_t d_inomin;  /* low ino, not ino_t for ABI compat */
+   uint32_t d_inomax;  /* high ino, not ino_t for ABI compat */
+   union dinodep d_dp; /* pointer to currently active inode */
union {
-   struct fs d_fs; /* filesystem information */
-   char d_sb[MAXBSIZE];
-   /* superblock as buffer */
+   struct fs d_fs; /* filesystem information */
+   char d_sb[MAXBSIZE];/* superblock as buffer */
} d_sbunion;
union {
-   struct cg d_cg; /* cylinder group */
-   char d_buf[MAXBSIZE];
-   /* cylinder group storage */
+   struct cg d_cg; /* cylinder group */
+   char d_buf[MAXBSIZE];   /* cylinder group storage */
} d_cgunion;
-   int d_ccg;  /* current cylinder group */
-   int d_lcg;  /* last cylinder group (in d_cg) */
-   const char *d_error;/* human readable disk error */
-   int d_mine; /* internal flags */
+   int d_ccg;  /* current cylinder group */
+   int d_lcg;  /* last cylinder group (in d_cg) */
+   const char *d_error;/* human readable disk error */
+   int d_mine; /* internal flags */
 #defined_fsd_sbunion.d_fs
 #defined_sbd_sbunion.d_sb
 #defined_cgd_cgunion.d_cg
___
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: r362557 - head/sbin/dump

2020-06-23 Thread Colin Percival
Author: cperciva
Date: Tue Jun 23 21:11:40 2020
New Revision: 362557
URL: https://svnweb.freebsd.org/changeset/base/362557

Log:
  Clean up some function and variable names.
  
  The change from "slave" processes to "minion" processes to "worker"
  processes left some less-than-coherent names:
  1. "enslave" turned into the ungrammatical "enworker".
  2. "slp" (SLave Pointer) turned into "mlp" (Minion [L] Pointer?).
  
  Convert "enworker" to "create_workers" (the function in question forks
  off 3 worker processes), and replace "mlp" with "wp" (Worker Pointer)
  and "tmlp" with "twp" (Temporary Worker Pointer).
  
  Reviewed by:  imp, cem, danfe
  Differential Revision:https://reviews.freebsd.org/D25403

Modified:
  head/sbin/dump/tape.c

Modified: head/sbin/dump/tape.c
==
--- head/sbin/dump/tape.c   Tue Jun 23 20:48:43 2020(r362556)
+++ head/sbin/dump/tape.c   Tue Jun 23 21:11:40 2020(r362557)
@@ -76,7 +76,7 @@ staticFILE *popenfp = NULL;
 
 static int atomic(ssize_t (*)(), int, char *, int);
 static void worker(int, int);
-static void enworker(void);
+static void create_workers(void);
 static void flushtape(void);
 static void killall(void);
 static void rollforward(void);
@@ -108,7 +108,7 @@ static struct worker {
char (*tblock)[TP_BSIZE]; /* buffer for data blocks */
struct req *req;/* buffer for requests */
 } workers[WORKERS+1];
-static struct worker *mlp;
+static struct worker *wp;
 
 static char(*nextblock)[TP_BSIZE];
 
@@ -152,11 +152,11 @@ alloctape(void)
(((long)&buf[ntrec + 1] + pgoff) &~ pgoff);
workers[i].req = (struct req *)workers[i].tblock - ntrec - 1;
}
-   mlp = &workers[0];
-   mlp->count = 1;
-   mlp->tapea = 0;
-   mlp->firstrec = 0;
-   nextblock = mlp->tblock;
+   wp = &workers[0];
+   wp->count = 1;
+   wp->tapea = 0;
+   wp->firstrec = 0;
+   nextblock = wp->tblock;
return(1);
 }
 
@@ -164,8 +164,8 @@ void
 writerec(char *dp, int isspcl)
 {
 
-   mlp->req[trecno].dblk = (ufs2_daddr_t)0;
-   mlp->req[trecno].count = 1;
+   wp->req[trecno].dblk = (ufs2_daddr_t)0;
+   wp->req[trecno].count = 1;
/* Can't do a structure assignment due to alignment problems */
bcopy(dp, *(nextblock)++, sizeof (union u_spcl));
if (isspcl)
@@ -185,8 +185,8 @@ dumpblock(ufs2_daddr_t blkno, int size)
dblkno = fsbtodb(sblock, blkno);
tpblks = size >> tp_bshift;
while ((avail = MIN(tpblks, ntrec - trecno)) > 0) {
-   mlp->req[trecno].dblk = dblkno;
-   mlp->req[trecno].count = avail;
+   wp->req[trecno].dblk = dblkno;
+   wp->req[trecno].count = avail;
trecno += avail;
spcl.c_tapea += avail;
if (trecno >= ntrec)
@@ -232,27 +232,27 @@ flushtape(void)
int i, blks, got;
int64_t lastfirstrec;
 
-   int siz = (char *)nextblock - (char *)mlp->req;
+   int siz = (char *)nextblock - (char *)wp->req;
 
-   mlp->req[trecno].count = 0; /* Sentinel */
+   wp->req[trecno].count = 0;  /* Sentinel */
 
-   if (atomic(write, mlp->fd, (char *)mlp->req, siz) != siz)
+   if (atomic(write, wp->fd, (char *)wp->req, siz) != siz)
quit("error writing command pipe: %s\n", strerror(errno));
-   mlp->sent = 1; /* we sent a request, read the response later */
+   wp->sent = 1; /* we sent a request, read the response later */
 
-   lastfirstrec = mlp->firstrec;
+   lastfirstrec = wp->firstrec;
 
-   if (++mlp >= &workers[WORKERS])
-   mlp = &workers[0];
+   if (++wp >= &workers[WORKERS])
+   wp = &workers[0];
 
/* Read results back from next worker */
-   if (mlp->sent) {
-   if (atomic(read, mlp->fd, (char *)&got, sizeof got)
+   if (wp->sent) {
+   if (atomic(read, wp->fd, (char *)&got, sizeof got)
!= sizeof got) {
perror("  DUMP: error reading command pipe in master");
dumpabort(0);
}
-   mlp->sent = 0;
+   wp->sent = 0;
 
/* Check for end of tape */
if (got < writesize) {
@@ -288,11 +288,11 @@ flushtape(void)
if (spcl.c_addr[i] != 0)
blks++;
}
-   mlp->count = lastspclrec + blks + 1 - spcl.c_tapea;
-   mlp->tapea = spcl.c_tapea;
-   mlp->firstrec = lastfirstrec + ntrec;
-   mlp->inode = curino;
-   nextblock = mlp->tblock;
+   wp->count = lastspclrec + blks + 1 - spcl.c_tapea;
+   wp->tapea = spcl.c_tapea;
+   wp->firstrec = lastfirstrec + ntrec;
+   wp->inode = curino;
+   nextblock = wp->tblock;
trecno = 0;
   

svn commit: r362553 - head/sys/net

2020-06-23 Thread Vincenzo Maffione
Author: vmaffione
Date: Tue Jun 23 20:23:56 2020
New Revision: 362553
URL: https://svnweb.freebsd.org/changeset/base/362553

Log:
  iflib: netmap: fix rsync index overrun
  
  In the current iflib_netmap_rxsync, there is nothing that prevents
  kring->nr_hwtail to overrun kring->nr_hwcur during the descriptor
  import phase. This may cause errors in netmap applications, such as:
  
  em1 RX0: fail 'head < kring->nr_hwcur || head > kring->nr_hwtail'
  h 795 c 795 t 282 rh 795 rc 795 rt 282 hc 282 ht 282
  
  Reviewed by:  gallatin
  MFC after:1 week
  Differential Revision:https://reviews.freebsd.org/D25252

Modified:
  head/sys/net/iflib.c

Modified: head/sys/net/iflib.c
==
--- head/sys/net/iflib.cTue Jun 23 20:02:55 2020(r362552)
+++ head/sys/net/iflib.cTue Jun 23 20:23:56 2020(r362553)
@@ -1099,6 +1099,7 @@ iflib_netmap_rxsync(struct netmap_kring *kring, int fl
 * rxr->next_check is set to 0 on a ring reinit
 */
if (netmap_no_pendintr || force_update) {
+   uint32_t hwtail_lim = nm_prev(kring->nr_hwcur, lim);
int crclen = iflib_crcstrip ? 0 : 4;
int error, avail;
 
@@ -1108,7 +1109,7 @@ iflib_netmap_rxsync(struct netmap_kring *kring, int fl
nm_i = netmap_idx_n2k(kring, nic_i);
avail = ctx->isc_rxd_available(ctx->ifc_softc,
rxq->ifr_id, nic_i, USHRT_MAX);
-   for (n = 0; avail > 0; n++, avail--) {
+   for (n = 0; avail > 0 && nm_i != hwtail_lim; n++, 
avail--) {
rxd_info_zero(&ri);
ri.iri_frags = rxq->ifr_frags;
ri.iri_qsidx = kring->ring_id;
___
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: r362552 - in head/sys: compat/linuxkpi/common/include/linux sys

2020-06-23 Thread Doug Moore
Author: dougm
Date: Tue Jun 23 20:02:55 2020
New Revision: 362552
URL: https://svnweb.freebsd.org/changeset/base/362552

Log:
  Define RB_SET_PARENT to do all assignments to rb parent
  pointers. Define RB_SWAP_CHILD to replace the child of a parent with
  its twin, and use it in 4 places. Use RB_SET in rb_link_node to remove
  the only linuxkpi reference to color, and then drop color- and
  parent-related definitions that are defined and used only in rbtree.h.
  
  This is intended to be entirely cosmetic, with no impact on program
  behavior, and leave RB_PARENT and RB_SET_PARENT as the only ways to
  read and write rb parent pointers.
  
  Reviewed by:  markj, kib
  Tested by:pho
  Differential Revision:https://reviews.freebsd.org/D25264

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

Modified: head/sys/compat/linuxkpi/common/include/linux/rbtree.h
==
--- head/sys/compat/linuxkpi/common/include/linux/rbtree.h  Tue Jun 23 
19:14:38 2020(r362551)
+++ head/sys/compat/linuxkpi/common/include/linux/rbtree.h  Tue Jun 23 
20:02:55 2020(r362552)
@@ -56,17 +56,11 @@ int panic_cmp(struct rb_node *one, struct rb_node *two
 RB_HEAD(linux_root, rb_node);
 RB_PROTOTYPE(linux_root, rb_node, __entry, panic_cmp);
 
-#definerb_parent(r)RB_PARENT(r, __entry)
-#definerb_color(r) RB_COLOR(r, __entry)
-#definerb_is_red(r)(rb_color(r) == RB_RED)
-#definerb_is_black(r)  (rb_color(r) == RB_BLACK)
-#definerb_set_parent(r, p) rb_parent((r)) = (p)
-#definerb_set_color(r, c)  rb_color((r)) = (c)
 #definerb_entry(ptr, type, member) container_of(ptr, type, member)
 
 #define RB_EMPTY_ROOT(root) RB_EMPTY((struct linux_root *)root)
-#define RB_EMPTY_NODE(node) (rb_parent(node) == node)
-#define RB_CLEAR_NODE(node) (rb_set_parent(node, node))
+#define RB_EMPTY_NODE(node) (RB_PARENT(node, __entry) == node)
+#define RB_CLEAR_NODE(node) (RB_SET_PARENT(node, node, __entry))
 
 #definerb_insert_color(node, root) 
\
linux_root_RB_INSERT_COLOR((struct linux_root *)(root), (node))
@@ -81,9 +75,7 @@ static inline void
 rb_link_node(struct rb_node *node, struct rb_node *parent,
 struct rb_node **rb_link)
 {
-   rb_set_parent(node, parent);
-   rb_set_color(node, RB_RED);
-   node->__entry.rbe_left = node->__entry.rbe_right = NULL;
+   RB_SET(node, parent, __entry);
*rb_link = node;
 }
 
@@ -91,20 +83,12 @@ static inline void
 rb_replace_node(struct rb_node *victim, struct rb_node *new,
 struct rb_root *root)
 {
-   struct rb_node *p;
 
-   p = rb_parent(victim);
-   if (p) {
-   if (p->rb_left == victim)
-   p->rb_left = new;
-   else
-   p->rb_right = new;
-   } else
-   root->rb_node = new;
+   RB_SWAP_CHILD((struct linux_root *)root, victim, new, __entry);
if (victim->rb_left)
-   rb_set_parent(victim->rb_left, new);
+   RB_SET_PARENT(victim->rb_left, new, __entry);
if (victim->rb_right)
-   rb_set_parent(victim->rb_right, new);
+   RB_SET_PARENT(victim->rb_right, new, __entry);
*new = *victim;
 }
 

Modified: head/sys/sys/tree.h
==
--- head/sys/sys/tree.h Tue Jun 23 19:14:38 2020(r362551)
+++ head/sys/sys/tree.h Tue Jun 23 20:02:55 2020(r362552)
@@ -325,8 +325,12 @@ struct {   
\
 #define RB_ROOT(head)  (head)->rbh_root
 #define RB_EMPTY(head) (RB_ROOT(head) == NULL)
 
+#define RB_SET_PARENT(dst, src, field) do {\
+   RB_PARENT(dst, field) = src;\
+} while (/*CONSTCOND*/ 0)
+
 #define RB_SET(elm, parent, field) do {
\
-   RB_PARENT(elm, field) = parent; \
+   RB_SET_PARENT(elm, parent, field);  \
RB_LEFT(elm, field) = RB_RIGHT(elm, field) = NULL;  \
RB_COLOR(elm, field) = RB_RED;  \
 } while (/*CONSTCOND*/ 0)
@@ -344,37 +348,36 @@ struct {  
\
 #define RB_AUGMENT(x)  break
 #endif
 
+#define RB_SWAP_CHILD(head, out, in, field) do {   \
+   if (RB_PARENT(out, field) == NULL)  \
+   RB_ROOT(head) = (in);   \
+   else if ((out) == RB_LEFT(RB_PARENT(out, field), field))\
+   RB_LEFT(RB_PARENT(out, field), field) = (in);   \
+   else 

svn commit: r362551 - in head/usr.sbin: fstyp/tests makefs/tests

2020-06-23 Thread Li-Wen Hsu
Author: lwhsu
Date: Tue Jun 23 19:14:38 2020
New Revision: 362551
URL: https://svnweb.freebsd.org/changeset/base/362551

Log:
  Revert r362390, those tests are fixed by r362418
  
  PR:   247425
  Sponsored by: The FreeBSD Foundation

Modified:
  head/usr.sbin/fstyp/tests/fstyp_test.sh
  head/usr.sbin/makefs/tests/makefs_ffs_tests.sh

Modified: head/usr.sbin/fstyp/tests/fstyp_test.sh
==
--- head/usr.sbin/fstyp/tests/fstyp_test.sh Tue Jun 23 18:35:00 2020
(r362550)
+++ head/usr.sbin/fstyp/tests/fstyp_test.sh Tue Jun 23 19:14:38 2020
(r362551)
@@ -197,9 +197,6 @@ ufs1_head() {
atf_set "descr" "fstyp(8) should detect UFS version 1 filesystems"
 }
 ufs1_body() {
-   if [ "$(atf_config_get ci false)" = "true" ]; then
-   atf_skip "https://bugs.freebsd.org/247425";
-   fi
atf_check -s exit:0 mkdir dir
atf_check -s exit:0 -o ignore makefs -Z -s 64m ufs.img dir
atf_check -s exit:0 -o inline:"ufs\n" fstyp ufs.img
@@ -211,9 +208,6 @@ ufs2_head() {
atf_set "descr" "fstyp(8) should detect UFS version 2 filesystems"
 }
 ufs2_body() {
-   if [ "$(atf_config_get ci false)" = "true" ]; then
-   atf_skip "https://bugs.freebsd.org/247425";
-   fi
atf_check -s exit:0 mkdir dir
atf_check -s exit:0 -o ignore makefs -o version=2 -Z -s 64m ufs.img dir
atf_check -s exit:0 -o inline:"ufs\n" fstyp ufs.img
@@ -225,9 +219,6 @@ ufs2_label_head() {
atf_set "descr" "fstyp(8) can read the label on a UFS v2 filesystem"
 }
 ufs2_label_body() {
-   if [ "$(atf_config_get ci false)" = "true" ]; then
-   atf_skip "https://bugs.freebsd.org/247425";
-   fi
atf_check -s exit:0 mkdir dir
atf_check -s exit:0 -o ignore makefs -o version=2,label="foo" -Z -s 64m 
ufs.img dir
atf_check -s exit:0 -o inline:"ufs foo\n" fstyp -l ufs.img

Modified: head/usr.sbin/makefs/tests/makefs_ffs_tests.sh
==
--- head/usr.sbin/makefs/tests/makefs_ffs_tests.sh  Tue Jun 23 18:35:00 
2020(r362550)
+++ head/usr.sbin/makefs/tests/makefs_ffs_tests.sh  Tue Jun 23 19:14:38 
2020(r362551)
@@ -106,10 +106,6 @@ D_flag_cleanup()
 atf_test_case F_flag cleanup
 F_flag_body()
 {
-   if [ "$(atf_config_get ci false)" = "true" ]; then
-   atf_skip "https://bugs.freebsd.org/247425";
-   fi
-
create_test_inputs
 
atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \
@@ -129,10 +125,6 @@ F_flag_cleanup()
 atf_test_case from_mtree_spec_file cleanup
 from_mtree_spec_file_body()
 {
-   if [ "$(atf_config_get ci false)" = "true" ]; then
-   atf_skip "https://bugs.freebsd.org/247425";
-   fi
-
create_test_inputs
 
atf_check -e empty -o save:$TEST_SPEC_FILE -s exit:0 \
@@ -154,10 +146,6 @@ from_mtree_spec_file_cleanup()
 atf_test_case from_multiple_dirs cleanup
 from_multiple_dirs_body()
 {
-   if [ "$(atf_config_get ci false)" = "true" ]; then
-   atf_skip "https://bugs.freebsd.org/247425";
-   fi
-
test_inputs_dir2=$TMPDIR/inputs2
 
create_test_inputs
@@ -180,10 +168,6 @@ from_multiple_dirs_cleanup()
 atf_test_case from_single_dir cleanup
 from_single_dir_body()
 {
-   if [ "$(atf_config_get ci false)" = "true" ]; then
-   atf_skip "https://bugs.freebsd.org/247425";
-   fi
-
create_test_inputs
 
atf_check -e empty -o not-empty -s exit:0 \
@@ -200,10 +184,6 @@ from_single_dir_cleanup()
 atf_test_case o_flag_version_1 cleanup
 o_flag_version_1_body()
 {
-   if [ "$(atf_config_get ci false)" = "true" ]; then
-   atf_skip "https://bugs.freebsd.org/247425";
-   fi
-
ffs_version=1
 
platform=$(uname)
@@ -236,10 +216,6 @@ o_flag_version_1_cleanup()
 atf_test_case o_flag_version_2 cleanup
 o_flag_version_2_body()
 {
-   if [ "$(atf_config_get ci false)" = "true" ]; then
-   atf_skip "https://bugs.freebsd.org/247425";
-   fi
-
ffs_version=2
 
platform=$(uname)
___
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: r362550 - head/libexec/rc

2020-06-23 Thread Mateusz Piotrowski
Author: 0mp (doc,ports committer)
Date: Tue Jun 23 18:35:00 2020
New Revision: 362550
URL: https://svnweb.freebsd.org/changeset/base/362550

Log:
  Remove ldconfig_paths_aout from rc.conf after r362543
  
  Approved by:  imp
  Differential Revision:https://reviews.freebsd.org/D25415

Modified:
  head/libexec/rc/rc.conf

Modified: head/libexec/rc/rc.conf
==
--- head/libexec/rc/rc.conf Tue Jun 23 18:25:31 2020(r362549)
+++ head/libexec/rc/rc.conf Tue Jun 23 18:35:00 2020(r362550)
@@ -653,8 +653,6 @@ ldconfig32_paths="/usr/lib32 /usr/lib32/compat"
 ldconfigsoft_paths="/usr/libsoft /usr/libsoft/compat /usr/local/libsoft"
# soft float compatibility shared library search paths
# Note: temporarily with extra stuff for transition
-ldconfig_paths_aout="/usr/lib/compat/aout /usr/local/lib/aout"
-   # a.out shared library search paths
 ldconfig_local_dirs="/usr/local/libdata/ldconfig"
# Local directories with ldconfig configuration files.
 ldconfig_local32_dirs="/usr/local/libdata/ldconfig32"
___
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: r362549 - head/sys/conf

2020-06-23 Thread Conrad Meyer
Author: cem
Date: Tue Jun 23 18:25:31 2020
New Revision: 362549
URL: https://svnweb.freebsd.org/changeset/base/362549

Log:
  kmod.mk: Don't split out debug symbols if requested
  
  Ports bsd.kmod.mk explicitly sets MK_KERNEL_SYMBOLS=no to prevent auto-
  splitting of debuginfo from kernel modules.  If that knob is set, don't
  split out a .ko.debug and .ko from .ko.full; just generate a .ko with
  debuginfo and leave it be.
  
  Otherwise, with DEBUG_FLAGS set and MK_KERNEL_SYMBOLS=no, we would helpfully
  strip out the debuginfo from the .ko.full and then not install it.  That is
  not the desired result a WITH_DEBUG port kmod build.
  
  Reviewed by:  emaste, jhb
  Differential Revision:https://reviews.freebsd.org/D24835

Modified:
  head/sys/conf/kmod.mk

Modified: head/sys/conf/kmod.mk
==
--- head/sys/conf/kmod.mk   Tue Jun 23 18:24:15 2020(r362548)
+++ head/sys/conf/kmod.mk   Tue Jun 23 18:25:31 2020(r362549)
@@ -215,7 +215,7 @@ OBJS+=  ${SRCS:N*.h:R:S/$/.o/g}
 PROG=  ${KMOD}.ko
 .endif
 
-.if !defined(DEBUG_FLAGS)
+.if !defined(DEBUG_FLAGS) || ${MK_KERNEL_SYMBOLS} == "no"
 FULLPROG=  ${PROG}
 .else
 FULLPROG=  ${PROG}.full
@@ -319,7 +319,7 @@ ${_ILINKS}:
 
 CLEANFILES+= ${PROG} ${KMOD}.kld ${OBJS}
 
-.if defined(DEBUG_FLAGS)
+.if defined(DEBUG_FLAGS) && ${MK_KERNEL_SYMBOLS} != "no"
 CLEANFILES+= ${FULLPROG} ${PROG}.debug
 .endif
 
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r362548 - head/share/man/man5

2020-06-23 Thread Mateusz Piotrowski
Author: 0mp (doc,ports committer)
Date: Tue Jun 23 18:24:15 2020
New Revision: 362548
URL: https://svnweb.freebsd.org/changeset/base/362548

Log:
  Update documentation after dropping support for i386 aout from ldconfig
  
  The i386 aout invocation was removed from rc.d/ldconfig in r362543.

Modified:
  head/share/man/man5/rc.conf.5

Modified: head/share/man/man5/rc.conf.5
==
--- head/share/man/man5/rc.conf.5   Tue Jun 23 18:19:22 2020
(r362547)
+++ head/share/man/man5/rc.conf.5   Tue Jun 23 18:24:15 2020
(r362548)
@@ -3635,13 +3635,6 @@ will always be added first, so they need not appear in
 Set to the list of 32-bit compatibility shared library paths to
 use with
 .Xr ldconfig 8 .
-.It Va ldconfig_paths_aout
-.Pq Vt str
-Set to the list of shared library paths to use with
-.Xr ldconfig 8
-legacy
-.Xr a.out 5
-support.
 .It Va ldconfig_insecure
 .Pq Vt bool
 The
___
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: r362547 - head/usr.sbin/pstat

2020-06-23 Thread Piotr Pawel Stefaniak
Author: pstef
Date: Tue Jun 23 18:19:22 2020
New Revision: 362547
URL: https://svnweb.freebsd.org/changeset/base/362547

Log:
  pstat(8): improve the Size header width after r358181
  
  All size values use fields of width 8. Also, all other headers use fields of
  width 8. Make the Size header added in r358181 use 8 characters as well.

Modified:
  head/usr.sbin/pstat/pstat.c

Modified: head/usr.sbin/pstat/pstat.c
==
--- head/usr.sbin/pstat/pstat.c Tue Jun 23 17:17:13 2020(r362546)
+++ head/usr.sbin/pstat/pstat.c Tue Jun 23 18:19:22 2020(r362547)
@@ -475,7 +475,7 @@ print_swap_header(void)
 
if (humanflag) {
header = SIZEHDR;
-   hlen = sizeof(SIZEHDR);
+   hlen = 8; /* as the hardcoded field width of values */
} else {
header = getbsize(&hlen, &blocksize);
}
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r362531 - in head: cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/lib/libzfs/common cddl/contrib/opensolaris/lib/libzfs_core/common sys/cddl/contrib/opensolaris/uts/common/f

2020-06-23 Thread Matthew Macy
Are you planning on MFCing this? That’s the main value to MFVs at this
point.

Thanks.

On Mon, Jun 22, 2020 at 23:42 Toomas Soome  wrote:

> Author: tsoome
> Date: Tue Jun 23 06:42:39 2020
> New Revision: 362531
> URL: https://svnweb.freebsd.org/changeset/base/362531
>
> Log:
>   MFOpenZFS: Add basic zfs ioc input nvpair validation
>
>   We want newer versions of libzfs_core to run against an existing
>   zfs kernel module (i.e. a deferred reboot or module reload after
>   an update).
>
>   Programmatically document, via a zfs_ioc_key_t, the valid arguments
>   for the ioc commands that rely on nvpair input arguments (i.e. non
>   legacy commands from libzfs_core). Automatically verify the expected
>   pairs before dispatching a command.
>
>   This initial phase focuses on the non-legacy ioctls. A follow-on
>   change can address the legacy ioctl input from the zfs_cmd_t.
>
>   The zfs_ioc_key_t for zfs_keys_channel_program looks like:
>
>   static const zfs_ioc_key_t zfs_keys_channel_program[] = {
>  {"program", DATA_TYPE_STRING,   0},
>  {"arg", DATA_TYPE_UNKNOWN,  0},
>  {"sync",DATA_TYPE_BOOLEAN_VALUE,ZK_OPTIONAL},
>  {"instrlimit",  DATA_TYPE_UINT64,   ZK_OPTIONAL},
>  {"memlimit",DATA_TYPE_UINT64,   ZK_OPTIONAL},
>   };
>
>   Introduce four input errors to identify specific input failures
>   (in addition to generic argument value errors like EINVAL, ERANGE,
>   EBADF, and E2BIG).
>
>   ZFS_ERR_IOC_CMD_UNAVAIL the ioctl number is not supported by kernel
>   ZFS_ERR_IOC_ARG_UNAVAIL an input argument is not supported by kernel
>   ZFS_ERR_IOC_ARG_REQUIRED a required input argument is missing
>   ZFS_ERR_IOC_ARG_BADTYPE an input argument has an invalid type
>
>   Reviewed by:  allanjude
>   Obtained from:OpenZFS
>   Sponsored by: Netflix, Klara Inc.
>   Differential Revision:https://reviews.freebsd.org/D25393
>
> Modified:
>   head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
>   head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
>   head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c
>   head/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
>   head/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h
>
> Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
>
> ==
> --- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.cTue Jun 23
> 04:58:36 2020(r362530)
> +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.cTue Jun 23
> 06:42:39 2020(r362531)
> @@ -7235,7 +7235,7 @@ zfs_do_bookmark(int argc, char **argv)
> fnvlist_free(nvl);
>
> if (ret != 0) {
> -   const char *err_msg;
> +   const char *err_msg = NULL;
> char errbuf[1024];
>
> (void) snprintf(errbuf, sizeof (errbuf),
> @@ -7259,11 +7259,13 @@ zfs_do_bookmark(int argc, char **argv)
> err_msg = "out of space";
> break;
> default:
> -   err_msg = "unknown error";
> +   (void) zfs_standard_error(g_zfs, ret, errbuf);
> break;
> }
> -   (void) fprintf(stderr, "%s: %s\n", errbuf,
> -   dgettext(TEXT_DOMAIN, err_msg));
> +   if (err_msg != NULL) {
> +   (void) fprintf(stderr, "%s: %s\n", errbuf,
> +   dgettext(TEXT_DOMAIN, err_msg));
> +   }
> }
>
> return (ret != 0);
> @@ -7280,7 +7282,7 @@ zfs_do_channel_program(int argc, char **argv)
> char c;
> char *progbuf, *filename, *poolname;
> size_t progsize, progread;
> -   nvlist_t *outnvl;
> +   nvlist_t *outnvl = NULL;
> uint64_t instrlimit = ZCP_DEFAULT_INSTRLIMIT;
> uint64_t memlimit = ZCP_DEFAULT_MEMLIMIT;
> boolean_t sync_flag = B_TRUE, json_output = B_FALSE;
> @@ -7420,7 +7422,8 @@ zfs_do_channel_program(int argc, char **argv)
>  * falling back on strerror() for an unexpected return
> code.
>  */
> char *errstring = NULL;
> -   if (nvlist_exists(outnvl, ZCP_RET_ERROR)) {
> +   const char *msg = gettext("Channel program execution
> failed");
> +   if (outnvl != NULL && nvlist_exists(outnvl,
> ZCP_RET_ERROR)) {
> (void) nvlist_lookup_string(outnvl,
> ZCP_RET_ERROR, &errstring);
> if (errstring == NULL)
> @@ -7449,12 +7452,11 @@ zfs_do_channel_program(int argc, char **argv)
> "programs must be run as root.";
> break;
> default:
> -   

svn commit: r362546 - head/share/man/man7

2020-06-23 Thread Mitchell Horne
Author: mhorne
Date: Tue Jun 23 17:17:13 2020
New Revision: 362546
URL: https://svnweb.freebsd.org/changeset/base/362546

Log:
  arch(7): small corrections for RISC-V
  
  Document that RISC-V supports multiple page sizes: 4K, 2M, and 1G.
  
  RISC-V's long double is always 128-bits wide, therefore quad precision.
  
  Mention __riscv_float_abi_soft, which can be used to differentiate between
  riscv64 and riscv64sf in userland code.
  
  MFC after:3 days

Modified:
  head/share/man/man7/arch.7

Modified: head/share/man/man7/arch.7
==
--- head/share/man/man7/arch.7  Tue Jun 23 16:43:48 2020(r362545)
+++ head/share/man/man7/arch.7  Tue Jun 23 17:17:13 2020(r362546)
@@ -26,7 +26,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd March 28, 2020
+.Dd June 23, 2020
 .Dt ARCH 7
 .Os
 .Sh NAME
@@ -256,8 +256,8 @@ is 8 bytes on all supported architectures except i386.
 .It powerpc Ta 4K
 .It powerpcspe  Ta 4K
 .It powerpc64   Ta 4K
-.It riscv64 Ta 4K
-.It riscv64sf   Ta 4K
+.It riscv64 Ta 4K, 2M, 1G
+.It riscv64sf   Ta 4K, 2M, 1G
 .El
 .Ss Floating Point
 .Bl -column -offset indent "Architecture" "float, double" "long double"
@@ -279,8 +279,8 @@ is 8 bytes on all supported architectures except i386.
 .It powerpc Ta hard Ta hard, double precision
 .It powerpcspe  Ta hard Ta hard, double precision
 .It powerpc64   Ta hard Ta hard, double precision
-.It riscv64 Ta hard Ta hard, double precision
-.It riscv64sf   Ta soft Ta soft, double precision
+.It riscv64 Ta hard Ta hard, quad precision
+.It riscv64sf   Ta soft Ta soft, quad precision
 .El
 .Ss Default Tool Chain
 .Fx
@@ -358,7 +358,7 @@ Architecture-specific macros:
 .It powerpcspe  Ta Dv __powerpc__, Dv __SPE__
 .It powerpc64   Ta Dv __powerpc__, Dv __powerpc64__
 .It riscv64 Ta Dv __riscv, Dv __riscv_xlen == 64
-.It riscv64sf   Ta Dv __riscv, Dv __riscv_xlen == 64
+.It riscv64sf   Ta Dv __riscv, Dv __riscv_xlen == 64, Dv __riscv_float_abi_soft
 .El
 .Pp
 Compilers may define additional variants of architecture-specific macros.
___
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: r362545 - head/usr.bin/sort

2020-06-23 Thread Conrad Meyer
Author: cem
Date: Tue Jun 23 16:43:48 2020
New Revision: 362545
URL: https://svnweb.freebsd.org/changeset/base/362545

Log:
  sort(1): Fix two wchar-related bugs in radixsort
  
  Sort(1)'s radixsort implementation was broken for multibyte LC_CTYPEs in at
  least two ways:
  
* In actual radix sort, it would only bucket the least significant
  byte from each wchar, ignoring the 24 most-significant bits of each
  unicode character.
  
* In degenerate cases / "fast paths," it would fall back to another
  sorting algorithm (default: mergesort) with a bogus comparator
  offset.  The string comparison functions in sort(1) take an offset
  in units of the operating character size.  However, radixsort was
  passing an offset in units of bytes.  The byte offset must be
  divided by sizeof(wchar_t).
  
  This revision addresses both discovered issues.
  
  Some example testcases:
  
$ (echo 耳 ; echo 脳 ; echo 耳) | \
LC_CTYPE=ja_JP.UTF-8 LC_COLLATE=C LANG=C sort --radixsort --debug
  
$ (echo 耳 ; echo 脳 ; echo 耳) | \
LC_CTYPE=C LC_COLLATE=C LANG=C   sort --radixsort --debug
  
$ (for i in $(jot 34); do echo 耳; echo 脳; echo 脴; done) | \
LC_CTYPE=ja_JP.UTF-8 LC_COLLATE=C LANG=C sort --radixsort --debug
  
  PR:   247494
  Reported by:  knu
  MFC after:I do not intend to, but parties interested in stable might want 
to

Modified:
  head/usr.bin/sort/radixsort.c

Modified: head/usr.bin/sort/radixsort.c
==
--- head/usr.bin/sort/radixsort.c   Tue Jun 23 16:29:59 2020
(r362544)
+++ head/usr.bin/sort/radixsort.c   Tue Jun 23 16:43:48 2020
(r362545)
@@ -258,14 +258,28 @@ add_leaf(struct sort_level *sl, struct sort_list_item 
 static inline int
 get_wc_index(struct sort_list_item *sli, size_t level)
 {
+   const size_t wcfact = (MB_CUR_MAX == 1) ? 1 : sizeof(wchar_t);
const struct key_value *kv;
const struct bwstring *bws;
 
kv = get_key_from_keys_array(&sli->ka, 0);
bws = kv->k;
 
-   if ((BWSLEN(bws) > level))
-   return (unsigned char) BWS_GET(bws,level);
+   if ((BWSLEN(bws) * wcfact > level)) {
+   wchar_t res;
+
+   /*
+* Sort wchar strings a byte at a time, rather than a single
+* byte from each wchar.
+*/
+   res = (wchar_t)BWS_GET(bws, level / wcfact);
+   /* Sort most-significant byte first. */
+   if (level % wcfact < wcfact - 1)
+   res = (res >> (8 * (wcfact - 1 - (level % wcfact;
+
+   return (res & 0xff);
+   }
+
return (-1);
 }
 
@@ -317,6 +331,7 @@ free_sort_level(struct sort_level *sl)
 static void
 run_sort_level_next(struct sort_level *sl)
 {
+   const size_t wcfact = (MB_CUR_MAX == 1) ? 1 : sizeof(wchar_t);
struct sort_level *slc;
size_t i, sln, tosort_num;
 
@@ -333,8 +348,16 @@ run_sort_level_next(struct sort_level *sl)
sort_left_dec(1);
goto end;
case (2):
+   /*
+* Radixsort only processes a single byte at a time.  In wchar
+* mode, this can be a subset of the length of a character.
+* list_coll_offset() offset is in units of wchar, not bytes.
+* So to calculate the offset, we must divide by
+* sizeof(wchar_t) and round down to the index of the first
+* character this level references.
+*/
if (list_coll_offset(&(sl->tosort[0]), &(sl->tosort[1]),
-   sl->level) > 0) {
+   sl->level / wcfact) > 0) {
sl->sorted[sl->start_position++] = sl->tosort[1];
sl->sorted[sl->start_position] = sl->tosort[0];
} else {
@@ -348,7 +371,13 @@ run_sort_level_next(struct sort_level *sl)
if (TINY_NODE(sl) || (sl->level > 15)) {
listcoll_t func;
 
-   func = get_list_call_func(sl->level);
+   /*
+* Collate comparison offset is in units of
+* character-width, so we must divide the level (bytes)
+* by operating character width (wchar_t or char).  See
+* longer comment above.
+*/
+   func = get_list_call_func(sl->level / wcfact);
 
sl->leaves = sl->tosort;
sl->leaves_num = sl->tosort_num;
___
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: r362544 - head/lib/libdevdctl

2020-06-23 Thread Ryan Moeller
Author: freqlabs
Date: Tue Jun 23 16:29:59 2020
New Revision: 362544
URL: https://svnweb.freebsd.org/changeset/base/362544

Log:
  libdevdctl: Force full match of "timestamp" field name
  
  OpenZFS generates events with a "zio_timestamp" field, which gets mistaken for
  "timestamp" by libdevdctl due to imprecise string matching.  Then later it is
  assumed a "timestamp" field exists when it doesn't and an exception is thrown.
  
  Add a space to the search string so we match exactly "timestamp" rather than
  anything with that as a suffix.
  
  Approved by:  mav (mentor)
  MFC after:3 days
  Sponsored by: iXsystems, Inc.

Modified:
  head/lib/libdevdctl/event.cc

Modified: head/lib/libdevdctl/event.cc
==
--- head/lib/libdevdctl/event.ccTue Jun 23 15:36:05 2020
(r362543)
+++ head/lib/libdevdctl/event.ccTue Jun 23 16:29:59 2020
(r362544)
@@ -427,7 +427,7 @@ Event::TimestampEventString(std::string &eventString)
 * Add a timestamp as the final field of the event if it is
 * not already present.
 */
-   if (eventString.find("timestamp=") == string::npos) {
+   if (eventString.find(" timestamp=") == string::npos) {
const size_t bufsize = 32;  // Long enough for a 
64-bit int
timeval now;
char timebuf[bufsize];
___
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: r362543 - head/libexec/rc/rc.d

2020-06-23 Thread Ed Maste
Author: emaste
Date: Tue Jun 23 15:36:05 2020
New Revision: 362543
URL: https://svnweb.freebsd.org/changeset/base/362543

Log:
  ldconfig: remove i386 aout invocation
  
  aout support in ldconfig hasn't been required since FreeBSD 2.x.
  
  Anyone still using FreeBSD 2 shared libraries can use a FreeBSD 2
  ldconfig to generate aout ldconfig hints.
  
  Reviewed by:  dim, kib
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D24883

Modified:
  head/libexec/rc/rc.d/ldconfig

Modified: head/libexec/rc/rc.d/ldconfig
==
--- head/libexec/rc/rc.d/ldconfig   Tue Jun 23 15:32:05 2020
(r362542)
+++ head/libexec/rc/rc.d/ldconfig   Tue Jun 23 15:36:05 2020
(r362543)
@@ -85,22 +85,6 @@ ldconfig_start()
${ldconfig} -soft ${_ins} ${_LDC}
;;
esac
-
-   # Legacy aout support for i386 only
-   case ${machine_arch} in
-   i386)
-   # Default the a.out ldconfig path.
-   : ${ldconfig_paths_aout=${ldconfig_paths}}
-   _LDC=""
-   for i in /usr/lib/aout ${ldconfig_paths_aout} 
/etc/ld.so.conf; do
-   if [ -r "${i}" ]; then
-   _LDC="${_LDC} ${i}"
-   fi
-   done
-   check_startmsgs && echo 'a.out ldconfig path:' ${_LDC}
-   ${ldconfig} -aout ${_ins} ${_LDC}
-   ;;
-   esac
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: r362542 - head/sys/arm64/include

2020-06-23 Thread Ed Maste
Author: emaste
Date: Tue Jun 23 15:32:05 2020
New Revision: 362542
URL: https://svnweb.freebsd.org/changeset/base/362542

Log:
  arm64 armreg.h: fix TCR_TBI1 definition
  
  Submitted by: Greg V 
  Differential Revision:https://reviews.freebsd.org/D25411

Modified:
  head/sys/arm64/include/armreg.h

Modified: head/sys/arm64/include/armreg.h
==
--- head/sys/arm64/include/armreg.h Tue Jun 23 15:14:54 2020
(r362541)
+++ head/sys/arm64/include/armreg.h Tue Jun 23 15:32:05 2020
(r362542)
@@ -782,7 +782,7 @@
 #defineTCR_HA_SHIFT39
 #defineTCR_HA  (1UL << TCR_HA_SHIFT)
 #defineTCR_TBI1_SHIFT  38
-#defineTCR_TBI1(1UL << TCR_TBI1_SHIFT
+#defineTCR_TBI1(1UL << TCR_TBI1_SHIFT)
 #defineTCR_TBI0_SHIFT  37
 #defineTCR_TBI0(1U << TCR_TBI0_SHIFT)
 #defineTCR_ASID_SHIFT  36
___
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: r362541 - head/usr.sbin/pkg

2020-06-23 Thread Tom Jones
Author: thj
Date: Tue Jun 23 15:14:54 2020
New Revision: 362541
URL: https://svnweb.freebsd.org/changeset/base/362541

Log:
  pkg: Provide a friendlier message when bootstrap fails due to address 
resolution
  
  The current message when bootstapping pkg fails for any reason implies that 
pkg
  is not available. We have the error code from fetch so if bootstrap failed due
  to address resolution say so.
  
  Reviewed by:bapt, bz
  Approved by:bz (co-mentor)
  MFC after:  3 days
  Differential Revision:  https://reviews.freebsd.org/D25323

Modified:
  head/usr.sbin/pkg/pkg.c

Modified: head/usr.sbin/pkg/pkg.c
==
--- head/usr.sbin/pkg/pkg.c Tue Jun 23 13:57:53 2020(r362540)
+++ head/usr.sbin/pkg/pkg.c Tue Jun 23 15:14:54 2020(r362541)
@@ -915,10 +915,15 @@ bootstrap_pkg(bool force)
 
 fetchfail:
warnx("Error fetching %s: %s", url, fetchLastErrString);
-   fprintf(stderr, "A pre-built version of pkg could not be found for "
-   "your system.\n");
-   fprintf(stderr, "Consider changing PACKAGESITE or installing it from "
-   "ports: 'ports-mgmt/pkg'.\n");
+   if (fetchLastErrCode == FETCH_RESOLV) {
+   fprintf(stderr, "Address resolution failed for %s.\n", 
packagesite);
+   fprintf(stderr, "Consider changing PACKAGESITE.\n");
+   } else {
+   fprintf(stderr, "A pre-built version of pkg could not be found 
for "
+   "your system.\n");
+   fprintf(stderr, "Consider changing PACKAGESITE or installing it 
from "
+   "ports: 'ports-mgmt/pkg'.\n");
+   }
 
 cleanup:
if (fd_sig != -1) {
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r362540 - head/sys/net

2020-06-23 Thread Tycho Nightingale
Author: tychon
Date: Tue Jun 23 13:57:53 2020
New Revision: 362540
URL: https://svnweb.freebsd.org/changeset/base/362540

Log:
  To avoid a startup script race change net.bpf.optimize_writers from
  CTLFLAG_RW to CTLFLAG_RWTUN to allow it to be modified by a loader
  tunable.
  
  Sponsored by: Dell EMC Isilon

Modified:
  head/sys/net/bpf.c

Modified: head/sys/net/bpf.c
==
--- head/sys/net/bpf.c  Tue Jun 23 11:40:11 2020(r362539)
+++ head/sys/net/bpf.c  Tue Jun 23 13:57:53 2020(r362540)
@@ -227,7 +227,7 @@ static SYSCTL_NODE(_net_bpf, OID_AUTO, stats, CTLFLAG_
 
 VNET_DEFINE_STATIC(int, bpf_optimize_writers) = 0;
 #defineV_bpf_optimize_writers VNET(bpf_optimize_writers)
-SYSCTL_INT(_net_bpf, OID_AUTO, optimize_writers, CTLFLAG_VNET | CTLFLAG_RW,
+SYSCTL_INT(_net_bpf, OID_AUTO, optimize_writers, CTLFLAG_VNET | CTLFLAG_RWTUN,
 &VNET_NAME(bpf_optimize_writers), 0,
 "Do not send packets until BPF program is set");
 
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r362539 - head/share/man/man7

2020-06-23 Thread Li-Wen Hsu
Author: lwhsu
Date: Tue Jun 23 11:40:11 2020
New Revision: 362539
URL: https://svnweb.freebsd.org/changeset/base/362539

Log:
  Mention CI system information in development(7)
  
  Approved by:  0mp, bcr
  MFC after:2 weeks
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D25340

Modified:
  head/share/man/man7/development.7

Modified: head/share/man/man7/development.7
==
--- head/share/man/man7/development.7   Tue Jun 23 10:56:15 2020
(r362538)
+++ head/share/man/man7/development.7   Tue Jun 23 11:40:11 2020
(r362539)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 16, 2019
+.Dd June 23, 2020
 .Dt DEVELOPMENT 7
 .Os
 .Sh NAME
@@ -103,6 +103,14 @@ suggest improvements, and, eventually, allows them to 
 commit it:
 .Pp
 .Lk https://reviews.FreeBSD.org
+.Pp
+To check the latest
+.Fx
+build and test status of CURRENT and STABLE branches,
+the continuous integration system is at:
+.Pp
+.Lk https://ci.FreeBSD.org
+.Pp
 .Sh EXAMPLES
 Check out the CURRENT branch, build it, and install, overwriting the current
 system:
___
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: r362538 - head/usr.sbin/service

2020-06-23 Thread Mateusz Piotrowski
Author: 0mp (doc,ports committer)
Date: Tue Jun 23 10:56:15 2020
New Revision: 362538
URL: https://svnweb.freebsd.org/changeset/base/362538

Log:
  Fix a typo and sort options
  
  MFC after:1 week

Modified:
  head/usr.sbin/service/service.8

Modified: head/usr.sbin/service/service.8
==
--- head/usr.sbin/service/service.8 Tue Jun 23 10:27:41 2020
(r362537)
+++ head/usr.sbin/service/service.8 Tue Jun 23 10:56:15 2020
(r362538)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 31, 2018
+.Dd June 23, 2020
 .Dt SERVICE 8
 .Os
 .Sh NAME
@@ -92,14 +92,14 @@ this is usually
 .Pa /usr/local/etc/rc.d .
 All files will be listed whether they are an actual
 rc.d script or not.
+.It Fl R
+Restart all enabled local services.
 .It Fl r
 Generate the
 .Xr rcorder 8
 as in
 .Fl e
 above, but list all of the files, not just what is enabled.
-.It Fl R
-Restart all enabled local services.
 .It Fl v
 Be slightly more verbose.
 .El
@@ -129,7 +129,7 @@ service -j dns named status
 service -rv
 .Ed
 .Pp
-The following programmable completion entry can be use in
+The following programmable completion entry can be used in
 .Xr bash 1
 for the names of the rc.d scripts:
 .Bd -literal -offset -ident
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r362338 - in head: share/man/man4 sys/conf sys/kern sys/netinet sys/netinet6 sys/netipsec sys/netpfil/pf

2020-06-23 Thread Andrey V. Elsukov
On 23.06.2020 01:20, John Baldwin wrote:
>> I tend to assume that a buildkernel of GENERIC without any special flags
>> will always build all modules (except those not available for the target
>> platform of course), so I was a bit surprised to see that this isn't the
>> case for ipsec.ko.  As Rodney pointed out it provides marginally better
>> coverage against build breaks.  If you think we can restore the old
>> behaviour for ipsec without too much work I think it'd be reasonable to
>> change that and compile sctp.ko even when "options SCTP" is configured.
>> I can't spot any similar cases in sys/modules/Makefile with a bit of
>> skimming.
> 
> I don't think ipsec.ko is easily fixable when I looked at it.  I think it
> is fine to leave sctp.ko building as part of GENERIC though.

Hi,

I'm sorry, I missed these changes, but in the past there weren't any
problems in building ipsec.ko module with/without any possible options.
I'll try to look what happened and what can be do to fix this at the
weekend.

-- 
WBR, Andrey V. Elsukov
___
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: r362537 - head/usr.bin/colrm

2020-06-23 Thread Mateusz Piotrowski
Author: 0mp (doc,ports committer)
Date: Tue Jun 23 10:27:41 2020
New Revision: 362537
URL: https://svnweb.freebsd.org/changeset/base/362537

Log:
  colrm.1: Add a missing colon

Modified:
  head/usr.bin/colrm/colrm.1

Modified: head/usr.bin/colrm/colrm.1
==
--- head/usr.bin/colrm/colrm.1  Tue Jun 23 10:22:58 2020(r362536)
+++ head/usr.bin/colrm/colrm.1  Tue Jun 23 10:27:41 2020(r362537)
@@ -76,7 +76,7 @@ as described in
 .Sh EXIT STATUS
 .Ex -std
 .Sh EXAMPLES
-Show columns below 3 (c) and above 5 (e)
+Show columns below 3 (c) and above 5 (e):
 .Bd -literal -offset indent
 $ echo -e "abcdefgh\en12345678" | colrm 3 5
 abfgh
___
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: r362536 - head/usr.bin/tee

2020-06-23 Thread Mateusz Piotrowski
Author: 0mp (doc,ports committer)
Date: Tue Jun 23 10:22:58 2020
New Revision: 362536
URL: https://svnweb.freebsd.org/changeset/base/362536

Log:
  tee.1: Add a missing article

Modified:
  head/usr.bin/tee/tee.1

Modified: head/usr.bin/tee/tee.1
==
--- head/usr.bin/tee/tee.1  Tue Jun 23 10:15:08 2020(r362535)
+++ head/usr.bin/tee/tee.1  Tue Jun 23 10:22:58 2020(r362536)
@@ -75,7 +75,7 @@ option.
 .Sh EXIT STATUS
 .Ex -std
 .Sh EXAMPLES
-Send echoed message both to stdout and to the
+Send the echoed message both to stdout and to the
 .Pa greetings.txt
 file:
 .Bd -literal -offset indent
___
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: r362535 - head/usr.bin/colrm

2020-06-23 Thread Fernando Apesteguía
Author: fernape (ports committer)
Date: Tue Jun 23 10:15:08 2020
New Revision: 362535
URL: https://svnweb.freebsd.org/changeset/base/362535

Log:
  colrm(1): Add EXAMPLES section
  
  Add a couple of simple examples
  
  Approved by:  bcr@
  Differential Revision:https://reviews.freebsd.org/D25196

Modified:
  head/usr.bin/colrm/colrm.1

Modified: head/usr.bin/colrm/colrm.1
==
--- head/usr.bin/colrm/colrm.1  Tue Jun 23 10:05:07 2020(r362534)
+++ head/usr.bin/colrm/colrm.1  Tue Jun 23 10:15:08 2020(r362535)
@@ -28,7 +28,7 @@
 .\" @(#)colrm.18.1 (Berkeley) 6/6/93
 .\" $FreeBSD$
 .\"
-.Dd June 6, 2015
+.Dd June 23, 2020
 .Dt COLRM 1
 .Os
 .Sh NAME
@@ -75,6 +75,26 @@ as described in
 .Xr environ 7 .
 .Sh EXIT STATUS
 .Ex -std
+.Sh EXAMPLES
+Show columns below 3 (c) and above 5 (e)
+.Bd -literal -offset indent
+$ echo -e "abcdefgh\en12345678" | colrm 3 5
+abfgh
+12678
+.Ed
+.Pp
+Specifying a start column bigger than the number of columns in the file is
+allowed and shows all the columns:
+.Bd -literal -offset indent
+$ echo "abcdefgh" | colrm 100
+abcdefgh
+.Ed
+.Pp
+Using 1 as start column will show nothing:
+.Bd -literal -offset indent
+$ echo "abcdefgh" | colrm 1
+
+.Ed
 .Sh SEE ALSO
 .Xr awk 1 ,
 .Xr column 1 ,
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r362534 - head/usr.bin/tee

2020-06-23 Thread Fernando Apesteguía
Author: fernape (ports committer)
Date: Tue Jun 23 10:05:07 2020
New Revision: 362534
URL: https://svnweb.freebsd.org/changeset/base/362534

Log:
  tee(1): Add EXAMPLES section
  
  Add one simple example
  
  Approved by:  bcr@
  Differential Revision:https://reviews.freebsd.org/D25337

Modified:
  head/usr.bin/tee/tee.1

Modified: head/usr.bin/tee/tee.1
==
--- head/usr.bin/tee/tee.1  Tue Jun 23 07:48:48 2020(r362533)
+++ head/usr.bin/tee/tee.1  Tue Jun 23 10:05:07 2020(r362534)
@@ -31,7 +31,7 @@
 .\" @(#)tee.1  8.1 (Berkeley) 6/6/93
 .\" $FreeBSD$
 .\"
-.Dd June 18, 2020
+.Dd June 23, 2020
 .Dt TEE 1
 .Os
 .Sh NAME
@@ -75,7 +75,9 @@ option.
 .Sh EXIT STATUS
 .Ex -std
 .Sh EXAMPLES
-Send echoed message both to stdout and to the greetings file:
+Send echoed message both to stdout and to the
+.Pa greetings.txt
+file:
 .Bd -literal -offset indent
 $ echo "Hello" | tee greetings.txt
 Hello
___
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: r362533 - head/usr.bin/hexdump

2020-06-23 Thread Fernando Apesteguía
Author: fernape (ports committer)
Date: Tue Jun 23 07:48:48 2020
New Revision: 362533
URL: https://svnweb.freebsd.org/changeset/base/362533

Log:
  od(1): Add EXAMPLES section
  
   * Add two small examples showing the use of -a, -c, -j and -N
   * While here, remove obsolete .Tn reported by mandoc(1)
  
  Approved by:  0mp@
  Differential Revision:https://reviews.freebsd.org/D25372

Modified:
  head/usr.bin/hexdump/od.1

Modified: head/usr.bin/hexdump/od.1
==
--- head/usr.bin/hexdump/od.1   Tue Jun 23 07:33:29 2020(r362532)
+++ head/usr.bin/hexdump/od.1   Tue Jun 23 07:48:48 2020(r362533)
@@ -143,7 +143,7 @@ is a string containing one or more of the following ki
 .Bl -tag -width indent
 .It Cm a
 Named characters
-.Pq Tn ASCII .
+.Pq ASCII .
 Control characters are displayed using the following names:
 .Bl -column "000 NUL" "001 SOH" "002 STX" "003 ETX" "004 EOT" "005 ENQ"
 .It "000 NUL   001 SOH 002 STX 003 ETX 004 EOT 005 ENQ"
@@ -243,6 +243,24 @@ as described in
 .Xr environ 7 .
 .Sh EXIT STATUS
 .Ex -std
+.Sh EXAMPLES
+Dump stdin and show the output using named characters and C-style escaped
+characters:
+.Bd -literal -offset indent
+$ echo "FreeBSD: The power to serve" | od -a -c
+000F   r   e   e   B   S   D   :  sp   T   h   e  sp   p   o   w
+   F   r   e   e   B   S   D   :   T   h   e   p   o   w
+020e   r  sp   t   o  sp   s   e   r   v   e  nl
+   e   r   t   o   s   e   r   v   e  \en
+034
+.Ed
+.Pp
+Dump stdin skipping the first 13 bytes using named characters and dumping no
+more than 5 bytes:
+.Bd -literal -offset indent
+$ echo "FreeBSD: The power to serve" | od -An -a -j 13 -N 5
+   p   o   w   e   r
+.Ed
 .Sh COMPATIBILITY
 The traditional
 .Fl s
___
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: r362532 - in head/sys/dev/cxgbe: . crypto

2020-06-23 Thread Navdeep Parhar
Author: np
Date: Tue Jun 23 07:33:29 2020
New Revision: 362532
URL: https://svnweb.freebsd.org/changeset/base/362532

Log:
  cxgbe(4): Add a tx_len16_to_desc helper.
  
  No functional change.
  
  MFC after:1 week
  Sponsored by: Chelsio Communications

Modified:
  head/sys/dev/cxgbe/adapter.h
  head/sys/dev/cxgbe/crypto/t4_kern_tls.c
  head/sys/dev/cxgbe/t4_sge.c

Modified: head/sys/dev/cxgbe/adapter.h
==
--- head/sys/dev/cxgbe/adapter.hTue Jun 23 06:42:39 2020
(r362531)
+++ head/sys/dev/cxgbe/adapter.hTue Jun 23 07:33:29 2020
(r362532)
@@ -1347,4 +1347,12 @@ write_via_memwin(struct adapter *sc, int idx, uint32_t
 
return (rw_via_memwin(sc, idx, addr, (void *)(uintptr_t)val, len, 1));
 }
+
+/* Number of len16 -> number of descriptors */
+static inline int
+tx_len16_to_desc(int len16)
+{
+
+   return (howmany(len16, EQ_ESIZE / 16));
+}
 #endif

Modified: head/sys/dev/cxgbe/crypto/t4_kern_tls.c
==
--- head/sys/dev/cxgbe/crypto/t4_kern_tls.c Tue Jun 23 06:42:39 2020
(r362531)
+++ head/sys/dev/cxgbe/crypto/t4_kern_tls.c Tue Jun 23 07:33:29 2020
(r362532)
@@ -1375,7 +1375,7 @@ ktls_write_tcp_options(struct sge_txq *txq, void *dst,
pktlen = m->m_len;
ctrl = sizeof(struct cpl_tx_pkt_core) + pktlen;
len16 = howmany(sizeof(struct fw_eth_tx_pkt_wr) + ctrl, 16);
-   ndesc = howmany(len16, EQ_ESIZE / 16);
+   ndesc = tx_len16_to_desc(len16);
MPASS(ndesc <= available);
 
/* Firmware work request header */
@@ -1475,7 +1475,7 @@ ktls_write_tunnel_packet(struct sge_txq *txq, void *ds
pktlen = m->m_len + m_tls->m_len;
ctrl = sizeof(struct cpl_tx_pkt_core) + pktlen;
len16 = howmany(sizeof(struct fw_eth_tx_pkt_wr) + ctrl, 16);
-   ndesc = howmany(len16, EQ_ESIZE / 16);
+   ndesc = tx_len16_to_desc(len16);
MPASS(ndesc <= available);
 
/* Firmware work request header */
@@ -2116,7 +2116,7 @@ ktls_write_tcp_fin(struct sge_txq *txq, void *dst, str
pktlen = m->m_len;
ctrl = sizeof(struct cpl_tx_pkt_core) + pktlen;
len16 = howmany(sizeof(struct fw_eth_tx_pkt_wr) + ctrl, 16);
-   ndesc = howmany(len16, EQ_ESIZE / 16);
+   ndesc = tx_len16_to_desc(len16);
MPASS(ndesc <= available);
 
/* Firmware work request header */

Modified: head/sys/dev/cxgbe/t4_sge.c
==
--- head/sys/dev/cxgbe/t4_sge.c Tue Jun 23 06:42:39 2020(r362531)
+++ head/sys/dev/cxgbe/t4_sge.c Tue Jun 23 07:33:29 2020(r362532)
@@ -2708,7 +2708,7 @@ start_wrq_wr(struct sge_wrq *wrq, int len16, struct wr
void *w;
 
MPASS(len16 > 0);
-   ndesc = howmany(len16, EQ_ESIZE / 16);
+   ndesc = tx_len16_to_desc(len16);
MPASS(ndesc > 0 && ndesc <= SGE_MAX_WR_NDESC);
 
EQ_LOCK(eq);
@@ -2920,10 +2920,9 @@ eth_tx(struct mp_ring *r, u_int cidx, u_int pidx)
M_ASSERTPKTHDR(m0);
MPASS(m0->m_nextpkt == NULL);
 
-   if (available < howmany(mbuf_len16(m0), EQ_ESIZE / 16)) {
-   MPASS(howmany(mbuf_len16(m0), EQ_ESIZE / 16) <= 64);
+   if (available < tx_len16_to_desc(mbuf_len16(m0))) {
available += reclaim_tx_descs(txq, 64);
-   if (available < howmany(mbuf_len16(m0), EQ_ESIZE / 16))
+   if (available < tx_len16_to_desc(mbuf_len16(m0)))
break;  /* out of descriptors */
}
 
@@ -4678,7 +4677,7 @@ write_txpkt_vm_wr(struct adapter *sc, struct sge_txq *
ctrl = sizeof(struct cpl_tx_pkt_core);
if (needs_tso(m0))
ctrl += sizeof(struct cpl_tx_pkt_lso_core);
-   ndesc = howmany(len16, EQ_ESIZE / 16);
+   ndesc = tx_len16_to_desc(len16);
MPASS(ndesc <= available);
 
/* Firmware work request header */
@@ -4789,7 +4788,7 @@ write_raw_wr(struct sge_txq *txq, void *wr, struct mbu
int len16, ndesc;
 
len16 = mbuf_len16(m0);
-   ndesc = howmany(len16, EQ_ESIZE / 16);
+   ndesc = tx_len16_to_desc(len16);
MPASS(ndesc <= available);
 
dst = wr;
@@ -4842,7 +4841,7 @@ write_txpkt_wr(struct adapter *sc, struct sge_txq *txq
sizeof(struct cpl_tx_pkt_core) + pktlen, 16);
nsegs = 0;
}
-   ndesc = howmany(len16, EQ_ESIZE / 16);
+   ndesc = tx_len16_to_desc(len16);
MPASS(ndesc <= available);
 
/* Firmware work request header */
@@ -4948,7 +4947,7 @@ try_txpkts(struct mbuf *m, struct mbuf *n, struct txpk
l2 = txpkts0_len16(nsegs2);
}
txp->len16 = howmany(sizeof(struct fw_eth_tx_pkts_wr), 16) + l1 + l2;
-   needed = howmany(txp->len16, EQ_ESIZE / 16)