svn commit: r368053 - head/lib/libsysdecode

2020-11-26 Thread Pawel Biernacki
Author: kaktus
Date: Thu Nov 26 09:07:45 2020
New Revision: 368053
URL: https://svnweb.freebsd.org/changeset/base/368053

Log:
  libsysdecode: account for invalid protection flags
  
  Reported by:  jhb
  MFC with: r368022

Modified:
  head/lib/libsysdecode/flags.c

Modified: head/lib/libsysdecode/flags.c
==
--- head/lib/libsysdecode/flags.c   Thu Nov 26 07:34:20 2020
(r368052)
+++ head/lib/libsysdecode/flags.c   Thu Nov 26 09:07:45 2020
(r368053)
@@ -662,7 +662,7 @@ sysdecode_mmap_prot(FILE *fp, int prot, int *rem)
 
printed = false;
protm = PROT_MAX_EXTRACT(prot);
-   prot = PROT_EXTRACT(prot);
+   prot &= ~PROT_MAX(protm);
if (protm != 0) {
fputs("PROT_MAX(", fp);
printed = print_mask_int(fp, mmapprot, protm, rem);
___
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: r368022 - head/lib/libsysdecode

2020-11-25 Thread Pawel Biernacki
Author: kaktus
Date: Wed Nov 25 16:30:57 2020
New Revision: 368022
URL: https://svnweb.freebsd.org/changeset/base/368022

Log:
  libsysdecode: correctly decode mmap flags
  
  r352913 added decoding of mmap PROT_MAX()'d flags but didn’t account for the
  case where different values were specified for PROT_MAX and regular flags.
  Fix it.
  
  Submitted by: sigsys_gmail.com
  Reported by:  sigsys_gmail.com
  MFC after:7 days
  Differential Revision:https://reviews.freebsd.org/D27312

Modified:
  head/lib/libsysdecode/flags.c

Modified: head/lib/libsysdecode/flags.c
==
--- head/lib/libsysdecode/flags.c   Wed Nov 25 15:45:20 2020
(r368021)
+++ head/lib/libsysdecode/flags.c   Wed Nov 25 16:30:57 2020
(r368022)
@@ -662,11 +662,11 @@ sysdecode_mmap_prot(FILE *fp, int prot, int *rem)
 
printed = false;
protm = PROT_MAX_EXTRACT(prot);
+   prot = PROT_EXTRACT(prot);
if (protm != 0) {
fputs("PROT_MAX(", fp);
printed = print_mask_int(fp, mmapprot, protm, rem);
fputs(")|", fp);
-   prot = protm;
}
return (print_mask_int(fp, mmapprot, prot, rem) || printed);
 }
___
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: r366537 - head/libexec/rc/rc.d

2020-10-08 Thread Pawel Biernacki
Author: kaktus
Date: Thu Oct  8 11:45:10 2020
New Revision: 366537
URL: https://svnweb.freebsd.org/changeset/base/366537

Log:
  [pf] /etc/rc.d/pf should REQUIRE routing
  
  When a system with pf_enable="YES" in /etc/rc.conf uses hostnames in
  /etc/pf.conf, these hostnames cannot be resolved via external nameservers
  because the default route is not yet set. This results in an empty
  (all open) ruleset.
  
  Since r195026 already put netif back to REQUIRE, this change does not affect
  the issue that the firewall should rather have been setup before any
  network traffic can occur.
  
  PR:   211928
  Submitted by: Robert Schulze
  Reported by:  Robert Schulze
  Tested by:Mateusz Kwiatkowski
  No objections from:   kp
  MFC after:3 days

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

Modified: head/libexec/rc/rc.d/pf
==
--- head/libexec/rc/rc.d/pf Thu Oct  8 11:30:22 2020(r366536)
+++ head/libexec/rc/rc.d/pf Thu Oct  8 11:45:10 2020(r366537)
@@ -4,8 +4,7 @@
 #
 
 # PROVIDE: pf
-# REQUIRE: FILESYSTEMS netif pflog pfsync
-# BEFORE:  routing
+# REQUIRE: FILESYSTEMS netif pflog pfsync routing
 # KEYWORD: nojailvnet
 
 . /etc/rc.subr
___
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: r362969 - head/sys/kern

2020-07-06 Thread Pawel Biernacki
Author: kaktus
Date: Mon Jul  6 16:34:15 2020
New Revision: 362969
URL: https://svnweb.freebsd.org/changeset/base/362969

Log:
  kern.tty_info_kstacks: set compact format as default

Modified:
  head/sys/kern/tty_info.c

Modified: head/sys/kern/tty_info.c
==
--- head/sys/kern/tty_info.cMon Jul  6 16:34:09 2020(r362968)
+++ head/sys/kern/tty_info.cMon Jul  6 16:34:15 2020(r362969)
@@ -239,7 +239,7 @@ sbuf_tty_drain(void *a, const char *d, int len)
 }
 
 #ifdef STACK
-static int tty_info_kstacks = STACK_SBUF_FMT_LONG;
+static int tty_info_kstacks = STACK_SBUF_FMT_COMPACT;
 
 static int
 sysctl_tty_info_kstacks(SYSCTL_HANDLER_ARGS)
___
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: r362967 - in head/sys: kern sys

2020-07-06 Thread Pawel Biernacki
Author: kaktus
Date: Mon Jul  6 16:33:28 2020
New Revision: 362967
URL: https://svnweb.freebsd.org/changeset/base/362967

Log:
  kern.tty_info_kstacks: add a compact format
  
  Add a more compact display format for kern.tty_info_kstacks inspired by
  procstat -kk. Set it as a default one.
  
  # sysctl kern.tty_info_kstacks=1
  kern.tty_info_kstacks: 0 -> 1
  # sleep 2
  ^T
  load: 0.17  cmd: sleep 623 [nanslp] 0.72r 0.00u 0.00s 0% 2124k
  #0 0x80c4443e at mi_switch+0xbe
  #1 0x80c98044 at sleepq_catch_signals+0x494
  #2 0x80c982c2 at sleepq_timedwait_sig+0x12
  #3 0x80c43af3 at _sleep+0x193
  #4 0x80c50e31 at kern_clock_nanosleep+0x1a1
  #5 0x80c5119b at sys_nanosleep+0x3b
  #6 0x810ffc69 at amd64_syscall+0x119
  #7 0x810d5520 at fast_syscall_common+0x101
  sleep: about 1 second(s) left out of the original 2
  ^C
  # sysctl kern.tty_info_kstacks=2
  kern.tty_info_kstacks: 1 -> 2
  # sleep 2
  ^T
  load: 0.24  cmd: sleep 625 [nanslp] 0.81r 0.00u 0.00s 0% 2124k
  mi_switch+0xbe sleepq_catch_signals+0x494 sleepq_timedwait_sig+0x12
  sleep+0x193 kern_clock_nanosleep+0x1a1 sys_nanosleep+0x3b
  amd64_syscall+0x119 fast_syscall_common+0x101
  sleep: about 1 second(s) left out of the original 2
  ^C
  
  Suggested by: avg
  Reviewed by:  mjg
  Relnotes: yes
  Sponsored by: Mysterious Code Ltd.
  Differential Revision:https://reviews.freebsd.org/D25487

Modified:
  head/sys/kern/subr_stack.c
  head/sys/kern/tty_info.c
  head/sys/sys/stack.h

Modified: head/sys/kern/subr_stack.c
==
--- head/sys/kern/subr_stack.c  Mon Jul  6 16:33:21 2020(r362966)
+++ head/sys/kern/subr_stack.c  Mon Jul  6 16:33:28 2020(r362967)
@@ -170,7 +170,8 @@ stack_print_short_ddb(const struct stack *st)
  * flags - M_WAITOK or M_NOWAIT (EWOULDBLOCK).
  */
 int
-stack_sbuf_print_flags(struct sbuf *sb, const struct stack *st, int flags)
+stack_sbuf_print_flags(struct sbuf *sb, const struct stack *st, int flags,
+enum stack_sbuf_fmt format)
 {
char namebuf[64];
long offset;
@@ -182,9 +183,19 @@ stack_sbuf_print_flags(struct sbuf *sb, const struct s
, flags);
if (error == EWOULDBLOCK)
return (error);
-   sbuf_printf(sb, "#%d %p at %s+%#lx\n", i, (void *)st->pcs[i],
-   namebuf, offset);
+   switch (format) {
+   case STACK_SBUF_FMT_LONG:
+   sbuf_printf(sb, "#%d %p at %s+%#lx\n", i,
+   (void *)st->pcs[i], namebuf, offset);
+   break;
+   case STACK_SBUF_FMT_COMPACT:
+   sbuf_printf(sb, "%s+%#lx ", namebuf, offset);
+   break;
+   default:
+   __assert_unreachable();
+   }
}
+   sbuf_nl_terminate(sb);
return (0);
 }
 
@@ -192,7 +203,7 @@ void
 stack_sbuf_print(struct sbuf *sb, const struct stack *st)
 {
 
-   (void)stack_sbuf_print_flags(sb, st, M_WAITOK);
+   (void)stack_sbuf_print_flags(sb, st, M_WAITOK, STACK_SBUF_FMT_LONG);
 }
 
 #if defined(DDB) || defined(WITNESS)

Modified: head/sys/kern/tty_info.c
==
--- head/sys/kern/tty_info.cMon Jul  6 16:33:21 2020(r362966)
+++ head/sys/kern/tty_info.cMon Jul  6 16:33:28 2020(r362967)
@@ -239,10 +239,36 @@ sbuf_tty_drain(void *a, const char *d, int len)
 }
 
 #ifdef STACK
-static bool tty_info_kstacks = true;
-SYSCTL_BOOL(_kern, OID_AUTO, tty_info_kstacks, CTLFLAG_RWTUN,
-_info_kstacks, 0,
-"Enable printing kernel stack(9) traces on ^T (tty info)");
+static int tty_info_kstacks = STACK_SBUF_FMT_LONG;
+
+static int
+sysctl_tty_info_kstacks(SYSCTL_HANDLER_ARGS)
+{
+   enum stack_sbuf_fmt val;
+   int error;
+
+   val = tty_info_kstacks;
+   error = sysctl_handle_int(oidp, , 0, req);
+   if (error != 0 || req->newptr == NULL)
+   return (error);
+
+   switch (val) {
+   case STACK_SBUF_FMT_NONE:
+   case STACK_SBUF_FMT_LONG:
+   case STACK_SBUF_FMT_COMPACT:
+   tty_info_kstacks = val;
+   break;
+   default:
+   error = EINVAL;
+   }
+
+   return (error);
+}
+SYSCTL_PROC(_kern, OID_AUTO, tty_info_kstacks,
+CTLFLAG_RWTUN | CTLFLAG_MPSAFE | CTLTYPE_INT, NULL, 0,
+sysctl_tty_info_kstacks, "I",
+"Adjust format of kernel stack(9) traces on ^T (tty info): "
+"0 - disabled; 1 - long; 2 - compact");
 #endif
 
 /*
@@ -254,7 +280,8 @@ tty_info(struct tty *tp)
struct timeval rtime, utime, stime;
 #ifdef STACK
struct stack stack;
-   int sterr;
+   int sterr, kstacks_val;
+   bool print_kstacks;
 #endif
struct proc *p, *ppick;
struct thread *td, *tdpick;
@@ -337,7 +364,10 @@ 

svn commit: r362947 - head/usr.bin/truss

2020-07-05 Thread Pawel Biernacki
Author: kaktus
Date: Sun Jul  5 19:53:54 2020
New Revision: 362947
URL: https://svnweb.freebsd.org/changeset/base/362947

Log:
  truss: print more information about traced sysctls
  
  MFC after:2 weeks
  Sponsored by: Mysterious Code Ltd.

Modified:
  head/usr.bin/truss/syscalls.c

Modified: head/usr.bin/truss/syscalls.c
==
--- head/usr.bin/truss/syscalls.c   Sun Jul  5 19:38:36 2020
(r362946)
+++ head/usr.bin/truss/syscalls.c   Sun Jul  5 19:53:54 2020
(r362947)
@@ -1577,14 +1577,37 @@ print_cmsgs(FILE *fp, pid_t pid, bool receive, struct 
 }
 
 static void
-print_sysctl_oid(FILE *fp, int *oid, int len)
+print_sysctl_oid(FILE *fp, int *oid, size_t len)
 {
-   int i;
+   size_t i;
+   bool first;
 
-   for (i = 0; i < len; i++)
-   fprintf(fp, ".%d", oid[i]);
+   first = true;
+   fprintf(fp, "{ ");
+   for (i = 0; i < len; i++) {
+   fprintf(fp, "%s%d", first ? "" : ".", oid[i]);
+   first = false;
+   }
+   fprintf(fp, " }");
 }
 
+static void
+print_sysctl(FILE *fp, int *oid, size_t len)
+{
+   char name[BUFSIZ];
+   int qoid[CTL_MAXNAME + 2];
+   size_t i;
+
+   qoid[0] = CTL_SYSCTL;
+   qoid[1] = CTL_SYSCTL_NAME;
+   memcpy(qoid + 2, oid, len * sizeof(int));
+   i = sizeof(name);
+   if (sysctl(qoid, len + 2, name, , 0, 0) == -1)
+   print_sysctl_oid(fp, oid, len);
+   else
+   fprintf(fp, "%s", name);
+}
+
 /*
  * Converts a syscall argument into a string.  Said string is
  * allocated via malloc(), so needs to be free()'d.  sc is
@@ -2298,9 +2321,8 @@ print_arg(struct syscall_args *sc, unsigned long *args
break;
case Sysctl: {
char name[BUFSIZ];
-   int oid[CTL_MAXNAME + 2], qoid[CTL_MAXNAME + 2];
-   size_t i;
-   int len;
+   int oid[CTL_MAXNAME + 2];
+   size_t len;
 
memset(name, 0, sizeof(name));
len = args[sc->offset + 1];
@@ -2314,39 +2336,35 @@ print_arg(struct syscall_args *sc, unsigned long *args
fprintf(fp, "debug");
break;
case CTL_SYSCTL_NAME:
-   fprintf(fp, "name");
+   fprintf(fp, "name ");
print_sysctl_oid(fp, oid + 2, len - 2);
break;
case CTL_SYSCTL_NEXT:
fprintf(fp, "next");
break;
case CTL_SYSCTL_NAME2OID:
-   fprintf(fp, "name2oid");
+   fprintf(fp, "name2oid %s",
+   get_string(pid,
+   args[sc->offset + 4],
+   args[sc->offset + 5]));
break;
case CTL_SYSCTL_OIDFMT:
-   fprintf(fp, "oidfmt");
-   print_sysctl_oid(fp, oid + 2, len - 2);
+   fprintf(fp, "oidfmt ");
+   print_sysctl(fp, oid + 2, len - 2);
break;
case CTL_SYSCTL_OIDDESCR:
-   fprintf(fp, "oiddescr");
-   print_sysctl_oid(fp, oid + 2, len - 2);
+   fprintf(fp, "oiddescr ");
+   print_sysctl(fp, oid + 2, len - 2);
break;
case CTL_SYSCTL_OIDLABEL:
-   fprintf(fp, "oidlabel");
-   print_sysctl_oid(fp, oid + 2, len - 2);
+   fprintf(fp, "oidlabel ");
+   print_sysctl(fp, oid + 2, len - 2);
break;
default:
-   print_sysctl_oid(fp, oid + 1, len - 1);
+   print_sysctl(fp, oid + 1, len - 1);
}
} else {
-   qoid[0] = CTL_SYSCTL;
-   qoid[1] = CTL_SYSCTL_NAME;
-   memcpy(qoid + 2, oid, len * sizeof(int));
-   i = sizeof(name);
-   if (sysctl(qoid, len + 2, name, , 0, 0) == -1)
-

svn commit: r362932 - head/sys/dev/ixl

2020-07-04 Thread Pawel Biernacki
Author: kaktus
Date: Sat Jul  4 14:20:03 2020
New Revision: 362932
URL: https://svnweb.freebsd.org/changeset/base/362932

Log:
  dev.ixl..debug: mark as MPSAFE
  
  This node provides no handler, it's implicitly MPSAFE.
  
  Reviewed by:  erj
  Sponsored by: Mysterious Code Ltd.
  Differential Revision:https://reviews.freebsd.org/D25408

Modified:
  head/sys/dev/ixl/if_iavf.c

Modified: head/sys/dev/ixl/if_iavf.c
==
--- head/sys/dev/ixl/if_iavf.c  Sat Jul  4 13:32:57 2020(r362931)
+++ head/sys/dev/ixl/if_iavf.c  Sat Jul  4 14:20:03 2020(r362932)
@@ -2090,7 +2090,7 @@ iavf_add_device_sysctls(struct iavf_sc *sc)
/* Add sysctls meant to print debug information, but don't list them
 * in "sysctl -a" output. */
debug_node = SYSCTL_ADD_NODE(ctx, ctx_list,
-   OID_AUTO, "debug", CTLFLAG_RD | CTLFLAG_SKIP | CTLFLAG_NEEDGIANT,
+   OID_AUTO, "debug", CTLFLAG_RD | CTLFLAG_SKIP | CTLFLAG_MPSAFE,
NULL, "Debug Sysctls");
debug_list = SYSCTL_CHILDREN(debug_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: r362612 - head/usr.sbin/bhyve

2020-06-25 Thread Pawel Biernacki
Author: kaktus
Date: Thu Jun 25 12:35:20 2020
New Revision: 362612
URL: https://svnweb.freebsd.org/changeset/base/362612

Log:
  bhyve: allow for automatic destruction on power-off
  
  Introduce -D flag that allows for the VM to be destroyed on guest initiated
  power-off by the bhyve(8) process itself.
  This is quality of life change that allows for simpler deployments without
  the need for bhyvectl --destroy.
  
  Requested by: swills
  Reviewed by:  0mp (manpages), grehan, kib, swills
  Approved by:  kib (mentor)
  MFC after:2 weeks
  Sponsored by: Mysterious Code Ltd.
  Differential Revision:https://reviews.freebsd.org/D25414

Modified:
  head/usr.sbin/bhyve/bhyve.8
  head/usr.sbin/bhyve/bhyverun.c

Modified: head/usr.sbin/bhyve/bhyve.8
==
--- head/usr.sbin/bhyve/bhyve.8 Thu Jun 25 12:31:05 2020(r362611)
+++ head/usr.sbin/bhyve/bhyve.8 Thu Jun 25 12:35:20 2020(r362612)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 18, 2020
+.Dd Jun 25, 2020
 .Dt BHYVE 8
 .Os
 .Sh NAME
@@ -32,7 +32,7 @@
 .Nd "run a guest operating system inside a virtual machine"
 .Sh SYNOPSIS
 .Nm
-.Op Fl AabCeHhPSuWwxY
+.Op Fl AabCDeHhPSuWwxY
 .Oo
 .Sm off
 .Fl c\~
@@ -131,6 +131,8 @@ If a
 is specified more than once the last one has precedence.
 .It Fl C
 Include guest memory in core file.
+.It Fl D
+Destroy the VM on guest initiated power-off.
 .It Fl e
 Force
 .Nm

Modified: head/usr.sbin/bhyve/bhyverun.c
==
--- head/usr.sbin/bhyve/bhyverun.c  Thu Jun 25 12:31:05 2020
(r362611)
+++ head/usr.sbin/bhyve/bhyverun.c  Thu Jun 25 12:35:20 2020
(r362612)
@@ -197,6 +197,7 @@ static int gdb_port = 0;
 static int guest_vmexit_on_hlt, guest_vmexit_on_pause;
 static int virtio_msix = 1;
 static int x2apic_mode = 0;/* default is xAPIC */
+static int destroy_on_poweroff = 0;
 
 static int strictio;
 static int strictmsr = 1;
@@ -236,7 +237,7 @@ usage(int code)
 {
 
 fprintf(stderr,
-   "Usage: %s [-abehuwxACHPSWY]\n"
+   "Usage: %s [-abehuwxACDHPSWY]\n"
"   %*s [-c 
[[cpus=]numcpus][,sockets=n][,cores=n][,threads=n]]\n"
"   %*s [-g ] [-l ]\n"
"   %*s [-m mem] [-p vcpu:hostcpu] [-s ] [-U uuid] 
\n"
@@ -244,6 +245,7 @@ usage(int code)
"   -A: create ACPI tables\n"
"   -c: number of cpus and/or topology specification\n"
"   -C: include guest memory in core file\n"
+   "   -D: destroy on power-off\n"
"   -e: exit on unhandled I/O access\n"
"   -g: gdb port\n"
"   -h: help\n"
@@ -815,6 +817,8 @@ vmexit_suspend(struct vmctx *ctx, struct vm_exit *vmex
case VM_SUSPEND_RESET:
exit(0);
case VM_SUSPEND_POWEROFF:
+   if (destroy_on_poweroff)
+   vm_destroy(ctx);
exit(1);
case VM_SUSPEND_HALT:
exit(2);
@@ -1101,9 +1105,9 @@ main(int argc, char *argv[])
memflags = 0;
 
 #ifdef BHYVE_SNAPSHOT
-   optstr = "abehuwxACHIPSWYp:g:G:c:s:m:l:U:r:";
+   optstr = "abehuwxACDHIPSWYp:g:G:c:s:m:l:U:r:";
 #else
-   optstr = "abehuwxACHIPSWYp:g:G:c:s:m:l:U:";
+   optstr = "abehuwxACDHIPSWYp:g:G:c:s:m:l:U:";
 #endif
while ((c = getopt(argc, argv, optstr)) != -1) {
switch (c) {
@@ -1115,6 +1119,9 @@ main(int argc, char *argv[])
break;
case 'b':
bvmcons = 1;
+   break;
+   case 'D':
+   destroy_on_poweroff = 1;
break;
case 'p':
 if (pincpu_parse(optarg) != 0) {
___
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: r362611 - head/lib/libc/sys

2020-06-25 Thread Pawel Biernacki
Author: kaktus
Date: Thu Jun 25 12:31:05 2020
New Revision: 362611
URL: https://svnweb.freebsd.org/changeset/base/362611

Log:
  man page of select(2) should mention pselect(2)
  
  Reviewed by:  bcr (manpages), kib, trasz
  Approved by:  kib (mentor)
  MFC after:7 days
  Sponsored by: Mysterious Code Ltd.
  Differential Revision:https://reviews.freebsd.org/D25169

Modified:
  head/lib/libc/sys/select.2

Modified: head/lib/libc/sys/select.2
==
--- head/lib/libc/sys/select.2  Thu Jun 25 11:41:28 2020(r362610)
+++ head/lib/libc/sys/select.2  Thu Jun 25 12:31:05 2020(r362611)
@@ -28,7 +28,7 @@
 .\" @(#)select.2   8.2 (Berkeley) 3/25/94
 .\" $FreeBSD$
 .\"
-.Dd November 17, 2002
+.Dd June 25, 2020
 .Dt SELECT 2
 .Os
 .Sh NAME
@@ -172,6 +172,7 @@ was invalid.
 .Xr gettimeofday 2 ,
 .Xr kqueue 2 ,
 .Xr poll 2 ,
+.Xr pselect 2 ,
 .Xr read 2 ,
 .Xr recv 2 ,
 .Xr send 2 ,
___
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: r362468 - head/sys/net

2020-06-21 Thread Pawel Biernacki
Author: kaktus
Date: Sun Jun 21 18:40:17 2020
New Revision: 362468
URL: https://svnweb.freebsd.org/changeset/base/362468

Log:
  net.link.generic.ifdata..linkspecific: rework handler
  
  This OID was added in r17352 but the write path of IFDATA_LINKSPECIFIC
  seems unused as there are no in-base writers, and as far as I can tell
  we had issues with this code before, see PR 219472.  Drop the write path
  to make the handler read-only as described in comments and man-pages.
  It can be marked as MPSAFE now.
  
  Reviewed by:  bdragon, kib, melifaro, wollman
  Approved by:  kib (mentor)
  Sponsored by: Mysterious Code Ltd.
  Differential Revision:https://reviews.freebsd.org/D25348

Modified:
  head/sys/net/if_mib.c

Modified: head/sys/net/if_mib.c
==
--- head/sys/net/if_mib.c   Sun Jun 21 16:06:01 2020(r362467)
+++ head/sys/net/if_mib.c   Sun Jun 21 18:40:17 2020(r362468)
@@ -122,10 +122,6 @@ sysctl_ifdata(SYSCTL_HANDLER_ARGS) /* XXX bad syntax! 
error = SYSCTL_OUT(req, ifp->if_linkmib, ifp->if_linkmiblen);
if (error || !req->newptr)
goto out;
-
-   error = SYSCTL_IN(req, ifp->if_linkmib, ifp->if_linkmiblen);
-   if (error)
-   goto out;
break;
 
case IFDATA_DRIVERNAME:
@@ -152,6 +148,6 @@ out:
 }
 
 static SYSCTL_NODE(_net_link_generic, IFMIB_IFDATA, ifdata,
-CTLFLAG_RW | CTLFLAG_NEEDGIANT, sysctl_ifdata,
+CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_ifdata,
 "Interface table");
 
___
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: r362343 - in head/sys: kern sys

2020-06-18 Thread Pawel Biernacki
Author: kaktus
Date: Thu Jun 18 21:42:54 2020
New Revision: 362343
URL: https://svnweb.freebsd.org/changeset/base/362343

Log:
  hw.bus.info: rework handler
  
  hw.bus.info was added in r68522 as a node, but there was never anything
  connected "behind" it.  Its only purpose is to return a struct u_businfo.
  The only in-base consumer are devinfo(3)/devinfo(8).
  Rewrite the handler as SYSCTL_PROC and mark it as MPSAFE and read-only
  as there never was a writable path.
  
  Reviewed by:  kib
  Approved by:  kib (mentor)
  Sponsored by: Mysterious Code Ltd.
  Differential Revision:https://reviews.freebsd.org/D25321

Modified:
  head/sys/kern/subr_bus.c
  head/sys/sys/sysctl.h

Modified: head/sys/kern/subr_bus.c
==
--- head/sys/kern/subr_bus.cThu Jun 18 20:49:56 2020(r362342)
+++ head/sys/kern/subr_bus.cThu Jun 18 21:42:54 2020(r362343)
@@ -5454,7 +5454,7 @@ print_devclass_list(void)
  */
 
 static int
-sysctl_bus(SYSCTL_HANDLER_ARGS)
+sysctl_bus_info(SYSCTL_HANDLER_ARGS)
 {
struct u_businfoubus;
 
@@ -5463,7 +5463,8 @@ sysctl_bus(SYSCTL_HANDLER_ARGS)
 
return (SYSCTL_OUT(req, , sizeof(ubus)));
 }
-SYSCTL_NODE(_hw_bus, OID_AUTO, info, CTLFLAG_RW | CTLFLAG_NEEDGIANT, 
sysctl_bus,
+SYSCTL_PROC(_hw_bus, OID_AUTO, info, CTLTYPE_STRUCT | CTLFLAG_RD |
+CTLFLAG_MPSAFE, NULL, 0, sysctl_bus_info, "S,u_businfo",
 "bus-related data");
 
 static int
@@ -,7 +5556,8 @@ bus_data_generation_check(int generation)
 void
 bus_data_generation_update(void)
 {
-   bus_data_generation++;
+
+   atomic_add_int(_data_generation, 1);
 }
 
 int

Modified: head/sys/sys/sysctl.h
==
--- head/sys/sys/sysctl.h   Thu Jun 18 20:49:56 2020(r362342)
+++ head/sys/sys/sysctl.h   Thu Jun 18 21:42:54 2020(r362343)
@@ -1122,7 +1122,6 @@ SYSCTL_DECL(_dev);
 SYSCTL_DECL(_hw);
 SYSCTL_DECL(_hw_bus);
 SYSCTL_DECL(_hw_bus_devices);
-SYSCTL_DECL(_hw_bus_info);
 SYSCTL_DECL(_machdep);
 SYSCTL_DECL(_machdep_mitigations);
 SYSCTL_DECL(_user);
___
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: r361113 - head/sys/net

2020-05-16 Thread Pawel Biernacki
Author: kaktus
Date: Sat May 16 17:05:44 2020
New Revision: 361113
URL: https://svnweb.freebsd.org/changeset/base/361113

Log:
  sysctl: fix setting net.isr.dispatch during early boot
  
  Fix another collateral damage of r357614: netisr is initialised way before
  malloc() is available hence it can't use sysctl_handle_string() that
  allocates temporary buffer.  Handle that internally in
  sysctl_netisr_dispatch_policy().
  
  PR:   246114
  Reported by:  delphij
  Reviewed by:  kib
  Approved by:  kib (mentor)
  Differential Revision:https://reviews.freebsd.org/D24858

Modified:
  head/sys/net/netisr.c

Modified: head/sys/net/netisr.c
==
--- head/sys/net/netisr.c   Sat May 16 16:29:23 2020(r361112)
+++ head/sys/net/netisr.c   Sat May 16 17:05:44 2020(r361113)
@@ -345,19 +345,34 @@ static int
 sysctl_netisr_dispatch_policy(SYSCTL_HANDLER_ARGS)
 {
char tmp[NETISR_DISPATCH_POLICY_MAXSTR];
+   size_t len;
u_int dispatch_policy;
int error;
 
netisr_dispatch_policy_to_str(netisr_dispatch_policy, tmp,
sizeof(tmp));
-   error = sysctl_handle_string(oidp, tmp, sizeof(tmp), req);
-   if (error == 0 && req->newptr != NULL) {
-   error = netisr_dispatch_policy_from_str(tmp,
-   _policy);
-   if (error == 0 && dispatch_policy == NETISR_DISPATCH_DEFAULT)
-   error = EINVAL;
-   if (error == 0)
-   netisr_dispatch_policy = dispatch_policy;
+   /*
+* netisr is initialised very early during the boot when malloc isn't
+* available yet so we can't use sysctl_handle_string() to process
+* any non-default value that was potentially set via loader.
+*/
+   if (req->newptr != NULL) {
+   len = req->newlen - req->newidx;
+   if (len >= NETISR_DISPATCH_POLICY_MAXSTR)
+   return (EINVAL);
+   error = SYSCTL_IN(req, tmp, len);
+   if (error == 0) {
+   tmp[len] = '\0';
+   error = netisr_dispatch_policy_from_str(tmp,
+   _policy);
+   if (error == 0 &&
+   dispatch_policy == NETISR_DISPATCH_DEFAULT)
+   error = EINVAL;
+   if (error == 0)
+   netisr_dispatch_policy = dispatch_policy;
+   }
+   } else {
+   error = sysctl_handle_string(oidp, tmp, sizeof(tmp), req);
}
return (error);
 }
___
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: r359976 - head/sys/kern

2020-04-15 Thread Pawel Biernacki
Author: kaktus
Date: Wed Apr 15 16:55:38 2020
New Revision: 359976
URL: https://svnweb.freebsd.org/changeset/base/359976

Log:
  sysctl_handle_string: Put logical or in parentheses.
  
  Reported by:  rdivacky
  Approved by:  kib (mentor)
  Pointy-hat to:kaktus

Modified:
  head/sys/kern/kern_sysctl.c

Modified: head/sys/kern/kern_sysctl.c
==
--- head/sys/kern/kern_sysctl.c Wed Apr 15 16:33:55 2020(r359975)
+++ head/sys/kern/kern_sysctl.c Wed Apr 15 16:55:38 2020(r359976)
@@ -1655,7 +1655,7 @@ sysctl_handle_string(SYSCTL_HANDLER_ARGS)
 * string.  In ddb, don't worry about trying to make a malloced
 * snapshot.
 */
-   if ((oidp->oid_kind & CTLFLAG_WR | CTLFLAG_TUN) == 0 || arg2 == 0
+   if ((oidp->oid_kind & (CTLFLAG_WR | CTLFLAG_TUN)) == 0 || arg2 == 0
|| kdb_active) {
arg2 = strlen((char *)arg1) + 1;
ro_string = 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: r359975 - head/sys/kern

2020-04-15 Thread Pawel Biernacki
Author: kaktus
Date: Wed Apr 15 16:33:55 2020
New Revision: 359975
URL: https://svnweb.freebsd.org/changeset/base/359975

Log:
  sysctl(9): fix handling string tunables.
  
  r357614 changed internals of handling string sysctls, and inadvertently
  broke setting string tunables.  Take them into account.
  
  PR:   245463
  Reported by:  jhb, np
  Reviewed by:  imp, jhb, kib
  Approved by:  kib (mentor)
  Differential Revision:https://reviews.freebsd.org/D24429

Modified:
  head/sys/kern/kern_sysctl.c

Modified: head/sys/kern/kern_sysctl.c
==
--- head/sys/kern/kern_sysctl.c Wed Apr 15 16:33:27 2020(r359974)
+++ head/sys/kern/kern_sysctl.c Wed Apr 15 16:33:55 2020(r359975)
@@ -1648,13 +1648,15 @@ sysctl_handle_string(SYSCTL_HANDLER_ARGS)
int error = 0, ro_string = 0;
 
/*
-* If the sysctl isn't writable, microoptimise and treat it as a
-* const string.
+* If the sysctl isn't writable and isn't a preallocated tunable that
+* can be modified by kenv(2), microoptimise and treat it as a
+* read-only string.
 * A zero-length buffer indicates a fixed size read-only
 * string.  In ddb, don't worry about trying to make a malloced
 * snapshot.
 */
-   if (!(oidp->oid_kind & CTLFLAG_WR) || arg2 == 0 || kdb_active) {
+   if ((oidp->oid_kind & CTLFLAG_WR | CTLFLAG_TUN) == 0 || arg2 == 0
+   || kdb_active) {
arg2 = strlen((char *)arg1) + 1;
ro_string = 1;
}
@@ -1697,8 +1699,7 @@ sysctl_handle_string(SYSCTL_HANDLER_ARGS)
arg2 = req->newlen - req->newidx;
tmparg = malloc(arg2, M_SYSCTLTMP, M_WAITOK);
 
-   error = copyin((const char *)req->newptr + req->newidx,
-   tmparg, arg2);
+   error = SYSCTL_IN(req, tmparg, arg2);
if (error) {
free(tmparg, M_SYSCTLTMP);
return (error);
___
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: r358548 - head/sys/kern

2020-03-02 Thread Pawel Biernacki
Author: kaktus
Date: Mon Mar  2 15:30:52 2020
New Revision: 358548
URL: https://svnweb.freebsd.org/changeset/base/358548

Log:
  sys/: Document few more sysctls.
  
  Submitted by: Antranig Vartanian 
  Reviewed by:  kaktus
  Commented by: jhb
  Approved by:  kib (mentor)
  Sponsored by: illuria security
  Differential Revision:https://reviews.freebsd.org/D23759

Modified:
  head/sys/kern/kern_exec.c
  head/sys/kern/kern_shutdown.c
  head/sys/kern/kern_synch.c
  head/sys/kern/kern_umtx.c
  head/sys/kern/sched_4bsd.c
  head/sys/kern/sched_ule.c
  head/sys/kern/subr_kobj.c

Modified: head/sys/kern/kern_exec.c
==
--- head/sys/kern/kern_exec.c   Mon Mar  2 14:36:15 2020(r358547)
+++ head/sys/kern/kern_exec.c   Mon Mar  2 15:30:52 2020(r358548)
@@ -123,18 +123,22 @@ static int do_execve(struct thread *td, struct image_a
 
 /* XXX This should be vm_size_t. */
 SYSCTL_PROC(_kern, KERN_PS_STRINGS, ps_strings, CTLTYPE_ULONG|CTLFLAG_RD|
-CTLFLAG_CAPRD|CTLFLAG_MPSAFE, NULL, 0, sysctl_kern_ps_strings, "LU", "");
+CTLFLAG_CAPRD|CTLFLAG_MPSAFE, NULL, 0, sysctl_kern_ps_strings, "LU",
+"Location of process' ps_strings structure");
 
 /* XXX This should be vm_size_t. */
 SYSCTL_PROC(_kern, KERN_USRSTACK, usrstack, CTLTYPE_ULONG|CTLFLAG_RD|
-CTLFLAG_CAPRD|CTLFLAG_MPSAFE, NULL, 0, sysctl_kern_usrstack, "LU", "");
+CTLFLAG_CAPRD|CTLFLAG_MPSAFE, NULL, 0, sysctl_kern_usrstack, "LU",
+"Top of process stack");
 
 SYSCTL_PROC(_kern, OID_AUTO, stackprot, CTLTYPE_INT|CTLFLAG_RD|CTLFLAG_MPSAFE,
-NULL, 0, sysctl_kern_stackprot, "I", "");
+NULL, 0, sysctl_kern_stackprot, "I",
+"Stack memory permissions");
 
 u_long ps_arg_cache_limit = PAGE_SIZE / 16;
 SYSCTL_ULONG(_kern, OID_AUTO, ps_arg_cache_limit, CTLFLAG_RW, 
-_arg_cache_limit, 0, "");
+_arg_cache_limit, 0,
+"Process' command line characters cache limit");
 
 static int disallow_high_osrel;
 SYSCTL_INT(_kern, OID_AUTO, disallow_high_osrel, CTLFLAG_RW,

Modified: head/sys/kern/kern_shutdown.c
==
--- head/sys/kern/kern_shutdown.c   Mon Mar  2 14:36:15 2020
(r358547)
+++ head/sys/kern/kern_shutdown.c   Mon Mar  2 15:30:52 2020
(r358548)
@@ -167,7 +167,8 @@ static int show_busybufs;
 static int show_busybufs = 1;
 #endif
 SYSCTL_INT(_kern_shutdown, OID_AUTO, show_busybufs, CTLFLAG_RW,
-   _busybufs, 0, "");
+_busybufs, 0,
+"Show busy buffers during shutdown");
 
 int suspend_blocked = 0;
 SYSCTL_INT(_kern, OID_AUTO, suspend_blocked, CTLFLAG_RW,

Modified: head/sys/kern/kern_synch.c
==
--- head/sys/kern/kern_synch.c  Mon Mar  2 14:36:15 2020(r358547)
+++ head/sys/kern/kern_synch.c  Mon Mar  2 15:30:52 2020(r358548)
@@ -94,7 +94,8 @@ static fixpt_t cexp[3] = {
 };
 
 /* kernel uses `FSCALE', userland (SHOULD) use kern.fscale */
-SYSCTL_INT(_kern, OID_AUTO, fscale, CTLFLAG_RD, SYSCTL_NULL_INT_PTR, FSCALE, 
"");
+SYSCTL_INT(_kern, OID_AUTO, fscale, CTLFLAG_RD, SYSCTL_NULL_INT_PTR, FSCALE,
+"Fixed-point scale factor used for calculating load average values");
 
 static voidloadav(void *arg);
 

Modified: head/sys/kern/kern_umtx.c
==
--- head/sys/kern/kern_umtx.c   Mon Mar  2 14:36:15 2020(r358547)
+++ head/sys/kern/kern_umtx.c   Mon Mar  2 15:30:52 2020(r358548)
@@ -240,7 +240,7 @@ SYSCTL_INT(_kern_ipc, OID_AUTO, umtx_vnode_persistent,
 static int umtx_max_rb = 1000;
 SYSCTL_INT(_kern_ipc, OID_AUTO, umtx_max_robust, CTLFLAG_RWTUN,
 _max_rb, 0,
-"");
+"Maximum number of robust mutexes allowed for each thread");
 
 static uma_zone_t  umtx_pi_zone;
 static struct umtxq_chain  umtxq_chains[2][UMTX_CHAINS];

Modified: head/sys/kern/sched_4bsd.c
==
--- head/sys/kern/sched_4bsd.c  Mon Mar  2 14:36:15 2020(r358547)
+++ head/sys/kern/sched_4bsd.c  Mon Mar  2 15:30:52 2020(r358548)
@@ -437,7 +437,8 @@ maybe_preempt(struct thread *td)
 
 /* decay 95% of `ts_pctcpu' in 60 seconds; see CCPU_SHIFT before changing */
 static fixpt_t ccpu = 0.95122942450071400909 * FSCALE; /* exp(-1/20) */
-SYSCTL_UINT(_kern, OID_AUTO, ccpu, CTLFLAG_RD, , 0, "");
+SYSCTL_UINT(_kern, OID_AUTO, ccpu, CTLFLAG_RD, , 0,
+"Decay factor used for updating %CPU");
 
 /*
  * If `ccpu' is not equal to `exp(-1/20)' and you still want to use the

Modified: head/sys/kern/sched_ule.c
==
--- head/sys/kern/sched_ule.c   Mon Mar  2 14:36:15 2020(r358547)
+++ head/sys/kern/sched_ule.c   Mon Mar  2 15:30:52 2020(r358548)
@@ -3128,4 +3128,5 @@ SYSCTL_PROC(_kern_sched, OID_AUTO, 

svn commit: r358379 - head/sys/dev/random

2020-02-27 Thread Pawel Biernacki
Author: kaktus
Date: Thu Feb 27 13:12:14 2020
New Revision: 358379
URL: https://svnweb.freebsd.org/changeset/base/358379

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (18 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked).
  Use it in preparation for a general review of all nodes.
  
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Mark all obvious cases as MPSAFE.  All entries that haven't been marked
  as MPSAFE before are by default marked as NEEDGIANT
  
  Reviewed by:  cem
  Approved by:  csprng, kib (mentor, blanket)
  Differential Revision:https://reviews.freebsd.org/D23841

Modified:
  head/sys/dev/random/fortuna.c
  head/sys/dev/random/ivy.c
  head/sys/dev/random/random_harvestq.c
  head/sys/dev/random/random_infra.c

Modified: head/sys/dev/random/fortuna.c
==
--- head/sys/dev/random/fortuna.c   Thu Feb 27 11:23:44 2020
(r358378)
+++ head/sys/dev/random/fortuna.c   Thu Feb 27 13:12:14 2020
(r358379)
@@ -299,14 +299,14 @@ random_fortuna_init_alg(void *unused __unused)
fortuna_state.fs_lasttime = 0;
random_fortuna_o = SYSCTL_ADD_NODE(_clist,
SYSCTL_STATIC_CHILDREN(_kern_random),
-   OID_AUTO, "fortuna", CTLFLAG_RW, 0,
+   OID_AUTO, "fortuna", CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
"Fortuna Parameters");
SYSCTL_ADD_PROC(_clist,
-   SYSCTL_CHILDREN(random_fortuna_o), OID_AUTO,
-   "minpoolsize", CTLTYPE_UINT | CTLFLAG_RWTUN,
-   _state.fs_minpoolsize, RANDOM_FORTUNA_DEFPOOLSIZE,
-   random_check_uint_fs_minpoolsize, "IU",
-   "Minimum pool size necessary to cause a reseed");
+   SYSCTL_CHILDREN(random_fortuna_o), OID_AUTO, "minpoolsize",
+   CTLTYPE_UINT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE,
+   _state.fs_minpoolsize, RANDOM_FORTUNA_DEFPOOLSIZE,
+   random_check_uint_fs_minpoolsize, "IU",
+   "Minimum pool size necessary to cause a reseed");
KASSERT(fortuna_state.fs_minpoolsize > 0, ("random: Fortuna threshold 
must be > 0 at startup"));
 
SYSCTL_ADD_BOOL(_clist, SYSCTL_CHILDREN(random_fortuna_o),

Modified: head/sys/dev/random/ivy.c
==
--- head/sys/dev/random/ivy.c   Thu Feb 27 11:23:44 2020(r358378)
+++ head/sys/dev/random/ivy.c   Thu Feb 27 13:12:14 2020(r358379)
@@ -60,7 +60,7 @@ static struct random_source random_ivy = {
.rs_read = random_ivy_read
 };
 
-SYSCTL_NODE(_kern_random, OID_AUTO, rdrand, CTLFLAG_RW, 0,
+SYSCTL_NODE(_kern_random, OID_AUTO, rdrand, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
 "rdrand (ivy) entropy source");
 static bool acquire_independent_seed_samples = false;
 SYSCTL_BOOL(_kern_random_rdrand, OID_AUTO, rdrand_independent_seed,

Modified: head/sys/dev/random/random_harvestq.c
==
--- head/sys/dev/random/random_harvestq.c   Thu Feb 27 11:23:44 2020
(r358378)
+++ head/sys/dev/random/random_harvestq.c   Thu Feb 27 13:12:14 2020
(r358379)
@@ -111,7 +111,7 @@ struct random_sources {
 static CK_LIST_HEAD(sources_head, random_sources) source_list =
 CK_LIST_HEAD_INITIALIZER(source_list);
 
-SYSCTL_NODE(_kern_random, OID_AUTO, harvest, CTLFLAG_RW, 0,
+SYSCTL_NODE(_kern_random, OID_AUTO, harvest, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
 "Entropy Device Parameters");
 
 /*
@@ -305,8 +305,10 @@ random_check_uint_harvestmask(SYSCTL_HANDLER_ARGS)
(orig_value & user_immutable_mask);
return (0);
 }
-SYSCTL_PROC(_kern_random_harvest, OID_AUTO, mask, CTLTYPE_UINT | CTLFLAG_RW,
-NULL, 0, random_check_uint_harvestmask, "IU", "Entropy harvesting mask");
+SYSCTL_PROC(_kern_random_harvest, OID_AUTO, mask,
+CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, NULL, 0,
+random_check_uint_harvestmask, "IU",
+"Entropy harvesting mask");
 
 /* ARGSUSED */
 static int
@@ -326,7 +328,8 @@ random_print_harvestmask(SYSCTL_HANDLER_ARGS)
return (error);
 }
 SYSCTL_PROC(_kern_random_harvest, OID_AUTO, mask_bin,
-CTLTYPE_STRING | CTLFLAG_RD, NULL, 0, random_print_harvestmask, "A",
+CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, 0,
+random_print_harvestmask, "A",
 "Entropy harvesting mask (printable)");
 
 static const char *random_source_descr[ENTROPYSOURCE] = {
@@ -387,8 +390,9 @@ random_print_harvestmask_symbolic(SYSCTL_HANDLER_ARGS)
return (error);
 }
 SYSCTL_PROC(_kern_random_harvest, OID_AUTO, mask_symbolic,
-CTLTYPE_STRING | CTLFLAG_RD, NULL, 0, random_print_harvestmask_symbolic,
-"A", "Entropy harvesting mask (symbolic)");
+CTLTYPE_STRING | 

svn commit: r358334 - head/sys/sys

2020-02-26 Thread Pawel Biernacki
Author: kaktus
Date: Wed Feb 26 15:12:38 2020
New Revision: 358334
URL: https://svnweb.freebsd.org/changeset/base/358334

Log:
  Move the SYSCTL_ENFORCE_FLAGS to SYSCTL_NODE_WITH_LABEL where it should be
  at the beginning.

Modified:
  head/sys/sys/sysctl.h

Modified: head/sys/sys/sysctl.h
==
--- head/sys/sys/sysctl.h   Wed Feb 26 14:26:36 2020(r358333)
+++ head/sys/sys/sysctl.h   Wed Feb 26 15:12:38 2020(r358334)
@@ -324,7 +324,6 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
SYSCTL_OID_RAW(sysctl___##name, __children,  \
nbr, #name, CTLTYPE_NODE|(access), NULL, 0, \
handler, "N", descr, NULL); \
-   SYSCTL_ENFORCE_FLAGS(access);   \
CTASSERT(((access) & CTLTYPE) == 0 ||   \
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_NODE)
 
@@ -335,6 +334,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
 #defineSYSCTL_NODE_WITH_LABEL(parent, nbr, name, access, handler, 
descr, label) \
SYSCTL_OID_GLOBAL(parent, nbr, name, CTLTYPE_NODE|(access), \
NULL, 0, handler, "N", descr, label);   \
+   SYSCTL_ENFORCE_FLAGS(access);   \
CTASSERT(((access) & CTLTYPE) == 0 ||   \
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_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: r358333 - in head/sys: amd64/amd64 amd64/linux32 arm/altera/socfpga arm/arm arm/broadcom/bcm2835 arm/freescale/imx arm/mv arm/nvidia arm/nvidia/tegra124 arm/ti arm/ti/am335x arm/ti/cpsw...

2020-02-26 Thread Pawel Biernacki
Author: kaktus
Date: Wed Feb 26 14:26:36 2020
New Revision: 358333
URL: https://svnweb.freebsd.org/changeset/base/358333

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked).
  Use it in preparation for a general review of all nodes.
  
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Mark all obvious cases as MPSAFE.  All entries that haven't been marked
  as MPSAFE before are by default marked as NEEDGIANT
  
  Approved by:  kib (mentor, blanket)
  Commented by: kib, gallatin, melifaro
  Differential Revision:https://reviews.freebsd.org/D23718

Modified:
  head/sys/amd64/amd64/efirt_machdep.c
  head/sys/amd64/amd64/machdep.c
  head/sys/amd64/amd64/pmap.c
  head/sys/amd64/amd64/prof_machdep.c
  head/sys/amd64/linux32/linux32_sysvec.c
  head/sys/arm/altera/socfpga/socfpga_rstmgr.c
  head/sys/arm/arm/busdma_machdep.c
  head/sys/arm/arm/cpuinfo.c
  head/sys/arm/arm/machdep_boot.c
  head/sys/arm/arm/pmap-v6.c
  head/sys/arm/broadcom/bcm2835/bcm2835_audio.c
  head/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
  head/sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c
  head/sys/arm/broadcom/bcm2835/bcm2835_fbd.c
  head/sys/arm/broadcom/bcm2835/bcm2835_gpio.c
  head/sys/arm/broadcom/bcm2835/bcm2835_pwm.c
  head/sys/arm/broadcom/bcm2835/bcm2835_rng.c
  head/sys/arm/broadcom/bcm2835/bcm2835_spi.c
  head/sys/arm/freescale/imx/imx6_anatop.c
  head/sys/arm/freescale/imx/imx_machdep.c
  head/sys/arm/mv/mv_thermal.c
  head/sys/arm/mv/mv_ts.c
  head/sys/arm/nvidia/tegra124/tegra124_coretemp.c
  head/sys/arm/nvidia/tegra_soctherm.c
  head/sys/arm/ti/am335x/am335x_ehrpwm.c
  head/sys/arm/ti/am335x/am335x_lcd.c
  head/sys/arm/ti/am335x/am335x_musb.c
  head/sys/arm/ti/cpsw/if_cpsw.c
  head/sys/arm/ti/ti_adc.c
  head/sys/arm/ti/ti_pruss.c
  head/sys/arm/ti/twl/twl_clks.c
  head/sys/arm/ti/twl/twl_vreg.c
  head/sys/arm/xilinx/zy7_devcfg.c
  head/sys/arm/xilinx/zy7_slcr.c
  head/sys/arm64/arm64/busdma_bounce.c
  head/sys/arm64/arm64/pmap.c
  head/sys/cam/ata/ata_da.c
  head/sys/cam/ata/ata_pmp.c
  head/sys/cam/cam.c
  head/sys/cam/cam_iosched.c
  head/sys/cam/ctl/ctl.c
  head/sys/cam/ctl/ctl_backend_block.c
  head/sys/cam/ctl/ctl_frontend_cam_sim.c
  head/sys/cam/ctl/ctl_frontend_iscsi.c
  head/sys/cam/ctl/ctl_ha.c
  head/sys/cam/nvme/nvme_da.c
  head/sys/cam/scsi/scsi_all.c
  head/sys/cam/scsi/scsi_cd.c
  head/sys/cam/scsi/scsi_da.c
  head/sys/cam/scsi/scsi_enc.c
  head/sys/cam/scsi/scsi_sa.c
  head/sys/cam/scsi/scsi_xpt.c
  head/sys/cddl/compat/opensolaris/kern/opensolaris_kstat.c
  head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
  head/sys/cddl/dev/dtrace/dtrace_sysctl.c
  head/sys/cddl/dev/dtrace/dtrace_test.c
  head/sys/cddl/dev/profile/profile.c
  head/sys/compat/ia32/ia32_sysvec.c
  head/sys/compat/linux/linux_mib.c
  head/sys/compat/ndis/subr_ntoskrnl.c
  head/sys/compat/x86bios/x86bios.c
  head/sys/contrib/rdma/krping/krping_dev.c
  head/sys/crypto/ccp/ccp_hardware.c
  head/sys/ddb/db_capture.c
  head/sys/ddb/db_main.c
  head/sys/ddb/db_script.c
  head/sys/ddb/db_textdump.c
  head/sys/dev/aac/aac.c
  head/sys/dev/aacraid/aacraid.c
  head/sys/dev/acpi_support/acpi_asus.c
  head/sys/dev/acpi_support/acpi_asus_wmi.c
  head/sys/dev/acpi_support/acpi_fujitsu.c
  head/sys/dev/acpi_support/acpi_hp.c
  head/sys/dev/acpi_support/acpi_ibm.c
  head/sys/dev/acpi_support/acpi_panasonic.c
  head/sys/dev/acpi_support/acpi_rapidstart.c
  head/sys/dev/acpi_support/acpi_sony.c
  head/sys/dev/acpi_support/acpi_toshiba.c
  head/sys/dev/acpi_support/atk0110.c
  head/sys/dev/acpica/acpi.c
  head/sys/dev/acpica/acpi_acad.c
  head/sys/dev/acpica/acpi_battery.c
  head/sys/dev/acpica/acpi_cpu.c
  head/sys/dev/acpica/acpi_dock.c
  head/sys/dev/acpica/acpi_ec.c
  head/sys/dev/acpica/acpi_smbat.c
  head/sys/dev/acpica/acpi_thermal.c
  head/sys/dev/acpica/acpi_timer.c
  head/sys/dev/acpica/acpi_video.c
  head/sys/dev/adb/adb_kbd.c
  head/sys/dev/adb/adb_mouse.c
  head/sys/dev/ae/if_ae.c
  head/sys/dev/age/if_age.c
  head/sys/dev/ahci/ahci.c
  head/sys/dev/aic7xxx/aic79xx_osm.c
  

svn commit: r358318 - head/sys/sys

2020-02-25 Thread Pawel Biernacki
Author: kaktus
Date: Tue Feb 25 19:12:40 2020
New Revision: 358318
URL: https://svnweb.freebsd.org/changeset/base/358318

Log:
  SYSCTL_ROOT_NODE should use the SYSCTL_ENFORCE_FLAGS macro too.
  
  Approved by:  kib (mentor, blanket)

Modified:
  head/sys/sys/sysctl.h

Modified: head/sys/sys/sysctl.h
==
--- head/sys/sys/sysctl.h   Tue Feb 25 19:11:20 2020(r358317)
+++ head/sys/sys/sysctl.h   Tue Feb 25 19:12:40 2020(r358318)
@@ -324,6 +324,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
SYSCTL_OID_RAW(sysctl___##name, __children,  \
nbr, #name, CTLTYPE_NODE|(access), NULL, 0, \
handler, "N", descr, NULL); \
+   SYSCTL_ENFORCE_FLAGS(access);   \
CTASSERT(((access) & CTLTYPE) == 0 ||   \
((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_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: r358316 - in head/sys: dev/xen/balloon dev/xen/blkfront dev/xen/netback dev/xen/xenstore xen/xenbus

2020-02-25 Thread Pawel Biernacki
Author: kaktus
Date: Tue Feb 25 19:04:39 2020
New Revision: 358316
URL: https://svnweb.freebsd.org/changeset/base/358316

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (16 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked).
  Use it in preparation for a general review of all nodes.
  
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Mark all obvious cases as MPSAFE.
  
  Reviewed by:  royger
  Approved by:  kib (mentor, blanket)
  Differential Revision:https://reviews.freebsd.org/D23638

Modified:
  head/sys/dev/xen/balloon/balloon.c
  head/sys/dev/xen/blkfront/blkfront.c
  head/sys/dev/xen/netback/netback.c
  head/sys/dev/xen/xenstore/xenstore.c
  head/sys/xen/xenbus/xenbusb.c

Modified: head/sys/dev/xen/balloon/balloon.c
==
--- head/sys/dev/xen/balloon/balloon.c  Tue Feb 25 17:26:10 2020
(r358315)
+++ head/sys/dev/xen/balloon/balloon.c  Tue Feb 25 19:04:39 2020
(r358316)
@@ -79,7 +79,9 @@ static struct balloon_stats balloon_stats;
 #define bs balloon_stats
 
 SYSCTL_DECL(_dev_xen);
-static SYSCTL_NODE(_dev_xen, OID_AUTO, balloon, CTLFLAG_RD, NULL, "Balloon");
+static SYSCTL_NODE(_dev_xen, OID_AUTO, balloon,
+CTLFLAG_RD | CTLFLAG_MPSAFE, NULL,
+"Balloon");
 SYSCTL_ULONG(_dev_xen_balloon, OID_AUTO, current, CTLFLAG_RD,
 _pages, 0, "Current allocation");
 SYSCTL_ULONG(_dev_xen_balloon, OID_AUTO, target, CTLFLAG_RD,

Modified: head/sys/dev/xen/blkfront/blkfront.c
==
--- head/sys/dev/xen/blkfront/blkfront.cTue Feb 25 17:26:10 2020
(r358315)
+++ head/sys/dev/xen/blkfront/blkfront.cTue Feb 25 19:04:39 2020
(r358316)
@@ -83,7 +83,8 @@ static void xbd_startio(struct xbd_softc *sc);
 static MALLOC_DEFINE(M_XENBLOCKFRONT, "xbd", "Xen Block Front driver data");
 
 static int xbd_enable_indirect = 1;
-SYSCTL_NODE(_hw, OID_AUTO, xbd, CTLFLAG_RD, 0, "xbd driver parameters");
+SYSCTL_NODE(_hw, OID_AUTO, xbd, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
+"xbd driver parameters");
 SYSCTL_INT(_hw_xbd, OID_AUTO, xbd_enable_indirect, CTLFLAG_RDTUN,
 _enable_indirect, 0, "Enable xbd indirect segments");
 
@@ -926,8 +927,8 @@ xbd_setup_sysctl(struct xbd_softc *xbd)
"communication channel pages (negotiated)");
 
SYSCTL_ADD_PROC(sysctl_ctx, children, OID_AUTO,
-   "features", CTLTYPE_STRING|CTLFLAG_RD, xbd, 0,
-   xbd_sysctl_features, "A", "protocol features (negotiated)");
+   "features", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT, xbd,
+   0, xbd_sysctl_features, "A", "protocol features (negotiated)");
 }
 
 /*

Modified: head/sys/dev/xen/netback/netback.c
==
--- head/sys/dev/xen/netback/netback.c  Tue Feb 25 17:26:10 2020
(r358315)
+++ head/sys/dev/xen/netback/netback.c  Tue Feb 25 19:04:39 2020
(r358316)
@@ -1157,7 +1157,7 @@ xnb_setup_sysctl(struct xnb_softc *xnb)
SYSCTL_CHILDREN(sysctl_tree),
OID_AUTO,
"unit_test_results",
-   CTLTYPE_STRING | CTLFLAG_RD,
+   CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT,
xnb,
0,
xnb_unit_test_main,
@@ -1168,7 +1168,7 @@ xnb_setup_sysctl(struct xnb_softc *xnb)
SYSCTL_CHILDREN(sysctl_tree),
OID_AUTO,
"dump_rings",
-   CTLTYPE_STRING | CTLFLAG_RD,
+   CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT,
xnb,
0,
xnb_dump_rings,

Modified: head/sys/dev/xen/xenstore/xenstore.c
==
--- head/sys/dev/xen/xenstore/xenstore.cTue Feb 25 17:26:10 2020
(r358315)
+++ head/sys/dev/xen/xenstore/xenstore.cTue Feb 25 19:04:39 2020
(r358316)
@@ -1241,7 +1241,8 @@ DRIVER_MODULE(xenstore, xenpv, xenstore_driver, xensto
 
 /*--- Sysctl Data 
*/
 /* XXX Shouldn't the node be somewhere else? */
-SYSCTL_NODE(_dev, OID_AUTO, xen, CTLFLAG_RD, NULL, "Xen");
+SYSCTL_NODE(_dev, OID_AUTO, xen, CTLFLAG_RD | CTLFLAG_MPSAFE, NULL,
+"Xen");
 SYSCTL_INT(_dev_xen, OID_AUTO, xsd_port, CTLFLAG_RD, , 0, "");
 SYSCTL_ULONG(_dev_xen, OID_AUTO, xsd_kva, CTLFLAG_RD, (u_long *) _store, 
0, "");
 

Modified: head/sys/xen/xenbus/xenbusb.c
==
--- 

svn commit: r358286 - in head/sys/dev: e1000 ixgbe ixl

2020-02-24 Thread Pawel Biernacki
Author: kaktus
Date: Mon Feb 24 10:51:26 2020
New Revision: 358286
URL: https://svnweb.freebsd.org/changeset/base/358286

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (15 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked).
  Use it in preparation for a general review of all nodes.
  
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.

Modified:
  head/sys/dev/e1000/if_em.c
  head/sys/dev/ixgbe/if_bypass.c
  head/sys/dev/ixgbe/if_ix.c
  head/sys/dev/ixgbe/if_ixv.c
  head/sys/dev/ixl/if_iavf.c
  head/sys/dev/ixl/if_ixl.c
  head/sys/dev/ixl/ixl_pf_main.c
  head/sys/dev/ixl/ixl_txrx.c

Modified: head/sys/dev/e1000/if_em.c
==
--- head/sys/dev/e1000/if_em.c  Mon Feb 24 10:47:18 2020(r358285)
+++ head/sys/dev/e1000/if_em.c  Mon Feb 24 10:51:26 2020(r358286)
@@ -459,7 +459,8 @@ static driver_t igb_if_driver = {
 #define CSUM_TSO   0
 #endif
 
-static SYSCTL_NODE(_hw, OID_AUTO, em, CTLFLAG_RD, 0, "EM driver parameters");
+static SYSCTL_NODE(_hw, OID_AUTO, em, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
+"EM driver parameters");
 
 static int em_disable_crc_stripping = 0;
 SYSCTL_INT(_hw_em, OID_AUTO, disable_crc_stripping, CTLFLAG_RDTUN,
@@ -785,27 +786,29 @@ em_if_attach_pre(if_ctx_t ctx)
/* SYSCTL stuff */
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
-   OID_AUTO, "nvm", CTLTYPE_INT|CTLFLAG_RW, adapter, 0,
-   em_sysctl_nvm_info, "I", "NVM Information");
+   OID_AUTO, "nvm", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
+   adapter, 0, em_sysctl_nvm_info, "I", "NVM Information");
 
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
-   OID_AUTO, "debug", CTLTYPE_INT|CTLFLAG_RW, adapter, 0,
-   em_sysctl_debug_info, "I", "Debug Information");
+   OID_AUTO, "debug", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
+   adapter, 0, em_sysctl_debug_info, "I", "Debug Information");
 
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
-   OID_AUTO, "fc", CTLTYPE_INT|CTLFLAG_RW, adapter, 0,
-   em_set_flowcntl, "I", "Flow Control");
+   OID_AUTO, "fc", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
+   adapter, 0, em_set_flowcntl, "I", "Flow Control");
 
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
-   OID_AUTO, "reg_dump", CTLTYPE_STRING | CTLFLAG_RD, adapter, 0,
+   OID_AUTO, "reg_dump",
+   CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT, adapter, 0,
em_get_regs, "A", "Dump Registers");
 
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
-   OID_AUTO, "rs_dump", CTLTYPE_INT | CTLFLAG_RW, adapter, 0,
+   OID_AUTO, "rs_dump",
+   CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, adapter, 0,
em_get_rs, "I", "Dump RS indexes");
 
/* Determine hardware and mac info */
@@ -1020,7 +1023,8 @@ em_if_attach_pre(if_ctx_t ctx)
hw->dev_spec.ich8lan.eee_disable = eee_setting;
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
-   OID_AUTO, "eee_control", CTLTYPE_INT|CTLFLAG_RW,
+   OID_AUTO, "eee_control",
+   CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
adapter, 0, em_sysctl_eee, "I",
"Disable Energy Efficient Ethernet");
 
@@ -4081,13 +4085,13 @@ em_add_hw_stats(struct adapter *adapter)
CTLFLAG_RD, >watchdog_events,
"Watchdog timeouts");
SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "device_control",
-   CTLTYPE_UINT | CTLFLAG_RD, adapter, E1000_CTRL,
-   em_sysctl_reg_handler, "IU",
-   "Device Control Register");
+   CTLTYPE_UINT | CTLFLAG_RD | CTLFLAG_NEEDGIANT,
+   adapter, E1000_CTRL, em_sysctl_reg_handler, "IU",
+   "Device Control Register");
SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "rx_control",
-   CTLTYPE_UINT | CTLFLAG_RD, adapter, E1000_RCTL,
-   em_sysctl_reg_handler, "IU",
-   "Receiver Control Register");
+   CTLTYPE_UINT | CTLFLAG_RD | CTLFLAG_NEEDGIANT,
+   adapter, E1000_RCTL, em_sysctl_reg_handler, "IU",
+   "Receiver Control Register");
SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "fc_high_water",
CTLFLAG_RD, >hw.fc.high_water, 0,
"Flow Control High Watermark");
@@ 

svn commit: r358285 - in head/sys: netinet netinet/libalias netinet6

2020-02-24 Thread Pawel Biernacki
Author: kaktus
Date: Mon Feb 24 10:47:18 2020
New Revision: 358285
URL: https://svnweb.freebsd.org/changeset/base/358285

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (14 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked).
  Use it in preparation for a general review of all nodes.
  
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Approved by:  kib (mentor, blanket)
  Differential Revision:https://reviews.freebsd.org/D23639

Modified:
  head/sys/netinet/libalias/alias_sctp.c
  head/sys/netinet/sctp_sysctl.c
  head/sys/netinet/sctp_usrreq.c
  head/sys/netinet6/sctp6_usrreq.c

Modified: head/sys/netinet/libalias/alias_sctp.c
==
--- head/sys/netinet/libalias/alias_sctp.c  Mon Feb 24 10:45:22 2020
(r358284)
+++ head/sys/netinet/libalias/alias_sctp.c  Mon Feb 24 10:47:18 2020
(r358285)
@@ -367,44 +367,68 @@ SYSCTL_DECL(_net_inet);
 SYSCTL_DECL(_net_inet_ip);
 SYSCTL_DECL(_net_inet_ip_alias);
 
-static SYSCTL_NODE(_net_inet_ip_alias, OID_AUTO, sctp, CTLFLAG_RW, NULL,
+static SYSCTL_NODE(_net_inet_ip_alias, OID_AUTO, sctp,
+CTLFLAG_RW | CTLFLAG_MPSAFE, NULL,
 "SCTP NAT");
-SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, log_level, CTLTYPE_UINT | 
CTLFLAG_RW,
+SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, log_level,
+CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
 _log_level, 0, sysctl_chg_loglevel, "IU",
 "Level of detail (0 - default, 1 - event, 2 - info, 3 - detail, 4 - debug, 
5 - max debug)");
-SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, init_timer, CTLTYPE_UINT | 
CTLFLAG_RW,
+SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, init_timer,
+CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
 _init_timer, 0, sysctl_chg_timer, "IU",
 "Timeout value (s) while waiting for (INIT-ACK|AddIP-ACK)");
-SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, up_timer, CTLTYPE_UINT | 
CTLFLAG_RW,
+SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, up_timer,
+CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
 _up_timer, 0, sysctl_chg_timer, "IU",
 "Timeout value (s) to keep an association up with no traffic");
-SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, shutdown_timer, CTLTYPE_UINT | 
CTLFLAG_RW,
+SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, shutdown_timer,
+CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
 _shutdown_timer, 0, sysctl_chg_timer, "IU",
 "Timeout value (s) while waiting for SHUTDOWN-COMPLETE");
-SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, holddown_timer, CTLTYPE_UINT | 
CTLFLAG_RW,
+SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, holddown_timer,
+CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
 _holddown_timer, 0, sysctl_chg_timer, "IU",
 "Hold association in table for this many seconds after receiving a 
SHUTDOWN-COMPLETE");
-SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, hashtable_size, CTLTYPE_UINT | 
CTLFLAG_RW,
+SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, hashtable_size,
+CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
 _hashtable_size, 0, sysctl_chg_hashtable_size, "IU",
 "Size of hash tables used for NAT lookups (100 < prime_number > 101)");
-SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, error_on_ootb, CTLTYPE_UINT | 
CTLFLAG_RW,
+SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, error_on_ootb,
+CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
 _error_on_ootb, 0, sysctl_chg_error_on_ootb, "IU",
-"ErrorM sent on receipt of ootb packet:\n\t0 - none,\n\t1 - to local 
only,\n\t2 - to local and global if a partial association match,\n\t3 - to 
local and global (DoS risk)");
-SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, accept_global_ootb_addip, 
CTLTYPE_UINT | CTLFLAG_RW,
+"ErrorM sent on receipt of ootb packet:\n\t0 - none,\n"
+"\t1 - to local only,\n"
+"\t2 - to local and global if a partial association match,\n"
+"\t3 - to local and global (DoS risk)");
+SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, accept_global_ootb_addip,
+CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
 _accept_global_ootb_addip, 0, sysctl_chg_accept_global_ootb_addip, 
"IU",
-"NAT response to receipt of global OOTB AddIP:\n\t0 - No response,\n\t1 - 
NAT will accept OOTB global AddIP messages for processing (Security risk)");
-SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, initialising_chunk_proc_limit, 
CTLTYPE_UINT | CTLFLAG_RW,
-_initialising_chunk_proc_limit, 0, 
sysctl_chg_initialising_chunk_proc_limit, "IU",
-"Number of chunks that should be processed if there is no current 
association found:\n\t > 0 (A high value is a DoS risk)");
-SYSCTL_PROC(_net_inet_ip_alias_sctp, OID_AUTO, chunk_proc_limit, CTLTYPE_UINT 
| CTLFLAG_RW,
+"NAT response to receipt of global OOTB AddIP:\n"
+"\t0 - No 

svn commit: r358284 - in head/sys: arm/allwinner arm64/rockchip

2020-02-24 Thread Pawel Biernacki
Author: kaktus
Date: Mon Feb 24 10:45:22 2020
New Revision: 358284
URL: https://svnweb.freebsd.org/changeset/base/358284

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (13 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked).
  Use it in preparation for a general review of all nodes.
  
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Approved by:  kib (mentor, blanket)
  Differential Revision:https://reviews.freebsd.org/D23635

Modified:
  head/sys/arm/allwinner/aw_sid.c
  head/sys/arm/allwinner/aw_thermal.c
  head/sys/arm/allwinner/aw_ts.c
  head/sys/arm/allwinner/axp209.c
  head/sys/arm/allwinner/axp81x.c
  head/sys/arm/allwinner/if_emac.c
  head/sys/arm64/rockchip/rk_tsadc.c

Modified: head/sys/arm/allwinner/aw_sid.c
==
--- head/sys/arm/allwinner/aw_sid.c Mon Feb 24 10:42:56 2020
(r358283)
+++ head/sys/arm/allwinner/aw_sid.c Mon Feb 24 10:45:22 2020
(r358284)
@@ -278,7 +278,7 @@ aw_sid_attach(device_t dev)
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
OID_AUTO, sc->sid_conf->efuses[i].name,
-   CTLTYPE_STRING | CTLFLAG_RD,
+   CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT,
dev, sc->sid_conf->efuses[i].id, aw_sid_sysctl,
"A", sc->sid_conf->efuses[i].desc);
}

Modified: head/sys/arm/allwinner/aw_thermal.c
==
--- head/sys/arm/allwinner/aw_thermal.c Mon Feb 24 10:42:56 2020
(r358283)
+++ head/sys/arm/allwinner/aw_thermal.c Mon Feb 24 10:45:22 2020
(r358284)
@@ -676,7 +676,7 @@ aw_thermal_attach(device_t dev)
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
OID_AUTO, sc->conf->sensors[i].name,
-   CTLTYPE_INT | CTLFLAG_RD,
+   CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT,
sc, i, aw_thermal_sysctl, "IK0",
sc->conf->sensors[i].desc);
 

Modified: head/sys/arm/allwinner/aw_ts.c
==
--- head/sys/arm/allwinner/aw_ts.c  Mon Feb 24 10:42:56 2020
(r358283)
+++ head/sys/arm/allwinner/aw_ts.c  Mon Feb 24 10:45:22 2020
(r358284)
@@ -204,7 +204,8 @@ aw_ts_attach(device_t dev)
/* Add sysctl */
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
-   OID_AUTO, "temperature", CTLTYPE_INT | CTLFLAG_RD,
+   OID_AUTO, "temperature",
+   CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT,
>temp_data, 0, sysctl_handle_int,
"IK3", "CPU Temperature");
 

Modified: head/sys/arm/allwinner/axp209.c
==
--- head/sys/arm/allwinner/axp209.c Mon Feb 24 10:42:56 2020
(r358283)
+++ head/sys/arm/allwinner/axp209.c Mon Feb 24 10:45:22 2020
(r358284)
@@ -1268,7 +1268,7 @@ axp2xx_start(void *pdev)
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
OID_AUTO, sc->sensors[i].name,
-   CTLTYPE_INT | CTLFLAG_RD,
+   CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT,
dev, sc->sensors[i].id, axp2xx_sysctl,
sc->sensors[i].format,
sc->sensors[i].desc);

Modified: head/sys/arm/allwinner/axp81x.c
==
--- head/sys/arm/allwinner/axp81x.c Mon Feb 24 10:42:56 2020
(r358283)
+++ head/sys/arm/allwinner/axp81x.c Mon Feb 24 10:45:22 2020
(r358284)
@@ -1538,7 +1538,7 @@ axp8xx_attach(device_t dev)
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
OID_AUTO, sc->sensors[i].name,
-   CTLTYPE_INT | CTLFLAG_RD,
+   CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT,
dev, sc->sensors[i].id, axp8xx_sysctl,
sc->sensors[i].format,
sc->sensors[i].desc);
@@ -1546,7 +1546,7 @@ axp8xx_attach(device_t dev)
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
OID_AUTO, "batchargecurrentstep",
-   CTLTYPE_INT | CTLFLAG_RW,
+   CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
dev, 0, 

svn commit: r358283 - head/sys/geom/eli

2020-02-24 Thread Pawel Biernacki
Author: kaktus
Date: Mon Feb 24 10:42:56 2020
New Revision: 358283
URL: https://svnweb.freebsd.org/changeset/base/358283

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (12 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked).
  Use it in preparation for a general review of all nodes.
  
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Approved by:  kib (mentor, blanket)
  Differential Revision:https://reviews.freebsd.org/D23637

Modified:
  head/sys/geom/eli/g_eli.c

Modified: head/sys/geom/eli/g_eli.c
==
--- head/sys/geom/eli/g_eli.c   Mon Feb 24 10:42:37 2020(r358282)
+++ head/sys/geom/eli/g_eli.c   Mon Feb 24 10:42:56 2020(r358283)
@@ -63,7 +63,8 @@ FEATURE(geom_eli, "GEOM crypto module");
 MALLOC_DEFINE(M_ELI, "eli data", "GEOM_ELI Data");
 
 SYSCTL_DECL(_kern_geom);
-SYSCTL_NODE(_kern_geom, OID_AUTO, eli, CTLFLAG_RW, 0, "GEOM_ELI stuff");
+SYSCTL_NODE(_kern_geom, OID_AUTO, eli, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
+"GEOM_ELI stuff");
 static int g_eli_version = G_ELI_VERSION;
 SYSCTL_INT(_kern_geom_eli, OID_AUTO, version, CTLFLAG_RD, _eli_version, 0,
 "GELI version");
___
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: r358280 - head/sys/dev/ofw

2020-02-24 Thread Pawel Biernacki
Author: kaktus
Date: Mon Feb 24 10:41:22 2020
New Revision: 358280
URL: https://svnweb.freebsd.org/changeset/base/358280

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (11 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked).
  Use it in preparation for a general review of all nodes.
  
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Approved by:  kib (mentor, blanket)
  Differential Revision:https://reviews.freebsd.org/D23636

Modified:
  head/sys/dev/ofw/ofw_fdt.c

Modified: head/sys/dev/ofw/ofw_fdt.c
==
--- head/sys/dev/ofw/ofw_fdt.c  Mon Feb 24 10:40:35 2020(r358279)
+++ head/sys/dev/ofw/ofw_fdt.c  Mon Feb 24 10:41:22 2020(r358280)
@@ -123,8 +123,8 @@ sysctl_register_fdt_oid(void *arg)
return;
 
SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_fdt), OID_AUTO, "dtb",
-   CTLTYPE_OPAQUE | CTLFLAG_RD, NULL, 0, sysctl_handle_dtb, "",
-   "Device Tree Blob");
+   CTLTYPE_OPAQUE | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, 0,
+   sysctl_handle_dtb, "", "Device Tree Blob");
 }
 SYSINIT(dtb_oid, SI_SUB_KMEM, SI_ORDER_ANY, sysctl_register_fdt_oid, NULL);
 
___
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: r358277 - head/sys/fs/pseudofs

2020-02-24 Thread Pawel Biernacki
Author: kaktus
Date: Mon Feb 24 10:37:56 2020
New Revision: 358277
URL: https://svnweb.freebsd.org/changeset/base/358277

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (10 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked).
  Use it in preparation for a general review of all nodes.
  
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Approved by:  kib (mentor, blanket)
  Differential Revision:https://reviews.freebsd.org/D23629

Modified:
  head/sys/fs/pseudofs/pseudofs.c
  head/sys/fs/pseudofs/pseudofs_vncache.c

Modified: head/sys/fs/pseudofs/pseudofs.c
==
--- head/sys/fs/pseudofs/pseudofs.c Mon Feb 24 10:35:58 2020
(r358276)
+++ head/sys/fs/pseudofs/pseudofs.c Mon Feb 24 10:37:56 2020
(r358277)
@@ -51,7 +51,7 @@ __FBSDID("$FreeBSD$");
 
 static MALLOC_DEFINE(M_PFSNODES, "pfs_nodes", "pseudofs nodes");
 
-SYSCTL_NODE(_vfs, OID_AUTO, pfs, CTLFLAG_RW, 0,
+SYSCTL_NODE(_vfs, OID_AUTO, pfs, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
 "pseudofs");
 
 #ifdef PSEUDOFS_TRACE

Modified: head/sys/fs/pseudofs/pseudofs_vncache.c
==
--- head/sys/fs/pseudofs/pseudofs_vncache.c Mon Feb 24 10:35:58 2020
(r358276)
+++ head/sys/fs/pseudofs/pseudofs_vncache.c Mon Feb 24 10:37:56 2020
(r358277)
@@ -54,7 +54,7 @@ static eventhandler_tag pfs_exit_tag;
 static void pfs_exit(void *arg, struct proc *p);
 static void pfs_purge_all(void);
 
-static SYSCTL_NODE(_vfs_pfs, OID_AUTO, vncache, CTLFLAG_RW, 0,
+static SYSCTL_NODE(_vfs_pfs, OID_AUTO, vncache, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
 "pseudofs vnode cache");
 
 static int pfs_vncache_entries;
___
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: r358276 - head/sys/contrib/ipfilter/netinet

2020-02-24 Thread Pawel Biernacki
Author: kaktus
Date: Mon Feb 24 10:35:58 2020
New Revision: 358276
URL: https://svnweb.freebsd.org/changeset/base/358276

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (8 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked).
  Use it in preparation for a general review of all nodes.
  
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Approved by:  kib (mentor, blanket)
  Differential Revision:https://reviews.freebsd.org/D23628

Modified:
  head/sys/contrib/ipfilter/netinet/mlfk_ipl.c

Modified: head/sys/contrib/ipfilter/netinet/mlfk_ipl.c
==
--- head/sys/contrib/ipfilter/netinet/mlfk_ipl.cMon Feb 24 10:33:51 
2020(r358275)
+++ head/sys/contrib/ipfilter/netinet/mlfk_ipl.cMon Feb 24 10:35:58 
2020(r358276)
@@ -83,24 +83,30 @@ static  int ipfwrite __P((dev_t, struct uio *, 
int));
 
 SYSCTL_DECL(_net_inet);
 #define SYSCTL_IPF(parent, nbr, name, access, ptr, val, descr) \
-   SYSCTL_OID(parent, nbr, name, CTLTYPE_INT|CTLFLAG_VNET|access, \
-  ptr, val, sysctl_ipf_int, "I", descr)
+SYSCTL_OID(parent, nbr, name, \
+CTLTYPE_INT | CTLFLAG_VNET | CTLFLAG_NEEDGIANT | access, \
+ptr, val, sysctl_ipf_int, "I", descr)
 #define SYSCTL_DYN_IPF_NAT(parent, nbr, name, access,ptr, val, descr) \
-   SYSCTL_ADD_OID(_clist, SYSCTL_STATIC_CHILDREN(parent), nbr, name, \
-   CTLFLAG_DYN|CTLTYPE_INT|CTLFLAG_VNET|access, ptr, val, 
sysctl_ipf_int_nat, "I", descr)
+SYSCTL_ADD_OID(_clist, SYSCTL_STATIC_CHILDREN(parent), nbr, name, \
+CTLFLAG_DYN | CTLTYPE_INT | CTLFLAG_VNET | CTLFLAG_NEEDGIANT |access, \
+ptr, val, sysctl_ipf_int_nat, "I", descr)
 #define SYSCTL_DYN_IPF_STATE(parent, nbr, name, access,ptr, val, descr) \
-   SYSCTL_ADD_OID(_clist, SYSCTL_STATIC_CHILDREN(parent), nbr, name, \
-   CTLFLAG_DYN|CTLTYPE_INT|CTLFLAG_VNET|access, ptr, val, 
sysctl_ipf_int_state, "I", descr)
+SYSCTL_ADD_OID(_clist, SYSCTL_STATIC_CHILDREN(parent), nbr, name, \
+CTLFLAG_DYN | CTLTYPE_INT | CTLFLAG_VNET | CTLFLAG_NEEDGIANT | access, 
\
+ptr, val, sysctl_ipf_int_state, "I", descr)
 #define SYSCTL_DYN_IPF_FRAG(parent, nbr, name, access,ptr, val, descr) \
-   SYSCTL_ADD_OID(_clist, SYSCTL_STATIC_CHILDREN(parent), nbr, name, \
-   CTLFLAG_DYN|CTLTYPE_INT|CTLFLAG_VNET|access, ptr, val, 
sysctl_ipf_int_frag, "I", descr)
+SYSCTL_ADD_OID(_clist, SYSCTL_STATIC_CHILDREN(parent), nbr, name, \
+CTLFLAG_DYN | CTLTYPE_INT | CTLFLAG_VNET | CTLFLAG_NEEDGIANT | access, 
\
+   ptr, val, sysctl_ipf_int_frag, "I", descr)
 #define SYSCTL_DYN_IPF_AUTH(parent, nbr, name, access,ptr, val, descr) \
-   SYSCTL_ADD_OID(_clist, SYSCTL_STATIC_CHILDREN(parent), nbr, name, \
-   CTLFLAG_DYN|CTLTYPE_INT|CTLFLAG_VNET|access, ptr, val, 
sysctl_ipf_int_auth, "I", descr)
+SYSCTL_ADD_OID(_clist, SYSCTL_STATIC_CHILDREN(parent), nbr, name, \
+CTLFLAG_DYN | CTLTYPE_INT | CTLFLAG_VNET | CTLFLAG_NEEDGIANT | access, 
\
+   ptr, val, sysctl_ipf_int_auth, "I", descr)
 static struct sysctl_ctx_list ipf_clist;
 #defineCTLFLAG_OFF 0x0080  /* IPFilter must be disabled */
 #defineCTLFLAG_RWO (CTLFLAG_RW|CTLFLAG_OFF)
-SYSCTL_NODE(_net_inet, OID_AUTO, ipf, CTLFLAG_RW, 0, "IPF");
+SYSCTL_NODE(_net_inet, OID_AUTO, ipf, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
+"IPF");
 SYSCTL_IPF(_net_inet_ipf, OID_AUTO, fr_flags, CTLFLAG_RW, 
_NAME(ipfmain.ipf_flags), 0, "IPF flags");
 SYSCTL_IPF(_net_inet_ipf, OID_AUTO, ipf_pass, CTLFLAG_RW, 
_NAME(ipfmain.ipf_pass), 0, "default pass/block");
 SYSCTL_IPF(_net_inet_ipf, OID_AUTO, fr_active, CTLFLAG_RD, 
_NAME(ipfmain.ipf_active), 0, "IPF is active");
___
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: r358275 - head/sys/fs/fuse

2020-02-24 Thread Pawel Biernacki
Author: kaktus
Date: Mon Feb 24 10:33:51 2020
New Revision: 358275
URL: https://svnweb.freebsd.org/changeset/base/358275

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (8 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked).
  Use it in preparation for a general review of all nodes.
  
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Approved by:  kib (mentor, blanket)
  Differential Revision:https://reviews.freebsd.org/D23627

Modified:
  head/sys/fs/fuse/fuse_main.c

Modified: head/sys/fs/fuse/fuse_main.c
==
--- head/sys/fs/fuse/fuse_main.cMon Feb 24 09:58:57 2020
(r358274)
+++ head/sys/fs/fuse/fuse_main.cMon Feb 24 10:33:51 2020
(r358275)
@@ -105,8 +105,10 @@ static struct vfsconf fuse_vfsconf = {
.vfc_flags = VFCF_JAIL | VFCF_SYNTHETIC
 };
 
-SYSCTL_NODE(_vfs, OID_AUTO, fusefs, CTLFLAG_RW, 0, "FUSE tunables");
-SYSCTL_NODE(_vfs_fusefs, OID_AUTO, stats, CTLFLAG_RW, 0, "FUSE statistics");
+SYSCTL_NODE(_vfs, OID_AUTO, fusefs, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
+"FUSE tunables");
+SYSCTL_NODE(_vfs_fusefs, OID_AUTO, stats, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
+"FUSE statistics");
 SYSCTL_INT(_vfs_fusefs, OID_AUTO, kernelabi_major, CTLFLAG_RD,
 SYSCTL_NULL_INT_PTR, FUSE_KERNEL_VERSION, "FUSE kernel abi major version");
 SYSCTL_INT(_vfs_fusefs, OID_AUTO, kernelabi_minor, CTLFLAG_RD,
___
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: r358224 - in head/sys: dev/ath dev/ath/ath_rate/sample dev/otus net80211

2020-02-21 Thread Pawel Biernacki
Author: kaktus
Date: Fri Feb 21 16:32:17 2020
New Revision: 358224
URL: https://svnweb.freebsd.org/changeset/base/358224

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (7 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked).
  Use it in preparation for a general review of all nodes.
  
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Mark all low hanging fruits as MPSAFE.
  
  Reviewed by:  markj
  Approved by:  kib (mentor, blanket)
  Differential Revision:https://reviews.freebsd.org/D23626

Modified:
  head/sys/dev/ath/ah_osdep.c
  head/sys/dev/ath/ath_rate/sample/sample.c
  head/sys/dev/ath/if_ath_sysctl.c
  head/sys/dev/otus/if_otus.c
  head/sys/net80211/ieee80211_alq.c
  head/sys/net80211/ieee80211_amrr.c
  head/sys/net80211/ieee80211_freebsd.c
  head/sys/net80211/ieee80211_ht.c
  head/sys/net80211/ieee80211_hwmp.c
  head/sys/net80211/ieee80211_mesh.c
  head/sys/net80211/ieee80211_rssadapt.c
  head/sys/net80211/ieee80211_superg.c

Modified: head/sys/dev/ath/ah_osdep.c
==
--- head/sys/dev/ath/ah_osdep.c Fri Feb 21 16:23:00 2020(r358223)
+++ head/sys/dev/ath/ah_osdep.c Fri Feb 21 16:32:17 2020(r358224)
@@ -93,8 +93,9 @@ externvoid DO_HALDEBUG(struct ath_hal *ah, u_int mask
 #endif /* AH_DEBUG */
 
 /* NB: put this here instead of the driver to avoid circular references */
-SYSCTL_NODE(_hw, OID_AUTO, ath, CTLFLAG_RD, 0, "Atheros driver parameters");
-static SYSCTL_NODE(_hw_ath, OID_AUTO, hal, CTLFLAG_RD, 0,
+SYSCTL_NODE(_hw, OID_AUTO, ath, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
+"Atheros driver parameters");
+static SYSCTL_NODE(_hw_ath, OID_AUTO, hal, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
 "Atheros HAL parameters");
 
 #ifdef AH_DEBUG
@@ -236,8 +237,10 @@ sysctl_hw_ath_hal_log(SYSCTL_HANDLER_ARGS)
else
return (ath_hal_setlogging(enable));
 }
-SYSCTL_PROC(_hw_ath_hal, OID_AUTO, alq, CTLTYPE_INT|CTLFLAG_RW,
-   0, 0, sysctl_hw_ath_hal_log, "I", "Enable HAL register logging");
+SYSCTL_PROC(_hw_ath_hal, OID_AUTO, alq,
+CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE,
+0, 0, sysctl_hw_ath_hal_log, "I",
+"Enable HAL register logging");
 SYSCTL_INT(_hw_ath_hal, OID_AUTO, alq_size, CTLFLAG_RW,
_hal_alq_qsize, 0, "In-memory log size (#records)");
 SYSCTL_INT(_hw_ath_hal, OID_AUTO, alq_lost, CTLFLAG_RW,

Modified: head/sys/dev/ath/ath_rate/sample/sample.c
==
--- head/sys/dev/ath/ath_rate/sample/sample.c   Fri Feb 21 16:23:00 2020
(r358223)
+++ head/sys/dev/ath/ath_rate/sample/sample.c   Fri Feb 21 16:32:17 2020
(r358224)
@@ -1364,17 +1364,17 @@ ath_rate_sysctlattach(struct ath_softc *sc, struct sam
struct sysctl_oid *tree = device_get_sysctl_tree(sc->sc_dev);
 
SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
-   "smoothing_rate", CTLTYPE_INT | CTLFLAG_RW, ssc, 0,
-   ath_rate_sysctl_smoothing_rate, "I",
+   "smoothing_rate", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE,
+   ssc, 0, ath_rate_sysctl_smoothing_rate, "I",
"sample: smoothing rate for avg tx time (%%)");
SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
-   "sample_rate", CTLTYPE_INT | CTLFLAG_RW, ssc, 0,
-   ath_rate_sysctl_sample_rate, "I",
+   "sample_rate", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE,
+   ssc, 0, ath_rate_sysctl_sample_rate, "I",
"sample: percent air time devoted to sampling new rates (%%)");
/* XXX max_successive_failures, stale_failure_timeout, min_switch */
SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
-   "sample_stats", CTLTYPE_INT | CTLFLAG_RW, sc, 0,
-   ath_rate_sysctl_stats, "I", "sample: print statistics");
+   "sample_stats", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE,
+   sc, 0, ath_rate_sysctl_stats, "I", "sample: print statistics");
 }
 
 struct ath_ratectrl *

Modified: head/sys/dev/ath/if_ath_sysctl.c
==
--- head/sys/dev/ath/if_ath_sysctl.cFri Feb 21 16:23:00 2020
(r358223)
+++ head/sys/dev/ath/if_ath_sysctl.cFri Feb 21 16:32:17 2020
(r358224)
@@ -786,16 +786,17 @@ ath_sysctl_alq_attach(struct ath_softc *sc)
struct sysctl_ctx_list *ctx = device_get_sysctl_ctx(sc->sc_dev);
struct sysctl_oid_list *child = SYSCTL_CHILDREN(tree);
 
-   tree = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "alq", CTLFLAG_RD,
-   NULL, "Atheros ALQ logging parameters");
+   tree = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "alq",
+   CTLFLAG_RD | CTLFLAG_MPSAFE, NULL,
+   "Atheros ALQ logging 

svn commit: r358223 - in head/sys: netinet netpfil/pf

2020-02-21 Thread Pawel Biernacki
Author: kaktus
Date: Fri Feb 21 16:23:00 2020
New Revision: 358223
URL: https://svnweb.freebsd.org/changeset/base/358223

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (6 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked).
  Use it in preparation for a general review of all nodes.
  
  Mark all nodes in pf, pfsync and carp as MPSAFE.
  
  Reviewed by:  kp
  Approved by:  kib (mentor, blanket)
  Differential Revision:https://reviews.freebsd.org/D23634

Modified:
  head/sys/netinet/ip_carp.c
  head/sys/netpfil/pf/if_pfsync.c
  head/sys/netpfil/pf/pf.c

Modified: head/sys/netinet/ip_carp.c
==
--- head/sys/netinet/ip_carp.c  Fri Feb 21 14:45:48 2020(r358222)
+++ head/sys/netinet/ip_carp.c  Fri Feb 21 16:23:00 2020(r358223)
@@ -218,19 +218,22 @@ static int carp_allow_sysctl(SYSCTL_HANDLER_ARGS);
 static int carp_dscp_sysctl(SYSCTL_HANDLER_ARGS);
 static int carp_demote_adj_sysctl(SYSCTL_HANDLER_ARGS);
 
-SYSCTL_NODE(_net_inet, IPPROTO_CARP,   carp,   CTLFLAG_RW, 0,  "CARP");
+SYSCTL_NODE(_net_inet, IPPROTO_CARP, carp, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
+"CARP");
 SYSCTL_PROC(_net_inet_carp, OID_AUTO, allow,
-CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW, 0, 0, carp_allow_sysctl, "I",
+CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE,
+0, 0, carp_allow_sysctl, "I",
 "Accept incoming CARP packets");
 SYSCTL_PROC(_net_inet_carp, OID_AUTO, dscp,
-CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW, 0, 0, carp_dscp_sysctl, "I",
+CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE,
+0, 0, carp_dscp_sysctl, "I",
 "DSCP value for carp packets");
 SYSCTL_INT(_net_inet_carp, OID_AUTO, preempt, CTLFLAG_VNET | CTLFLAG_RW,
 _NAME(carp_preempt), 0, "High-priority backup preemption mode");
 SYSCTL_INT(_net_inet_carp, OID_AUTO, log, CTLFLAG_VNET | CTLFLAG_RW,
 _NAME(carp_log), 0, "CARP log level");
 SYSCTL_PROC(_net_inet_carp, OID_AUTO, demotion,
-CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW,
+CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE,
 0, 0, carp_demote_adj_sysctl, "I",
 "Adjust demotion factor (skew of advskew)");
 SYSCTL_INT(_net_inet_carp, OID_AUTO, senderr_demotion_factor,

Modified: head/sys/netpfil/pf/if_pfsync.c
==
--- head/sys/netpfil/pf/if_pfsync.c Fri Feb 21 14:45:48 2020
(r358222)
+++ head/sys/netpfil/pf/if_pfsync.c Fri Feb 21 16:23:00 2020
(r358223)
@@ -273,7 +273,8 @@ static void pfsync_uninit(void);
 
 static unsigned long pfsync_buckets;
 
-SYSCTL_NODE(_net, OID_AUTO, pfsync, CTLFLAG_RW, 0, "PFSYNC");
+SYSCTL_NODE(_net, OID_AUTO, pfsync, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
+"PFSYNC");
 SYSCTL_STRUCT(_net_pfsync, OID_AUTO, stats, CTLFLAG_VNET | CTLFLAG_RW,
 _NAME(pfsyncstats), pfsyncstats,
 "PFSYNC statistics (struct pfsyncstats, net/if_pfsync.h)");

Modified: head/sys/netpfil/pf/pf.c
==
--- head/sys/netpfil/pf/pf.cFri Feb 21 14:45:48 2020(r358222)
+++ head/sys/netpfil/pf/pf.cFri Feb 21 16:23:00 2020(r358223)
@@ -369,7 +369,8 @@ VNET_DEFINE(struct pf_keyhash *, pf_keyhash);
 VNET_DEFINE(struct pf_idhash *, pf_idhash);
 VNET_DEFINE(struct pf_srchash *, pf_srchash);
 
-SYSCTL_NODE(_net, OID_AUTO, pf, CTLFLAG_RW, 0, "pf(4)");
+SYSCTL_NODE(_net, OID_AUTO, pf, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
+"pf(4)");
 
 u_long pf_hashmask;
 u_long pf_srchashmask;
___
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: r358004 - in head/sys/dev: drm2 pci

2020-02-16 Thread Pawel Biernacki
Author: kaktus
Date: Sun Feb 16 17:11:54 2020
New Revision: 358004
URL: https://svnweb.freebsd.org/changeset/base/358004

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (5 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked). Use it in
  preparation for a general review of all nodes.
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Reviewed by:  imp, kib
  Approved by:  kib (mentor)
  Differential Revision:https://reviews.freebsd.org/D23633

Modified:
  head/sys/dev/drm2/drm_pci.c
  head/sys/dev/drm2/drm_sysctl.c
  head/sys/dev/pci/pci.c

Modified: head/sys/dev/drm2/drm_pci.c
==
--- head/sys/dev/drm2/drm_pci.c Sun Feb 16 16:49:29 2020(r358003)
+++ head/sys/dev/drm2/drm_pci.c Sun Feb 16 17:11:54 2020(r358004)
@@ -42,7 +42,8 @@ __FBSDID("$FreeBSD$");
 #include 
 
 static int drm_msi = 1;/* Enable by default. */
-SYSCTL_NODE(_hw, OID_AUTO, drm, CTLFLAG_RW, NULL, "DRM device");
+SYSCTL_NODE(_hw, OID_AUTO, drm, CTLFLAG_RW | CTLFLAG_MPSAFE, NULL,
+"DRM device");
 SYSCTL_INT(_hw_drm, OID_AUTO, msi, CTLFLAG_RDTUN, _msi, 1,
 "Enable MSI interrupts for drm devices");
 

Modified: head/sys/dev/drm2/drm_sysctl.c
==
--- head/sys/dev/drm2/drm_sysctl.c  Sun Feb 16 16:49:29 2020
(r358003)
+++ head/sys/dev/drm2/drm_sysctl.c  Sun Feb 16 17:11:54 2020
(r358004)
@@ -69,7 +69,7 @@ int drm_sysctl_init(struct drm_device *dev)
 
/* Add the sysctl node for DRI if it doesn't already exist */
drioid = SYSCTL_ADD_NODE(>ctx, SYSCTL_CHILDREN(___hw), 
OID_AUTO,
-   "dri", CTLFLAG_RW, NULL, "DRI Graphics");
+   "dri", CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, "DRI Graphics");
if (!drioid) {
free(dev->sysctl, DRM_MEM_DRIVER);
dev->sysctl = NULL;
@@ -92,23 +92,17 @@ int drm_sysctl_init(struct drm_device *dev)
info->name[0] = '0' + i;
info->name[1] = 0;
top = SYSCTL_ADD_NODE(>ctx, SYSCTL_CHILDREN(drioid),
-   OID_AUTO, info->name, CTLFLAG_RW, NULL, NULL);
+   OID_AUTO, info->name, CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, NULL);
if (!top) {
drm_sysctl_cleanup(dev);
return (-ENOMEM);
}
 
for (i = 0; i < DRM_SYSCTL_ENTRIES; i++) {
-   oid = SYSCTL_ADD_OID(>ctx,
-   SYSCTL_CHILDREN(top),
-   OID_AUTO,
-   drm_sysctl_list[i].name,
-   CTLTYPE_STRING | CTLFLAG_RD,
-   dev,
-   0,
-   drm_sysctl_list[i].f,
-   "A",
-   NULL);
+   oid = SYSCTL_ADD_OID(>ctx, SYSCTL_CHILDREN(top),
+   OID_AUTO, drm_sysctl_list[i].name,
+   CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT,
+   dev, 0, drm_sysctl_list[i].f, "A", NULL);
if (!oid) {
drm_sysctl_cleanup(dev);
return (-ENOMEM);

Modified: head/sys/dev/pci/pci.c
==
--- head/sys/dev/pci/pci.c  Sun Feb 16 16:49:29 2020(r358003)
+++ head/sys/dev/pci/pci.c  Sun Feb 16 17:11:54 2020(r358004)
@@ -332,7 +332,8 @@ uint32_t pci_numdevs = 0;
 static int pcie_chipset, pcix_chipset;
 
 /* sysctl vars */
-SYSCTL_NODE(_hw, OID_AUTO, pci, CTLFLAG_RD, 0, "PCI bus tuning parameters");
+SYSCTL_NODE(_hw, OID_AUTO, pci, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
+"PCI bus tuning parameters");
 
 static int pci_enable_io_modes = 1;
 SYSCTL_INT(_hw_pci, OID_AUTO, enable_io_modes, CTLFLAG_RWTUN,
___
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: r357974 - in head/sys/amd64/vmm: . amd intel io

2020-02-15 Thread Pawel Biernacki
Author: kaktus
Date: Sat Feb 15 18:57:49 2020
New Revision: 357974
URL: https://svnweb.freebsd.org/changeset/base/357974

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (4 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked). Use it in
  preparation for a general review of all nodes.
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Reviewed by:  kib
  Approved by:  kib (mentor)
  Differential Revision:https://reviews.freebsd.org/D23625
  X-Generally looks fine:   jhb

Modified:
  head/sys/amd64/vmm/amd/amdvi_hw.c
  head/sys/amd64/vmm/amd/npt.c
  head/sys/amd64/vmm/amd/svm.c
  head/sys/amd64/vmm/intel/ept.c
  head/sys/amd64/vmm/intel/vmx.c
  head/sys/amd64/vmm/io/iommu.c
  head/sys/amd64/vmm/io/ppt.c
  head/sys/amd64/vmm/io/vrtc.c
  head/sys/amd64/vmm/vmm.c
  head/sys/amd64/vmm/vmm_dev.c
  head/sys/amd64/vmm/x86.c

Modified: head/sys/amd64/vmm/amd/amdvi_hw.c
==
--- head/sys/amd64/vmm/amd/amdvi_hw.c   Sat Feb 15 18:54:59 2020
(r357973)
+++ head/sys/amd64/vmm/amd/amdvi_hw.c   Sat Feb 15 18:57:49 2020
(r357974)
@@ -58,7 +58,8 @@ __FBSDID("$FreeBSD$");
 #include "amdvi_priv.h"
 
 SYSCTL_DECL(_hw_vmm);
-SYSCTL_NODE(_hw_vmm, OID_AUTO, amdvi, CTLFLAG_RW, NULL, NULL);
+SYSCTL_NODE(_hw_vmm, OID_AUTO, amdvi, CTLFLAG_RW | CTLFLAG_MPSAFE, NULL,
+NULL);
 
 #define MOD_INC(a, s, m) (((a) + (s)) % ((m) * (s)))
 #define MOD_DEC(a, s, m) (((a) - (s)) % ((m) * (s)))
@@ -947,16 +948,16 @@ amdvi_add_sysctl(struct amdvi_softc *softc)
SYSCTL_ADD_U16(ctx, child, OID_AUTO, "end_dev_rid", CTLFLAG_RD,
>end_dev_rid, 0, "End of device under this IOMMU");
SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "command_head",
-   CTLTYPE_UINT | CTLFLAG_RD, softc, 0,
+   CTLTYPE_UINT | CTLFLAG_RD | CTLFLAG_MPSAFE, softc, 0,
amdvi_handle_sysctl, "IU", "Command head");
SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "command_tail",
-   CTLTYPE_UINT | CTLFLAG_RD, softc, 1,
+   CTLTYPE_UINT | CTLFLAG_RD | CTLFLAG_MPSAFE, softc, 1,
amdvi_handle_sysctl, "IU", "Command tail");
SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "event_head",
-   CTLTYPE_UINT | CTLFLAG_RD, softc, 2,
+   CTLTYPE_UINT | CTLFLAG_RD | CTLFLAG_MPSAFE, softc, 2,
amdvi_handle_sysctl, "IU", "Command head");
SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "event_tail",
-   CTLTYPE_UINT | CTLFLAG_RD, softc, 3,
+   CTLTYPE_UINT | CTLFLAG_RD | CTLFLAG_MPSAFE, softc, 3,
amdvi_handle_sysctl, "IU", "Command tail");
 }
 

Modified: head/sys/amd64/vmm/amd/npt.c
==
--- head/sys/amd64/vmm/amd/npt.cSat Feb 15 18:54:59 2020
(r357973)
+++ head/sys/amd64/vmm/amd/npt.cSat Feb 15 18:57:49 2020
(r357974)
@@ -41,7 +41,8 @@ __FBSDID("$FreeBSD$");
 #include "npt.h"
 
 SYSCTL_DECL(_hw_vmm);
-SYSCTL_NODE(_hw_vmm, OID_AUTO, npt, CTLFLAG_RW, NULL, NULL);
+SYSCTL_NODE(_hw_vmm, OID_AUTO, npt, CTLFLAG_RW | CTLFLAG_MPSAFE, NULL,
+NULL);
 
 static int npt_flags;
 SYSCTL_INT(_hw_vmm_npt, OID_AUTO, pmap_flags, CTLFLAG_RD,

Modified: head/sys/amd64/vmm/amd/svm.c
==
--- head/sys/amd64/vmm/amd/svm.cSat Feb 15 18:54:59 2020
(r357973)
+++ head/sys/amd64/vmm/amd/svm.cSat Feb 15 18:57:49 2020
(r357974)
@@ -67,7 +67,8 @@ __FBSDID("$FreeBSD$");
 #include "npt.h"
 
 SYSCTL_DECL(_hw_vmm);
-SYSCTL_NODE(_hw_vmm, OID_AUTO, svm, CTLFLAG_RW, NULL, NULL);
+SYSCTL_NODE(_hw_vmm, OID_AUTO, svm, CTLFLAG_RW | CTLFLAG_MPSAFE, NULL,
+NULL);
 
 /*
  * SVM CPUID function 0x8000_000A, edx bit decoding.

Modified: head/sys/amd64/vmm/intel/ept.c
==
--- head/sys/amd64/vmm/intel/ept.c  Sat Feb 15 18:54:59 2020
(r357973)
+++ head/sys/amd64/vmm/intel/ept.c  Sat Feb 15 18:57:49 2020
(r357974)
@@ -68,7 +68,8 @@ __FBSDID("$FreeBSD$");
 #defineEPT_ENABLE_AD_BITS  (1 << 6)
 
 SYSCTL_DECL(_hw_vmm);
-SYSCTL_NODE(_hw_vmm, OID_AUTO, ept, CTLFLAG_RW, NULL, NULL);
+SYSCTL_NODE(_hw_vmm, OID_AUTO, ept, CTLFLAG_RW | CTLFLAG_MPSAFE, NULL,
+NULL);
 
 static int ept_enable_ad_bits;
 

Modified: head/sys/amd64/vmm/intel/vmx.c
==
--- head/sys/amd64/vmm/intel/vmx.c  Sat Feb 15 18:54:59 2020
(r357973)
+++ head/sys/amd64/vmm/intel/vmx.c  Sat Feb 15 18:57:49 2020
(r357974)
@@ -123,7 +123,8 @@ static MALLOC_DEFINE(M_VMX, "vmx", "vmx");
 static MALLOC_DEFINE(M_VLAPIC, "vlapic", "vlapic");
 
 

svn commit: r357973 - head/sys/compat/linuxkpi/common/src

2020-02-15 Thread Pawel Biernacki
Author: kaktus
Date: Sat Feb 15 18:54:59 2020
New Revision: 357973
URL: https://svnweb.freebsd.org/changeset/base/357973

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (2 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked). Use it in
  preparation for a general review of all nodes.
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Reviewed by:  hselasky, kib, zeising
  Approved by:  kib (mentor)
  Differential Revision:https://reviews.freebsd.org/D23631

Modified:
  head/sys/compat/linuxkpi/common/src/linux_compat.c

Modified: head/sys/compat/linuxkpi/common/src/linux_compat.c
==
--- head/sys/compat/linuxkpi/common/src/linux_compat.c  Sat Feb 15 18:52:12 
2020(r357972)
+++ head/sys/compat/linuxkpi/common/src/linux_compat.c  Sat Feb 15 18:54:59 
2020(r357973)
@@ -91,7 +91,8 @@ __FBSDID("$FreeBSD$");
 #include 
 #endif
 
-SYSCTL_NODE(_compat, OID_AUTO, linuxkpi, CTLFLAG_RW, 0, "LinuxKPI parameters");
+SYSCTL_NODE(_compat, OID_AUTO, linuxkpi, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
+"LinuxKPI parameters");
 
 int linuxkpi_debug;
 SYSCTL_INT(_compat_linuxkpi, OID_AUTO, debug, CTLFLAG_RWTUN,
@@ -2441,8 +2442,8 @@ linux_compat_init(void *arg)
kobject_init(_root_device.kobj, _dev_ktype);
kobject_set_name(_root_device.kobj, "device");
linux_root_device.kobj.oidp = SYSCTL_ADD_NODE(NULL,
-   SYSCTL_CHILDREN(rootoid), OID_AUTO, "device", CTLFLAG_RD, NULL,
-   "device");
+   SYSCTL_CHILDREN(rootoid), OID_AUTO, "device",
+   CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, "device");
linux_root_device.bsddev = root_bus;
linux_class_misc.name = "misc";
class_register(_class_misc);
___
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: r357972 - in head/sys/dev: sound/usb usb usb/controller usb/gadget usb/input usb/misc usb/net usb/serial usb/storage usb/template usb/video usb/wlan

2020-02-15 Thread Pawel Biernacki
Author: kaktus
Date: Sat Feb 15 18:52:12 2020
New Revision: 357972
URL: https://svnweb.freebsd.org/changeset/base/357972

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (2 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked). Use it in
  preparation for a general review of all nodes.
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Reviewed by:  hselasky, kib
  Approved by:  kib (mentor)
  Differential Revision:https://reviews.freebsd.org/D23632

Modified:
  head/sys/dev/sound/usb/uaudio.c
  head/sys/dev/usb/controller/atmegadci.c
  head/sys/dev/usb/controller/avr32dci.c
  head/sys/dev/usb/controller/dwc_otg.c
  head/sys/dev/usb/controller/ehci.c
  head/sys/dev/usb/controller/musb_otg.c
  head/sys/dev/usb/controller/ohci.c
  head/sys/dev/usb/controller/saf1761_otg.c
  head/sys/dev/usb/controller/uhci.c
  head/sys/dev/usb/controller/usb_controller.c
  head/sys/dev/usb/controller/uss820dci.c
  head/sys/dev/usb/controller/xhci.c
  head/sys/dev/usb/gadget/g_audio.c
  head/sys/dev/usb/gadget/g_keyboard.c
  head/sys/dev/usb/gadget/g_modem.c
  head/sys/dev/usb/gadget/g_mouse.c
  head/sys/dev/usb/input/atp.c
  head/sys/dev/usb/input/uep.c
  head/sys/dev/usb/input/uhid.c
  head/sys/dev/usb/input/ukbd.c
  head/sys/dev/usb/input/ums.c
  head/sys/dev/usb/input/wmt.c
  head/sys/dev/usb/input/wsp.c
  head/sys/dev/usb/misc/udbp.c
  head/sys/dev/usb/misc/ugold.c
  head/sys/dev/usb/net/if_aue.c
  head/sys/dev/usb/net/if_axe.c
  head/sys/dev/usb/net/if_axge.c
  head/sys/dev/usb/net/if_cdce.c
  head/sys/dev/usb/net/if_cdceem.c
  head/sys/dev/usb/net/if_cue.c
  head/sys/dev/usb/net/if_ipheth.c
  head/sys/dev/usb/net/if_kue.c
  head/sys/dev/usb/net/if_mos.c
  head/sys/dev/usb/net/if_muge.c
  head/sys/dev/usb/net/if_rue.c
  head/sys/dev/usb/net/if_smsc.c
  head/sys/dev/usb/net/if_udav.c
  head/sys/dev/usb/net/if_ure.c
  head/sys/dev/usb/net/if_urndis.c
  head/sys/dev/usb/net/if_usie.c
  head/sys/dev/usb/net/uhso.c
  head/sys/dev/usb/net/usb_ethernet.c
  head/sys/dev/usb/serial/u3g.c
  head/sys/dev/usb/serial/ubsa.c
  head/sys/dev/usb/serial/ubser.c
  head/sys/dev/usb/serial/uchcom.c
  head/sys/dev/usb/serial/ufoma.c
  head/sys/dev/usb/serial/uftdi.c
  head/sys/dev/usb/serial/ulpt.c
  head/sys/dev/usb/serial/umcs.c
  head/sys/dev/usb/serial/umodem.c
  head/sys/dev/usb/serial/umoscom.c
  head/sys/dev/usb/serial/uplcom.c
  head/sys/dev/usb/serial/usb_serial.c
  head/sys/dev/usb/serial/uslcom.c
  head/sys/dev/usb/serial/uvisor.c
  head/sys/dev/usb/serial/uvscom.c
  head/sys/dev/usb/storage/cfumass.c
  head/sys/dev/usb/storage/umass.c
  head/sys/dev/usb/storage/urio.c
  head/sys/dev/usb/storage/ustorage_fs.c
  head/sys/dev/usb/template/usb_template.c
  head/sys/dev/usb/template/usb_template_audio.c
  head/sys/dev/usb/template/usb_template_cdce.c
  head/sys/dev/usb/template/usb_template_cdceem.c
  head/sys/dev/usb/template/usb_template_kbd.c
  head/sys/dev/usb/template/usb_template_midi.c
  head/sys/dev/usb/template/usb_template_modem.c
  head/sys/dev/usb/template/usb_template_mouse.c
  head/sys/dev/usb/template/usb_template_msc.c
  head/sys/dev/usb/template/usb_template_mtp.c
  head/sys/dev/usb/template/usb_template_multi.c
  head/sys/dev/usb/template/usb_template_phone.c
  head/sys/dev/usb/template/usb_template_serialnet.c
  head/sys/dev/usb/usb_debug.c
  head/sys/dev/usb/usb_dev.c
  head/sys/dev/usb/usb_generic.c
  head/sys/dev/usb/usb_hub.c
  head/sys/dev/usb/usb_hub_acpi.c
  head/sys/dev/usb/usb_process.c
  head/sys/dev/usb/video/udl.c
  head/sys/dev/usb/wlan/if_rsu.c
  head/sys/dev/usb/wlan/if_rum.c
  head/sys/dev/usb/wlan/if_run.c
  head/sys/dev/usb/wlan/if_uath.c
  head/sys/dev/usb/wlan/if_upgt.c
  head/sys/dev/usb/wlan/if_ural.c
  head/sys/dev/usb/wlan/if_urtw.c
  head/sys/dev/usb/wlan/if_zyd.c

Modified: head/sys/dev/sound/usb/uaudio.c
==
--- head/sys/dev/sound/usb/uaudio.c Sat Feb 15 18:48:38 2020
(r357971)
+++ head/sys/dev/sound/usb/uaudio.c Sat Feb 15 18:52:12 2020
(r357972)
@@ -102,7 +102,8 @@ static int uaudio_buffer_ms = 8;
 #ifdef USB_DEBUG
 static int uaudio_debug;
 
-static SYSCTL_NODE(_hw_usb, OID_AUTO, uaudio, CTLFLAG_RW, 0, "USB uaudio");
+static SYSCTL_NODE(_hw_usb, OID_AUTO, uaudio, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
+"USB uaudio");
 
 SYSCTL_INT(_hw_usb_uaudio, OID_AUTO, debug, CTLFLAG_RWTUN,
 _debug, 0, "uaudio debug level");
@@ -133,8 +134,9 @@ uaudio_buffer_ms_sysctl(SYSCTL_HANDLER_ARGS)
 
return (0);
 }
-SYSCTL_PROC(_hw_usb_uaudio, OID_AUTO, buffer_ms, CTLTYPE_INT | CTLFLAG_RWTUN,
-0, sizeof(int), uaudio_buffer_ms_sysctl, "I",
+SYSCTL_PROC(_hw_usb_uaudio, OID_AUTO, buffer_ms,
+CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, 0, sizeof(int),
+uaudio_buffer_ms_sysctl, "I",
 

svn commit: r357971 - in head/sys: dev/iscsi fs/autofs kern

2020-02-15 Thread Pawel Biernacki
Author: kaktus
Date: Sat Feb 15 18:48:38 2020
New Revision: 357971
URL: https://svnweb.freebsd.org/changeset/base/357971

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (1 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked). Use it in
  preparation for a general review of all nodes.
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Reviewed by:  kib, trasz
  Approved by:  kib (mentor)
  Differential Revision:https://reviews.freebsd.org/D23640

Modified:
  head/sys/dev/iscsi/icl.c
  head/sys/dev/iscsi/iscsi.c
  head/sys/fs/autofs/autofs.c
  head/sys/kern/kern_rctl.c

Modified: head/sys/dev/iscsi/icl.c
==
--- head/sys/dev/iscsi/icl.cSat Feb 15 18:37:26 2020(r357970)
+++ head/sys/dev/iscsi/icl.cSat Feb 15 18:48:38 2020(r357971)
@@ -75,7 +75,8 @@ static int sysctl_kern_icl_offloads(SYSCTL_HANDLER_ARG
 static MALLOC_DEFINE(M_ICL, "icl", "iSCSI Common Layer");
 static struct icl_softc*sc;
 
-SYSCTL_NODE(_kern, OID_AUTO, icl, CTLFLAG_RD, 0, "iSCSI Common Layer");
+SYSCTL_NODE(_kern, OID_AUTO, icl, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
+"iSCSI Common Layer");
 int icl_debug = 1;
 SYSCTL_INT(_kern_icl, OID_AUTO, debug, CTLFLAG_RWTUN,
 _debug, 0, "Enable debug messages");

Modified: head/sys/dev/iscsi/iscsi.c
==
--- head/sys/dev/iscsi/iscsi.c  Sat Feb 15 18:37:26 2020(r357970)
+++ head/sys/dev/iscsi/iscsi.c  Sat Feb 15 18:48:38 2020(r357971)
@@ -82,7 +82,8 @@ FEATURE(iscsi_kernel_proxy, "iSCSI initiator built wit
  */
 static struct iscsi_softc  *sc;
 
-SYSCTL_NODE(_kern, OID_AUTO, iscsi, CTLFLAG_RD, 0, "iSCSI initiator");
+SYSCTL_NODE(_kern, OID_AUTO, iscsi, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
+"iSCSI initiator");
 static int debug = 1;
 SYSCTL_INT(_kern_iscsi, OID_AUTO, debug, CTLFLAG_RWTUN,
 , 0, "Enable debug messages");

Modified: head/sys/fs/autofs/autofs.c
==
--- head/sys/fs/autofs/autofs.c Sat Feb 15 18:37:26 2020(r357970)
+++ head/sys/fs/autofs/autofs.c Sat Feb 15 18:48:38 2020(r357971)
@@ -119,7 +119,8 @@ int autofs_sig_set[] = {
 
 struct autofs_softc*autofs_softc;
 
-SYSCTL_NODE(_vfs, OID_AUTO, autofs, CTLFLAG_RD, 0, "Automounter filesystem");
+SYSCTL_NODE(_vfs, OID_AUTO, autofs, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
+"Automounter filesystem");
 int autofs_debug = 1;
 TUNABLE_INT("vfs.autofs.debug", _debug);
 SYSCTL_INT(_vfs_autofs, OID_AUTO, debug, CTLFLAG_RWTUN,

Modified: head/sys/kern/kern_rctl.c
==
--- head/sys/kern/kern_rctl.c   Sat Feb 15 18:37:26 2020(r357970)
+++ head/sys/kern/kern_rctl.c   Sat Feb 15 18:48:38 2020(r357971)
@@ -96,7 +96,8 @@ static int rctl_throttle_max_sysctl(SYSCTL_HANDLER_ARG
 static int rctl_throttle_pct_sysctl(SYSCTL_HANDLER_ARGS);
 static int rctl_throttle_pct2_sysctl(SYSCTL_HANDLER_ARGS);
 
-SYSCTL_NODE(_kern_racct, OID_AUTO, rctl, CTLFLAG_RW, 0, "Resource Limits");
+SYSCTL_NODE(_kern_racct, OID_AUTO, rctl, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
+"Resource Limits");
 SYSCTL_UINT(_kern_racct_rctl, OID_AUTO, maxbufsize, CTLFLAG_RWTUN,
 _maxbufsize, 0, "Maximum output buffer size");
 SYSCTL_UINT(_kern_racct_rctl, OID_AUTO, log_rate_limit, CTLFLAG_RW,
@@ -104,19 +105,23 @@ SYSCTL_UINT(_kern_racct_rctl, OID_AUTO, log_rate_limit
 SYSCTL_UINT(_kern_racct_rctl, OID_AUTO, devctl_rate_limit, CTLFLAG_RWTUN,
 _devctl_rate_limit, 0, "Maximum number of devctl messages per 
second");
 SYSCTL_PROC(_kern_racct_rctl, OID_AUTO, throttle_min,
-CTLTYPE_UINT | CTLFLAG_RWTUN, 0, 0, _throttle_min_sysctl, "IU",
+CTLTYPE_UINT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, 0, 0,
+_throttle_min_sysctl, "IU",
 "Shortest throttling duration, in hz");
 TUNABLE_INT("kern.racct.rctl.throttle_min", _throttle_min);
 SYSCTL_PROC(_kern_racct_rctl, OID_AUTO, throttle_max,
-CTLTYPE_UINT | CTLFLAG_RWTUN, 0, 0, _throttle_max_sysctl, "IU",
+CTLTYPE_UINT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, 0, 0,
+_throttle_max_sysctl, "IU",
 "Longest throttling duration, in hz");
 TUNABLE_INT("kern.racct.rctl.throttle_max", _throttle_max);
 SYSCTL_PROC(_kern_racct_rctl, OID_AUTO, throttle_pct,
-CTLTYPE_UINT | CTLFLAG_RWTUN, 0, 0, _throttle_pct_sysctl, "IU",
+CTLTYPE_UINT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, 0, 0,
+_throttle_pct_sysctl, "IU",
 "Throttling penalty for process consumption, in percent");
 TUNABLE_INT("kern.racct.rctl.throttle_pct", _throttle_pct);
 SYSCTL_PROC(_kern_racct_rctl, OID_AUTO, throttle_pct2,
-CTLTYPE_UINT | CTLFLAG_RWTUN, 0, 0, _throttle_pct2_sysctl, "IU",
+

svn commit: r357921 - head/sys/sys

2020-02-14 Thread Pawel Biernacki
Author: kaktus
Date: Fri Feb 14 16:56:59 2020
New Revision: 357921
URL: https://svnweb.freebsd.org/changeset/base/357921

Log:
  sysctl(9): properly use xor in ENFORCE_FLAGS macro
  
  Assert on not specifying any of the (soon to be) required flags as well
   as specifying both of them.
  
  Pointed out by:   cem, hselasky
  Reviewed by:  hselasky, kib
  Approved by:  kib (mentor)
  Differential Revision:https://reviews.freebsd.org/D23678

Modified:
  head/sys/sys/sysctl.h

Modified: head/sys/sys/sysctl.h
==
--- head/sys/sys/sysctl.h   Fri Feb 14 15:04:56 2020(r357920)
+++ head/sys/sys/sysctl.h   Fri Feb 14 16:56:59 2020(r357921)
@@ -270,9 +270,9 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry);
 #define__DESCR(d) ""
 #endif
 
-#ifdef notyet
+#ifdef notyet
 #defineSYSCTL_ENFORCE_FLAGS(x) 
\
-_Static_assert(((CTLFLAG_MPSAFE ^ CTLFLAG_NEEDGIANT) & (x)),   \
+_Static_assertx) & CTLFLAG_MPSAFE) != 0) ^ (((x) & CTLFLAG_NEEDGIANT) 
!= 0), \
 "Has to be either CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT")
 #else
 #defineSYSCTL_ENFORCE_FLAGS(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: r357614 - in head/sys: kern sys

2020-02-06 Thread Pawel Biernacki
Author: kaktus
Date: Thu Feb  6 12:45:58 2020
New Revision: 357614
URL: https://svnweb.freebsd.org/changeset/base/357614

Log:
  sysctl(9): add CTLFLAG_NEEDGIANT flag
  
  Add CTLFLAG_NEEDGIANT flag (modelled after D_NEEDGIANT) that will be used to
  mark sysctls that still require locking Giant.
  
  Rewrite sysctl_handle_string() to use internal locking instead of locking
  Giant.
  
  Mark SYSCTL_STRING, SYSCTL_OPAQUE and their variants as MPSAFE.
  
  Add infrastructure support for enforcing proper use of CTLFLAG_NEEDGIANT
  and CTLFLAG_MPSAFE flags with SYSCTL_PROC and SYSCTL_NODE, not enabled yet.
  
  Reviewed by:  kib (mentor)
  Approved by:  kib (mentor)
  Differential Revision:https://reviews.freebsd.org/D23378

Modified:
  head/sys/kern/kern_sysctl.c
  head/sys/sys/sysctl.h

Modified: head/sys/kern/kern_sysctl.c
==
--- head/sys/kern/kern_sysctl.c Thu Feb  6 10:11:41 2020(r357613)
+++ head/sys/kern/kern_sysctl.c Thu Feb  6 12:45:58 2020(r357614)
@@ -96,9 +96,13 @@ static MALLOC_DEFINE(M_SYSCTLTMP, "sysctltmp", "sysctl
  * The sysctlmemlock is used to limit the amount of user memory wired for
  * sysctl requests.  This is implemented by serializing any userland
  * sysctl requests larger than a single page via an exclusive lock.
+ *
+ * The sysctlstringlock is used to protect concurrent access to writable
+ * string nodes in sysctl_handle_string().
  */
 static struct rmlock sysctllock;
 static struct sx __exclusive_cache_line sysctlmemlock;
+static struct sx sysctlstringlock;
 
 #defineSYSCTL_WLOCK()  rm_wlock()
 #defineSYSCTL_WUNLOCK()rm_wunlock()
@@ -170,10 +174,16 @@ sysctl_root_handler_locked(struct sysctl_oid *oid, voi
else
SYSCTL_WUNLOCK();
 
-   if (!(oid->oid_kind & CTLFLAG_MPSAFE))
+   /*
+* Treat set CTLFLAG_NEEDGIANT and unset CTLFLAG_MPSAFE flags the same,
+* untill we're ready to remove all traces of Giant from sysctl(9).
+*/
+   if ((oid->oid_kind & CTLFLAG_NEEDGIANT) ||
+   (!(oid->oid_kind & CTLFLAG_MPSAFE)))
mtx_lock();
error = oid->oid_handler(oid, arg1, arg2, req);
-   if (!(oid->oid_kind & CTLFLAG_MPSAFE))
+   if ((oid->oid_kind & CTLFLAG_NEEDGIANT) ||
+   (!(oid->oid_kind & CTLFLAG_MPSAFE)))
mtx_unlock();
 
KFAIL_POINT_ERROR(_debug_fail_point, sysctl_running, error);
@@ -917,6 +927,7 @@ sysctl_register_all(void *arg)
struct sysctl_oid **oidp;
 
sx_init(, "sysctl mem");
+   sx_init(, "sysctl string handler");
SYSCTL_INIT();
SYSCTL_WLOCK();
SET_FOREACH(oidp, sysctl_set)
@@ -1632,48 +1643,69 @@ sysctl_handle_64(SYSCTL_HANDLER_ARGS)
 int
 sysctl_handle_string(SYSCTL_HANDLER_ARGS)
 {
+   char *tmparg;
size_t outlen;
int error = 0, ro_string = 0;
 
/*
+* If the sysctl isn't writable, microoptimise and treat it as a
+* const string.
 * A zero-length buffer indicates a fixed size read-only
 * string.  In ddb, don't worry about trying to make a malloced
 * snapshot.
 */
-   if (arg2 == 0 || kdb_active) {
+   if (!(oidp->oid_kind & CTLFLAG_WR) || arg2 == 0 || kdb_active) {
arg2 = strlen((char *)arg1) + 1;
ro_string = 1;
}
 
if (req->oldptr != NULL) {
-   char *tmparg;
-
if (ro_string) {
tmparg = arg1;
+   outlen = strlen(tmparg) + 1;
} else {
-   /* try to make a coherent snapshot of the string */
tmparg = malloc(arg2, M_SYSCTLTMP, M_WAITOK);
+   sx_slock();
memcpy(tmparg, arg1, arg2);
+   sx_sunlock();
+   outlen = strlen(tmparg) + 1;
}
 
-   outlen = strnlen(tmparg, arg2 - 1) + 1;
error = SYSCTL_OUT(req, tmparg, outlen);
 
if (!ro_string)
free(tmparg, M_SYSCTLTMP);
} else {
-   outlen = strnlen((char *)arg1, arg2 - 1) + 1;
+   if (!ro_string)
+   sx_slock();
+   outlen = strlen((char *)arg1) + 1;
+   if (!ro_string)
+   sx_sunlock();
error = SYSCTL_OUT(req, NULL, outlen);
}
if (error || !req->newptr)
return (error);
 
-   if ((req->newlen - req->newidx) >= arg2) {
+   if (req->newlen - req->newidx >= arg2 ||
+   req->newlen - req->newidx <= 0) {
error = EINVAL;
} else {
-   arg2 = (req->newlen - req->newidx);
-   error = SYSCTL_IN(req, arg1, arg2);
+   arg2 = req->newlen - req->newidx;
+   tmparg = malloc(arg2, M_SYSCTLTMP, 

svn commit: r356425 - head/sys/kern

2020-01-06 Thread Pawel Biernacki
Author: kaktus
Date: Mon Jan  6 19:47:59 2020
New Revision: 356425
URL: https://svnweb.freebsd.org/changeset/base/356425

Log:
  kern_sysctl: make sysctl.debug work as intended
  
  r136999 introduced SYSTCL_DEBUG but apparently "opt_sysctl.h" was never
  included making the option ignored.
  
  r322954 introduced sysctl.reuse_test with OID number equal to 0, effectively
  shadowing the very special sysctl.debug one. Use OID_AUTO as it doesn't need
  any special treatment.
  
  Reviewed by:  kib (mentor)
  Approved by:  kib (mentor)
  Differential Revision:https://reviews.freebsd.org/D23056

Modified:
  head/sys/kern/kern_sysctl.c

Modified: head/sys/kern/kern_sysctl.c
==
--- head/sys/kern/kern_sysctl.c Mon Jan  6 19:35:22 2020(r356424)
+++ head/sys/kern/kern_sysctl.c Mon Jan  6 19:47:59 2020(r356425)
@@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$");
 #include "opt_capsicum.h"
 #include "opt_ddb.h"
 #include "opt_ktrace.h"
+#include "opt_sysctl.h"
 
 #include 
 #include 
@@ -404,8 +405,9 @@ sysctl_reuse_test(SYSCTL_HANDLER_ARGS)
SYSCTL_RUNLOCK();
return (0);
 }
-SYSCTL_PROC(_sysctl, 0, reuse_test, CTLTYPE_STRING|CTLFLAG_RD|CTLFLAG_MPSAFE,
-   0, 0, sysctl_reuse_test, "-", "");
+SYSCTL_PROC(_sysctl, OID_AUTO, reuse_test,
+CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, 0, 0, sysctl_reuse_test, "-",
+"");
 #endif
 
 void
___
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: r356413 - in head/sys: amd64/amd64 arm64/arm64

2020-01-06 Thread Pawel Biernacki
Author: kaktus
Date: Mon Jan  6 10:52:13 2020
New Revision: 356413
URL: https://svnweb.freebsd.org/changeset/base/356413

Log:
  sysctl: mark more nodes as MPSAFE
  
  vm.kvm_size and vm.kvm_free are read only and marked as MPSAFE on i386
  already. Mark them as that on amd64 and arm64 too to avoid locking Giant.
  
  Reviewed by:  kib (mentor)
  Approved by:  kib (mentor)
  Differential Revision:https://reviews.freebsd.org/D23039

Modified:
  head/sys/amd64/amd64/pmap.c
  head/sys/arm64/arm64/pmap.c

Modified: head/sys/amd64/amd64/pmap.c
==
--- head/sys/amd64/amd64/pmap.c Mon Jan  6 09:51:54 2020(r356412)
+++ head/sys/amd64/amd64/pmap.c Mon Jan  6 10:52:13 2020(r356413)
@@ -4072,8 +4072,9 @@ kvm_size(SYSCTL_HANDLER_ARGS)
 
return sysctl_handle_long(oidp, , 0, req);
 }
-SYSCTL_PROC(_vm, OID_AUTO, kvm_size, CTLTYPE_LONG|CTLFLAG_RD, 
-0, 0, kvm_size, "LU", "Size of KVM");
+SYSCTL_PROC(_vm, OID_AUTO, kvm_size, CTLTYPE_LONG | CTLFLAG_RD | 
CTLFLAG_MPSAFE,
+0, 0, kvm_size, "LU",
+"Size of KVM");
 
 static int
 kvm_free(SYSCTL_HANDLER_ARGS)
@@ -4082,8 +4083,9 @@ kvm_free(SYSCTL_HANDLER_ARGS)
 
return sysctl_handle_long(oidp, , 0, req);
 }
-SYSCTL_PROC(_vm, OID_AUTO, kvm_free, CTLTYPE_LONG|CTLFLAG_RD, 
-0, 0, kvm_free, "LU", "Amount of KVM free");
+SYSCTL_PROC(_vm, OID_AUTO, kvm_free, CTLTYPE_LONG | CTLFLAG_RD | 
CTLFLAG_MPSAFE,
+0, 0, kvm_free, "LU",
+"Amount of KVM free");
 
 /*
  * Allocate physical memory for the vm_page array and map it into KVA,

Modified: head/sys/arm64/arm64/pmap.c
==
--- head/sys/arm64/arm64/pmap.c Mon Jan  6 09:51:54 2020(r356412)
+++ head/sys/arm64/arm64/pmap.c Mon Jan  6 10:52:13 2020(r356413)
@@ -1845,8 +1845,9 @@ kvm_size(SYSCTL_HANDLER_ARGS)
 
return sysctl_handle_long(oidp, , 0, req);
 }
-SYSCTL_PROC(_vm, OID_AUTO, kvm_size, CTLTYPE_LONG|CTLFLAG_RD,
-0, 0, kvm_size, "LU", "Size of KVM");
+SYSCTL_PROC(_vm, OID_AUTO, kvm_size, CTLTYPE_LONG | CTLFLAG_RD | 
CTLFLAG_MPSAFE,
+0, 0, kvm_size, "LU",
+"Size of KVM");
 
 static int
 kvm_free(SYSCTL_HANDLER_ARGS)
@@ -1855,8 +1856,9 @@ kvm_free(SYSCTL_HANDLER_ARGS)
 
return sysctl_handle_long(oidp, , 0, req);
 }
-SYSCTL_PROC(_vm, OID_AUTO, kvm_free, CTLTYPE_LONG|CTLFLAG_RD,
-0, 0, kvm_free, "LU", "Amount of KVM free");
+SYSCTL_PROC(_vm, OID_AUTO, kvm_free, CTLTYPE_LONG | CTLFLAG_RD | 
CTLFLAG_MPSAFE,
+0, 0, kvm_free, "LU",
+"Amount of KVM free");
 
 /*
  * grow the number of kernel page table entries, if needed
___
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: r356262 - head/sys/kern

2020-01-01 Thread Pawel Biernacki
Author: kaktus
Date: Thu Jan  2 01:23:43 2020
New Revision: 356262
URL: https://svnweb.freebsd.org/changeset/base/356262

Log:
  sysctl: hide 2.x era compat node
  
  r23081 introduced kern.dummy oid as a semi ABI compat for kern.maxsockbuf
  that was moved to a new namespace.  It never functioned as an alias of any
  kind and was just returning 0 unconditionally, hence it was probably
  provided to keep some 3rd party programmes happy about sysctl(3) not
  reporting an error because of non-existing oid.
  After nearly 23 years it seems reasonable to just hide it from sysctl(8)
  list not to cause unnecessary confusion as for its purpose.
  
  Reported by:  Antranig Vartanian 
  Reviewed by:  kib (mentor)
  Approved by:  kib (mentor)
  Differential Revision:https://reviews.freebsd.org/D22982

Modified:
  head/sys/kern/uipc_sockbuf.c

Modified: head/sys/kern/uipc_sockbuf.c
==
--- head/sys/kern/uipc_sockbuf.cWed Jan  1 22:51:17 2020
(r356261)
+++ head/sys/kern/uipc_sockbuf.cThu Jan  2 01:23:43 2020
(r356262)
@@ -1522,7 +1522,7 @@ sbtoxsockbuf(struct sockbuf *sb, struct xsockbuf *xsb)
 
 /* This takes the place of kern.maxsockbuf, which moved to kern.ipc. */
 static int dummy;
-SYSCTL_INT(_kern, KERN_DUMMY, dummy, CTLFLAG_RW, , 0, "");
+SYSCTL_INT(_kern, KERN_DUMMY, dummy, CTLFLAG_RW | CTLFLAG_SKIP, , 0, "");
 SYSCTL_OID(_kern_ipc, KIPC_MAXSOCKBUF, maxsockbuf, CTLTYPE_ULONG|CTLFLAG_RW,
 _max, 0, sysctl_handle_sb_max, "LU", "Maximum socket buffer size");
 SYSCTL_ULONG(_kern_ipc, KIPC_SOCKBUF_WASTE, sockbuf_waste_factor, CTLFLAG_RW,
___
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: r356206 - in head/sys: amd64/linux amd64/linux32 arm64/linux compat/linux i386/linux

2019-12-30 Thread Pawel Biernacki
Author: kaktus
Date: Mon Dec 30 18:11:06 2019
New Revision: 356206
URL: https://svnweb.freebsd.org/changeset/base/356206

Log:
  linux(4): implement copy_file_range(2)
  
  copy_file_range(2) is implemented natively since r350315, make it available
  for Linux binaries too.
  
  Reviewed by:  kib (mentor), trasz (previous version)
  Approved by:  kib (mentor)
  Differential Revision:https://reviews.freebsd.org/D22959

Modified:
  head/sys/amd64/linux/linux_dummy.c
  head/sys/amd64/linux32/linux32_dummy.c
  head/sys/arm64/linux/linux_dummy.c
  head/sys/compat/linux/linux_file.c
  head/sys/i386/linux/linux_dummy.c

Modified: head/sys/amd64/linux/linux_dummy.c
==
--- head/sys/amd64/linux/linux_dummy.c  Mon Dec 30 17:18:50 2019
(r356205)
+++ head/sys/amd64/linux/linux_dummy.c  Mon Dec 30 18:11:06 2019
(r356206)
@@ -144,8 +144,6 @@ DUMMY(userfaultfd);
 DUMMY(membarrier);
 /* Linux 4.4: */
 DUMMY(mlock2);
-/* Linux 4.5: */
-DUMMY(copy_file_range);
 /* Linux 4.6: */
 DUMMY(preadv2);
 DUMMY(pwritev2);

Modified: head/sys/amd64/linux32/linux32_dummy.c
==
--- head/sys/amd64/linux32/linux32_dummy.c  Mon Dec 30 17:18:50 2019
(r356205)
+++ head/sys/amd64/linux32/linux32_dummy.c  Mon Dec 30 18:11:06 2019
(r356206)
@@ -148,8 +148,6 @@ DUMMY(userfaultfd);
 DUMMY(membarrier);
 /* Linux 4.4: */
 DUMMY(mlock2);
-/* Linux 4.5: */
-DUMMY(copy_file_range);
 /* Linux 4.6: */
 DUMMY(preadv2);
 DUMMY(pwritev2);

Modified: head/sys/arm64/linux/linux_dummy.c
==
--- head/sys/arm64/linux/linux_dummy.c  Mon Dec 30 17:18:50 2019
(r356205)
+++ head/sys/arm64/linux/linux_dummy.c  Mon Dec 30 18:11:06 2019
(r356206)
@@ -142,8 +142,6 @@ DUMMY(userfaultfd);
 DUMMY(membarrier);
 /* Linux 4.4: */
 DUMMY(mlock2);
-/* Linux 4.5: */
-DUMMY(copy_file_range);
 /* Linux 4.6: */
 DUMMY(preadv2);
 DUMMY(pwritev2);

Modified: head/sys/compat/linux/linux_file.c
==
--- head/sys/compat/linux/linux_file.c  Mon Dec 30 17:18:50 2019
(r356205)
+++ head/sys/compat/linux/linux_file.c  Mon Dec 30 18:11:06 2019
(r356206)
@@ -1565,3 +1565,44 @@ linux_fallocate(struct thread *td, struct linux_falloc
return (kern_posix_fallocate(td, args->fd, args->offset,
args->len));
 }
+
+int
+linux_copy_file_range(struct thread *td, struct linux_copy_file_range_args
+*args)
+{
+   l_loff_t inoff, outoff, *inoffp, *outoffp;
+   int error, flags;
+
+   /*
+* copy_file_range(2) on Linux doesn't define any flags (yet), so is
+* the native implementation.  Enforce it.
+*/
+   if (args->flags != 0) {
+   linux_msg(td, "copy_file_range unsupported flags 0x%x",
+   args->flags);
+   return (EINVAL);
+   }
+   flags = 0;
+   inoffp = outoffp = NULL;
+   if (args->off_in != NULL) {
+   error = copyin(args->off_in, , sizeof(l_loff_t));
+   if (error != 0)
+   return (error);
+   inoffp = 
+   }
+   if (args->off_out != NULL) {
+   error = copyin(args->off_out, , sizeof(l_loff_t));
+   if (error != 0)
+   return (error);
+   outoffp = 
+   }
+
+   error = kern_copy_file_range(td, args->fd_in, inoffp, args->fd_out,
+   outoffp, args->len, flags);
+   if (error == 0 && args->off_in != NULL)
+   error = copyout(inoffp, args->off_in, sizeof(l_loff_t));
+   if (error == 0 && args->off_out != NULL)
+   error = copyout(outoffp, args->off_out, sizeof(l_loff_t));
+   return (error);
+}
+

Modified: head/sys/i386/linux/linux_dummy.c
==
--- head/sys/i386/linux/linux_dummy.c   Mon Dec 30 17:18:50 2019
(r356205)
+++ head/sys/i386/linux/linux_dummy.c   Mon Dec 30 18:11:06 2019
(r356206)
@@ -144,8 +144,6 @@ DUMMY(userfaultfd);
 DUMMY(membarrier);
 /* Linux 4.4: */
 DUMMY(mlock2);
-/* Linux 4.5: */
-DUMMY(copy_file_range);
 /* Linux 4.6: */
 DUMMY(preadv2);
 DUMMY(pwritev2);
___
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: r356179 - head/lib/libc/gen

2019-12-29 Thread Pawel Biernacki
Author: kaktus
Date: Sun Dec 29 17:19:57 2019
New Revision: 356179
URL: https://svnweb.freebsd.org/changeset/base/356179

Log:
  sysctlbyname(2): Remove temporary compatibility layer
  
  Remove temporary compatibility layer introduced in r351729. More that 3 months
  should be enough for everybody who runs HEAD to upgrade to the new kernel
  already.
  
  Reviewed by:  imp, mjg (mentor)
  Approved by:  mjg (mentor)
  Differential Revision:https://reviews.freebsd.org/D22958

Modified:
  head/lib/libc/gen/sysctlbyname.c

Modified: head/lib/libc/gen/sysctlbyname.c
==
--- head/lib/libc/gen/sysctlbyname.cSun Dec 29 17:10:21 2019
(r356178)
+++ head/lib/libc/gen/sysctlbyname.cSun Dec 29 17:19:57 2019
(r356179)
@@ -33,10 +33,6 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 
-#include "libc_private.h"
-
-#defineSYSCTLBYNAME_OSREL  1300045
-
 extern int __sysctlbyname(const char *name, size_t namelen, void *oldp,
 size_t *oldlenp, const void *newp, size_t newlen);
 
@@ -44,16 +40,9 @@ int
 sysctlbyname(const char *name, void *oldp, size_t *oldlenp,
 const void *newp, size_t newlen)
 {
-   int oid[CTL_MAXNAME];
size_t len;
 
-   if (__getosreldate() >= SYSCTLBYNAME_OSREL) {
-   len = strlen(name);
-   return (__sysctlbyname(name, len, oldp, oldlenp, newp,
-   newlen));
-   }
-   len = nitems(oid);
-   if (sysctlnametomib(name, oid, ) == -1)
-   return (-1);
-   return (sysctl(oid, len, oldp, oldlenp, newp, newlen));
+   len = strlen(name);
+   return (__sysctlbyname(name, len, oldp, oldlenp, newp,
+   newlen));
 }
___
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: r352914 - head/sys/compat/linux

2019-09-30 Thread Pawel Biernacki
Author: kaktus
Date: Mon Sep 30 19:05:14 2019
New Revision: 352914
URL: https://svnweb.freebsd.org/changeset/base/352914

Log:
  linux_renameat2: don't add extra \n on error.
  
  linux_msg() already adds \n at the end of all messages.
  
  Reported by:  emaste, kib (mentor), mjg (mentor)
  Reviewed by:  kib (mentor), mjg (mentor)
  Differential Revision:https://reviews.freebsd.org/D21852

Modified:
  head/sys/compat/linux/linux_file.c

Modified: head/sys/compat/linux/linux_file.c
==
--- head/sys/compat/linux/linux_file.c  Mon Sep 30 19:03:43 2019
(r352913)
+++ head/sys/compat/linux/linux_file.c  Mon Sep 30 19:05:14 2019
(r352914)
@@ -704,7 +704,7 @@ linux_renameat2(struct thread *td, struct linux_rename
int error, olddfd, newdfd;
 
if (args->flags != 0) {
-   linux_msg(td, "renameat2 unsupported flags 0x%x\n",
+   linux_msg(td, "renameat2 unsupported flags 0x%x",
args->flags);
return (EINVAL);
}
___
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: r352913 - head/lib/libsysdecode

2019-09-30 Thread Pawel Biernacki
Author: kaktus
Date: Mon Sep 30 19:03:43 2019
New Revision: 352913
URL: https://svnweb.freebsd.org/changeset/base/352913

Log:
  libsysdecode: decode PROT_MAX flags
  
  Extend libsysdecode to pretty-print PROT_MAX flags and fix decoding of 
regular protection flags broken since r349240.
  
  before:
  truss:
  mmap(0x0,40960,0x3,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34366234624 
(0x800632000)
  kdump:
  11439 protmax  CALL  
mmap(0,0xa000,0x3<>196608,0x21002,0x,0)
  
  after:
  truss:
  
mmap(0x0,40960,PROT_MAX(PROT_READ|PROT_WRITE)|PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0)
 = 34366234624 (0x800632000)
  kdump:
  11439 protmax  CALL  
mmap(0,0xa000,0x3,0x21002,0x,0)
  
  Reviewed by:  kib (mentor)
  Approved by:  kib (mentor)
  Differential Revision:https://reviews.freebsd.org/D21706

Modified:
  head/lib/libsysdecode/flags.c

Modified: head/lib/libsysdecode/flags.c
==
--- head/lib/libsysdecode/flags.c   Mon Sep 30 18:22:33 2019
(r352912)
+++ head/lib/libsysdecode/flags.c   Mon Sep 30 19:03:43 2019
(r352913)
@@ -657,8 +657,18 @@ sysdecode_mlockall_flags(FILE *fp, int flags, int *rem
 bool
 sysdecode_mmap_prot(FILE *fp, int prot, int *rem)
 {
+   int protm;
+   bool printed;
 
-   return (print_mask_int(fp, mmapprot, prot, rem));
+   printed = false;
+   protm = PROT_MAX_EXTRACT(prot);
+   if (protm != 0) {
+   fputs("PROT_MAX(", fp);
+   printed = print_mask_int(fp, mmapprot, protm, rem);
+   fputs(")|", fp);
+   prot = protm;
+   }
+   return (print_mask_int(fp, mmapprot, prot, rem) || printed);
 }
 
 bool
___
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: r352791 - head/share/misc

2019-09-27 Thread Pawel Biernacki
Author: kaktus
Date: Fri Sep 27 10:19:28 2019
New Revision: 352791
URL: https://svnweb.freebsd.org/changeset/base/352791

Log:
  Add myself (kaktus) as a src commiter.
  
  Reviewed by:  kib (mentor)
  Approved by:  kib (mentor), mjg (mentor)
  Differential Revision:https://reviews.freebsd.org/D21811

Modified:
  head/share/misc/committers-src.dot

Modified: head/share/misc/committers-src.dot
==
--- head/share/misc/committers-src.dot  Fri Sep 27 10:04:58 2019
(r352790)
+++ head/share/misc/committers-src.dot  Fri Sep 27 10:19:28 2019
(r352791)
@@ -227,6 +227,7 @@ jtl [label="Jonathan T. Looney\n...@freebsd.org\n2015/
 julian [label="Julian Elischer\njul...@freebsd.org\n1993/04/19"]
 jwd [label="John De Boskey\n...@freebsd.org\n2000/05/19"]
 kaiw [label="Kai Wang\nk...@freebsd.org\n2007/09/26"]
+kaktus [label="Pawel Biernacki\nkak...@freebsd.org\n2019/09/26"]
 kan [label="Alexander Kabaev\n...@freebsd.org\n2002/07/21"]
 karels [label="Mike Karels\nkar...@freebsd.org\n2016/06/09"]
 ken [label="Ken Merry\n...@freebsd.org\n1998/09/08"]
@@ -675,6 +676,7 @@ kib -> gjb
 kib -> jah
 kib -> jlh
 kib -> jpaetzel
+kib -> kaktus
 kib -> lulf
 kib -> melifaro
 kib -> mmel
@@ -719,6 +721,8 @@ mdf -> gleb
 mdodd -> jake
 
 mike -> das
+
+mjg -> kaktus
 
 mlaier -> benjsc
 mlaier -> dhartmei
___
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"